broken signal handling in nios2 user-mode emulation
This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1791763
Reported by 'Sandra Loosemore' on 2018-09-10 :
This bug is against the 3.0 release. It appears that the signal handling parts of the nios2 user-mode emulation have never really been completed or tested. Some examples of failing tests from the GCC testsuite are gcc.dg/pr78185.c and gcc.dg/cleanup-10.c. Some problems I've identified and tried to fix with the attached patch are: - Code copied from the Linux kernel wasn't adjusted to differentiate between host and target data types and address spaces. - The sigaltstack() system call returns EINVAL because fields are listed in the wrong order in struct target_sigaltstack. With this patch, the system calls to set up the signal handler are returning successfully, but the handler isn't being invoked, so something is still wrong. I think I need another pair of eyes to look over this code.