Age | Commit message (Collapse) | Author |
|
Simplifies the API to manipulate symbols now that all our architectures
are ELF.
ok tb@
|
|
|
|
|
|
|
|
|
|
should help inspecting socket issues in the future.
enthusiasm from mpi@ bluhm@ deraadt@
|
|
|
|
after each "mach ddbcpu N"
ok miod@ deraadt@
|
|
|
|
trace
ok deraadt@ miod@ beck@
|
|
ok miod@ deraadt@
|
|
reporting bugs to pointing at http://www.openbsd.org/ddb.html,
because vertical space becomes more precious.
ok beck krw kettenis
|
|
PAGE_SIZE boundaries. This is required to enforce proper separation of
sections when adding page protections (coming shortly).
This was in snaps before release with no reported side effects.
ok deraadt@
|
|
We run the DWARF line table program to generate each row of the table
until we find a row after the one we wanted, and then take the
previous row's entries. The code correctly took the previous row's
line number entry, but incorrectly took the current row's file name
entry. Notably, this caused DDB to report the wrong file names for
inlined calls to functions defined in header files.
ok mlarkin
|
|
delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump,
and various #includes that are superfluous.
This leaves compat_linux processes without a coredump callback. If that
ability is desired, someone should update it to use coredump_elf32() and
verify the results...
ok kettenis@
|
|
prodded by deraadt@ and miod@
|
|
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
|
|
the end of the kernel area to 2MB, so that the direct map pages can then
have the W permission removed (X permission was already removed in a previous
diff). This creates a VA hole at the end of bss, so adjust for that since
that's where symbols get loaded by the bootloader (for now, map that region
RO until the boot loader can be updated to place the symbols at "end" instead
of "end of bss").
with help from and ok deraadt@
|
|
ok dlg@ mpi@ bcook@ millert@ miod@
|
|
(this file is only compiled with "option DDB_STRUCT").
ok guenther@
|
|
to include that than rdnvar.h. ok deraadt dlg
|
|
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove UVM_ADV_* wrapper, using the standard names.
ok doug guenther kettenis
|
|
This allows ddb's "trace" command to include file and line numbers:
ddb{0}> trace
Debugger() at Debugger+0x9 [../../../../arch/amd64/amd64/db_interface.c:405]
ddb_sysctl() at ddb_sysctl+0x1b4 [../../../../ddb/db_usrreq.c:104]
sys___sysctl() at sys___sysctl+0x216 [../../../../kern/kern_sysctl.c:229]
syscall() at syscall+0x297 [../../../../sys/syscall_mi.h:84]
--- syscall (number 202) ---
end of kernel
end trace frame: 0x7f7ffffcf1d7, count: -4
acpi_pdirpa+0x4117aa:
For this to work, it requires using a new version of boot(8), and
booting a kernel with the .debug_line section present (e.g., building
with ``makeoptions DEBUG="-g"'' and then booting the bsd.gdb kernel
instead of the stripped bsd kernel).
Still a WIP, but no failure reports yet. Committing so further
development and testing can happen in tree.
prodding deraadt, guenther, mlarkin
ok mpi
|
|
ok mpi@ kspillner@
|
|
Now, for kernel to "reboot" (reboot, halt, or shutdown), MD boot(9) is called
in some places. This change introduces a new MI function reboot(9) which is
simply a wrapper to call MD boot(9).
OK kettenis@ deraadt@
|
|
Includes a stand-alone addr2line clone for userspace testing.
Tested extensively on amd64 and expected to eventually support other
architectures too. Importing now so further development/testing can
happen in-tree. Followup commits will add to the kernel build and
integrate into ddb.
positive feedback; no objections
|
|
pulls in the universe). occasionally they need sys/systm.h
|
|
ok miod@
|
|
included there
|
|
|
|
native size, so eliminate the #defines.
ok miod@
|
|
Kidding, the fix is to stop using the scheduler's PRNG.
ok kettenis
|
|
|
|
formatting into a local buffer.
ok miod@
|
|
use TAILQ_*_SAFE more than might be needed.
Bulk ports build by sthen@ showed nobody sticking their fingers
so deep into the kernel.
Feedback and suggestions from millert@. ok jsing@
|
|
than 65536 bytes, so make parse_structinfo.pl detect that and
switch to u_int for sizes and offsets when that happens.
ok miod@
|
|
ok miod
|
|
ok miod@
|
|
- switch to perl for better data structures and (thus) speed
- fix a couple glitches in the interpretation of the stabs output
- compress the strings by putting them in one big array and overlaying
suffixes
- all sizes and offsets are <64k, so use u_short for them
This results in ~60% reduction in the resulting text size and it now
takes less than a second to create on fast platforms.
ok miod@
|
|
message "value is not available" was misleading. Use the ENODEV
error to generate the more appropriate message "Operation not
supported by device". Note that ddb.console must be set to 1 to
see that error at all.
OK mpf@
|
|
mostly from armani.
ok miod, mpi, jsg and help from sthen
|
|
ok guenther millert kettenis
|
|
not advance the address until the last modifier has been processed. This
allows sequences like `x/xi address,count' to yield meaningful results.
As a bonus, handle `i' and `I' modifiers last, so that I don't have to
fight my habit of using `x/ix' instead of `x/xi'.
|
|
Enables show map /f *kernel_map to succeed without nullpointer errors on
64-bit archs.
ok miod@
|
|
"reads OK" claudio@
|
|
to xconsole. ok deraadt@ guenther@
|
|
pretend these could work on userland addresses.
|
|
implement them, and they are of questionable usefulness.
|