mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
* sysdeps/unix/sysv/linux/i386/sysdep.h
(SETUP_PIC_REG, LOAD_PIC_REG): Move these macros ... * sysdeps/i386/sysdep.h [PIC]: ... to here.
This commit is contained in:
parent
ce9b3bc17a
commit
1f708405fc
@ -1,3 +1,9 @@
|
||||
2005-05-24 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h
|
||||
(SETUP_PIC_REG, LOAD_PIC_REG): Move these macros ...
|
||||
* sysdeps/i386/sysdep.h [PIC]: ... to here.
|
||||
|
||||
2005-05-23 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* sysdeps/arm, sysdeps/unix/arm, sysdeps/unix/sysv/linux/arm:
|
||||
|
@ -131,6 +131,33 @@ lose: SYSCALL_PIC_SETUP \
|
||||
0: popl %ebx; \
|
||||
cfi_adjust_cfa_offset (-4); \
|
||||
addl $_GLOBAL_OFFSET_TABLE+[.-0b], %ebx;
|
||||
|
||||
# ifndef HAVE_HIDDEN
|
||||
# define SETUP_PIC_REG(reg) \
|
||||
call 1f; \
|
||||
.subsection 1; \
|
||||
1:movl (%esp), %e##reg; \
|
||||
ret; \
|
||||
.previous
|
||||
# else
|
||||
# define SETUP_PIC_REG(reg) \
|
||||
.ifndef __i686.get_pc_thunk.reg; \
|
||||
.section .gnu.linkonce.t.__i686.get_pc_thunk.reg,"ax",@progbits; \
|
||||
.globl __i686.get_pc_thunk.reg; \
|
||||
.hidden __i686.get_pc_thunk.reg; \
|
||||
.type __i686.get_pc_thunk.reg,@function; \
|
||||
__i686.get_pc_thunk.reg: \
|
||||
movl (%esp), %e##reg; \
|
||||
ret; \
|
||||
.size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg; \
|
||||
.previous; \
|
||||
.endif; \
|
||||
call __i686.get_pc_thunk.reg
|
||||
# endif
|
||||
|
||||
# define LOAD_PIC_REG(reg) \
|
||||
SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg
|
||||
|
||||
#else
|
||||
#define JUMPTARGET(name) name
|
||||
#define SYSCALL_PIC_SETUP /* Nothing. */
|
||||
|
@ -109,32 +109,6 @@
|
||||
# define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */
|
||||
#else
|
||||
|
||||
# ifndef HAVE_HIDDEN
|
||||
# define SETUP_PIC_REG(reg) \
|
||||
call 1f; \
|
||||
.subsection 1; \
|
||||
1:movl (%esp), %e##reg; \
|
||||
ret; \
|
||||
.previous
|
||||
# else
|
||||
# define SETUP_PIC_REG(reg) \
|
||||
.ifndef __i686.get_pc_thunk.reg; \
|
||||
.section .gnu.linkonce.t.__i686.get_pc_thunk.reg,"ax",@progbits; \
|
||||
.globl __i686.get_pc_thunk.reg; \
|
||||
.hidden __i686.get_pc_thunk.reg; \
|
||||
.type __i686.get_pc_thunk.reg,@function; \
|
||||
__i686.get_pc_thunk.reg: \
|
||||
movl (%esp), %e##reg; \
|
||||
ret; \
|
||||
.size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg; \
|
||||
.previous; \
|
||||
.endif; \
|
||||
call __i686.get_pc_thunk.reg
|
||||
# endif
|
||||
|
||||
# define LOAD_PIC_REG(reg) \
|
||||
SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg
|
||||
|
||||
# if RTLD_PRIVATE_ERRNO
|
||||
# define SYSCALL_ERROR_HANDLER \
|
||||
0:SETUP_PIC_REG(cx); \
|
||||
|
Loading…
Reference in New Issue
Block a user