X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-linux-os.c;h=30a44daaa5ba423570097e721ab3688d05f29842;hb=d68f3f83e6c5b9bed9789279cbae346f240488cc;hp=3d6e8a3d9a757c6829c6886265d3d2c9cb0dcdb2;hpb=637371f800e71ac4449e01d59571c9d10f6bde26;p=sbcl.git diff --git a/src/runtime/x86-linux-os.c b/src/runtime/x86-linux-os.c index 3d6e8a3..30a44da 100644 --- a/src/runtime/x86-linux-os.c +++ b/src/runtime/x86-linux-os.c @@ -38,9 +38,6 @@ #include "validate.h" size_t os_vm_page_size; -#if defined GENCGC -#include "gencgc.h" -#endif /* KLUDGE: As of kernel 2.2.14 on Red Hat 6.2, there's code in the * file to define symbolic names for offsets into @@ -67,13 +64,19 @@ os_context_register_addr(os_context_t *context, int offset) os_context_register_t * os_context_pc_addr(os_context_t *context) { - return &context->uc_mcontext.gregs[14]; + return &context->uc_mcontext.gregs[14]; /* REG_EIP */ } os_context_register_t * os_context_sp_addr(os_context_t *context) +{ + return &context->uc_mcontext.gregs[17]; /* REG_UESP */ +} + +os_context_register_t * +os_context_fp_addr(os_context_t *context) { - return &context->uc_mcontext.gregs[17]; + return &context->uc_mcontext.gregs[6]; /* REG_EBP */ } unsigned long