diff options
author | marcel <marcel@FreeBSD.org> | 2010-01-29 16:14:35 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2010-01-29 16:14:35 +0000 |
commit | eab0945f137eac177672583ae68a8965dd3785f2 (patch) | |
tree | 90bb6eb6469fdd3223eeaf082144460a76af03dd /sys/arm | |
parent | bd4ec0f8b953c499222b9e8ad35a3a3c5019869b (diff) | |
download | FreeBSD-src-eab0945f137eac177672583ae68a8965dd3785f2.zip FreeBSD-src-eab0945f137eac177672583ae68a8965dd3785f2.tar.gz |
When backtracing self, start with the current frame (i.e. the
frame of db_trace_self()) and not the caller's frame. The use
of builtin_frame_address(1) to get the caller's frame is not
reliable and can cause panics.
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/db_trace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/arm/db_trace.c b/sys/arm/arm/db_trace.c index 9bc3cbc..a83f49d 100644 --- a/sys/arm/arm/db_trace.c +++ b/sys/arm/arm/db_trace.c @@ -206,6 +206,6 @@ db_trace_self(void) { db_addr_t addr; - addr = (db_addr_t)__builtin_frame_address(1); + addr = (db_addr_t)__builtin_frame_address(0); db_stack_trace_cmd(addr, -1); } |