libgcc/
* config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
sequence in the non pic case on VxWorks.
From-SVN: r187871
+2012-05-25 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
+ sequence in the non pic case on VxWorks.
+
2012-05-24 Olivier Hainque <hainque@adacore.com>
* Makefile.in: Move dependency on install-unwind_h from
blr
.Labort:
+/* Use a longcall sequence in the non PIC case on VxWorks, to prevent
+ possible relocation errors if this is module-loaded very far away from
+ the 'abort' entry point. */
+#if defined (__VXWORKS__) && ! (defined __PIC__ || defined __pic__)
+ lis r11,JUMP_TARGET(abort)@ha
+ addic r11,r11,JUMP_TARGET(abort)@l
+ mtlr r11
+ blrl
+#else
+
#if (defined __PIC__ || defined __pic__) && defined HAVE_AS_REL16
bcl 20,31,1f
1: mflr r30
FUNC_END(__trampoline_setup)
#endif
+
+#endif