From 40e15c4da81e899cbb4c6299fd4f48e1b1391115 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 26 Aug 2002 03:50:15 +0000 Subject: Update. 2002-08-25 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by declaring __restore and __restore_rt as hidden (if possible). --- ChangeLog | 5 +++++ sysdeps/unix/sysv/linux/i386/sigaction.c | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 879d442..2e8c1da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-08-25 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by + declaring __restore and __restore_rt as hidden (if possible). + 2002-08-25 Roland McGrath * manual/llio.texi (Access Modes): Fix typos in O_READ/O_WRITE defns. diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c index 8e5ac84..57634c1 100644 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c @@ -46,10 +46,19 @@ extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbound int __libc_missing_rt_sigs; #endif -#ifdef __NR_rt_sigaction +/* Using the hidden attribute here does not change the code but it + helps to avoid warnings. */ +#if defined HAVE_HIDDEN && !defined HAVE_BROKEN_VISIBILITY_ATTRIBUTE +# ifdef __NR_rt_sigaction +extern void restore_rt (void) asm ("__restore_rt") attribute_hidden; +# endif +extern void restore (void) asm ("__restore") attribute_hidden; +#else +# ifdef __NR_rt_sigaction static void restore_rt (void) asm ("__restore_rt"); -#endif +# endif static void restore (void) asm ("__restore"); +#endif /* If ACT is not NULL, change the action for SIG to *ACT. @@ -126,7 +135,7 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) "int $0x80\n" "popl %%ebx" : "=a" (result) - : "0" (SYS_ify (sigaction)), "r" (sig), + : "0" (SYS_ify (sigaction)), "mr" (sig), "c" (act ? __ptrvalue (&k_newact) : 0), "d" (oact ? __ptrvalue (&k_oldact) : 0)); -- cgit v1.1