From b1ccfc061feee9ce616444ded8e1cd5acf9fa97f Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 24 Apr 2020 11:09:00 -0300 Subject: 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 --- stdio-common/siglist.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'stdio-common/siglist.c') diff --git a/stdio-common/siglist.c b/stdio-common/siglist.c index 0408259..3e29aa8 100644 --- a/stdio-common/siglist.c +++ b/stdio-common/siglist.c @@ -20,17 +20,19 @@ #include #include -const char *const _sys_siglist[NSIG] = +const char *const __sys_siglist[NSIG] = { #define init_sig(sig, abbrev, desc) [sig] = desc, #include #undef init_sig }; +libc_hidden_def (__sys_siglist) - -const char *const _sys_sigabbrev[NSIG] = +const char *const __sys_sigabbrev[NSIG] = { #define init_sig(sig, abbrev, desc) [sig] = abbrev, #include #undef init_sig }; + +#include -- cgit v1.1