blob: 5cbf082f3e36bef41e73b0026c6e1f276517170c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
broken signal handling in nios2 user-mode emulation
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.
|