[ARM/FDPIC v6 23/24] [ARM] FDPIC: Implement libitm support.
authorChristophe Lyon <christophe.lyon@st.com>
Tue, 10 Sep 2019 08:11:46 +0000 (10:11 +0200)
committerChristophe Lyon <clyon@gcc.gnu.org>
Tue, 10 Sep 2019 08:11:46 +0000 (10:11 +0200)
The ldaddr macro in sjlj.S needs to be updated to support the FDPIC
model.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

libitm/
* config/arm/sjlj.S (ldaddr): Add FDPIC support.

From-SVN: r275584

libitm/ChangeLog
libitm/config/arm/sjlj.S

index 39e8451..20f5768 100644 (file)
@@ -1,7 +1,11 @@
 2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
 
-        * configure.tgt: Handle *-*-uclinux*.
-        * configure: Regenerate.
+       * config/arm/sjlj.S (ldaddr): Add FDPIC support.
+
+2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
+
+       * configure.tgt: Handle *-*-uclinux*.
+       * configure: Regenerate.
 
 2019-09-06  Florian Weimer  <fweimer@redhat.com>
 
index a9abf16..5d44964 100644 (file)
        .arch   armv7-m
 #endif
 
-#if defined(HAVE_MOVT) && defined(PIC)
+#if defined(__FDPIC__)
+.macro ldaddr reg, addr
+       ldr \reg, 99f
+       add \reg, \reg, r9
+.subsection 1
+       .align  2
+99:    .word   \addr(GOTOFF)
+.subsection 0
+.endm
+#elif defined(HAVE_MOVT) && defined(PIC)
 .macro ldaddr reg, addr
        movw    \reg, #:lower16:(\addr - (98f + PC_OFS))
        movt    \reg, #:upper16:(\addr - (98f + PC_OFS))