Fix objcopy and strip so that they remove their temporary files even if an error occurs.
PR binutils/17552
* (copy_archive): Clean up temporary files even if an error
occurs.
Prevent archive memebers with illegal pathnames from being extracted from an archive.
PR binutils/17552, binutils/17533
* bucomm.c (is_valid_archive_path): New function. Returns false
for absolute pathnames and pathnames that include /../.
* bucomm.h (is_valid_archive_path): Add prototype.
* ar.c (extract_file): Use new function to check for valid
pathnames when extracting files from an archive.
* objcopy.c (copy_archive): Likewise.
* doc/binutils.texi: Update documentation to mention the
limitation on pathname of archive members.
Fix a seg-fault triggered by reading a mal-formed archive.
PR binutils/17533
* archive.c (_bfd_slurp_extended_name_table): Handle archives with
corrupt extended name tables.
[AArch64] Add CRC feature for cortex-A53 and cortex-A57.
Apply trunk patch:
* config/tc-aarch64.c (aarch64_cpus): Add CRC feature for
cortex-A53 and cortex-A57.
Revert "[AArch64] Enable CRC feature in GAS for cortex-a53 and cortex-a57."
This reverts commit
f460784869eb8134c6e9cf09261df45f2107b063.
[AArch64] Enable CRC feature in GAS for cortex-a53 and cortex-a57.
Fix PR ld/17277: bogus dynamic relocs and TEXTREL for ARM PC-relative relocs
bfd/
PR ld/17277
* elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
all reloc types with pc_relative set in the howto, not just for
R_ARM_REL32 and R_ARM_REL32_NOI.
(allocate_dynrelocs_for_symbol): Update comment.
(elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
set in the howto, set call_reloc_p and may_need_local_target_p but
not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
(elf32_arm_check_relocs): Likewise.
ld/testsuite/
PR ld/17277
* ld-arm/pcrel-shared.s: New file.
* ld-arm/pcrel-shared.rd: New file.
* ld-arm/arm-elf.exp (armelftests_common): Add it.
(cherry picked from commit
469a34932ae4208240e98c843b01ea1f00892137)