diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-02-03 23:24:19 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-02-03 23:24:19 +0000 |
commit | b1da7dd99dcffe28d02a6515a9dc8cca3205a497 (patch) | |
tree | 0494bed7000911b187a90bccb05ae31bfc560539 /sysdeps | |
parent | 9a1d92541ff2e864aab682d66fba7ea2555ef13b (diff) | |
download | glibc-b1da7dd99dcffe28d02a6515a9dc8cca3205a497.tar.gz glibc-b1da7dd99dcffe28d02a6515a9dc8cca3205a497.tar.xz glibc-b1da7dd99dcffe28d02a6515a9dc8cca3205a497.zip |
Use macros for x86 PIC thunk names.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/sysdep.h | 22 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 14 |
2 files changed, 21 insertions, 15 deletions
diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h index 577cf8d28b..a31f5e7726 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -20,6 +20,12 @@ #include <sysdeps/generic/sysdep.h> +#ifdef __ASSEMBLER__ +# define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg +#else +# define GET_PC_THUNK_STR(reg) "__i686.get_pc_thunk." #reg +#endif + #ifdef __ASSEMBLER__ /* Syntactic details of assembler. */ @@ -110,19 +116,19 @@ lose: SYSCALL_PIC_SETUP \ END (name) # 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; \ + .ifndef GET_PC_THUNK(reg); \ + .section .gnu.linkonce.t.GET_PC_THUNK(reg),"ax",@progbits; \ + .globl GET_PC_THUNK(reg); \ + .hidden GET_PC_THUNK(reg); \ .p2align 4; \ - .type __i686.get_pc_thunk.reg,@function; \ -__i686.get_pc_thunk.reg: \ + .type GET_PC_THUNK(reg),@function; \ +GET_PC_THUNK(reg): \ movl (%esp), %e##reg; \ ret; \ - .size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg; \ + .size GET_PC_THUNK(reg), . - GET_PC_THUNK(reg); \ .previous; \ .endif; \ - call __i686.get_pc_thunk.reg + call GET_PC_THUNK(reg) # define LOAD_PIC_REG(reg) \ SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 64ef4008bc..90660fdde7 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,1993,1995-2000,2002-2006,2007,2011 +/* Copyright (C) 1992,1993,1995-2000,2002-2006,2007,2011-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995. @@ -514,17 +514,17 @@ asm (".L__X'%ebx = 1\n\t" # define check_consistency() \ ({ int __res; \ __asm__ __volatile__ \ - ("call __i686.get_pc_thunk.cx;" \ + ("call "GET_PC_THUNK_STR(cx)";" \ "addl $_GLOBAL_OFFSET_TABLE_, %%ecx;" \ "subl %%ebx, %%ecx;" \ "je 1f;" \ "ud2;" \ "1:\n" \ - ".section .gnu.linkonce.t.__i686.get_pc_thunk.cx,\"ax\",@progbits;" \ - ".globl __i686.get_pc_thunk.cx;" \ - ".hidden __i686.get_pc_thunk.cx;" \ - ".type __i686.get_pc_thunk.cx,@function;" \ - "__i686.get_pc_thunk.cx:" \ + ".section .gnu.linkonce.t."GET_PC_THUNK_STR(cx)",\"ax\",@progbits;" \ + ".globl "GET_PC_THUNK_STR(cx)";" \ + ".hidden "GET_PC_THUNK_STR(cx)";" \ + ".type "GET_PC_THUNK_STR(cx)",@function;" \ + GET_PC_THUNK_STR(cx)":" \ "movl (%%esp), %%ecx;" \ "ret;" \ ".previous" \ |