2016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Thu, 4 Aug 2016 14:54:57 +0000 (15:54 +0100)
committerThomas Preud'homme <thomas.preudhomme@arm.com>
Thu, 4 Aug 2016 14:54:57 +0000 (15:54 +0100)
commit54ddd295b505efe4b07cc1e939d4e150032603d8
tree58c9a2c7639072764628a540c2340e221e3b87d5
parent4ba2ef8fbe74716708e5ce0bcba4f3b1cc8ac99a
2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

bfd/
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
* bfd-in2.h: Regenerate.
* elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
cmse_implib field.
(bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
cmse_implib field in struct elf32_arm_link_hash_table.
(elf32_arm_filter_cmse_symbols): New function.
(elf32_arm_filter_implib_symbols): Likewise.
(elf_backend_filter_implib_symbols): Define to
elf32_arm_filter_implib_symbols.

ld/
* emultempl/armelf.em (cmse_implib): Declare and define this new
static variable.
(arm_elf_create_output_section_statements): Add new cmse_implib
parameter.
(OPTION_CMSE_IMPLIB): Define macro.
(PARSE_AND_LIST_LONGOPTS): Add entry for new --cmse-implib switch.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_CMSE_IMPLIB case.
* ld.texinfo (--cmse-implib): Document new option.
* testsuite/ld-arm/arm-elf.exp
(Secure gateway import library generation): New test.
(Secure gateway import library generation: errors): Likewise.
* testsuite/ld-arm/cmse-implib.s: New file.
* testsuite/ld-arm/cmse-implib-errors.out: Likewise.
* testsuite/ld-arm/cmse-implib.rd: Likewise.
bfd/ChangeLog
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/elf32-arm.c
ld/ChangeLog
ld/emultempl/armelf.em
ld/ld.texinfo
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/cmse-implib-errors.out [new file with mode: 0644]
ld/testsuite/ld-arm/cmse-implib.rd [new file with mode: 0644]
ld/testsuite/ld-arm/cmse-implib.s [new file with mode: 0644]