freebsd-dev/sys/mips
John Baldwin a1d505eaba Various fixes for the MIPS DDB stack unwinder.
- Fix kernel stack unwinding end-of-function false-positive

  The kernel stack unwinder assumes that any jr $ra indicates the end
  of the current function. However, modern compilers generate code
  that contains jr $ra at various places inside the function.

- Handle LLD inter-function padding when looking for the start of a
  function.

- Use call site for symbol name/offset when unwinding

  Currently we use the return address, which will normally just give
  an output that's off by 8 from the actual call site.  However, for
  tail calls, this is particularly bad, as we end up printing the
  symbol name for the function that comes after the one that made the
  call.  Instead we should go back two instructions from the return
  address for the unwound program counter.

Submitted by:   arichardson (1, 2), jrtc27 (3)
Reviewed by:	arichardson
Obtained from:	CheriBSD
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D27363
2020-12-04 20:14:25 +00:00
..
atheros Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
beri Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
broadcom Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
cavium Fix octeon_pmc post-r334827 2020-11-18 17:37:01 +00:00
conf Include virtio support in std.MALTA 2020-07-31 11:28:09 +00:00
include Remove 'struct trapframe' pointer from mips64's 'struct syscall_args'. 2020-11-06 19:19:51 +00:00
ingenic Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
malta Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
mediatek Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00
mips Various fixes for the MIPS DDB stack unwinder. 2020-12-04 20:14:25 +00:00
nlm Avoid dump_avail[] redefinition. 2020-10-14 22:51:40 +00:00