diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-04-19 21:20:08 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-04-19 21:20:08 -0400 |
commit | cf1a9d9d16a79322df15b344a2617b79ebb12705 (patch) | |
tree | 0e241ff8febfb8487087728b77ad12c8f08ba064 | |
parent | a880e6ceb9c2e6f38a6b50f8aafab90256c04be1 (diff) | |
download | musl-cf1a9d9d16a79322df15b344a2617b79ebb12705.tar.gz musl-cf1a9d9d16a79322df15b344a2617b79ebb12705.tar.xz musl-cf1a9d9d16a79322df15b344a2617b79ebb12705.zip |
remove possible-textrels from powerpc asm
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.
-rw-r--r-- | src/setjmp/powerpc/setjmp.s | 3 | ||||
-rw-r--r-- | src/signal/powerpc/sigsetjmp.s | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/setjmp/powerpc/setjmp.s b/src/setjmp/powerpc/setjmp.s index e39687aa..122177f1 100644 --- a/src/setjmp/powerpc/setjmp.s +++ b/src/setjmp/powerpc/setjmp.s @@ -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: diff --git a/src/signal/powerpc/sigsetjmp.s b/src/signal/powerpc/sigsetjmp.s index 78acf590..152c3fed 100644 --- a/src/signal/powerpc/sigsetjmp.s +++ b/src/signal/powerpc/sigsetjmp.s @@ -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 |