diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2000-10-17 17:44:39 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2000-10-17 17:44:39 +0000 |
commit | 23530f503dcd13b641c1308097f5e3392ec85bf7 (patch) | |
tree | 7b20ee347939a2bcbf17eed9410a0cd1fe983f0b | |
parent | 4ffeb47e1cdc4d287de5c609e3ac3797499b1be2 (diff) |
damn it, i have had it with this untested weak shit
-rw-r--r-- | lib/libc/arch/sparc/SYS.h | 23 | ||||
-rw-r--r-- | lib/libc/sys/Makefile.inc | 4 | ||||
-rw-r--r-- | sys/arch/sparc/include/cdefs.h | 7 |
3 files changed, 17 insertions, 17 deletions
diff --git a/lib/libc/arch/sparc/SYS.h b/lib/libc/arch/sparc/SYS.h index ce336d37461..82471d1a918 100644 --- a/lib/libc/arch/sparc/SYS.h +++ b/lib/libc/arch/sparc/SYS.h @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $OpenBSD: SYS.h,v 1.6 2000/10/16 14:25:04 deraadt Exp $ + * $OpenBSD: SYS.h,v 1.7 2000/10/17 17:44:38 deraadt Exp $ */ #include <machine/asm.h> @@ -43,16 +43,10 @@ #ifdef __STDC__ #define _CAT(x,y) x##y -#define __ENTRY(p,x) \ - .weak _C_LABEL(x); \ - _C_LABEL(x) = _C_LABEL(p##x); \ - ENTRY(p##x) +#define __ENTRY(p,x) ENTRY(p##x) #else #define _CAT(x,y) x/**/y -#define __ENTRY(p,x) \ - .weak _C_LABEL(x); \ - _C_LABEL(x) = _C_LABEL(p/**/x); \ - ENTRY(p/**/x) +#define __ENTRY(p,x) ENTRY(p/**/x) #endif /* @@ -92,6 +86,7 @@ __ENTRY(p,x); mov (_CAT(SYS_,y))|SYSCALL_G2RFLAG,%g1; add %o7,8,%g2; \ t ST_SYSCALL; ERROR() +#ifdef _THREAD_SAFE /* * For the thread_safe versions, we prepend _thread_sys_ to the function * name so that the 'C' wrapper can go around the real name. @@ -100,4 +95,14 @@ # define RSYSCALL(x) __RSYSCALL(_thread_sys_,x) # define PSEUDO(x,y) __PSEUDO(_thread_sys_,x,y) # define SYSENTRY(x) __ENTRY(_thread_sys_,x) +#else _THREAD_SAFE +/* + * The non-threaded library defaults to traditional syscalls where + * the function name matches the syscall name. + */ +# define SYSCALL(x) __SYSCALL(,x) +# define RSYSCALL(x) __RSYSCALL(,x) +# define PSEUDO(x,y) __PSEUDO(,x,y) +# define SYSENTRY(x) __ENTRY(,x) +#endif _THREAD_SAFE .globl cerror diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index fd2239a32c5..88080c317a3 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.37 2000/10/16 14:25:04 deraadt Exp $ +# $OpenBSD: Makefile.inc,v 1.38 2000/10/17 17:44:38 deraadt Exp $ # $NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $ # @(#)Makefile.inc 8.1 (Berkeley) 6/17/93 @@ -6,7 +6,7 @@ .PATH: ${LIBCSRCDIR}/arch/${MACHINE_ARCH}/sys ${LIBCSRCDIR}/sys # for now, only i386 has usable weak aliases -.if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "sparc" +.if ${MACHINE_ARCH} != "i386" CFLAGS+= -D_NO_WEAK_ALIASES .endif diff --git a/sys/arch/sparc/include/cdefs.h b/sys/arch/sparc/include/cdefs.h index b16678c037f..aa48142cfb8 100644 --- a/sys/arch/sparc/include/cdefs.h +++ b/sys/arch/sparc/include/cdefs.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cdefs.h,v 1.5 2000/10/16 14:25:05 deraadt Exp $ */ +/* $OpenBSD: cdefs.h,v 1.6 2000/10/17 17:44:38 deraadt Exp $ */ /* $NetBSD: cdefs.h,v 1.3 1996/12/27 20:51:31 pk Exp $ */ /* @@ -23,8 +23,6 @@ #define __warn_references(sym,msg) \ __asm__(".stabs \"" msg "\",30,0,0,0"); \ __asm__(".stabs \"_" #sym "\",1,0,0,0") -#define __weak_alias(alias,sym) \ - __asm__(".weak _" #alias "; _" #alias "= _" __STRING(sym)) #else #define __indr_reference(sym,alias) \ __asm__(".stabs \"_/**/alias\",11,0,0,0"); \ @@ -32,13 +30,10 @@ #define __warn_references(sym,msg) \ __asm__(".stabs msg,30,0,0,0"); \ __asm__(".stabs \"_/**/sym\",1,0,0,0") -#define __weak_alias(alias,sym) \ - __asm__(".weak _/**/alias; _/**/alias = _/**/sym") #endif #else #define __indr_reference(sym,alias) #define __warn_references(sym,msg) -#define __weak_alias(alias,sym) #endif #endif /* !_MACHINE_CDEFS_H_ */ |