Restore SIGUNUSED on glibc >= 2.26 to preserve ABI compatibility
SIGUNUSED is a long deprecated alias to SIGSYS that was removed in glibc 2.26. Unfortunately the Perl ABI contains arrays of signal names and numbers of length SIG_SIZE. If an XS module is built with an older glibc but Perl has been rebuilt, the XS module can iterate these arrays out of bounds because it has a bigger SIG_SIZE compiled in. The list of architectures needing this was gathered from the debian/cross/*/config.sh.static files. SIGUNUSED is 31 (=SIGSYS) on all of these architectures, so we hardcode that. Closes: #875927
parent
3e2a41d6
Please register or sign in to comment