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


You are receiving this mail because: