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.
This commit is contained in:
parent
6e07f2d4dc
commit
f46fb1259f
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cerror.S,v 1.7 2011/01/14 06:12:17 matt Exp $ */
|
/* $NetBSD: cerror.S,v 1.8 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1990 The Regents of the University of California.
|
* Copyright (c) 1990 The Regents of the University of California.
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
#include "SYS.h"
|
#include "SYS.h"
|
||||||
|
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.hidden CERROR
|
.protected CERROR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ASENTRY(CERROR)
|
ASENTRY(CERROR)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cerror.S,v 1.15 2011/11/18 20:21:41 joerg Exp $ */
|
/* $NetBSD: cerror.S,v 1.16 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1990 The Regents of the University of California.
|
* Copyright (c) 1990 The Regents of the University of California.
|
||||||
|
@ -36,13 +36,13 @@
|
||||||
|
|
||||||
#include <machine/asm.h>
|
#include <machine/asm.h>
|
||||||
#if defined(SYSLIBC_SCCS) && !defined(lint)
|
#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.16 2012/02/27 12:26:21 joerg Exp $")
|
||||||
#endif /* SYSLIBC_SCCS and not lint */
|
#endif /* SYSLIBC_SCCS and not lint */
|
||||||
|
|
||||||
#include "SYS.h"
|
#include "SYS.h"
|
||||||
|
|
||||||
.globl _C_LABEL(__errno)
|
.globl _C_LABEL(__errno)
|
||||||
.hidden CERROR
|
.protected CERROR
|
||||||
|
|
||||||
_ENTRY(CERROR)
|
_ENTRY(CERROR)
|
||||||
pushl %eax
|
pushl %eax
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cerror.S,v 1.16 2011/01/17 23:34:44 matt Exp $ */
|
/* $NetBSD: cerror.S,v 1.17 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1991, 1993
|
* Copyright (c) 1991, 1993
|
||||||
|
@ -38,13 +38,13 @@
|
||||||
#if 0
|
#if 0
|
||||||
RCSID("from: @(#)cerror.s 8.1 (Berkeley) 6/16/93")
|
RCSID("from: @(#)cerror.s 8.1 (Berkeley) 6/16/93")
|
||||||
#else
|
#else
|
||||||
RCSID("$NetBSD: cerror.S,v 1.16 2011/01/17 23:34:44 matt Exp $")
|
RCSID("$NetBSD: cerror.S,v 1.17 2012/02/27 12:26:21 joerg Exp $")
|
||||||
#endif
|
#endif
|
||||||
#endif /* LIBC_SCCS and not lint */
|
#endif /* LIBC_SCCS and not lint */
|
||||||
|
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.hidden __cerror
|
.protected __cerror
|
||||||
#endif
|
i#endif
|
||||||
|
|
||||||
#ifdef _REENTRANT
|
#ifdef _REENTRANT
|
||||||
.globl _C_LABEL(__errno)
|
.globl _C_LABEL(__errno)
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
/* $NetBSD: cerror.S,v 1.8 2011/01/16 02:43:10 matt Exp $ */
|
/* $NetBSD: cerror.S,v 1.9 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
#include "SYS.h"
|
#include "SYS.h"
|
||||||
#include "assym.h"
|
#include "assym.h"
|
||||||
|
|
||||||
#if defined(LIBC_SCCS) && !defined(lint)
|
#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.9 2012/02/27 12:26:21 joerg Exp $")
|
||||||
#endif /* LIBC_SCCS && !lint */
|
#endif /* LIBC_SCCS && !lint */
|
||||||
|
|
||||||
#ifndef _REENTRANT
|
#ifndef _REENTRANT
|
||||||
.globl _C_LABEL(errno)
|
.globl _C_LABEL(errno)
|
||||||
#endif
|
#endif
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.hidden _C_LABEL(__cerror)
|
.protected CERROR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ENTRY(__cerror)
|
ENTRY(__cerror)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cerror.S,v 1.2 2011/10/29 16:03:03 christos Exp $ */
|
/* $NetBSD: cerror.S,v 1.3 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
#include <machine/asm.h>
|
#include <machine/asm.h>
|
||||||
#include "SYS.h"
|
#include "SYS.h"
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
.globl _C_LABEL(errno)
|
.globl _C_LABEL(errno)
|
||||||
#endif
|
#endif
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
.hidden _C_LABEL(__cerror)
|
.protected CERROR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ENTRY(__cerror)
|
ENTRY(__cerror)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: SYS.h,v 1.11 2011/01/25 02:38:15 matt Exp $ */
|
/* $NetBSD: SYS.h,v 1.12 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1983, 1993
|
* Copyright (c) 1983, 1993
|
||||||
* The Regents of the University of California. All rights reserved.
|
* The Regents of the University of California. All rights reserved.
|
||||||
|
@ -85,5 +85,5 @@
|
||||||
|
|
||||||
#define ASMSTR .asciz
|
#define ASMSTR .asciz
|
||||||
|
|
||||||
.hidden CERROR
|
.protected CERROR
|
||||||
.globl CERROR
|
.globl CERROR
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: cerror.S,v 1.4 2011/11/18 20:17:46 joerg Exp $ */
|
/* $NetBSD: cerror.S,v 1.5 2012/02/27 12:26:21 joerg Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1990 The Regents of the University of California.
|
* Copyright (c) 1990 The Regents of the University of California.
|
||||||
|
@ -36,13 +36,13 @@
|
||||||
|
|
||||||
#include <machine/asm.h>
|
#include <machine/asm.h>
|
||||||
#if defined(SYSLIBC_SCCS) && !defined(lint)
|
#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.5 2012/02/27 12:26:21 joerg Exp $")
|
||||||
#endif /* SYSLIBC_SCCS and not lint */
|
#endif /* SYSLIBC_SCCS and not lint */
|
||||||
|
|
||||||
#include "SYS.h"
|
#include "SYS.h"
|
||||||
|
|
||||||
.globl _C_LABEL(__errno)
|
.globl _C_LABEL(__errno)
|
||||||
.hidden CERROR
|
.protected CERROR
|
||||||
|
|
||||||
_ENTRY(CERROR)
|
_ENTRY(CERROR)
|
||||||
pushq %r12
|
pushq %r12
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $NetBSD: shlib_version,v 1.229 2012/02/24 16:06:39 dholland Exp $
|
# $NetBSD: shlib_version,v 1.230 2012/02/27 12:26:21 joerg Exp $
|
||||||
# Remember to update distrib/sets/lists/base/shl.* when changing
|
# Remember to update distrib/sets/lists/base/shl.* when changing
|
||||||
#
|
#
|
||||||
# things we wish to do on next major version bump:
|
# things we wish to do on next major version bump:
|
||||||
|
@ -29,5 +29,6 @@
|
||||||
# it's insufficient bitwidth to implement all ctype class.
|
# it's insufficient bitwidth to implement all ctype class.
|
||||||
# see isblank's comment in ctype.h.
|
# see isblank's comment in ctype.h.
|
||||||
# - remove gets(); it is finally dead in c11.
|
# - remove gets(); it is finally dead in c11.
|
||||||
|
# - make __cerror (spelled CERROR) hidden again
|
||||||
major=12
|
major=12
|
||||||
minor=182
|
minor=182
|
||||||
|
|
Loading…
Reference in New Issue