diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2018-10-29 14:34:25 +0000 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2018-11-01 04:43:45 +0100 |
commit | b2db04d0a81a9784d4a007be3bfef21aee207f8f (patch) | |
tree | ff417b99d916ba18fcde41df079830d103acdc11 /ldso/ldso/arm/resolve.S | |
parent | 1b41063f4019bd76a7e0f6b429fff5c5dc297fa6 (diff) |
Add support for Thumb-only processors.
* ldso/ldso/arm/aeabi_read_tp.S: Add Thumb version.
* ldso/ldso/arm/dl-startup.h: Do not force ARM encoding, adjust
for Thumb.
* ldso/ldso/arm/resolve.S: Force Thumb encoding on Thumb-only
processors.
* libc/sysdeps/linux/arm/crt1.S: Do not force ARM encoding, adjust
for Thumb.
Signed-off-by: Mickaël Guêné <mickael.guene@st.com>
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Diffstat (limited to 'ldso/ldso/arm/resolve.S')
-rw-r--r-- | ldso/ldso/arm/resolve.S | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ldso/ldso/arm/resolve.S b/ldso/ldso/arm/resolve.S index 039a6b788..801387255 100644 --- a/ldso/ldso/arm/resolve.S +++ b/ldso/ldso/arm/resolve.S @@ -101,7 +101,15 @@ .text .align 4 @ 16 byte boundary and there are 32 bytes below (arm case) #if 1 /*(!defined(__thumb__) || defined __THUMB_INTERWORK__) || defined(__thumb2__)*/ - .arm + /* On Thumb-only processors, force thumb encoding. These + processors support Thumb-2, so the same source code can be + used as in ARM mode. */ +#if !defined(__ARM_ARCH_ISA_ARM) + .thumb + .thumb_func +#else + .arm +#endif .hidden _dl_linux_resolve .globl _dl_linux_resolve .type _dl_linux_resolve,%function |