diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-06-06 16:02:50 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2024-06-12 15:08:55 +0100 |
commit | 7593dae69ba06ffe63bc22d26c16b19aa9ab24e8 (patch) | |
tree | f52f3530557c5039f5b05e21141836c4e994d9c0 | |
parent | 9100e78ba28b1b69d1362d18088e897ca0f99594 (diff) | |
download | gcc-7593dae69ba06ffe63bc22d26c16b19aa9ab24e8.zip gcc-7593dae69ba06ffe63bc22d26c16b19aa9ab24e8.tar.gz gcc-7593dae69ba06ffe63bc22d26c16b19aa9ab24e8.tar.bz2 |
arm: Add .type and .size to __gnu_cmse_nonsecure_call [PR115360]
This patch adds missing assembly directives to the CMSE library wrapper to call
functions with attribute cmse_nonsecure_call. Without the .type directive the
linker will fail to produce the correct veneer if a call to this wrapper
function is to far from the wrapper itself. The .size was added for
completeness, though we don't necessarily have a usecase for it.
libgcc/ChangeLog:
PR target/115360
* config/arm/cmse_nonsecure_call.S: Add .type and .size directives.
(cherry picked from commit c559353af49fe5743d226ac3112a285b27a50f6a)
-rw-r--r-- | libgcc/config/arm/cmse_nonsecure_call.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libgcc/config/arm/cmse_nonsecure_call.S b/libgcc/config/arm/cmse_nonsecure_call.S index f93ce6b..fef37b9 100644 --- a/libgcc/config/arm/cmse_nonsecure_call.S +++ b/libgcc/config/arm/cmse_nonsecure_call.S @@ -33,6 +33,7 @@ #endif .thumb +.type __gnu_cmse_nonsecure_call, %function .global __gnu_cmse_nonsecure_call __gnu_cmse_nonsecure_call: #if defined(__ARM_ARCH_8M_MAIN__) @@ -142,3 +143,4 @@ pop {r5-r7, pc} #else #error "This should only be used for armv8-m base- and mainline." #endif +.size __gnu_cmse_nonsecure_call, .-__gnu_cmse_nonsecure_call |