summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2015-02-24 22:28:44 +0000
committermarius <marius@FreeBSD.org>2015-02-24 22:28:44 +0000
commit41a96ed99bbd2897e1de81b52b0eec6640b7f637 (patch)
tree11395f5d6d059d6c4a040e987a23f2f94f95243f /lib
parent224ab7ed88d3de7a8975d08e2dc8dbc056b79549 (diff)
downloadFreeBSD-src-41a96ed99bbd2897e1de81b52b0eec6640b7f637.zip
FreeBSD-src-41a96ed99bbd2897e1de81b52b0eec6640b7f637.tar.gz
MFC: r278870
Unbreak sparc64 after r276630 (MFCed to stable/10 in r277317) by calling __sparc_sigtramp_setup signal trampoline as part of the MD __sys_sigaction again. Submitted by: kib (initial versions)
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/sparc64/sys/Makefile.inc2
-rw-r--r--lib/libc/sparc64/sys/sigaction1.S (renamed from lib/libc/sparc64/sys/sigaction.S)5
-rw-r--r--lib/libc/sys/Makefile.inc8
3 files changed, 11 insertions, 4 deletions
diff --git a/lib/libc/sparc64/sys/Makefile.inc b/lib/libc/sparc64/sys/Makefile.inc
index dedf783..d1b4b2d 100644
--- a/lib/libc/sparc64/sys/Makefile.inc
+++ b/lib/libc/sparc64/sys/Makefile.inc
@@ -12,7 +12,7 @@ SRCS+= __sparc_sigtramp_setup.c \
CFLAGS+= -I${.CURDIR}/sparc64/fpu
-MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S
+MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction1.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o getlogin.o openbsd_poll.o sstk.o yield.o
diff --git a/lib/libc/sparc64/sys/sigaction.S b/lib/libc/sparc64/sys/sigaction1.S
index 7d32f97..219a238 100644
--- a/lib/libc/sparc64/sys/sigaction.S
+++ b/lib/libc/sparc64/sys/sigaction1.S
@@ -29,7 +29,8 @@ __FBSDID("$FreeBSD$");
#include "SYS.h"
-_SYSENTRY(sigaction)
+ WEAK_REFERENCE(__sys_sigaction, _sigaction)
+ENTRY(__sys_sigaction)
PIC_PROLOGUE(%o3, %o4)
SET(sigcode_installed, %o4, %o3)
lduw [%o3], %o4
@@ -44,6 +45,6 @@ _SYSENTRY(sigaction)
1: _SYSCALL(sigaction)
retl
nop
-_SYSEND(sigaction)
+END(__sys_sigaction)
.comm sigcode_installed, 4, 4
diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc
index e6f127d..b4501b7 100644
--- a/lib/libc/sys/Makefile.inc
+++ b/lib/libc/sys/Makefile.inc
@@ -61,7 +61,6 @@ INTERPOSED = \
sendmsg \
sendto \
setcontext \
- sigaction \
sigprocmask \
sigsuspend \
sigtimedwait \
@@ -72,6 +71,13 @@ INTERPOSED = \
write \
writev
+.if ${MACHINE_CPUARCH} == "sparc64"
+SRCS+= sigaction.c
+NOASM+= sigaction.o
+.else
+INTERPOSED+= sigaction
+.endif
+
SRCS+= ${INTERPOSED:S/$/.c/}
NOASM+= ${INTERPOSED:S/$/.o/}
PSEUDO+= ${INTERPOSED:C/^.*$/_&.o/}
OpenPOWER on IntegriCloud