Module Name: src
Committed By: joerg
Date: Fri Nov 18 20:21:41 UTC 2011
Modified Files:
src/lib/libc/arch/i386/sys: __clone.S __syscall.S __vfork14.S brk.S
cerror.S exect.S ptrace.S sbrk.S syscall.S
Log Message:
Mark __cerror as hidden and exploit that to simplify assembler.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/arch/i386/sys/__clone.S \
src/lib/libc/arch/i386/sys/__syscall.S
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/i386/sys/__vfork14.S
cvs rdiff -u -r1.21 -r1.22 src/lib/libc/arch/i386/sys/brk.S
cvs rdiff -u -r1.14 -r1.15 src/lib/libc/arch/i386/sys/cerror.S
cvs rdiff -u -r1.13 -r1.14 src/lib/libc/arch/i386/sys/exect.S
cvs rdiff -u -r1.16 -r1.17 src/lib/libc/arch/i386/sys/ptrace.S
cvs rdiff -u -r1.19 -r1.20 src/lib/libc/arch/i386/sys/sbrk.S
cvs rdiff -u -r1.11 -r1.12 src/lib/libc/arch/i386/sys/syscall.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/i386/sys/__clone.S
diff -u src/lib/libc/arch/i386/sys/__clone.S:1.3 src/lib/libc/arch/i386/sys/__clone.S:1.4
--- src/lib/libc/arch/i386/sys/__clone.S:1.3 Wed Jul 18 12:24:53 2001
+++ src/lib/libc/arch/i386/sys/__clone.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: __clone.S,v 1.3 2001/07/18 12:24:53 fvdl Exp $ */
+/* $NetBSD: __clone.S,v 1.4 2011/11/18 20:21:41 joerg Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -100,11 +100,4 @@ ENTRY(__clone)
addl $12,%esp
5:
popl %ebp
-#ifdef PIC
- PIC_PROLOGUE
- movl PIC_GOT(CERROR),%edx
- PIC_EPILOGUE
- jmp *%edx
-#else
jmp CERROR
-#endif
Index: src/lib/libc/arch/i386/sys/__syscall.S
diff -u src/lib/libc/arch/i386/sys/__syscall.S:1.3 src/lib/libc/arch/i386/sys/__syscall.S:1.4
--- src/lib/libc/arch/i386/sys/__syscall.S:1.3 Thu Aug 7 16:42:08 2003
+++ src/lib/libc/arch/i386/sys/__syscall.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: __syscall.S,v 1.3 2003/08/07 16:42:08 agc Exp $ */
+/* $NetBSD: __syscall.S,v 1.4 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: __syscall.S,v 1.3 2003/08/07 16:42:08 agc Exp $")
+ RCSID("$NetBSD: __syscall.S,v 1.4 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -52,11 +52,4 @@ ENTRY(__syscall)
jc err
ret
err:
-#ifdef PIC
- PIC_PROLOGUE
- mov PIC_GOT(CERROR), %ecx
- PIC_EPILOGUE
- jmp *%ecx
-#else
jmp CERROR
-#endif
Index: src/lib/libc/arch/i386/sys/__vfork14.S
diff -u src/lib/libc/arch/i386/sys/__vfork14.S:1.8 src/lib/libc/arch/i386/sys/__vfork14.S:1.9
--- src/lib/libc/arch/i386/sys/__vfork14.S:1.8 Fri Mar 9 14:30:48 2007
+++ src/lib/libc/arch/i386/sys/__vfork14.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: __vfork14.S,v 1.8 2007/03/09 14:30:48 ad Exp $ */
+/* $NetBSD: __vfork14.S,v 1.9 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: __vfork14.S,v 1.8 2007/03/09 14:30:48 ad Exp $")
+ RCSID("$NetBSD: __vfork14.S,v 1.9 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -57,11 +57,4 @@ ENTRY(__vfork14)
jmp *%ecx
err:
pushl %ecx
-#ifdef PIC
- PIC_PROLOGUE
- mov PIC_GOT(CERROR), %ecx
- PIC_EPILOGUE
- jmp *%ecx
-#else
jmp CERROR
-#endif
Index: src/lib/libc/arch/i386/sys/brk.S
diff -u src/lib/libc/arch/i386/sys/brk.S:1.21 src/lib/libc/arch/i386/sys/brk.S:1.22
--- src/lib/libc/arch/i386/sys/brk.S:1.21 Fri Mar 9 14:30:56 2007
+++ src/lib/libc/arch/i386/sys/brk.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: brk.S,v 1.21 2007/03/09 14:30:56 ad Exp $ */
+/* $NetBSD: brk.S,v 1.22 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: brk.S,v 1.21 2007/03/09 14:30:56 ad Exp $")
+ RCSID("$NetBSD: brk.S,v 1.22 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -74,10 +74,7 @@ ENTRY(_brk)
xorl %eax,%eax
ret
err:
- PIC_PROLOGUE
- mov PIC_GOT(CERROR),%edx
- PIC_EPILOGUE
- jmp *%edx
+ jmp CERROR
#else
movl 4(%esp),%ecx
cmpl %ecx,_C_LABEL(__minbrk)
Index: src/lib/libc/arch/i386/sys/cerror.S
diff -u src/lib/libc/arch/i386/sys/cerror.S:1.14 src/lib/libc/arch/i386/sys/cerror.S:1.15
--- src/lib/libc/arch/i386/sys/cerror.S:1.14 Thu Aug 7 16:42:08 2003
+++ src/lib/libc/arch/i386/sys/cerror.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.14 2003/08/07 16:42:08 agc Exp $ */
+/* $NetBSD: cerror.S,v 1.15 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,12 +36,13 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: cerror.S,v 1.14 2003/08/07 16:42:08 agc Exp $")
+ RCSID("$NetBSD: cerror.S,v 1.15 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
.globl _C_LABEL(__errno)
+ .hidden CERROR
_ENTRY(CERROR)
pushl %eax
Index: src/lib/libc/arch/i386/sys/exect.S
diff -u src/lib/libc/arch/i386/sys/exect.S:1.13 src/lib/libc/arch/i386/sys/exect.S:1.14
--- src/lib/libc/arch/i386/sys/exect.S:1.13 Thu Aug 7 16:42:08 2003
+++ src/lib/libc/arch/i386/sys/exect.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: exect.S,v 1.13 2003/08/07 16:42:08 agc Exp $ */
+/* $NetBSD: exect.S,v 1.14 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: exect.S,v 1.13 2003/08/07 16:42:08 agc Exp $")
+ RCSID("$NetBSD: exect.S,v 1.14 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -47,11 +47,4 @@ ENTRY(exect)
orb $(PSL_T>>8),1(%esp)
popfl
SYSTRAP(execve)
-#ifdef PIC
- PIC_PROLOGUE
- mov PIC_GOT(CERROR), %ecx
- PIC_EPILOGUE
- jmp *%ecx
-#else
jmp CERROR
-#endif
Index: src/lib/libc/arch/i386/sys/ptrace.S
diff -u src/lib/libc/arch/i386/sys/ptrace.S:1.16 src/lib/libc/arch/i386/sys/ptrace.S:1.17
--- src/lib/libc/arch/i386/sys/ptrace.S:1.16 Thu Aug 7 16:42:09 2003
+++ src/lib/libc/arch/i386/sys/ptrace.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.S,v 1.16 2003/08/07 16:42:09 agc Exp $ */
+/* $NetBSD: ptrace.S,v 1.17 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: ptrace.S,v 1.16 2003/08/07 16:42:09 agc Exp $")
+ RCSID("$NetBSD: ptrace.S,v 1.17 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -57,11 +57,4 @@ ENTRY(ptrace)
jc err
ret
err:
-#ifdef PIC
- PIC_PROLOGUE
- mov PIC_GOT(CERROR), %ecx
- PIC_EPILOGUE
- jmp *%ecx
-#else
jmp CERROR
-#endif
Index: src/lib/libc/arch/i386/sys/sbrk.S
diff -u src/lib/libc/arch/i386/sys/sbrk.S:1.19 src/lib/libc/arch/i386/sys/sbrk.S:1.20
--- src/lib/libc/arch/i386/sys/sbrk.S:1.19 Wed Jul 2 20:07:43 2008
+++ src/lib/libc/arch/i386/sys/sbrk.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: sbrk.S,v 1.19 2008/07/02 20:07:43 rmind Exp $ */
+/* $NetBSD: sbrk.S,v 1.20 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: sbrk.S,v 1.19 2008/07/02 20:07:43 rmind Exp $")
+ RCSID("$NetBSD: sbrk.S,v 1.20 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -73,10 +73,7 @@ ENTRY(_sbrk)
out:
ret
err:
- PIC_PROLOGUE
- mov PIC_GOT(CERROR),%edx
- PIC_EPILOGUE
- jmp *%edx
+ jmp CERROR
#else
movl 4(%esp),%ecx
movl CURBRK,%eax
Index: src/lib/libc/arch/i386/sys/syscall.S
diff -u src/lib/libc/arch/i386/sys/syscall.S:1.11 src/lib/libc/arch/i386/sys/syscall.S:1.12
--- src/lib/libc/arch/i386/sys/syscall.S:1.11 Thu Aug 7 16:42:09 2003
+++ src/lib/libc/arch/i386/sys/syscall.S Fri Nov 18 20:21:41 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: syscall.S,v 1.11 2003/08/07 16:42:09 agc Exp $ */
+/* $NetBSD: syscall.S,v 1.12 2011/11/18 20:21:41 joerg Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,7 +36,7 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: syscall.S,v 1.11 2003/08/07 16:42:09 agc Exp $")
+ RCSID("$NetBSD: syscall.S,v 1.12 2011/11/18 20:21:41 joerg Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
@@ -50,11 +50,4 @@ ENTRY(syscall)
jc err
ret
err:
-#ifdef PIC
- PIC_PROLOGUE
- mov PIC_GOT(CERROR), %ecx
- PIC_EPILOGUE
- jmp *%ecx
-#else
jmp CERROR
-#endif