Description
After JDK-8294314, we would have signals_posix.cpp excluded with cast-function-type warning:
```
/home/shade/trunks/jdk/src/hotspot/os/posix/signals_posix.cpp: In function 'int SR_initialize()':
/home/shade/trunks/jdk/src/hotspot/os/posix/signals_posix.cpp:1727:20: error: cast between incompatible function types from 'void (*)(int, siginfo_t*, ucontext_t*)' to 'void (*)(int)' [-Werror=cast-function-type]
1727 | act.sa_handler = (void (*)(int)) SR_handler;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
A closer look would reveal that we are using the wrong slots for SR_handler, `sa_handler` vs `sig_handler`, which manifests in type cast errors. `man sigaction` says:
```
If SA_SIGINFO is specified in sa_flags, then sa_sigaction (instead of sa_handler) specifies the signal-handling
function for signum. This function receives three arguments, as described below.
```
```
/home/shade/trunks/jdk/src/hotspot/os/posix/signals_posix.cpp: In function 'int SR_initialize()':
/home/shade/trunks/jdk/src/hotspot/os/posix/signals_posix.cpp:1727:20: error: cast between incompatible function types from 'void (*)(int, siginfo_t*, ucontext_t*)' to 'void (*)(int)' [-Werror=cast-function-type]
1727 | act.sa_handler = (void (*)(int)) SR_handler;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
A closer look would reveal that we are using the wrong slots for SR_handler, `sa_handler` vs `sig_handler`, which manifests in type cast errors. `man sigaction` says:
```
If SA_SIGINFO is specified in sa_flags, then sa_sigaction (instead of sa_handler) specifies the signal-handling
function for signum. This function receives three arguments, as described below.
```
Attachments
Issue Links
- relates to
-
JDK-8294314 Minimize disabled warnings in hotspot
-
- Resolved
-
-
JDK-8295125 os::signal should be os specific
-
- Resolved
-