aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/alpha
diff options
context:
space:
mode:
authorJason Evans <jasone@FreeBSD.org>2000-01-20 21:58:27 +0000
committerJason Evans <jasone@FreeBSD.org>2000-01-20 21:58:27 +0000
commitbafd6b2f76534972a79463e3cace6f52a2c7624b (patch)
tree3bcc9c20494ca9308101dd516d3b6aa4702eb843 /lib/libc/alpha
parentbeab1ec9b51c96ff64dd6d4caf3db4315ef9df45 (diff)
downloadsrc-bafd6b2f76534972a79463e3cace6f52a2c7624b.tar.gz
src-bafd6b2f76534972a79463e3cace6f52a2c7624b.zip
Remove unnecessary alternate entry points for *setjmp(). Make the main
entry point the standard name when not compiling libc_r (for example, longjmp is the main entry point instead of __longjmp). Suggested by: bde
Notes
Notes: svn path=/head/; revision=56345
Diffstat (limited to 'lib/libc/alpha')
-rw-r--r--lib/libc/alpha/gen/_setjmp.S17
-rw-r--r--lib/libc/alpha/gen/setjmp.S17
-rw-r--r--lib/libc/alpha/gen/sigsetjmp.S17
3 files changed, 33 insertions, 18 deletions
diff --git a/lib/libc/alpha/gen/_setjmp.S b/lib/libc/alpha/gen/_setjmp.S
index 04542962fd73..0d032e7543c4 100644
--- a/lib/libc/alpha/gen/_setjmp.S
+++ b/lib/libc/alpha/gen/_setjmp.S
@@ -44,8 +44,7 @@
.set noreorder
-XLEAF(_setjmp, 1)
-LEAF(___setjmp, 1)
+LEAF(_setjmp, 1)
LDGP(pv)
stq ra, (2 * 8)(a0) /* sc_pc = return address */
stq s0, (( 9 + 4) * 8)(a0) /* saved bits of sc_regs */
@@ -86,12 +85,14 @@ LEAF(___setjmp, 1)
mov zero, v0 /* return zero */
RET
-END(___setjmp)
+END(_setjmp)
-#ifndef _THREAD_SAFE
-XLEAF(_longjmp, 2)
-#endif
+#ifdef _THREAD_SAFE
LEAF(___longjmp, 2)
+#else
+XLEAF(___longjmp, 2)
+LEAF(_longjmp, 2)
+#endif
LDGP(pv)
ldq t0, ((31 + 4) * 8)(a0) /* magic in sc_regs[31] */
ldiq t1, 0xacedbadd
@@ -126,4 +127,8 @@ botch:
CALL(longjmperror)
CALL(abort)
RET /* "can't" get here... */
+#ifdef _THREAD_SAFE
END(___longjmp)
+#else
+END(_longjmp)
+#endif
diff --git a/lib/libc/alpha/gen/setjmp.S b/lib/libc/alpha/gen/setjmp.S
index dd03a1ad0a42..04202ce4b721 100644
--- a/lib/libc/alpha/gen/setjmp.S
+++ b/lib/libc/alpha/gen/setjmp.S
@@ -44,8 +44,7 @@
.set noreorder
-XLEAF(setjmp, 1)
-LEAF(__setjmp, 1)
+LEAF(setjmp, 1)
LDGP(pv)
stq ra, (2 * 8)(a0) /* sc_pc = return address */
stq s0, (( 9 + 4) * 8)(a0) /* saved bits of sc_regs */
@@ -114,12 +113,14 @@ LEAF(__setjmp, 1)
mov zero, v0 /* return zero */
RET
-END(__setjmp)
+END(setjmp)
-#ifndef _THREAD_SAFE
-XLEAF(longjmp, 2)
-#endif
+#ifdef _THREAD_SAFE
LEAF(__longjmp, 2)
+#else
+XLEAF(__longjmp, 2)
+LEAF(longjmp, 2)
+#endif
LDGP(pv)
stq a1, (( 0 + 4) * 8)(a0) /* save return value */
PCALL(sigreturn) /* use sigreturn to return */
@@ -128,4 +129,8 @@ botch:
CALL(longjmperror)
CALL(abort)
RET /* "can't" get here... */
+#ifdef _THREAD_SAFE
END(__longjmp)
+#else
+END(longjmp)
+#endif
diff --git a/lib/libc/alpha/gen/sigsetjmp.S b/lib/libc/alpha/gen/sigsetjmp.S
index 6fb5085feae3..a5acd8a08840 100644
--- a/lib/libc/alpha/gen/sigsetjmp.S
+++ b/lib/libc/alpha/gen/sigsetjmp.S
@@ -45,24 +45,29 @@
.set noreorder
-XLEAF(sigsetjmp, 2)
-LEAF(__sigsetjmp, 2)
+LEAF(sigsetjmp, 2)
LDGP(pv)
stq a1, (81 * 8)(a0) /* save the mask */
bne a1, Lsavesig /* if !zero, save signals */
jmp zero, _setjmp /* else don't. */
Lsavesig:
jmp zero, setjmp
-END(__sigsetjmp)
+END(sigsetjmp)
-#ifndef _THREAD_SAFE
-XLEAF(siglongjmp, 2)
-#endif
+#ifdef _THREAD_SAFE
LEAF(__siglongjmp, 2)
+#else
+XLEAF(__siglongjmp, 2)
+LEAF(siglongjmp, 2)
+#endif
LDGP(pv)
ldq t0, (81 * 8)(a0) /* get the mask */
bne t0, Lrestoresig /* if !zero, restore signals */
jmp zero, _longjmp
Lrestoresig:
jmp zero, longjmp
+#ifdef _THREAD_SAFE
END(__siglongjmp)
+#else
+END(siglongjmp)
+#endif \ No newline at end of file