]> granicus.if.org Git - musl/commitdiff
remove possible-textrels from powerpc asm
authorRich Felker <dalias@aerifal.cx>
Mon, 20 Apr 2015 01:20:08 +0000 (21:20 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 20 Apr 2015 01:20:08 +0000 (21:20 -0400)
these are perfectly fine with ld-time symbol binding, but otherwise
result in textrels. they cannot be replaced with @PLT jump targets
because the PLT thunks require a GOT register to be setup, so use a
hidden alias instead.

src/setjmp/powerpc/setjmp.s
src/signal/powerpc/sigsetjmp.s

index e39687aa6999dfa221814475eee1ab47ad8252fa..122177f142b670b3452b77b5b5783bc137e4f573 100644 (file)
@@ -1,9 +1,12 @@
+       .global ___setjmp
+       .hidden ___setjmp
        .global __setjmp
        .global _setjmp
        .global setjmp
        .type   __setjmp,@function
        .type   _setjmp,@function
        .type   setjmp,@function
+___setjmp:
 __setjmp:
 _setjmp:
 setjmp:
index 78acf5907121a93161d5e33f797fc7ded552c5f2..152c3fedd7a84ac0dceffcb6cb8ab202d21cd5ee 100644 (file)
@@ -12,7 +12,8 @@ __sigsetjmp:
        stw 16, 448+4+8(3)
        mr 16, 3
 
-       bl setjmp
+.hidden ___setjmp
+       bl ___setjmp
 
        mr 4, 3
        mr 3, 16
@@ -23,4 +24,4 @@ __sigsetjmp:
 .hidden __sigsetjmp_tail
        b __sigsetjmp_tail
 
-1:     b setjmp
+1:     b ___setjmp