summaryrefslogtreecommitdiffstats
path: root/libgcc
diff options
context:
space:
mode:
authorcgd <cgd@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-03 23:22:03 +0000
committercgd <cgd@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-03 23:22:03 +0000
commit0bb50d0427c8939e57ef01a81134e28359473701 (patch)
treec77ac9f8eee6e6a00f4ac69e456e0e26bd7fb086 /libgcc
parent30620c71d35eba5aed924aac95d0af67857cda87 (diff)
downloadppe42-gcc-0bb50d0427c8939e57ef01a81134e28359473701.tar.gz
ppe42-gcc-0bb50d0427c8939e57ef01a81134e28359473701.zip
2011-05-03 Chris Demetriou <cgd@google.com>
* 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
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog4
-rw-r--r--libgcc/config/i386/morestack.S18
2 files changed, 22 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 0892085c05f..ac99ddb7d34 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -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*,
diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index 10fa1fdf73a..5db5e502848 100644
--- a/libgcc/config/i386/morestack.S
+++ b/libgcc/config/i386/morestack.S
@@ -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.
OpenPOWER on IntegriCloud