diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-12-04 13:43:30 -0800 |
---|---|---|
committer | Andy Lutomirski <luto@amacapital.net> | 2014-12-04 13:43:30 -0800 |
commit | 2eff3a85758e87f5b04f5a8541ab6159c39f7d4f (patch) | |
tree | 88ed5fe8253c0af1d863a7203d516caca4d366cb | |
parent | 0b0e0cbec6cdc353fb538580db8ef4ac2bf40467 (diff) | |
download | misc-tests-2eff3a85758e87f5b04f5a8541ab6159c39f7d4f.tar.gz |
sigreturn: Fixes for 32-bit kernels
-rw-r--r-- | sigreturn.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sigreturn.c b/sigreturn.c index 510d193..fb15b99 100644 --- a/sigreturn.c +++ b/sigreturn.c @@ -418,6 +418,8 @@ static int test_bad_iret(int cs_bits, unsigned short ss, int force_cs) strcpy(trapname, "NP"); else if (sig_trapno == 12) strcpy(trapname, "SS"); + else if (sig_trapno == 32) + strcpy(trapname, "IRET"); /* X86_TRAP_IRET */ else sprintf(trapname, "%d", sig_trapno); @@ -472,6 +474,7 @@ int main() clearhandler(SIGTRAP); sethandler(SIGSEGV, sigtrap, SA_ONSTACK); sethandler(SIGBUS, sigtrap, SA_ONSTACK); + sethandler(SIGILL, sigtrap, SA_ONSTACK); /* 32-bit kernels do this */ test_bad_iret(64, (2 << 3) | 7, -1); test_bad_iret(32, (2 << 3) | 7, -1); |