summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-26 03:50:15 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-26 03:50:15 +0000
commit40e15c4da81e899cbb4c6299fd4f48e1b1391115 (patch)
tree2cf28736a7e111999a4e67e43fca5f92e689ca1d /sysdeps
parent06a466e7e1d3024b7079d3880dce8593ada9682c (diff)
downloadglibc-40e15c4da81e899cbb4c6299fd4f48e1b1391115.tar.gz
Update.
2002-08-25 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by declaring __restore and __restore_rt as hidden (if possible).
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
index 8e5ac84dcf..57634c1c98 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));