diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libutee/arch/arm/utee_syscalls_a32.S | 5 | ||||
-rw-r--r-- | lib/libutils/ext/include/asm.S | 5 | ||||
-rw-r--r-- | lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S | 4 | ||||
-rw-r--r-- | lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S | 4 |
4 files changed, 4 insertions, 14 deletions
diff --git a/lib/libutee/arch/arm/utee_syscalls_a32.S b/lib/libutee/arch/arm/utee_syscalls_a32.S index a2fe442c..6e621ca6 100644 --- a/lib/libutee/arch/arm/utee_syscalls_a32.S +++ b/lib/libutee/arch/arm/utee_syscalls_a32.S @@ -13,8 +13,6 @@ .macro UTEE_SYSCALL name, scn, num_args FUNC \name , : - -UNWIND( .fnstart) push {r5-r7,lr} UNWIND( .save {r5-r7,lr}) #if defined(CFG_SYSCALL_WRAPPERS_MCOUNT) && !defined(__LDELF__) @@ -43,12 +41,10 @@ UNWIND( .save {r5-r7,lr}) .endif svc #0 pop {r5-r7,pc} -UNWIND( .fnend) END_FUNC \name .endm FUNC _utee_panic, : -UNWIND( .fnstart) push {r0-r11, lr} UNWIND( .save {r0-r11, lr}) mov lr, pc @@ -57,7 +53,6 @@ UNWIND( .save {lr}) mov r1, sp bl __utee_panic /* Not reached */ -UNWIND( .fnend) END_FUNC _utee_panic #include "utee_syscalls_asm.S" diff --git a/lib/libutils/ext/include/asm.S b/lib/libutils/ext/include/asm.S index e91d2794..43222639 100644 --- a/lib/libutils/ext/include/asm.S +++ b/lib/libutils/ext/include/asm.S @@ -3,7 +3,7 @@ * Copyright (c) 2014, STMicroelectronics International N.V. */ -#if defined(CFG_UNWIND) +#if defined(CFG_UNWIND) && defined(__arm__) #define UNWIND(...) __VA_ARGS__ #else #define UNWIND(...) @@ -19,6 +19,7 @@ .type \name , %function .balign 4 \name \colon +UNWIND( .fnstart) .endm .macro DATA name colon @@ -36,6 +37,7 @@ .type \name , %function .balign 4 \name \colon +UNWIND( .fnstart) .endm .macro LOCAL_DATA name colon @@ -48,5 +50,6 @@ .endm .macro END_FUNC name +UNWIND( .fnend) .size \name , .-\name .endm diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S index 76898ef5..a600c879 100644 --- a/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S +++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod_a32.S @@ -10,9 +10,7 @@ * return quotient and remaining the EABI way (regs r0,r1) */ FUNC ret_idivmod_values , : -UNWIND( .fnstart) bx lr -UNWIND( .fnend) END_FUNC ret_idivmod_values /* @@ -20,7 +18,5 @@ END_FUNC ret_idivmod_values * return quotient and remaining the EABI way (regs r0,r1) */ FUNC ret_uidivmod_values , : -UNWIND( .fnstart) bx lr -UNWIND( .fnend) END_FUNC ret_uidivmod_values diff --git a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S index b9f3408a..2dc50bc9 100644 --- a/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S +++ b/lib/libutils/isoc/arch/arm/arm32_aeabi_ldivmod_a32.S @@ -9,7 +9,6 @@ * __value_in_regs lldiv_t __aeabi_ldivmod( long long n, long long d) */ FUNC __aeabi_ldivmod , : -UNWIND( .fnstart) push {ip, lr} UNWIND( .save {ip, lr}) push {r0-r3} @@ -18,7 +17,6 @@ UNWIND( .save {r0-r3}) bl __l_divmod pop {r0-r3} pop {ip, pc} -UNWIND( .fnend) END_FUNC __aeabi_ldivmod /* @@ -26,7 +24,6 @@ END_FUNC __aeabi_ldivmod * unsigned long long n, unsigned long long d) */ FUNC __aeabi_uldivmod , : -UNWIND( .fnstart) push {ip, lr} UNWIND( .save {ip, lr}) push {r0-r3} @@ -35,5 +32,4 @@ UNWIND( .save {r0-r3}) bl __ul_divmod pop {r0-r3} pop {ip, pc} -UNWIND( .fnend) END_FUNC __aeabi_uldivmod |