summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2010-01-29 16:14:35 +0000
committermarcel <marcel@FreeBSD.org>2010-01-29 16:14:35 +0000
commiteab0945f137eac177672583ae68a8965dd3785f2 (patch)
tree90bb6eb6469fdd3223eeaf082144460a76af03dd /sys/arm
parentbd4ec0f8b953c499222b9e8ad35a3a3c5019869b (diff)
downloadFreeBSD-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.c2
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);
}
OpenPOWER on IntegriCloud