summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/arch/i386/SYS.h12
-rw-r--r--lib/libc_r/sys/Makefile.inc15
-rw-r--r--lib/libpthread/sys/Makefile.inc15
3 files changed, 17 insertions, 25 deletions
diff --git a/lib/libc/arch/i386/SYS.h b/lib/libc/arch/i386/SYS.h
index e02d5cf985f..17a43ecf593 100644
--- a/lib/libc/arch/i386/SYS.h
+++ b/lib/libc/arch/i386/SYS.h
@@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $OpenBSD: SYS.h,v 1.4 1998/11/20 11:18:29 d Exp $
+ * $OpenBSD: SYS.h,v 1.5 1999/01/06 05:36:17 d Exp $
*/
#include <machine/asm.h>
@@ -72,13 +72,6 @@
__DO_SYSCALL(y); \
ret
-/* jump to the real syscall */
-/* XXX shouldn't be here */
-# define __PASSTHRU(p,x) \
- .globl __LABEL2(p,x); \
- ENTRY(x); \
- jmp PIC_PLT(__LABEL2(p,x))
-
/*
* Design note:
*
@@ -86,8 +79,6 @@
* specially by the threaded library, these macros insert `_thread_sys_'
* in front of their name. This avoids the need to #ifdef _THREAD_SAFE
* everywhere that the renamed function needs to be called.
- * The PASSTHRU macro is later used for system calls that don't need
- * wrapping. (XXX its a shame the loader can't do this aliasing)
*/
#ifdef _THREAD_SAFE
/*
@@ -98,7 +89,6 @@
# define RSYSCALL(x) __RSYSCALL(_thread_sys_,x)
# define PSEUDO(x,y) __PSEUDO(_thread_sys_,x,y)
# define SYSENTRY(x) __ENTRY(_thread_sys_,x)
-# define PASSTHRU(x) __PASSTHRU(_thread_sys_,x)
#else _THREAD_SAFE
/*
* The non-threaded library defaults to traditional syscalls where
diff --git a/lib/libc_r/sys/Makefile.inc b/lib/libc_r/sys/Makefile.inc
index be55ff3747b..2c4ee0df2fd 100644
--- a/lib/libc_r/sys/Makefile.inc
+++ b/lib/libc_r/sys/Makefile.inc
@@ -1,16 +1,17 @@
-# $Id: Makefile.inc,v 1.2 1998/11/20 11:15:38 d Exp $
-# $OpenBSD: Makefile.inc,v 1.2 1998/11/20 11:15:38 d Exp $
+# $Id: Makefile.inc,v 1.3 1999/01/06 05:36:18 d Exp $
+# $OpenBSD: Makefile.inc,v 1.3 1999/01/06 05:36:18 d Exp $
.PATH: ${.CURDIR}/sys ${.CURDIR}/arch/${MACHINE_ARCH}
-SRCS+= uthread_error.c _atomic_lock.c _sys_aliases.S slow_atomic_lock.c
+SRCS+= uthread_error.c _atomic_lock.c slow_atomic_lock.c
-_sys_aliases.S: ${.CURDIR}/Makefile ${LIBCSRCDIR}/sys/Makefile.inc
- (echo '#include "SYS.h"'; \
+SRCS+= _sys_aliases.c
+CLEANFILES += _sys_aliases.c
+_sys_aliases.c: ${.CURDIR}/Makefile ${LIBCSRCDIR}/sys/Makefile.inc
+ (echo '#include <sys/cdefs.h>'; \
for fn in ${ASM:R} ${PSEUDO:R} ""; do \
case $$fn in ${HIDDEN_SYSCALLS:.o=|}"") : stays hidden ;; \
- *) echo "PASSTHRU($$fn)";; \
+ *) echo "__indr_reference(_thread_sys_$$fn,$$fn);";; \
esac; \
done ) > ${.TARGET}
-CLEANFILES += _sys_aliases.S
diff --git a/lib/libpthread/sys/Makefile.inc b/lib/libpthread/sys/Makefile.inc
index be55ff3747b..2c4ee0df2fd 100644
--- a/lib/libpthread/sys/Makefile.inc
+++ b/lib/libpthread/sys/Makefile.inc
@@ -1,16 +1,17 @@
-# $Id: Makefile.inc,v 1.2 1998/11/20 11:15:38 d Exp $
-# $OpenBSD: Makefile.inc,v 1.2 1998/11/20 11:15:38 d Exp $
+# $Id: Makefile.inc,v 1.3 1999/01/06 05:36:18 d Exp $
+# $OpenBSD: Makefile.inc,v 1.3 1999/01/06 05:36:18 d Exp $
.PATH: ${.CURDIR}/sys ${.CURDIR}/arch/${MACHINE_ARCH}
-SRCS+= uthread_error.c _atomic_lock.c _sys_aliases.S slow_atomic_lock.c
+SRCS+= uthread_error.c _atomic_lock.c slow_atomic_lock.c
-_sys_aliases.S: ${.CURDIR}/Makefile ${LIBCSRCDIR}/sys/Makefile.inc
- (echo '#include "SYS.h"'; \
+SRCS+= _sys_aliases.c
+CLEANFILES += _sys_aliases.c
+_sys_aliases.c: ${.CURDIR}/Makefile ${LIBCSRCDIR}/sys/Makefile.inc
+ (echo '#include <sys/cdefs.h>'; \
for fn in ${ASM:R} ${PSEUDO:R} ""; do \
case $$fn in ${HIDDEN_SYSCALLS:.o=|}"") : stays hidden ;; \
- *) echo "PASSTHRU($$fn)";; \
+ *) echo "__indr_reference(_thread_sys_$$fn,$$fn);";; \
esac; \
done ) > ${.TARGET}
-CLEANFILES += _sys_aliases.S