diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-01-20 20:48:33 +0000 | 
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-01-20 20:48:33 +0000 | 
| commit | 293cef1de02c36f58a48bcdbe2d385059ea04828 (patch) | |
| tree | ef5b831d01fefbe9d799c5ba7a0d6366106e5e88 /libc/sysdeps/linux/powerpc | |
| parent | 7d81b44aceec2e25cf2872f195adff3613e27fd3 (diff) | |
| download | uClibc-alpine-293cef1de02c36f58a48bcdbe2d385059ea04828.tar.bz2 uClibc-alpine-293cef1de02c36f58a48bcdbe2d385059ea04828.tar.xz  | |
Merge from trunk.
Diffstat (limited to 'libc/sysdeps/linux/powerpc')
| -rw-r--r-- | libc/sysdeps/linux/powerpc/brk.S | 7 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/bsd-_setjmp.S | 8 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/bsd-setjmp.S | 8 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/crt1.S | 7 | ||||
| -rw-r--r-- | libc/sysdeps/linux/powerpc/setjmp.S | 8 | 
5 files changed, 23 insertions, 15 deletions
diff --git a/libc/sysdeps/linux/powerpc/brk.S b/libc/sysdeps/linux/powerpc/brk.S index 25155ad46..5fe8d4086 100644 --- a/libc/sysdeps/linux/powerpc/brk.S +++ b/libc/sysdeps/linux/powerpc/brk.S @@ -50,8 +50,15 @@ brk:  	lwz     r6,8(r1)  #ifdef __PIC__  	mflr    r4 +# ifdef HAVE_ASM_PPC_REL16 +	bcl	20,31,1f +1:	mflr	r5 +	addis	r5,r5,_GLOBAL_OFFSET_TABLE_-1b@ha +	addi	r5,r5,_GLOBAL_OFFSET_TABLE_-1b@l +# else	  	bl      _GLOBAL_OFFSET_TABLE_@local-4  	mflr    r5 +# endif  	lwz     r5,__curbrk@got(r5)  	mtlr    r4  	stw     r3,0(r5) diff --git a/libc/sysdeps/linux/powerpc/bsd-_setjmp.S b/libc/sysdeps/linux/powerpc/bsd-_setjmp.S index d58e45b13..585878acf 100644 --- a/libc/sysdeps/linux/powerpc/bsd-_setjmp.S +++ b/libc/sysdeps/linux/powerpc/bsd-_setjmp.S @@ -29,9 +29,7 @@  _setjmp:  	li r4,0			/* Set second argument to 0.  */ -#ifdef __PIC__ -	b __sigsetjmp@plt -#else -	b __sigsetjmp -#endif + +	b __sigsetjmp@local +  .size     _setjmp,.-_setjmp diff --git a/libc/sysdeps/linux/powerpc/bsd-setjmp.S b/libc/sysdeps/linux/powerpc/bsd-setjmp.S index 6128d9fa2..f95d08217 100644 --- a/libc/sysdeps/linux/powerpc/bsd-setjmp.S +++ b/libc/sysdeps/linux/powerpc/bsd-setjmp.S @@ -29,11 +29,9 @@  __setjmp:  	li r4,1			/* Set second argument to 1.  */ -#ifdef __PIC__ -	b __sigsetjmp@plt -#else -	b __sigsetjmp -#endif + +	b __sigsetjmp@local +  .size     __setjmp,.-__setjmp  .globl     setjmp; diff --git a/libc/sysdeps/linux/powerpc/crt1.S b/libc/sysdeps/linux/powerpc/crt1.S index 47419bb52..7928a7ed3 100644 --- a/libc/sysdeps/linux/powerpc/crt1.S +++ b/libc/sysdeps/linux/powerpc/crt1.S @@ -48,8 +48,15 @@ _start:  	mr	r9,r1 	/* Save the stack pointer and pass it to __uClibc_main */  	clrrwi	r1,r1,4	/* Align stack ptr to 16 bytes */  #ifdef __PIC__ +# ifdef HAVE_ASM_PPC_REL16 +	bcl	20,31,1f +1:	mflr	r31 +	addis	r31,r31,_GLOBAL_OFFSET_TABLE_-1b@ha +	addi	r31,r31,_GLOBAL_OFFSET_TABLE_-1b@l +# else  	bl	_GLOBAL_OFFSET_TABLE_-4@local  	mflr	r31 +# endif  #endif  	/* Set up an initial stack frame, and clear the LR.  */  	li	r0,0 diff --git a/libc/sysdeps/linux/powerpc/setjmp.S b/libc/sysdeps/linux/powerpc/setjmp.S index b1625b615..3bdf6cbfe 100644 --- a/libc/sysdeps/linux/powerpc/setjmp.S +++ b/libc/sysdeps/linux/powerpc/setjmp.S @@ -76,9 +76,7 @@ FP(	stfd fp29,((JB_FPRS+15*2)*4)(3))  FP(	stfd fp30,((JB_FPRS+16*2)*4)(3))  	stw  r31,((JB_GPRS+17)*4)(3)  FP(	stfd fp31,((JB_FPRS+17*2)*4)(3)) -#ifdef __PIC__ -	b __sigjmp_save@plt -#else -	b __sigjmp_save -#endif + +	b __sigjmp_save@local +  .size     __sigsetjmp,.-__sigsetjmp  | 
