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 |