X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fwhere-is-mcontext.c;h=6c579b1dc1eed33867b5fbf3971f8ea1efeac2b1;hb=eb520f74a818e381004bd69668d7ba1abb94a0bb;hp=7754111e997a32c08983810b886c09af70c7ee51;hpb=c65f4c06c83c9dbf213cece638ad3d59710841bb;p=sbcl.git diff --git a/tools-for-build/where-is-mcontext.c b/tools-for-build/where-is-mcontext.c index 7754111..6c579b1 100644 --- a/tools-for-build/where-is-mcontext.c +++ b/tools-for-build/where-is-mcontext.c @@ -12,7 +12,7 @@ * While most of SBCL is derived from the CMU CL system, many * utilities for the build process (like this one) were written from * scratch after the fork from CMU CL. - * + * * This software is in the public domain and is provided with * absolutely no warranty. See the COPYING and CREDITS files for * more information. @@ -20,35 +20,32 @@ #include #include +#include #include int main (int argc, char *argv[]) { - + if(argc != 1) { - fprintf(stderr,"%s: command line arguments provided. Don't do that.\n", argv[0]); - exit(1); + fprintf(stderr,"%s: command line arguments provided. Don't do that.\n", argv[0]); + exit(1); } - + printf("\ /* This is an automatically-generated file; please do not edit it.\n\ See the program tools-for-build/where-is-mcontext.c.\n\ */\n\n"); - + printf("\ #ifndef PPC_LINUX_MCONTEXT_H\n\ #define PPC_LINUX_MCONTEXT_H\n\n"); - switch (offsetof(ucontext_t,uc_mcontext)) { - case 192: - printf("#define GLIBC232_STYLE_UCONTEXT\n\n"); - break; - case 20: - printf("#define GLIBC231_STYLE_UCONTEXT\n\n"); - break; - default: - printf("#error \"Unknown PPC/Linux ucontext layout\"\n\n"); + if (offsetof(ucontext_t,uc_mcontext) > 40) { + printf("#define GLIBC232_STYLE_UCONTEXT\n\n"); + } else { + printf("#define GLIBC231_STYLE_UCONTEXT\n\n"); } printf("\ #endif /* PPC_LINUX_MCONTEXT_H */\n"); + exit(0); }