diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2018-03-20 10:54:59 +0100 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2018-04-25 20:51:53 +0000 |
commit | 188fd7aea619d9f66a822bad881d8f56892b60aa (patch) | |
tree | e223965ec6ff1ae6671f0fd34ef514dd882864f4 /include | |
parent | 18a203380502fb3ee75633fd464faa3c83cec710 (diff) | |
download | gdb-188fd7aea619d9f66a822bad881d8f56892b60aa.zip gdb-188fd7aea619d9f66a822bad881d8f56892b60aa.tar.gz gdb-188fd7aea619d9f66a822bad881d8f56892b60aa.tar.bz2 |
[ARM] Add FDPIC relocations definitions
Add FDPIC relocation definitions in BFD and gas.
Gas rejects them if the --fdpic option was not specified.
2018-04-25 Christophe Lyon <christophe.lyon@st.com>
Mickaël Guêné <mickael.guene@st.com>
bfd/
* bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
(BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
(BFD_RELOC_ARM_FUNCDESC_VALUE): New.
* elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
(elf32_arm_howto_from_type): Take new members of
elf32_arm_howto_table_2 into account.
(elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
BFD_RELOC_ARM_FUNCDESC_VALUE.
* reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
BFD_RELOC_ARM_FUNCDESC_VALUE.
gas/
* config/tc-arm.c (reloc_names): Add gotfuncdesc, gotofffuncdesc,
funcdesc.
(md_apply_fix): Support the new relocations.
(tc_gen_reloc): Likewise.
* testsuite/gas/arm/reloc-fdpic.d: New.
* testsuite/gas/arm/reloc-fdpic.s: New.
include/
* elf/arm.h (R_ARM_GOTFUNCDESC, R_ARM_GOTOFFFUNCDESC)
(R_ARM_FUNCDESC)
(R_ARM_FUNCDESC_VALUE): Define new relocations.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 7 | ||||
-rw-r--r-- | include/elf/arm.h | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index d159a25..6b52420 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,6 +1,13 @@ 2018-04-25 Christophe Lyon <christophe.lyon@st.com> Mickaël Guêné <mickael.guene@st.com> + * elf/arm.h (R_ARM_GOTFUNCDESC, R_ARM_GOTOFFFUNCDESC) + (R_ARM_FUNCDESC) + (R_ARM_FUNCDESC_VALUE): Define new relocations. + +2018-04-25 Christophe Lyon <christophe.lyon@st.com> + Mickaël Guêné <mickael.guene@st.com> + * elf/arm.h (EF_ARM_FDPIC): New. 2018-04-18 Alan Modra <amodra@gmail.com> diff --git a/include/elf/arm.h b/include/elf/arm.h index fb9c5f6..158f7b1 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -240,6 +240,10 @@ START_RELOC_NUMBERS (elf_arm_reloc_type) RELOC_NUMBER (R_ARM_THM_ALU_ABS_G3_NC,135) RELOC_NUMBER (R_ARM_IRELATIVE, 160) + RELOC_NUMBER (R_ARM_GOTFUNCDESC, 161) + RELOC_NUMBER (R_ARM_GOTOFFFUNCDESC, 162) + RELOC_NUMBER (R_ARM_FUNCDESC, 163) + RELOC_NUMBER (R_ARM_FUNCDESC_VALUE, 164) /* Extensions? R=read-only? */ RELOC_NUMBER (R_ARM_RXPC25, 249) |