[PATCH v2] ARM: Add support for thumb1 PCROP relocations.

mickael guene mickael.guene@st.com
Tue Dec 8 12:06:00 GMT 2015


Hi all,

This is second version for a patch proposal that implements the new
relocations needed to support execute-only code segment for thumb1
sequences.

Changes since v1:

  * Take into account Nick's remarks.
  * Take into account Ramana's remarks. Change gas directive names from
low_low, low_high, high_low and high_high to lower0_7, lower8_15,
upper0_7 and upper8_15 respectively. Add documentation about these
directives usage.

Changelogs:

include/ChangeLog:

2015-11-17  Mickael Guene <mickael.guene@st.com>

     * elf/arm.h: Add new arm relocations.

bfd/ChangeLog:

2015-11-17  Mickael Guene <mickael.guene@st.com>

     * bfd-in2.h: Regenerate.
     * reloc.c: Add new relocations.
     * libbfd.h (bfd_reloc_code_real_names): Add new relocations display
     names.
     * elf32-arm.c (elf32_arm_howto_table_1): Add HOWTO for new relocations.
     (elf32_arm_reloc_map): Add bfd/arm mapping for new relocations.
     (elf32_arm_final_link_relocate): Implement new relocations resolution.

gas/ChangeLog:

2015-12-07 Mickael Guene <mickael.guene@st.com>

     * doc/c-arm.texi: Add documentation about new directives.

2015-11-17  Mickael Guene <mickael.guene@st.com>

     * config/tc-arm.c (group_reloc_table): Add mapping between gas syntax
     and new relocations.
     (do_t_add_sub): Keep new relocations for add operand.
     (do_t_mov_cmp): Keep new relocations for mov operand.
     (insns): Use 'shifter operand with possible group relocation' operand
     parse code for movs operand.
     (md_apply_fix): Implement mov and add encoding when new relocations
     on them.
     (tc_gen_reloc): Add new relocations.
     (arm_fix_adjustable): Since offset has a limited range ([0:255]) we
     disable adjust_reloc_syms() for new relocations.

gas/testsuite/ChangeLog:

2015-11-17  Mickael Guene <mickael.guene@st.com>

     * gas/arm/adds-thumb1-reloc-local.d: New
     * gas/arm/adds-thumb1-reloc-local.s: New
     * gas/arm/movs-thumb1-reloc-local.d: New
     * gas/arm/movs-thumb1-reloc-local.s: New

ld/testsuite/ChangeLog:

2015-11-17  Mickael Guene <mickael.guene@st.com>

     * ld-arm/arm-elf.exp (armelftests_common): Add new relocations tests.
     * ld-arm/thumb1-adds.d: New
     * ld-arm/thumb1-adds.s: New
     * ld-arm/thumb1-movs.d: New
     * ld-arm/thumb1-movs.s: New
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-support-for-thumb1-pcrop-relocations.patch
Type: text/x-patch
Size: 22835 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20151208/1d251773/attachment.bin>


More information about the Binutils mailing list