diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2019-09-10 10:11:46 +0200 |
---|---|---|
committer | Christophe Lyon <clyon@gcc.gnu.org> | 2019-09-10 10:11:46 +0200 |
commit | a360a359b784acdb53e20cbb85576b4b3662703a (patch) | |
tree | 4e58bf17aa1a578eabc209918ee4b780d9cc32ef | |
parent | 18ab88559067266d602b43b4d594a21eddae0f8a (diff) | |
download | gcc-a360a359b784acdb53e20cbb85576b4b3662703a.zip gcc-a360a359b784acdb53e20cbb85576b4b3662703a.tar.gz gcc-a360a359b784acdb53e20cbb85576b4b3662703a.tar.bz2 |
[ARM/FDPIC v6 23/24] [ARM] FDPIC: Implement libitm support.
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
-rw-r--r-- | libitm/ChangeLog | 8 | ||||
-rw-r--r-- | libitm/config/arm/sjlj.S | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index 39e8451..20f5768 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 a9abf16..5d44964 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)) |