about summary refs log tree commit diff
path: root/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-02-28 21:37:02 -0800
committerRichard Henderson <rth@twiddle.net>2013-03-06 07:47:21 -0800
commit79fd8731113e8402732190ff921aebaaef9218b0 (patch)
tree2e9b2d8f7c4441b6e7a9450ea3ab73c0087b615e /ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
parent3377126b0a055e6addaa6bd69f51dd557d774b99 (diff)
downloadglibc-79fd8731113e8402732190ff921aebaaef9218b0.tar.gz
glibc-79fd8731113e8402732190ff921aebaaef9218b0.tar.xz
glibc-79fd8731113e8402732190ff921aebaaef9218b0.zip
arm: Implement hard-tp for GET_TLS
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S')
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
index ecdc3228a3..21e322986a 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+++ b/ports/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
@@ -41,7 +41,10 @@
 
 	.hidden __aeabi_read_tp
 ENTRY (__aeabi_read_tp)
-#ifdef __thumb2__
+#ifdef ARCH_HAS_HARD_TP
+	mrc	p15, 0, r0, c13, c0, 3
+	bx	lr
+#elif defined(__thumb2__)
 	movw	r0, #0x0fe0
 	movt	r0, #0xffff
 	bx	r0