X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=b14eea6c6c0b9435ddf28a66a17f1da52dee8904;hb=02895270ec7243f46ea3e84dc385515533dc0139;hp=c48036fdedcbc95f894d6a3a543c8f38cc6628bf;hpb=2ac93be706418f3b2aebeb22159a328023faed52;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c48036fded..b14eea6c6c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,4 +1,667 @@ -2018-04-35 Alan Modra +2018-06-14 Faraz Shahbazker + + * elfxx-mips.c (print_mips_ases): Add GINV extension. + +2018-06-14 H.J. Lu + + PR binutils/23267 + * elf.c (_bfd_elf_get_symbol_version_string): Check if the first + symbol version is base version. + +2018-06-14 Alan Modra + + * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs". + * elflink.c (_bfd_elf_init_2_index_sections): Comment fix. + (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs". + (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when + "dynamic_relocs" is not set. + * elfxx-mips.c (count_section_dynsyms): Likewise. + +2018-06-14 Alan Modra + + PR 23282 + * bfdio.c (bfd_seek): Optimize away seeks to current position. + +2018-06-13 Scott Egerton + Faraz Shahbazker + + * elfxx-mips.c (print_mips_ases): Add CRC. + +2018-06-08 H.J. Lu + + PR ld/23161 + * elfxx-x86.c (elf_x86_hide_linker_defined): New function. + (_bfd_x86_elf_link_check_relocs): Use it to hide hidden + __bss_start, _end and _edata in shared libraries. + +2018-06-07 Alan Modra + + * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference + __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs. + +2018-06-05 Alan Modra + + * bfd.c (struct bfd): Update comment on "where" usage. + * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec", + "iostream", and "where" from containing archive file. Return + error on NULL iovec. + (bfd_bread): Similarly, and return error attempted out of + bounds archive element access. + (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and + "where" from containing archive file. + (bfd_seek): Likewise. Return error on NULL iovec. Don't + attempt to optimize away seeks. Don't paper over errors by + calling bfd_tell. + (bfd_get_mtime): Call bfd_stat rather than iovec->bstat. + (bfd_get_size): Likewise. + (bfd_mmap): Operate on and use iovec of containing archive + file. Return error on NULL iovec. + * cache.c (bfd_cache_lookup_worker): Abort if working on + archive element bfd. + (cache_bread_1): Delete bfd parameter, add FILE* parameter. + Don't ignore zero byte reads. + (cache_bread): Look up FILE* in cache here. Error on NULL + lookup. + (cache_bwrite): Rename "where" to "from". + (cache_bmmap): Don't handle archive elements. + * coffcode.h (coff_slurp_line_table): Exit early on zero + lineno count. + * bfd-in2.h: Regenerate. + +2018-06-05 Alan Modra + + PR 23254 + * plugin.c (bfd_plugin_open_input): Allow for possibility of + nested archives. Open file again for plugin. + (try_claim): Don't save and restore file position. Close file + if not claimed. + * sysdep.h (O_BINARY): Define. + +2018-06-04 Max Filippov + + * elf32-xtensa.c (xtensa_read_table_entries): Make global. + (compute_fill_extra_space): Drop declaration. Rename function to + xtensa_compute_fill_extra_space. + (compute_ebb_actions, remove_dead_literal): Update references to + compute_fill_extra_space. + +2018-06-04 Volodymyr Arbatov + + * elf32-xtensa.c (elf32xtensa_separate_props): New global + variable. + (xtensa_add_names): New function. + (xtensa_property_section_name): Add new parameter + separate_sections, use it to choose property section name. + (xtensa_get_separate_property_section): New function. + (xtensa_get_property_section): Invoke + xtensa_get_separate_property_section to get individual property + section if it exists, common property section otherwise. + (xtensa_make_property_section): Pass elf32xtensa_separate_props + to xtensa_property_section_name. + +2018-06-04 H.J. Lu + + PR binutils/23146 + * bfd-in.h: Include "diagnostics.h". + * bfd-in2.h: Regenerated. + * elf32-arm.c (elf32_arm_nabi_write_core_note): Use + DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and + DIAGNOSTIC_POP to silence GCC 8.1 warnings with + -Wstringop-truncation. + * elf32-ppc.c (ppc_elf_write_core_note): Likewse. + * elf32-s390.c (elf_s390_write_core_note): Likewse. + * elf64-ppc.c (ppc64_elf_write_core_note): Likewse. + * elf64-s390.c (elf_s390_write_core_note): Likewse. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse. + +2018-06-03 Jim Wilson + + PR ld/23244 + * elfnn-riscv.c (riscv_elf_relocate_section) : Check + for and handle an undefined weak with no PLT. + + PR ld/22756 + * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check + to code that ignores duplicate symbols. + +2018-06-01 H.J. Lu + + * version.m4: Bump version to 2.30.52 + * configure: Regenerated. + +2018-06-01 Alan Modra + + * bfd.c (_bfd_error_handler): Arrange for this function to be + declared in bfd-in2.h. + * libbfd-in.h (_bfd_error_handler): Don't declare. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2018-05-30 Amaan Cheval + + * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems* + This is needed to generate UEFI application image files from ELFs. + +2018-05-28 H.J. Lu + + * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_i386_lazy_ibt_plt): Likewise. + (elf_i386_nacl_plt): Likewise. + * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ... + (elf_x86_64_tlsdesc_plt_entry): This. + (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end for TLSDESC entry. + (elf_x86_64_lazy_bnd_plt): Likewise. + (elf_x86_64_lazy_ibt_plt): Likewise. + (elf_x32_lazy_ibt_plt): Likewise. + (elf_x86_64_nacl_plt): Likewise. + (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry, + plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset, + plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and + plt_tlsdesc_got2_insn_end to update TLSDESC entry. + * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments. + Add plt_tlsdesc_entry, plt_tlsdesc_entry_size, + plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset, + plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end. + (elf_x86_non_lazy_plt_layout): Update comments. + (elf_x86_plt_layout): Likewise. + +2018-05-28 H.J. Lu + + PR ld/23238 + * elf-s390-common.c (elf_s390_add_symbol_hook): Removed. + * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-s390.c (elf_backend_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf64-s390.c (elf_backend_add_symbol_hook): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. + * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise. + (elf_backend_add_symbol_hook): Likewise. + * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC + handling. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elflink.c (elf_link_add_object_symbols): Set + elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols. + +2018-05-26 H.J. Lu + + PR ld/23194 + * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New. + * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function. + Extracted from _bfd_elf_link_assign_sym_version. + (_bfd_elf_link_hide_sym_by_version): New function. + (_bfd_elf_link_assign_sym_version): Use + _bfd_elf_link_hide_versioned_symbol. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call + _bfd_elf_link_hide_sym_by_version instead of + bfd_hide_sym_by_version. Don't check unversioned symbol. + +2018-05-25 Alan Modra + + * Makefile.in: Regenerate. + * po/SRC-POTFILES.in: Regenerate. + +2018-05-25 Alan Modra + + * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS. + * configure: Regenerate. + +2018-05-23 H.J. Lu + + * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING + to data. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec + is NULL. + (elf32_hppa_size_stubs): Only create stubs for load, alloc, code + sections. + (final_link_relocate): Revert last change. + +2018-05-22 Alan Modra + + PR 23207 + * elf32-hppa.c (final_link_relocate): Don't look for plt call + stubs in non-alloc sections. + +2018-05-21 H.J. Lu + + PR ld/23201 + * aout-target.h (MY_bfd_link_hide_symbol): New. + * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise. + * binary.c (binary_bfd_link_hide_symbol): Likewise. + * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise. + * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise. + * coffcode.h (coff_bfd_link_hide_symbol): Likewise. + * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise. + * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise. + * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise. + * ihex.c (ihex_bfd_link_hide_symbol): Likewise. + * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise. + * linker.c (_bfd_generic_link_hide_symbol): Likewise. + (bfd_link_hide_symbol): Likewise. + * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise. + * mmo.c (mmo_bfd_link_hide_symbol): Likewise. + * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise. + * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise. + * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise. + * som.c (som_bfd_link_hide_symbol): Likewise. + * srec.c (srec_bfd_link_hide_symbol): Likewise. + * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise. + * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise. + (alpha_vms_bfd_link_hide_symbol): Likewise. + * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise. + * coff64-rs6000.c (rs6000_xcoff64_vec): Add + _bfd_generic_link_hide_symbol. + (rs6000_xcoff64_aix_vec): Likewise. + * elflink.c (bfd_elf_record_link_assignment): Don't make forced + local symbol dynamic. + (_bfd_elf_link_hide_symbol): New function. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + check root.ldscript_def. + * targets.c (bfd_target): Add _bfd_link_hide_symbol. + (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2018-05-21 H.J. Lu + + PR binutils/23199 + * elf.c (setup_group): Mark section in a section group with + SHF_GROUP. + +2018-05-18 H.J. Lu + + PR ld/23194 + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + set eh->local_ref to 1 if a symbol is versioned and there is a + version script. + +2018-05-18 Kito Cheng + + * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle + EF_RISCV_RVE. + +2018-05-18 Jim Wilson + + * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_relocate_section): Don't generate dynamic relocation if + UNDEFWEAK_NO_DYNAMIC_RELOC is true. + (riscv_elf_finish_dynamic_symbol): Likewise. + +2018-05-18 John Darrington + + * Makefile.am: Add s12z files. + * Makefile.in: Regenerate. + * archures.c: Add bfd_s12z_arch. + * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24. + * bfd-in2.h: Regenerate. + * config.bfd: Add s12z target. + * configure.ac: Add s12z target. + * configure: Regenerate. + * cpu-s12z.c: New file. + * elf32-s12z.c: New file. + * libbfd.c (bfd_putb24): New function. + (bfd_putl24): New function. + * libbfd.h: Regenerate. + * reloc.c: Add s12z relocations. + (bfd_get_reloc_size): Handle size 5 relocs. + * targets.c: Add s12z_elf32_vec. + +2018-05-18 H.J. Lu + + PR ld/23189 + * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X + like R_386_GOT32. + * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't + set eh->local_ref to 1 for linker defined symbols. + +2018-05-18 Alan Modra + + PR 23199 + * elf.c (setup_group): Formatting. Check that SHT_GROUP entries + don't point at other SHT_GROUP sections. Set shdr corresponding + to invalid entry, to NULL rather than section 0. Identify + SHT_GROUP section index when reporting an error. Cope with NULL + shdr pointer. + +2018-05-18 Alan Modra + + * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout. + * configure.ac (HAVE_HIDDEN): Check compiler support for hidden + visibility. + * libbfd.h: Regenerate. + * configure: Regenerate. + * config.in: Regenerate. + +2018-05-18 Alan Modra + + * libbfd-in.h: Add include guard. + * libcoff-in.h: Likewise. + * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif. + * doc/Makefile.in: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2018-05-16 Maciej W. Rozycki + + * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'. + +2018-05-16 Alan Modra + + PR 22458 + * format.c (struct bfd_preserve): Add section_id. + (bfd_preserve_save, bfd_preserve_restore): Save and restore + _bfd_section_id. + (bfd_reinit): Set _bfd_section_id. + (bfd_check_format_matches): Put all matches of any priority into + matching_vector. Save initial section id and start each attempted + match at that section id. + * libbfd-in.h (_bfd_section_id): Declare. + * section.c (_bfd_section_id): Rename from section_id and make + global. Adjust uses. + (bfd_get_next_section_id): Delete. + * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of + bfd_get_section_id with _bfd_section_id. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2018-05-15 Christophe Guillon + + * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields + of the aux structure are initialised. + +2018-05-15 Francois H. Theron + + * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef. + +2018-05-15 Nick Clifton + + * po/pt.po: New Portuguese translation. + * configure.ac (ALL_LINGUAS): Add pt. + * configure: Regenerate. + +2018-05-14 H.J. Lu + + PR ld/23169 + * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue + an error on IFUNC pointer defined in PDE. + * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call + _bfd_x86_elf_link_fixup_ifunc_symbol. + * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. + * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New + function. + * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New. + +2018-05-14 H.J. Lu + + PR ld/23162 + * elfxx-x86.c (elf_x86_linker_defined): New function. + (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start, + _end and _edata locally defined within executables. + +2018-05-12 Alan Modra + + PR 20659 + * elf.c (rewrite_elf_program_header): Use segment_mark only for + PT_LOAD headers. Delete first_matching_lma and first_suggested_lma. + Instead make matching_lma and suggested_lma pointers to the + sections. Align section vma and lma calculated from segment. + Don't clear includes_phdrs or includes_filehdr based on p_paddr + test. Try to handle alignment padding before first section by + adjusting new segment lma down. Adjust PT_PHDR map p_paddr. + +2018-05-09 Dimitar Dimitrov + + * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation + conformant to TI ABI. + (pru_elf32_relax_section): Likewise. + (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code. + * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend. + (pru_elf32_pmem_relocate): Trap - should not get here. + (pru_elf32_relocate_section): Add support for REL relocations. + (elf_info_to_howto_rel): Enable REL. + (elf_backend_may_use_rel_p): Likewise. + (elf_backend_may_use_rela_p): Likewise. + (elf_backend_default_use_rela_p): Likewise. + +2018-05-09 Alan Modra + + PR 23148 + * peXXigen.c (pe_print_edata): Correct minimum size. + +2018-05-09 Alan Modra + + PR 23147 + * peXXigen.c (pe_print_idata): Bound check hint_addr. + +2018-05-08 Nick Clifton + + PR 22809 + * elf.c (bfd_elf_get_str_section): Check for an excessively large + string section. + * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the + attribute section is larger than the size of the file. + +2018-05-07 Alan Modra + + * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than + strncmp when checking for ".bf" special symbol. + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags + section name a char array, remove sentinal known_sections entry, + and adjust loop over known_sections to suit. Use memcmp rather + than strncmp. + +2018-05-04 Alan Modra + + * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32), + (struct elf_external_linux_prpsinfo32_ugid16), + (struct elf_external_linux_prpsinfo64_ugid32), + (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING + to pr_fname and pr_psargs fields. Remove GCC diagnostic pragmas. + Move comment to.. + * elf.c (elfcore_write_prpsinfo): ..here. Indent nested preprocessor + directives. + * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING + to data. + * elf32-ppc.c (ppc_elf_write_core_note): Likewise. + * elf32-s390.c (elf_s390_write_core_note): Likewise. + * elf64-s390.c (elf_s390_write_core_note): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise. + * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic + pragmas. + * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid + false positive gcc-8 warning. + * cofflink.c (_bfd_coff_link_input_bfd): Likewise. + +2018-05-04 Tulio Magno Quites Machado Filho + + * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order + of arguments when warning about different long double types. + +2018-05-03 Simon Atanasyan + + * elf32-mips.c: (elf32_mips_fixup_symbol): New function. + (elf_backend_fixup_symbol): New macro. + * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp + handling. + (_bfd_mips_elf_finish_dynamic_symbol): Likewise. + +2018-04-30 Francois H. Theron + + * Makefile.am: Added NFP files to build. + * archures.c: Added bfd_arch_nfp + * config.bfd: Added NFP support. + * configure.ac: Added NFP support. + * cpu-nfp.c: New, for NFP support. + * elf-bfd.h: Added elf_section_info() + * elf64-nfp.c: New, for NFP support. + * po/SRC-POTFILES.in: Added NFP source files. + * targets.c: Added nfp_elf64_vec + * bfd-in2.h: Regenerate. + * Makefile.in: Regenerate. + * configure: Regenerate. + +2018-04-27 Alan Modra + + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2018-04-27 Alan Modra + + PR 23123 + PR 22374 + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt + relocs for ifuncs. + * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes. + +2018-04-26 Pedro Alves + + * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider + ifunc and non-ifunc symbols duplicates. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New. + (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case. + (elf32_arm_populate_plt_entry): Likewise. + (elf32_arm_output_plt_map_1): Likewise. + (elf32_arm_output_arch_local_syms): Likewise. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle + _GLOBAL_OFFSET_TABLE_ in FDPIC mode. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case + for R_ARM_TARGET2. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (DEFAULT_STACK_SIZE): New. + (elf32_arm_always_size_sections): Create stack segment. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC) + (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New + relocations. + * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC, + R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations. + (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC, + R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC. + (struct elf32_arm_link_hash_table): Update comment. + (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations. + (IS_ARM_TLS_RELOC): Likewise. + (elf32_arm_check_relocs): Likewise. + (allocate_dynrelocs_for_symbol): Likewise. + (elf32_arm_size_dynamic_sections): Update comment. + * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC, + BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (elf32_arm_fdpic_plt_entry): New. + (elf32_arm_create_dynamic_sections): Handle FDPIC. + (elf32_arm_allocate_plt_entry): Likewise. + (elf32_arm_populate_plt_entry): Likewise. + (elf32_arm_output_plt_map_1): Likewise. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (struct fdpic_local): New. + (elf_arm_obj_tdata): Add local_fdpic_cnts field. + (elf32_arm_local_fdpic_cnts): New. + (struct fdpic_global): New. + (elf32_arm_link_hash_entry): Add fdpic_cnts field. + (elf32_arm_link_hash_table): Add srofixup field. + (arm_elf_add_rofixup): New. + (arm_elf_fill_funcdesc): New. + (elf32_arm_link_hash_newfunc): Handle fdpic_cnts. + (elf32_arm_allocate_local_sym_info): Likewise. + (create_got_section): Create .rofixup section. + (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts. + (bfd_elf32_arm_set_target_params): Handle FDPIC. + (elf32_arm_final_link_relocate): Likewise. + (elf32_arm_check_relocs): Likewise. + (allocate_dynrelocs_for_symbol): Likewise. + (elf32_arm_size_dynamic_sections): Likewise. + (elf32_arm_finish_dynamic_sections): Likewise. + (elf32_arm_output_arch_local_syms): Likewise. + (elf32_arm_fdpic_omit_section_dynsym): New. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * 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. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * elf32-arm.c (elf32_arm_print_private_bfd_data): Support + EF_ARM_PIC and ELFOSABI_ARM_FDPIC. + (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC. + (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC. + +2018-04-25 Christophe Lyon + Mickaël Guêné + + * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and + arm_elf32_fdpic_le_vec to targ_selvecs. Accept + arm*-*-uclinuxfdpiceabi. + * configure.ac: Add support for arm_elf32_fdpic_be_vec and + arm_elf32_fdpic_le_vec. + * configure: Regenerate. + * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p. + (elf32_arm_link_hash_table_create): Initialize fdpic_p. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM) + (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets. + (elf32_arm_fdpic_link_hash_table_create): New. + * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and + arm_elf32_fdpic_le_vec. + +2018-04-25 Alan Modra + + * elf-linux-core.h: Disable gcc-8 string truncation warning. + * elf.c (elfcore_write_prpsinfo): Likewise. + +2018-04-25 Alan Modra * Makefile.am: Remove arm-aout and arm-coff support. * config.bfd: Likewise.