X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fruntime%2Fmain%2FSignals.lc;fp=ghc%2Fruntime%2Fmain%2FSignals.lc;h=2f376aef649ce9cdfd417806e09251e2071df869;hb=11fa96cce1df9687fd76a8fd59a20778270e473d;hp=5bed26dbe4e87601a0c00c2e03d9d358c64e5e83;hpb=23a02898241ed747b9e121bb08fd7f01df36886b;p=ghc-hetmet.git diff --git a/ghc/runtime/main/Signals.lc b/ghc/runtime/main/Signals.lc index 5bed26d..2f376ae 100644 --- a/ghc/runtime/main/Signals.lc +++ b/ghc/runtime/main/Signals.lc @@ -76,7 +76,9 @@ much pain. # ifndef LINUX_VERSION_CODE # include # endif -# if (LINUX_VERSION_CODE < 0x020000) +/* Snaffled from drivers/scsi/eata.c in 2.0.30 sources */ +#define LinuxVersionCode(v, p, s) (((v)<<16)+((p)<<8)+(s)) +# if ( LINUX_VERSION_CODE < LinuxVersionCode(2,0,0) ) # include # else # include @@ -133,7 +135,21 @@ segv_handler(int sig, # if defined(aix_TARGET_OS) int code, struct sigcontext *scp) # else /* linux */ + /* sigcontext_struct has been renamed to sigcontext. If + compiling this code elicits a bunch of warnings about + "struct sigcontext_struct" being undeclared, check to + see whether you've got "struct sigcontext" in . + or not. + + If you do, lower the version number below to fit the version + you're running (and pass us a note saying that you had to - thx!) + */ +# if LINUX_VERSION_CODE >= LinuxVersionCode(2,1,51) + /* sigcontext_struct has been renamed to sigcontext */ + struct sigcontext scp) +# else struct sigcontext_struct scp) +# endif # endif # endif {