2011-05-03 Chris Demetriou <cgd@google.com>
authorcgd <cgd@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 May 2011 23:22:03 +0000 (23:22 +0000)
committercgd <cgd@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 May 2011 23:22:03 +0000 (23:22 +0000)
        * config/i386/morestack.S (__i686.get_pc_thunk.bx): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173345 138bc75d-0d04-0410-961f-82ee72b054a4

libgcc/ChangeLog
libgcc/config/i386/morestack.S

index 0892085..ac99ddb 100644 (file)
@@ -1,3 +1,7 @@
+2011-05-03  Chris Demetriou  <cgd@google.com>
+
+       * config/i386/morestack.S (__i686.get_pc_thunk.bx): New.
+
 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
 
        * config.host (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*,
index 10fa1fd..5db5e50 100644 (file)
@@ -449,6 +449,24 @@ __morestack:
        .size   __morestack, . - __morestack
 #endif
 
+#if !defined(__x86_64__) && defined(__PIC__)
+# Output the thunk to get PC into bx, since we use it above.
+# (__i686 was already undef'd above; don't need to worry about it here.)
+       .section        .text.__i686.get_pc_thunk.bx,"axG",@progbits,__i686.get_pc_thunk.bx,comdat
+       .globl  __i686.get_pc_thunk.bx
+       .hidden __i686.get_pc_thunk.bx
+#ifdef __ELF__
+       .type   __i686.get_pc_thunk.bx, @function
+#endif
+__i686.get_pc_thunk.bx:
+       .cfi_startproc
+       movl    (%esp), %ebx
+       ret
+       .cfi_endproc
+#ifdef __ELF__
+       .size   __i686.get_pc_thunk.bx, . - __i686.get_pc_thunk.bx
+#endif
+#endif
 
 # The exception table.  This tells the personality routine to execute
 # the exception handler.