summaryrefslogtreecommitdiffstats
path: root/runtime/loc2c-runtime.h
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-01-24 23:48:06 -0500
committerFrank Ch. Eigler <fche@elastic.org>2008-01-24 23:48:06 -0500
commita1732c4f7856621604a1cc45a29af618aaa502e0 (patch)
tree29e3f9c4405e1fd1f81b8c87ac2e485855541a66 /runtime/loc2c-runtime.h
parent7ee3e80ec0b7880c33d0ca3018025855d9dd5123 (diff)
parent674427d3a018d0f89c9669db8dcf952aab8b4423 (diff)
downloadsystemtap-steved-a1732c4f7856621604a1cc45a29af618aaa502e0.tar.gz
systemtap-steved-a1732c4f7856621604a1cc45a29af618aaa502e0.tar.xz
systemtap-steved-a1732c4f7856621604a1cc45a29af618aaa502e0.zip
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'runtime/loc2c-runtime.h')
-rw-r--r--runtime/loc2c-runtime.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/runtime/loc2c-runtime.h b/runtime/loc2c-runtime.h
index 8dbff764..4674e399 100644
--- a/runtime/loc2c-runtime.h
+++ b/runtime/loc2c-runtime.h
@@ -75,7 +75,37 @@
})
-#if defined __i386__
+#if defined (STAPCONF_X86_UNIREGS) && defined (__i386__)
+
+#define dwarf_register_0(regs) regs->ax
+#define dwarf_register_1(regs) regs->cx
+#define dwarf_register_2(regs) regs->dx
+#define dwarf_register_3(regs) regs->bx
+#define dwarf_register_4(regs) ((long) &regs->sp)
+#define dwarf_register_5(regs) regs->bp
+#define dwarf_register_6(regs) regs->si
+#define dwarf_register_7(regs) regs->di
+
+#elif defined (STAPCONF_X86_UNIREGS) && defined (__x86_64__)
+
+#define dwarf_register_0(regs) regs->ax
+#define dwarf_register_1(regs) regs->dx
+#define dwarf_register_2(regs) regs->cx
+#define dwarf_register_3(regs) regs->bx
+#define dwarf_register_4(regs) regs->si
+#define dwarf_register_5(regs) regs->di
+#define dwarf_register_6(regs) regs->bp
+#define dwarf_register_7(regs) regs->sp
+#define dwarf_register_8(regs) regs->r8
+#define dwarf_register_9(regs) regs->r9
+#define dwarf_register_10(regs) regs->r10
+#define dwarf_register_11(regs) regs->r11
+#define dwarf_register_12(regs) regs->r12
+#define dwarf_register_13(regs) regs->r13
+#define dwarf_register_14(regs) regs->r14
+#define dwarf_register_15(regs) regs->r15
+
+#elif defined __i386__
/* The stack pointer is unlike other registers. When a trap happens in
kernel mode, it is not saved in the trap frame (struct pt_regs).