mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
2004-10-04 Roland McGrath <roland@redhat.com>
* include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol to rtld_errno. * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it, and don't define any other errno names. * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in place of errno. * sysdeps/unix/i386/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise.
This commit is contained in:
parent
e4bb48539f
commit
96c82b3fee
@ -14,8 +14,8 @@
|
||||
so a single (hidden) global variable is all it needs. */
|
||||
|
||||
# undef errno
|
||||
# define errno errno /* For #ifndef errno tests. */
|
||||
extern int errno attribute_hidden;
|
||||
# define errno rtld_errno
|
||||
extern int rtld_errno attribute_hidden;
|
||||
|
||||
# else
|
||||
|
||||
|
@ -82,7 +82,7 @@
|
||||
#if RTLD_PRIVATE_ERRNO
|
||||
# define SYSCALL_ERROR_LABEL $syscall_error
|
||||
# define SYSCALL_ERROR_HANDLER \
|
||||
stl v0, errno(gp) !gprel; \
|
||||
stl v0, rtld_errno(gp) !gprel; \
|
||||
lda v0, -1; \
|
||||
ret
|
||||
#elif defined(PIC)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 2000, 2002
|
||||
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 2000, 2002, 2004
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -68,7 +68,7 @@ notb:
|
||||
popl %ebx
|
||||
movl %eax, %gs:0(%ecx)
|
||||
# elif RTLD_PRIVATE_ERRNO
|
||||
movl %eax, C_SYMBOL_NAME(errno@GOTOFF)(%ebx)
|
||||
movl %eax, C_SYMBOL_NAME(rtld_errno@GOTOFF)(%ebx)
|
||||
|
||||
/* Pop %ebx value saved before jumping here. */
|
||||
popl %ebx
|
||||
|
@ -136,7 +136,7 @@ __i686.get_pc_thunk.reg: \
|
||||
addl $_GLOBAL_OFFSET_TABLE_, %ecx; \
|
||||
xorl %edx, %edx; \
|
||||
subl %eax, %edx; \
|
||||
movl %edx, errno@GOTOFF(%ecx); \
|
||||
movl %edx, rtld_errno@GOTOFF(%ecx); \
|
||||
orl $-1, %eax; \
|
||||
jmp L(pseudo_end);
|
||||
|
||||
|
@ -30,7 +30,7 @@ ENTRY(__syscall_error)
|
||||
* be fine. Otherwise, we would have to first load the global
|
||||
* pointer register from __gp.
|
||||
*/
|
||||
addl r2=@gprel(errno),gp
|
||||
addl r2=@gprel(rtld_errno),gp
|
||||
;;
|
||||
st4 [r2]=r8
|
||||
mov r8=-1
|
||||
|
@ -98,7 +98,7 @@
|
||||
# if RTLD_PRIVATE_ERRNO
|
||||
# define SYSCALL_ERROR_HANDLER \
|
||||
SYSCALL_ERROR_LABEL: \
|
||||
lea (errno, %pc), %a0; \
|
||||
lea (rtld_errno, %pc), %a0; \
|
||||
neg.l %d0; \
|
||||
move.l %d0, (%a0); \
|
||||
move.l &-1, %d0; \
|
||||
|
@ -82,7 +82,7 @@ ENTRY(__syscall_error)
|
||||
st %r2,0(%r1)
|
||||
lhi %r2,-1
|
||||
br %r14
|
||||
1: .long errno - 0b
|
||||
1: .long rtld_errno - 0b
|
||||
# elif USE___THREAD
|
||||
# ifndef NOT_IN_libc
|
||||
# define SYSCALL_ERROR_ERRNO __libc_errno
|
||||
|
@ -97,7 +97,7 @@
|
||||
st %r2,0(%r1); \
|
||||
lhi %r2,-1; \
|
||||
br %r14; \
|
||||
2: .long errno-1b
|
||||
2: .long rtld_errno-1b
|
||||
# elif defined _LIBC_REENTRANT
|
||||
# if USE___THREAD
|
||||
# ifndef NOT_IN_libc
|
||||
|
@ -74,7 +74,7 @@ ENTRY(__syscall_error)
|
||||
#endif
|
||||
#else
|
||||
# if RTLD_PRIVATE_ERRNO
|
||||
larl %r1,errno
|
||||
larl %r1,rtld_errno
|
||||
lcr %r2,%r2
|
||||
st %r2,0(%r1)
|
||||
lghi %r2,-1
|
||||
@ -100,7 +100,7 @@ ENTRY(__syscall_error)
|
||||
lcr %r2,%r2
|
||||
st %r2,0(%r1)
|
||||
lghi %r2,-1
|
||||
br %r14
|
||||
br %r14
|
||||
# else
|
||||
stmg %r13,%r15,104(%r15)
|
||||
cfi_offset (%r15,-40)
|
||||
|
@ -101,7 +101,7 @@
|
||||
# if RTLD_PRIVATE_ERRNO
|
||||
# define SYSCALL_ERROR_LABEL 0f
|
||||
# define SYSCALL_ERROR_HANDLER \
|
||||
0: larl %r1,errno; \
|
||||
0: larl %r1,rtld_errno; \
|
||||
lcr %r2,%r2; \
|
||||
st %r2,0(%r1); \
|
||||
lghi %r2,-1; \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
|
||||
2003, 2004 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1992,1993,1995,1996,1997,1998,1999,2000,2002,2003,2004
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
|
||||
Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.
|
||||
@ -109,7 +109,7 @@
|
||||
mov _IMM1,r0; \
|
||||
.align 2; \
|
||||
0: .long _GLOBAL_OFFSET_TABLE_; \
|
||||
1: .long errno@GOTOFF
|
||||
1: .long rtld_errno@GOTOFF
|
||||
|
||||
# elif defined _LIBC_REENTRANT
|
||||
|
||||
|
@ -83,7 +83,7 @@ SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler) \
|
||||
sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7; \
|
||||
call __sparc_get_pic_l7; \
|
||||
add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7; \
|
||||
ld [%l7 + errno], %l0; \
|
||||
ld [%l7 + rtld_errno], %l0; \
|
||||
st %i0, [%l0]; \
|
||||
jmpl %i7+8, %g0; \
|
||||
restore %g0, -1, %o0; \
|
||||
|
@ -118,7 +118,7 @@
|
||||
#elif RTLD_PRIVATE_ERRNO
|
||||
# define SYSCALL_ERROR_HANDLER \
|
||||
0: \
|
||||
leaq errno(%rip), %rcx; \
|
||||
leaq rtld_errno(%rip), %rcx; \
|
||||
xorq %rdx, %rdx; \
|
||||
subq %rax, %rdx; \
|
||||
movl %edx, (%rcx); \
|
||||
|
@ -67,7 +67,7 @@ notb:
|
||||
# endif
|
||||
#else
|
||||
# if RTLD_PRIVATE_ERRNO
|
||||
leaq errno(%rip), %rcx
|
||||
leaq rtld_errno(%rip), %rcx
|
||||
movl %eax, (%rcx)
|
||||
# elif !defined _LIBC_REENTRANT
|
||||
movq C_SYMBOL_NAME(errno)@GOTPCREL(%rip), %rcx
|
||||
|
Loading…
Reference in New Issue
Block a user