aboutsummaryrefslogtreecommitdiff
path: root/bfd/reloc.c
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@st.com>2018-03-20 10:54:59 +0100
committerChristophe Lyon <christophe.lyon@linaro.org>2018-04-25 20:51:53 +0000
commit188fd7aea619d9f66a822bad881d8f56892b60aa (patch)
treee223965ec6ff1ae6671f0fd34ef514dd882864f4 /bfd/reloc.c
parent18a203380502fb3ee75633fd464faa3c83cec710 (diff)
downloadgdb-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 'bfd/reloc.c')
-rw-r--r--bfd/reloc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 80db0c9..e78e582 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -3208,6 +3208,17 @@ ENUMDOC
Low and High halfword relocations for MOVW and MOVT instructions.
ENUM
+ BFD_RELOC_ARM_GOTFUNCDESC
+ENUMX
+ BFD_RELOC_ARM_GOTOFFFUNCDESC
+ENUMX
+ BFD_RELOC_ARM_FUNCDESC
+ENUMX
+ BFD_RELOC_ARM_FUNCDESC_VALUE
+ENUMDOC
+ ARM FDPIC specific relocations.
+
+ENUM
BFD_RELOC_ARM_JUMP_SLOT
ENUMX
BFD_RELOC_ARM_GLOB_DAT