summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2000-10-17 17:44:39 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2000-10-17 17:44:39 +0000
commit23530f503dcd13b641c1308097f5e3392ec85bf7 (patch)
tree7b20ee347939a2bcbf17eed9410a0cd1fe983f0b
parent4ffeb47e1cdc4d287de5c609e3ac3797499b1be2 (diff)
damn it, i have had it with this untested weak shit
-rw-r--r--lib/libc/arch/sparc/SYS.h23
-rw-r--r--lib/libc/sys/Makefile.inc4
-rw-r--r--sys/arch/sparc/include/cdefs.h7
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_ */