diff options
author | jasone <jasone@FreeBSD.org> | 2000-01-12 09:23:48 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-01-12 09:23:48 +0000 |
commit | 75903038bc52105bc7479fe5f2b75f22f10c1c50 (patch) | |
tree | c9e28eda650bbd7eaa3eb22c8d7c75d00a96a451 /lib/libc/alpha | |
parent | 688bb99b3f790aad607b949661d0361486bbe346 (diff) | |
download | FreeBSD-src-75903038bc52105bc7479fe5f2b75f22f10c1c50.zip FreeBSD-src-75903038bc52105bc7479fe5f2b75f22f10c1c50.tar.gz |
Add three-tier symbol naming in support of POSIX thread cancellation
points. For library functions, the pattern is __sleep() <--
_libc_sleep() <-- sleep(). The arrows represent weak aliases. For
system calls, the pattern is _read() <-- _libc_read() <-- read().
Diffstat (limited to 'lib/libc/alpha')
-rw-r--r-- | lib/libc/alpha/gen/_setjmp.S | 14 | ||||
-rw-r--r-- | lib/libc/alpha/gen/setjmp.S | 12 | ||||
-rw-r--r-- | lib/libc/alpha/gen/sigsetjmp.S | 14 |
3 files changed, 28 insertions, 12 deletions
diff --git a/lib/libc/alpha/gen/_setjmp.S b/lib/libc/alpha/gen/_setjmp.S index 2aa8c55..c18462f 100644 --- a/lib/libc/alpha/gen/_setjmp.S +++ b/lib/libc/alpha/gen/_setjmp.S @@ -25,6 +25,8 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include <machine/asm.h> @@ -42,7 +44,9 @@ .set noreorder -LEAF(_setjmp, 1) +XLEAF(_setjmp, 1) +XLEAF(_libc__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 */ @@ -83,9 +87,11 @@ LEAF(_setjmp, 1) mov zero, v0 /* return zero */ RET -END(_setjmp) +END(___setjmp) -LEAF(_longjmp, 2) +XLEAF(_longjmp, 2) +XLEAF(_libc__longjmp, 2) +LEAF(___longjmp, 2) LDGP(pv) ldq t0, ((31 + 4) * 8)(a0) /* magic in sc_regs[31] */ ldiq t1, 0xacedbadd @@ -120,4 +126,4 @@ botch: CALL(longjmperror) CALL(abort) RET /* "can't" get here... */ -END(_longjmp) +END(___longjmp) diff --git a/lib/libc/alpha/gen/setjmp.S b/lib/libc/alpha/gen/setjmp.S index fc2e16a..4d21f9e 100644 --- a/lib/libc/alpha/gen/setjmp.S +++ b/lib/libc/alpha/gen/setjmp.S @@ -44,7 +44,9 @@ .set noreorder -LEAF(setjmp, 1) +XLEAF(setjmp, 1) +XLEAF(_libc_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 */ @@ -113,9 +115,11 @@ LEAF(setjmp, 1) mov zero, v0 /* return zero */ RET -END(setjmp) +END(__setjmp) -LEAF(longjmp, 2) +XLEAF(longjmp, 2) +XLEAF(_libc_longjmp, 2) +LEAF(__longjmp, 2) LDGP(pv) stq a1, (( 0 + 4) * 8)(a0) /* save return value */ PCALL(sigreturn) /* use sigreturn to return */ @@ -124,4 +128,4 @@ botch: CALL(longjmperror) CALL(abort) RET /* "can't" get here... */ -END(longjmp) +END(__longjmp) diff --git a/lib/libc/alpha/gen/sigsetjmp.S b/lib/libc/alpha/gen/sigsetjmp.S index 8c79e0a..80b38bc 100644 --- a/lib/libc/alpha/gen/sigsetjmp.S +++ b/lib/libc/alpha/gen/sigsetjmp.S @@ -25,6 +25,8 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include <machine/asm.h> @@ -43,20 +45,24 @@ .set noreorder -LEAF(sigsetjmp, 2) +XLEAF(sigsetjmp, 2) +XLEAF(_libc_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) -LEAF(siglongjmp, 2) +XLEAF(siglongjmp, 2) +XLEAF(_libc_siglongjmp, 2) +LEAF(__siglongjmp, 2) LDGP(pv) ldq t0, (81 * 8)(a0) /* get the mask */ bne t0, Lrestoresig /* if !zero, restore signals */ jmp zero, _longjmp Lrestoresig: jmp zero, longjmp -END(siglongjmp) +END(__siglongjmp) |