| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
Notes:
svn path=/head/; revision=178583
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
evaluate_expression() so that any errors are caught and cause the function
to return to 0. Otherwise the errors posted an exception (via longjmp())
that aborted the current operation. This fixes the kld handling for
older kernels (6.x and 7.x) that don't have the full pathname stored in
the kernel linker.
MFC after: 3 days
Notes:
svn path=/head/; revision=177715
|
| |
|
|
|
|
|
|
|
|
|
| |
a junk pointer and possibly causing a seg fault if we don't have any
non-kernel klds (or are unable to walk the list due to core / kernel
mismatch).
MFC after: 1 week
Notes:
svn path=/head/; revision=177701
|
| |
|
|
|
|
|
| |
hooking into gdb's shared library infrastructure.
Notes:
svn path=/head/; revision=176568
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
kgdb(8) now treats kld's as shared libraries relative to the kernel
"binary". Thus, you can use 'info sharedlibrary' to list the kld's
along with 'sharedlibrary' and 'nosharedlibrary' to manage symbol
loading and unloading. Note that there isn't an easy way to force GDB
to use a specific path for a shared library. However, you can use
'nosharedlibrary' to unload all the klds and then use 'sharedlibrary'
to load specific klds where it gets the kld correct and use
'add-kld' for the kld's where the default open behavior doesn't work.
klds opened via 'sharedlibrary' (and during startup) do have their
sections listed in 'info files'.
- Change the 'add-kld' command to use filename completion to complete its
argument.
Notes:
svn path=/head/; revision=175809
|
| |
|
|
|
|
|
|
|
| |
and build a section table from the kernel file so that 'info files' output
for kgdb now matches the usage of gdb on a regular file with the exception
that we don't list sections for memory in the crash dump.
Notes:
svn path=/head/; revision=175808
|
| |
|
|
|
|
|
| |
KVM access to read kernel pointers.
Notes:
svn path=/head/; revision=175807
|
| |
|
|
|
|
|
|
| |
".symbols" file automatically when you tell it to load "foo.ko" because of
the debug link.
Notes:
svn path=/head/; revision=175806
|
| |
|
|
|
|
|
| |
replace the remaining goto's with continues as a result.
Notes:
svn path=/head/; revision=175775
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a new 'kgdb_auto_load_klds()' routine which is invoked during
startup that walks the list of linker files and tries to find a matching
kld on disk for each non-kernel kld. If a kld file is found, then it
is added as if the 'add-kld' command is invoked. One change from
'add-kld' is that this method attempts to use the 'pathname' from the
linker_file structure first to try to load the file. If that fails
it then looks in the kernel directory followed by the directories in
the module path.
- Move the kld file suffix handling into a separate routine so that it
can be called standalone and to reduce duplicate code in find_kld_path().
- Cache the offsets of members of 'struct linker_file' during startup
instead of computing them for each 'add-kld'.
- Use GDB's target_read_string() instead of direct KVM access.
- Add all resident sections from a kld by using bfd_map_over_sections() to
build the section list rather than just adding symbols for ".text",
".data", ".bss", and ".rodata".
- Change the 'add-kld' command to do a y/n prompt before adding the
symbols when run interactively to match 'add-symbol-file'.
MFC after: 1 week
Notes:
svn path=/head/; revision=175774
|
| |
|
|
|
|
|
|
|
| |
optional symbols that are missing (e.g. kgdb complains about _stoppcbs and
_stopped_cpus on UP kernels). Instead, callers that really want their
symbols to be present now do explicitly warnx() about the missing symbol.
Notes:
svn path=/head/; revision=175771
|
| |
|
|
|
|
|
| |
the message buffer on startup.
Notes:
svn path=/head/; revision=175770
|
| |
|
|
| |
Notes:
svn path=/head/; revision=175645
|
| |
|
|
| |
Notes:
svn path=/head/; revision=175452
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
crash dumps with kernel modules. The command is basically a wrapper
around add-symbol-file except that it uses the kernel linker data
structures and the ELF section headers of the kld to calculate the
section addresses add-symbol-file needs.
The 'kld' parameter may either be an absolute path or a relative path.
kgdb looks for the kld in several locations checking for variants with
".symbols" or ".debug" suffixes in each location. The first location it
tries is just opening the specified path (this handles absolute paths and
looks for the kld relative to the current directory otherwise). Next
it tries to find the module in the same directory of the kernel image
being used. If that fails it extracts the kern.module_path from the
kernel being debugged and looks in each of those paths.
The upshot is that for the common cases of debugging /boot/kernel/kernel
where the module is in either /boot/kernel or /boot/modules one can merely
do 'add-kld foo.ko'.
MFC after: 1 week
Notes:
svn path=/head/; revision=175416
|
| |
|
|
|
|
|
| |
MFC After: 1 week
Notes:
svn path=/head/; revision=173705
|
| |
|
|
|
|
|
| |
MFC After: 1 week
Notes:
svn path=/head/; revision=173700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Save td_oncpu in 'struct kthr' so the i386 target code can see which CPU
a thread is running on.
- Add a new frame unwinder for double fault frames. This unwinder is used
when "dblfault_handler" is encountered in the stack. It uses the CPU of
the current thread to lookup the base address of the TSS used for the
double fault from the GDT. It then fetches the various registers out
of the TSS similar to how the current trapframe unwinder fetches
registers out of the trapframe.
MFC after: 3 days
Notes:
svn path=/head/; revision=173681
|
| |
|
|
|
|
|
|
|
|
| |
to treat the frame under 'nmi_calltrap' as a trapframe.
MFC after: 3 days
Approved by: re (bmah)
Notes:
svn path=/head/; revision=171924
|
| |
|
|
|
|
|
| |
only file it is used in.
Notes:
svn path=/head/; revision=169714
|
| |
|
|
|
|
|
| |
in-place.
Notes:
svn path=/head/; revision=169713
|
| |
|
|
| |
Notes:
svn path=/head/; revision=169188
|
| |
|
|
|
|
|
|
|
| |
i386/i386/exception.s.
No objections from: marcel
Notes:
svn path=/head/; revision=167143
|
| |
|
|
|
|
|
| |
No objections from: marcel
Notes:
svn path=/head/; revision=167142
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
first getting the current state with td_thr_getxmmregs_p. Without this,
debugging a threaded app that uses libthr resulted in kernel panics or
spurious SIGFPEs for me.
(As of revision 1.6, sys/i386/i386/ptrace_machdep.c masks off the
reserved bits in the mxcsr register, which prevents the kernel panics.)
Architectures without PT_GETXMMREGS are not affected.
MFC after: 1 week
Notes:
svn path=/head/; revision=166851
|
| |
|
|
|
|
|
|
|
|
| |
PR: 108229
Submitted by: Jessica Han <jessicah juniper net>
Reviewed by: marcel
MFC after: 1 week
Notes:
svn path=/head/; revision=166214
|
| |
|
|
| |
Notes:
svn path=/head/; revision=163583
|
| |
|
|
| |
Notes:
svn path=/head/; revision=163582
|
| |
|
|
| |
Notes:
svn path=/head/; revision=163440
|
| |
|
|
|
|
|
|
|
|
|
| |
first thread in a process or to a specific thread via PIDs and TIDs,
respectively.
Submitted by: kan
Approved by: marcel
Notes:
svn path=/head/; revision=163439
|
| |
|
|
| |
Notes:
svn path=/head/; revision=163245
|
| |
|
|
|
|
|
| |
Submitted by: cognet@
Notes:
svn path=/head/; revision=162303
|
| |
|
|
|
|
|
| |
Submitted by: cognet@
Notes:
svn path=/head/; revision=162298
|
| |
|
|
|
|
|
|
|
|
|
| |
on other CPUs in system when a dump is written.
Submitted by: ups
Reviewed by: marcel
MFC after: 3 days
Notes:
svn path=/head/; revision=161621
|
| |
|
|
| |
Notes:
svn path=/head/; revision=161589
|
| |
|
|
| |
Notes:
svn path=/head/; revision=161564
|
| |
|
|
|
|
|
|
|
|
|
| |
unwind across a page fault due to a null function pointer. It does a
better job than ddb now in fact.
Reviewed by: marcel
MFC after: 3 days
Notes:
svn path=/head/; revision=161555
|
| |
|
|
|
|
|
| |
Approved by: marcel
Notes:
svn path=/head/; revision=161548
|
| |
|
|
|
|
|
| |
Submitted by: cognet
Notes:
svn path=/head/; revision=160581
|
| |
|
|
| |
Notes:
svn path=/head/; revision=157626
|
| |
|
|
|
|
|
|
|
|
|
| |
least on i386)... fbsd-* changes started out as s/linux/fbsd/g and then
additional changes to handle different ptrace defines among other things..
(use vfork to eliminate a race for progress group creation)
reg-i386.c is generated by regdat.sh..
Notes:
svn path=/head/; revision=157574
|
| |
|
|
|
|
|
|
|
| |
work w/ minor modifications to these files, so keep the history...
These are stock files from GDB 6.1.1 w/ only the filename s/linux/fbsd/g
Notes:
svn path=/vendor/misc-GNU/dist1/; revision=157571
|
| |
|
|
| |
Notes:
svn path=/head/; revision=155412
|
| |
|
|
|
|
|
|
| |
2. Add command 'thread signal' to print out current thread's signal mask
and pending signals.
Notes:
svn path=/head/; revision=155379
|
| |
|
|
|
|
|
|
|
|
|
| |
mode. This allows one to use kgdb on /dev/mem and be able to patch memory
on a live system. This is identical to what -wcore used to do in previous
gdb versions for FreeBSD.
Requested by: wpaul
Notes:
svn path=/head/; revision=154043
|
| |
|
|
|
|
|
|
| |
PR: bin/87964
Submitted by: Frank Mayhar frank at exit dot com
Notes:
svn path=/head/; revision=151683
|
| |
|
|
| |
Notes:
svn path=/head/; revision=150668
|
| |
|
|
|
|
|
|
|
|
| |
think that's the lot, but it's hard to understand the exception code
by mere glancing at it.
MFC after: 1 week
Notes:
svn path=/head/; revision=149977
|
| |
|
|
|
|
|
|
|
|
| |
stack by claiming the frame when the IP is 0. It's a bit of a kluge,
but avoids screens full of bogus frames.
MFC after: 1 week
Notes:
svn path=/head/; revision=149976
|
| |
|
|
|
|
|
| |
MFC after: 1 week
Notes:
svn path=/head/; revision=149975
|