diff options
Diffstat (limited to 'libc/sysdeps/linux/xtensa/crti.S')
| -rw-r--r-- | libc/sysdeps/linux/xtensa/crti.S | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/libc/sysdeps/linux/xtensa/crti.S b/libc/sysdeps/linux/xtensa/crti.S index ba804eb45..2923ff09d 100644 --- a/libc/sysdeps/linux/xtensa/crti.S +++ b/libc/sysdeps/linux/xtensa/crti.S @@ -3,6 +3,7 @@  	.section .init  	.align	4  	.global	_init +	.hidden _init  	.type	_init, @function  _init:  #if defined(__XTENSA_WINDOWED_ABI__) @@ -10,6 +11,10 @@ _init:  #elif defined(__XTENSA_CALL0_ABI__)  	addi	sp, sp, -16  	s32i	a0, sp, 0 +#ifdef __FDPIC__ +	s32i	a12, sp, 4 +	mov	a12, a11 +#endif  #else  #error Unsupported Xtensa ABI  #endif @@ -17,6 +22,7 @@ _init:  	.section .fini  	.align	4  	.global	_fini +	.hidden _fini  	.type	_fini, @function  _fini:  #if defined(__XTENSA_WINDOWED_ABI__) @@ -24,6 +30,10 @@ _fini:  #elif defined(__XTENSA_CALL0_ABI__)  	addi	sp, sp, -16  	s32i	a0, sp, 0 +#ifdef __FDPIC__ +	s32i	a12, sp, 4 +	mov	a12, a11 +#endif  #else  #error Unsupported Xtensa ABI  #endif | 
