summaryrefslogtreecommitdiffstats
path: root/runtime/unwind
diff options
context:
space:
mode:
authorMartin Hunt <hunt@redhat.com>2008-03-30 19:47:51 -0400
committerMartin Hunt <hunt@redhat.com>2008-03-30 19:47:51 -0400
commit20d2c2c26b42b27a4881a46364a33330b2a6ea31 (patch)
tree8c2c94a65276d7815314eea72fa6ac30964c4cf1 /runtime/unwind
parent6567250495117bfa4eb8b58c805897133c0d3ff2 (diff)
downloadsystemtap-steved-20d2c2c26b42b27a4881a46364a33330b2a6ea31.tar.gz
systemtap-steved-20d2c2c26b42b27a4881a46364a33330b2a6ea31.tar.xz
systemtap-steved-20d2c2c26b42b27a4881a46364a33330b2a6ea31.zip
Support for kernels built with CONFIG_FRAME_POINTER
Diffstat (limited to 'runtime/unwind')
-rw-r--r--runtime/unwind/i386.h2
-rw-r--r--runtime/unwind/x86_64.h5
2 files changed, 5 insertions, 2 deletions
diff --git a/runtime/unwind/i386.h b/runtime/unwind/i386.h
index cb2efab7..354807a0 100644
--- a/runtime/unwind/i386.h
+++ b/runtime/unwind/i386.h
@@ -30,7 +30,7 @@ struct unwind_frame_info
#define UNW_PC(frame) (frame)->regs.eip
#define UNW_SP(frame) (frame)->regs.esp
-#ifdef CONFIG_FRAME_POINTER
+#ifdef STP_USE_FRAME_POINTER
#define UNW_FP(frame) (frame)->regs.ebp
#define FRAME_RETADDR_OFFSET 4
#define FRAME_LINK_OFFSET 0
diff --git a/runtime/unwind/x86_64.h b/runtime/unwind/x86_64.h
index 6e6e521f..48838490 100644
--- a/runtime/unwind/x86_64.h
+++ b/runtime/unwind/x86_64.h
@@ -35,13 +35,16 @@ struct unwind_frame_info
#define UNW_PC(frame) (frame)->regs.rip
#define UNW_SP(frame) (frame)->regs.rsp
-#ifdef CONFIG_FRAME_POINTER
+
+#if 0 /* STP_USE_FRAME_POINTER */
+/* Frame pointers not implemented in x86_64 currently */
#define UNW_FP(frame) (frame)->regs.rbp
#define FRAME_RETADDR_OFFSET 8
#define FRAME_LINK_OFFSET 0
#define STACK_BOTTOM(tsk) (((tsk)->thread.rsp0 - 1) & ~(THREAD_SIZE - 1))
#define STACK_TOP(tsk) ((tsk)->thread.rsp0)
#endif
+
/* Might need to account for the special exception and interrupt handling
stacks here, since normally
EXCEPTION_STACK_ORDER < THREAD_ORDER < IRQSTACK_ORDER,