diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2019-04-15 11:37:51 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2019-04-15 12:30:33 +0100 |
commit | 1caf72a5849abf9a717ed3e0232abf591ff933e7 (patch) | |
tree | 195d651a5012a54933d6cb2d1793ebc659db4fc8 /elfcpp | |
parent | f1c7f42126274d48f6b0a929e4e15a32193997c6 (diff) | |
download | gdb-1caf72a5849abf9a717ed3e0232abf591ff933e7.zip gdb-1caf72a5849abf9a717ed3e0232abf591ff933e7.tar.gz gdb-1caf72a5849abf9a717ed3e0232abf591ff933e7.tar.bz2 |
[binutils, ARM, 8/16] BFL infrastructure with new global reloc R_ARM_THM_BF18
This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils.
This adds infrastructure for the BFL instructions which is one of the first instructions in Arm that have more than one relocations in them.
This adds a new relocation R_ARM_THM_BF18.
The inconsistency between external R_ARM_THM_BF18 and internal
BFD_RELOC_ARM_THUMB_BF19 is because internally we count the static bit-0 of the immediate and we don't externally.
ChangeLog entries are as follows :
*** bfd/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
* libbfd.h: Regenerated.
* bfd-in2.h: Regenerated.
* bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
(elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
and R_ARM_THM_BF18 together.
(elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
*** elfcpp/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm.h (R_ARM_THM_BF18): New relocation code.
*** gas/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* config/tc-arm.c (md_pcrel_from_section): New switch case for
BFD_RELOC_ARM_THUMB_BF19.
(md_appdy_fix): Likewise.
(tc_gen_reloc): Likewise.
*** include/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* elf/arm.h (START_RELOC_NUMBERS): New entry for R_ARM_THM_BF18.
*** opcodes/ChangeLog ***
2019-04-15 Sudakshina Das <sudi.das@arm.com>
* arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern.
Diffstat (limited to 'elfcpp')
-rw-r--r-- | elfcpp/ChangeLog | 4 | ||||
-rw-r--r-- | elfcpp/arm.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 7770f7e..fab2744 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,5 +1,9 @@ 2019-04-15 Sudakshina Das <sudi.das@arm.com> + * arm.h (R_ARM_THM_BF18): New relocation code. + +2019-04-15 Sudakshina Das <sudi.das@arm.com> + * arm.h (R_ARM_THM_BF16): New relocation code. 2018-06-24 Nick Clifton <nickc@redhat.com> diff --git a/elfcpp/arm.h b/elfcpp/arm.h index b4cd67f..bc5e0cc 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -197,6 +197,7 @@ enum // 131 - 135 Unallocated // Relocations for Armv8.1-M Mainline (BF/BFL) R_ARM_THM_BF16 = 136, // Static Thumb32 ((S + A) | T) – P + R_ARM_THM_BF18 = 138, // Static Thumb32 ((S + A) | T) – P // 139 Unallocated // 140 - 159 Dynamic Reserved for future allocation R_ARM_IRELATIVE = 160, // Dynamic |