CVS commit: src/lib/libc/arch/i386/sys

2020-10-19 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Mon Oct 19 11:31:02 UTC 2020

Modified Files:
src/lib/libc/arch/i386/sys: __sigtramp2.S

Log Message:
Restore ESP from mcontext

Improves unwinding of multiple frames without base pointer.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/i386/sys/__sigtramp2.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/__sigtramp2.S
diff -u src/lib/libc/arch/i386/sys/__sigtramp2.S:1.6 src/lib/libc/arch/i386/sys/__sigtramp2.S:1.7
--- src/lib/libc/arch/i386/sys/__sigtramp2.S:1.6	Mon Oct 12 23:56:08 2020
+++ src/lib/libc/arch/i386/sys/__sigtramp2.S	Mon Oct 19 11:31:01 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: __sigtramp2.S,v 1.6 2020/10/12 23:56:08 kamil Exp $	*/
+/*	$NetBSD: __sigtramp2.S,v 1.7 2020/10/19 11:31:01 kamil Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -57,7 +57,7 @@
 	.cfi_offset ecx, UC_GREGS_ECX
 	.cfi_offset edx, UC_GREGS_EDX
 	.cfi_offset ebx, UC_GREGS_EBX
-	/* The unwinder will use the CFA to restore ESP. */
+	.cfi_offset esp, UC_GREGS_ESP
 	.cfi_offset ebp, UC_GREGS_EBP
 	.cfi_offset esi, UC_GREGS_ESI
 	.cfi_offset edi, UC_GREGS_EDI



CVS commit: src/lib/libc/arch/i386/sys

2011-11-18 Thread Joerg Sonnenberger
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