morestack.S (__i686.get_pc_thunk.bx): New.
authorChris Demetriou <cgd@google.com>
Tue, 3 May 2011 23:22:03 +0000 (16:22 -0700)
committerChris Demetriou <cgd@gcc.gnu.org>
Tue, 3 May 2011 23:22:03 +0000 (16:22 -0700)
2011-05-03  Chris Demetriou  <cgd@google.com>

        * config/i386/morestack.S (__i686.get_pc_thunk.bx): New.

From-SVN: r173345

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

index 0892085c05f24fd452cdbd9164625b91ca3f6190..ac99ddb7d340973ed0025b2b3ac27bf6a420f27f 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 10fa1fdf73a47391ca6f1d906c0a1c4ed9c683c2..5db5e502848aba3d41f382d0a8c9a22ec1325a28 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.