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 | |
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 | 
