diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-01-24 23:48:06 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-01-24 23:48:06 -0500 |
commit | a1732c4f7856621604a1cc45a29af618aaa502e0 (patch) | |
tree | 29e3f9c4405e1fd1f81b8c87ac2e485855541a66 /runtime/loc2c-runtime.h | |
parent | 7ee3e80ec0b7880c33d0ca3018025855d9dd5123 (diff) | |
parent | 674427d3a018d0f89c9669db8dcf952aab8b4423 (diff) | |
download | systemtap-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.h | 32 |
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) ®s->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). |