1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

signal: Move sys_siglist to a compat symbol

The symbol was deprecated by strsignal and its usage imposes issues
such as copy relocations.

Its internal name is changed to __sys_siglist and __sys_sigabbrev to
avoid static linking usage.  The compat code is also refactored, since
both Linux and Hurd usage the same strategy: export the same array with
different object sizes.

The libSegfault change avoids calling strsignal on the SIGFAULT signal
handler (the current usage is already sketchy, adding a call that
potentially issue locale internal function is even sketchier).

Checked on x86_64-linux-gnu and i686-linux-gnu. I also run a check-abi
on all affected platforms.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Adhemerval Zanella
2020-04-24 11:09:00 -03:00
parent e4e11b1dba
commit b1ccfc061f
14 changed files with 93 additions and 116 deletions

View File

@ -51,7 +51,7 @@ strsignal (int signum)
(signum >= SIGRTMIN && signum <= SIGRTMAX) ||
#endif
signum < 0 || signum >= NSIG
|| (desc = _sys_siglist[signum]) == NULL)
|| (desc = __sys_siglist[signum]) == NULL)
{
char *buffer = getbuffer ();
int len;