diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/arch/i386/SYS.h | 12 | ||||
-rw-r--r-- | lib/libc_r/sys/Makefile.inc | 15 | ||||
-rw-r--r-- | lib/libpthread/sys/Makefile.inc | 15 |
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 |