Commit c5768510 by Olivier Hainque Committed by Olivier Hainque

tramp.S (trampoline_setup): Use a longcall sequence in the non pic case on VxWorks.

        libgcc/
        * config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
        sequence in the non pic case on VxWorks.

From-SVN: r187871
parent 48938147
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
......
......@@ -95,6 +95,16 @@ FUNC_START(__trampoline_setup)
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
......@@ -105,3 +115,5 @@ FUNC_START(__trampoline_setup)
FUNC_END(__trampoline_setup)
#endif
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment