From b2db04d0a81a9784d4a007be3bfef21aee207f8f Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Mon, 29 Oct 2018 14:34:25 +0000 Subject: Add support for Thumb-only processors. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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é Signed-off-by: Christophe Lyon --- ldso/ldso/arm/aeabi_read_tp.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'ldso/ldso/arm/aeabi_read_tp.S') diff --git a/ldso/ldso/arm/aeabi_read_tp.S b/ldso/ldso/arm/aeabi_read_tp.S index 77e0d6ecc..5ab51257c 100644 --- a/ldso/ldso/arm/aeabi_read_tp.S +++ b/ldso/ldso/arm/aeabi_read_tp.S @@ -53,9 +53,23 @@ #else .hidden __aeabi_read_tp #endif +#if !defined(__ARM_ARCH_ISA_ARM) + .thumb_func + .thumb + .syntax unified + ENTRY (__aeabi_read_tp) + push {r7} + mov r7, #0x0f0000 + orr r7, r7, #6 + svc #0 + pop {r7} + bx lr +#else + .arm ENTRY (__aeabi_read_tp) mov r0, #0xffff0fff sub pc, r0, #31 +#endif END (__aeabi_read_tp) #endif /* __UCLIBC_HAS_THREADS_NATIVE__ */ -- cgit v1.2.3