diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 39e84517a347f499d647e8d2e2f9fd31d3b8b1b8..20f576887129dbd40b47823d1ac9f03b73d0c1f1 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -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> diff --git a/libitm/config/arm/sjlj.S b/libitm/config/arm/sjlj.S index a9abf160777a7c83595462696df0463710c8fa41..5d449645c4fdd803ed184352fc2e988e1be29322 100644 --- a/libitm/config/arm/sjlj.S +++ b/libitm/config/arm/sjlj.S @@ -49,7 +49,16 @@ .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))