Bug ID | 930571 |
---|---|
Summary | qemu ignores SIGILL handler |
Classification | openSUSE |
Product | openSUSE Factory |
Version | 201505* |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Other |
Assignee | afaerber@suse.com |
Reporter | schwab@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
openSUSE:Factory:ARM/efl fails to build for armv6l because qemu-arm doesn't correctly handle the instruction probing in libcrypto. It should call the SIGILL handler instead of exiting. $ cat sigill.c #include <stdlib.h> #include <stdio.h> #include <signal.h> void sigill_handler (int sig) { printf ("SIGILL\n"); exit (1); } int main (void) { struct sigaction sa; sa.sa_handler = sigill_handler; sigemptyset (&sa.sa_mask); sa.sa_flags = 0; sigaction (SIGILL, &sa, 0); asm volatile (".long 0xf26ee1fe"); /* vorr q15, q15, q15 */ } $ qemu-arm ./a.out qemu: uncaught target signal 4 (Illegal instruction) - core dumped Illegal instruction