From: Christophe Rhodes Date: Fri, 9 Jan 2004 10:44:55 +0000 (+0000) Subject: 0.8.7.12: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=78e261f4ad7a0f3a0cf805ecc0052f0ccbf8fcd0;p=sbcl.git 0.8.7.12: Merge patch (Eric Marsden sbcl-devel 2004-01-08) for build on PPC/Linux ... less fragile than my version, so in it goes --- diff --git a/src/runtime/ppc-linux-os.c b/src/runtime/ppc-linux-os.c index c4a30f6..86c2bae 100644 --- a/src/runtime/ppc-linux-os.c +++ b/src/runtime/ppc-linux-os.c @@ -53,7 +53,7 @@ os_context_register_addr(os_context_t *context, int offset) #if defined(GLIBC231_STYLE_UCONTEXT) return &((context->uc_mcontext.regs)->gpr[offset]); #elif defined(GLIBC232_STYLE_UCONTEXT) - return &((context->uc_regs->gregs)[offset]); + return &((context->uc_mcontext.uc_regs->gregs)[offset]); #endif } @@ -63,7 +63,7 @@ os_context_pc_addr(os_context_t *context) #if defined(GLIBC231_STYLE_UCONTEXT) return &((context->uc_mcontext.regs)->nip); #elif defined(GLIBC232_STYLE_UCONTEXT) - return &((context->uc_regs->gregs)[PT_NIP]); + return &((context->uc_mcontext.uc_regs->gregs)[PT_NIP]); #endif } @@ -73,7 +73,7 @@ os_context_lr_addr(os_context_t *context) #if defined(GLIBC231_STYLE_UCONTEXT) return &((context->uc_mcontext.regs)->link); #elif defined(GLIBC232_STYLE_UCONTEXT) - return &((context->uc_regs->gregs)[PT_LNK]); + return &((context->uc_mcontext.uc_regs->gregs)[PT_LNK]); #endif } @@ -83,7 +83,7 @@ os_context_sigmask_addr(os_context_t *context) #if defined(GLIBC231_STYLE_UCONTEXT) return &context->uc_sigmask; #elif defined(GLIBC232_STYLE_UCONTEXT) - return &context->uc_oldsigmask; + return &context->uc_sigmask; #endif } @@ -98,7 +98,7 @@ os_context_fp_control(os_context_t *context) #if defined(GLIBC231_STYLE_UCONTEXT) return context->uc_mcontext.regs->gpr[PT_FPSCR]; #elif defined(GLIBC232_STYLE_UCONTEXT) - return context->uc_regs->gregs[PT_FPSCR]; + return context->uc_mcontext.uc_regs->gregs[PT_FPSCR]; #endif } diff --git a/tools-for-build/where-is-mcontext.c b/tools-for-build/where-is-mcontext.c index 7754111..cfe6e14 100644 --- a/tools-for-build/where-is-mcontext.c +++ b/tools-for-build/where-is-mcontext.c @@ -38,15 +38,10 @@ int main (int argc, char *argv[]) { #ifndef PPC_LINUX_MCONTEXT_H\n\ #define PPC_LINUX_MCONTEXT_H\n\n"); - switch (offsetof(ucontext_t,uc_mcontext)) { - case 192: + if (offsetof(ucontext_t,uc_mcontext) > 40) { printf("#define GLIBC232_STYLE_UCONTEXT\n\n"); - break; - case 20: + } else { printf("#define GLIBC231_STYLE_UCONTEXT\n\n"); - break; - default: - printf("#error \"Unknown PPC/Linux ucontext layout\"\n\n"); } printf("\ #endif /* PPC_LINUX_MCONTEXT_H */\n"); diff --git a/version.lisp-expr b/version.lisp-expr index 6248ab0..8654696 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.8.7.11" +"0.8.7.12"