summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/pwd_grp/lckpwdf.c1
-rw-r--r--libc/signal/sigaction.c21
-rw-r--r--libc/signal/sigignore.c2
-rw-r--r--libc/signal/sigintr.c2
-rw-r--r--libc/signal/signal.c2
-rw-r--r--libc/signal/sigset.c2
-rw-r--r--libc/signal/sysv_signal.c2
-rw-r--r--libc/stdlib/abort.c2
-rw-r--r--libc/sysdeps/linux/common/__syscall_rt_sigaction.c2
-rw-r--r--libc/sysdeps/linux/common/ssp.c1
-rw-r--r--libc/sysdeps/linux/mips/sigaction.c13
-rw-r--r--libc/unistd/sleep.c2
12 files changed, 14 insertions, 38 deletions
diff --git a/libc/pwd_grp/lckpwdf.c b/libc/pwd_grp/lckpwdf.c
index 2b3fa7596..3f0968aa0 100644
--- a/libc/pwd_grp/lckpwdf.c
+++ b/libc/pwd_grp/lckpwdf.c
@@ -20,7 +20,6 @@
Boston, MA 02111-1307, USA. */
#define sigfillset __sigfillset_internal
-#define sigaction __sigaction_internal
#include <features.h>
#include <fcntl.h>
diff --git a/libc/signal/sigaction.c b/libc/signal/sigaction.c
index 66ed7ad8c..5f926c0b8 100644
--- a/libc/signal/sigaction.c
+++ b/libc/signal/sigaction.c
@@ -28,17 +28,12 @@
translate it here. */
#include <bits/kernel_sigaction.h>
-int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact);
-
#if defined __NR_rt_sigaction
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int
-__libc_sigaction (sig, act, oact)
- int sig;
- const struct sigaction *act;
- struct sigaction *oact;
+int attribute_hidden
+__sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct kernel_sigaction kact, koact;
@@ -74,11 +69,8 @@ __libc_sigaction (sig, act, oact)
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int
-__libc_sigaction (sig, act, oact)
- int sig;
- const struct sigaction *act;
- struct sigaction *oact;
+int attribute_hidden
+__sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct old_kernel_sigaction kact, koact;
@@ -111,6 +103,7 @@ __libc_sigaction (sig, act, oact)
#endif
#ifndef LIBC_SIGACTION
-weak_alias (__libc_sigaction, __sigaction)
-weak_alias (__libc_sigaction, sigaction)
+strong_alias(__sigaction_internal,__libc_sigaction)
+weak_alias(__sigaction_internal,__sigaction)
+weak_alias(__sigaction_internal,sigaction)
#endif
diff --git a/libc/signal/sigignore.c b/libc/signal/sigignore.c
index 490cc3814..407b52e2a 100644
--- a/libc/signal/sigignore.c
+++ b/libc/signal/sigignore.c
@@ -18,8 +18,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#define _GNU_SOURCE
#include <errno.h>
#define __need_NULL
diff --git a/libc/signal/sigintr.c b/libc/signal/sigintr.c
index c55d58618..8315c3a6b 100644
--- a/libc/signal/sigintr.c
+++ b/libc/signal/sigintr.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <stddef.h>
#include <signal.h>
#include <errno.h>
diff --git a/libc/signal/signal.c b/libc/signal/signal.c
index f8355258a..7df88eff0 100644
--- a/libc/signal/signal.c
+++ b/libc/signal/signal.c
@@ -18,8 +18,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#include <signal.h>
#include <string.h> /* For the real memset prototype. */
diff --git a/libc/signal/sigset.c b/libc/signal/sigset.c
index 7860669b6..350e3cb2d 100644
--- a/libc/signal/sigset.c
+++ b/libc/signal/sigset.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#define __need_NULL
#include <stddef.h>
diff --git a/libc/signal/sysv_signal.c b/libc/signal/sysv_signal.c
index 78c9696dd..576fc0b8d 100644
--- a/libc/signal/sysv_signal.c
+++ b/libc/signal/sysv_signal.c
@@ -16,8 +16,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#include <signal.h>
#include <string.h> /* For the real memset prototype. */
diff --git a/libc/stdlib/abort.c b/libc/stdlib/abort.c
index 83a052abe..78b57fbd3 100644
--- a/libc/stdlib/abort.c
+++ b/libc/stdlib/abort.c
@@ -18,8 +18,6 @@ Cambridge, MA 02139, USA. */
/* Hacked up for uClibc by Erik Andersen */
-#define sigaction __sigaction_internal
-
#define _GNU_SOURCE
#include <features.h>
#include <signal.h>
diff --git a/libc/sysdeps/linux/common/__syscall_rt_sigaction.c b/libc/sysdeps/linux/common/__syscall_rt_sigaction.c
index be7709040..9d4916618 100644
--- a/libc/sysdeps/linux/common/__syscall_rt_sigaction.c
+++ b/libc/sysdeps/linux/common/__syscall_rt_sigaction.c
@@ -14,7 +14,7 @@
#define __NR___syscall_rt_sigaction __NR_rt_sigaction
#undef sigaction
-attribute_hidden _syscall4(int, __syscall_rt_sigaction, int, signum,
+_syscall4(int, __syscall_rt_sigaction, int, signum,
const struct sigaction *, act, struct sigaction *, oldact,
size_t, size);
diff --git a/libc/sysdeps/linux/common/ssp.c b/libc/sysdeps/linux/common/ssp.c
index 7a977f56a..fe7a56f71 100644
--- a/libc/sysdeps/linux/common/ssp.c
+++ b/libc/sysdeps/linux/common/ssp.c
@@ -31,7 +31,6 @@
#define closelog __closelog
#define sigfillset __sigfillset_internal
#define sigdelset __sigdelset_internal
-#define sigaction __sigaction_internal
#define kill __kill
#include <string.h>
diff --git a/libc/sysdeps/linux/mips/sigaction.c b/libc/sysdeps/linux/mips/sigaction.c
index 4cbdc7023..e35f11806 100644
--- a/libc/sysdeps/linux/mips/sigaction.c
+++ b/libc/sysdeps/linux/mips/sigaction.c
@@ -25,14 +25,14 @@
#include <sys/syscall.h>
#include <bits/kernel_sigaction.h>
+#define SA_RESTORER 0x04000000
+
#if defined __NR_rt_sigaction
-#warning "Yes there is a warning here. Don't worry about it."
-static void restore_rt (void) asm ("__restore_rt");
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+int attribute_hidden __sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct kernel_sigaction kact, koact;
@@ -68,12 +68,11 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa
#else
-#warning "Yes there is a warning here. Don't worry about it."
-static void restore (void) asm ("__restore");
+extern void restore (void) asm ("__restore") attribute_hidden;
/* If ACT is not NULL, change the action for SIG to *ACT.
If OACT is not NULL, put the old action for SIG in *OACT. */
-int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+int attribute_hidden __sigaction_internal (int sig, const struct sigaction *act, struct sigaction *oact)
{
int result;
struct old_kernel_sigaction kact, koact;
@@ -113,5 +112,5 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa
#endif
#ifndef LIBC_SIGACTION
-weak_alias (__libc_sigaction, sigaction)
+weak_alias(__sigaction_internal,sigaction)
#endif
diff --git a/libc/unistd/sleep.c b/libc/unistd/sleep.c
index b704cd905..01a9b641b 100644
--- a/libc/unistd/sleep.c
+++ b/libc/unistd/sleep.c
@@ -18,8 +18,6 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#define sigaction __sigaction_internal
-
#include <errno.h>
#include <time.h>
#include <signal.h>