Use a local label to set the TOC location on powerpc64 to prevent
DT_TEXTREL, not supported by the VxWorks loader for shared libraries.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * sigtramp-vxworks-target.inc: Use a local label for the TOC.
diff --git a/gcc/ada/sigtramp-vxworks-target.inc b/gcc/ada/sigtramp-vxworks-target.inc
--- a/gcc/ada/sigtramp-vxworks-target.inc
+++ b/gcc/ada/sigtramp-vxworks-target.inc
@@ -319,9 +319,9 @@ TCR("blr")
 #else
 #define SIGTRAMP_BODY \
 CR("") \
-TCR("0:") \
-TCR("addis 2,12,.TOC.-0@ha") \
-TCR("addi 2,2,.TOC.-0@l") \
+TCR(".LOC_SIGTMP_COM_0:") \
+TCR("addis 2,12,.TOC.-.LOC_SIGTMP_COM_0@ha") \
+TCR("addi 2,2,.TOC.-.LOC_SIGTMP_COM_0@l") \
 TCR(".localentry	__gnat_sigtramp_common,.-__gnat_sigtramp_common") \
 TCR("# Allocate frame and save the non-volatile") \
 TCR("# registers we're going to modify") \


Reply via email to