Module Name: src
Committed By: riz
Date: Mon Feb 27 20:23:00 UTC 2012
Modified Files:
src/lib/libc/arch/arm/sys [netbsd-6]: cerror.S
src/lib/libc/arch/i386/sys [netbsd-6]: cerror.S
src/lib/libc/arch/mips/sys [netbsd-6]: cerror.S
src/lib/libc/arch/powerpc/sys [netbsd-6]: cerror.S
src/lib/libc/arch/powerpc64/sys [netbsd-6]: cerror.S
src/lib/libc/arch/vax [netbsd-6]: SYS.h
src/lib/libc/arch/x86_64/sys [netbsd-6]: cerror.S
Log Message:
Pull up following revision(s) (requested by joerg in ticket #57):
lib/libc/arch/arm/sys/cerror.S: revision 1.8
lib/libc/arch/vax/SYS.h: revision 1.12
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.3
lib/libc/arch/powerpc64/sys/cerror.S: revision 1.4
lib/libc/arch/i386/sys/cerror.S: revision 1.16
lib/libc/arch/x86_64/sys/cerror.S: revision 1.5
lib/libc/arch/powerpc/sys/cerror.S: revision 1.10
lib/libc/arch/mips/sys/cerror.S: revision 1.17
lib/libc/arch/powerpc/sys/cerror.S: revision 1.9
Make __cerror protected to restore ABI leak in older libc versions,
where e.g. librt referenced the copy from libc. This still allows libc
to use PC-relative jumps.
PowerPC doesn't have CERROR since it never had a.out.
Use _C_LABEL(__cerror) instead.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.7.8.1 src/lib/libc/arch/arm/sys/cerror.S
cvs rdiff -u -r1.15 -r1.15.2.1 src/lib/libc/arch/i386/sys/cerror.S
cvs rdiff -u -r1.16 -r1.16.8.1 src/lib/libc/arch/mips/sys/cerror.S
cvs rdiff -u -r1.8 -r1.8.8.1 src/lib/libc/arch/powerpc/sys/cerror.S
cvs rdiff -u -r1.2 -r1.2.4.1 src/lib/libc/arch/powerpc64/sys/cerror.S
cvs rdiff -u -r1.11 -r1.11.6.1 src/lib/libc/arch/vax/SYS.h
cvs rdiff -u -r1.4 -r1.4.2.1 src/lib/libc/arch/x86_64/sys/cerror.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/arm/sys/cerror.S
diff -u src/lib/libc/arch/arm/sys/cerror.S:1.7 src/lib/libc/arch/arm/sys/cerror.S:1.7.8.1
--- src/lib/libc/arch/arm/sys/cerror.S:1.7 Fri Jan 14 06:12:17 2011
+++ src/lib/libc/arch/arm/sys/cerror.S Mon Feb 27 20:22:59 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.7 2011/01/14 06:12:17 matt Exp $ */
+/* $NetBSD: cerror.S,v 1.7.8.1 2012/02/27 20:22:59 riz Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -34,7 +34,7 @@
#include "SYS.h"
#ifdef PIC
- .hidden CERROR
+ .protected CERROR
#endif
ASENTRY(CERROR)
Index: src/lib/libc/arch/i386/sys/cerror.S
diff -u src/lib/libc/arch/i386/sys/cerror.S:1.15 src/lib/libc/arch/i386/sys/cerror.S:1.15.2.1
--- src/lib/libc/arch/i386/sys/cerror.S:1.15 Fri Nov 18 20:21:41 2011
+++ src/lib/libc/arch/i386/sys/cerror.S Mon Feb 27 20:22:59 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.15 2011/11/18 20:21:41 joerg Exp $ */
+/* $NetBSD: cerror.S,v 1.15.2.1 2012/02/27 20:22:59 riz Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,13 +36,13 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: cerror.S,v 1.15 2011/11/18 20:21:41 joerg Exp $")
+ RCSID("$NetBSD: cerror.S,v 1.15.2.1 2012/02/27 20:22:59 riz Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
.globl _C_LABEL(__errno)
- .hidden CERROR
+ .protected CERROR
_ENTRY(CERROR)
pushl %eax
Index: src/lib/libc/arch/mips/sys/cerror.S
diff -u src/lib/libc/arch/mips/sys/cerror.S:1.16 src/lib/libc/arch/mips/sys/cerror.S:1.16.8.1
--- src/lib/libc/arch/mips/sys/cerror.S:1.16 Mon Jan 17 23:34:44 2011
+++ src/lib/libc/arch/mips/sys/cerror.S Mon Feb 27 20:23:00 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.16 2011/01/17 23:34:44 matt Exp $ */
+/* $NetBSD: cerror.S,v 1.16.8.1 2012/02/27 20:23:00 riz Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -38,13 +38,13 @@
#if 0
RCSID("from: @(#)cerror.s 8.1 (Berkeley) 6/16/93")
#else
- RCSID("$NetBSD: cerror.S,v 1.16 2011/01/17 23:34:44 matt Exp $")
+ RCSID("$NetBSD: cerror.S,v 1.16.8.1 2012/02/27 20:23:00 riz Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
#ifdef PIC
- .hidden __cerror
-#endif
+ .protected __cerror
+i#endif
#ifdef _REENTRANT
.globl _C_LABEL(__errno)
Index: src/lib/libc/arch/powerpc/sys/cerror.S
diff -u src/lib/libc/arch/powerpc/sys/cerror.S:1.8 src/lib/libc/arch/powerpc/sys/cerror.S:1.8.8.1
--- src/lib/libc/arch/powerpc/sys/cerror.S:1.8 Sun Jan 16 02:43:10 2011
+++ src/lib/libc/arch/powerpc/sys/cerror.S Mon Feb 27 20:23:00 2012
@@ -1,17 +1,17 @@
-/* $NetBSD: cerror.S,v 1.8 2011/01/16 02:43:10 matt Exp $ */
+/* $NetBSD: cerror.S,v 1.8.8.1 2012/02/27 20:23:00 riz Exp $ */
#include "SYS.h"
#include "assym.h"
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: cerror.S,v 1.8 2011/01/16 02:43:10 matt Exp $")
+__RCSID("$NetBSD: cerror.S,v 1.8.8.1 2012/02/27 20:23:00 riz Exp $")
#endif /* LIBC_SCCS && !lint */
#ifndef _REENTRANT
.globl _C_LABEL(errno)
#endif
#ifdef PIC
- .hidden _C_LABEL(__cerror)
+ .protected _C_LABEL(__cerror)
#endif
ENTRY(__cerror)
Index: src/lib/libc/arch/powerpc64/sys/cerror.S
diff -u src/lib/libc/arch/powerpc64/sys/cerror.S:1.2 src/lib/libc/arch/powerpc64/sys/cerror.S:1.2.4.1
--- src/lib/libc/arch/powerpc64/sys/cerror.S:1.2 Sat Oct 29 16:03:03 2011
+++ src/lib/libc/arch/powerpc64/sys/cerror.S Mon Feb 27 20:22:59 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.2 2011/10/29 16:03:03 christos Exp $ */
+/* $NetBSD: cerror.S,v 1.2.4.1 2012/02/27 20:22:59 riz Exp $ */
#include <machine/asm.h>
#include "SYS.h"
@@ -7,7 +7,7 @@
.globl _C_LABEL(errno)
#endif
#ifdef PIC
- .hidden _C_LABEL(__cerror)
+ .protected _C_LABEL(__cerror)
#endif
ENTRY(__cerror)
Index: src/lib/libc/arch/vax/SYS.h
diff -u src/lib/libc/arch/vax/SYS.h:1.11 src/lib/libc/arch/vax/SYS.h:1.11.6.1
--- src/lib/libc/arch/vax/SYS.h:1.11 Tue Jan 25 02:38:15 2011
+++ src/lib/libc/arch/vax/SYS.h Mon Feb 27 20:22:59 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: SYS.h,v 1.11 2011/01/25 02:38:15 matt Exp $ */
+/* $NetBSD: SYS.h,v 1.11.6.1 2012/02/27 20:22:59 riz Exp $ */
/*
* Copyright (c) 1983, 1993
* The Regents of the University of California. All rights reserved.
@@ -85,5 +85,5 @@
#define ASMSTR .asciz
- .hidden CERROR
+ .protected CERROR
.globl CERROR
Index: src/lib/libc/arch/x86_64/sys/cerror.S
diff -u src/lib/libc/arch/x86_64/sys/cerror.S:1.4 src/lib/libc/arch/x86_64/sys/cerror.S:1.4.2.1
--- src/lib/libc/arch/x86_64/sys/cerror.S:1.4 Fri Nov 18 20:17:46 2011
+++ src/lib/libc/arch/x86_64/sys/cerror.S Mon Feb 27 20:22:59 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.4 2011/11/18 20:17:46 joerg Exp $ */
+/* $NetBSD: cerror.S,v 1.4.2.1 2012/02/27 20:22:59 riz Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -36,13 +36,13 @@
#include <machine/asm.h>
#if defined(SYSLIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: cerror.S,v 1.4 2011/11/18 20:17:46 joerg Exp $")
+ RCSID("$NetBSD: cerror.S,v 1.4.2.1 2012/02/27 20:22:59 riz Exp $")
#endif /* SYSLIBC_SCCS and not lint */
#include "SYS.h"
.globl _C_LABEL(__errno)
- .hidden CERROR
+ .protected CERROR
_ENTRY(CERROR)
pushq %r12