picolib/arm: Clean up read_tp function
Use built-in assembler symbol reference mechanism
Signed-off-by: Keith Packard <[email protected]>
diff --git a/newlib/libc/picolib/machine/arm/read_tp.S b/newlib/libc/picolib/machine/arm/read_tp.S
index 78258db..a20e920 100644
--- a/newlib/libc/picolib/machine/arm/read_tp.S
+++ b/newlib/libc/picolib/machine/arm/read_tp.S
@@ -54,16 +54,10 @@
mrc 15, 0, r0, c13, c0, 3
#else
/* Load the address of __tls */
- ldr r0,1f
+ ldr r0,=__tls
/* Dereference to get the value of __tls */
ldr r0,[r0]
#endif
/* All done, return to caller */
bx lr
.cfi_endproc
-
- /* Holds the address of __tls */
- .align 2
-#ifndef ARM_TLS_CP15
-1: .word __tls
-#endif