Add support for files that contain multiple symbol index tables. Fixes PR 15835
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index b614e3c10de9b1e00d15a0fe92888518df761aad..bdae109a06ddfa3c6e14e003b74cdd804a573b71 100644 (file)
@@ -1,3 +1,149 @@
+2015-09-23  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/15835
+       * elf-bfd.h (struct elf_section_list): New structure.
+       (struct elf_obj_tdata): Replace symtab_shndx_hdr with
+       symtab_shndx_list.  Delete symtab_shndx_section.
+       (elf_symtab_shndx): Replace macro with elf_symtab_shndx_list.
+       * elf.c (bfd_elf_get_syms): If symtab index sections are present,
+       scan them for the section that matches the provided symbol table.
+       (bfd_section_from_shdr): Record all SHT_SYMTAB_SHNDX sections.
+       (assign_section_numbers): Use the first symtab index table in the
+       list.
+       (_bfd_elf_compute_section_file_positions): Replace use of
+       symtab_shndx_hdr with use of symtab_shndx_list.
+       (find_section_in_list): New function.
+       (assign_file_postions_except_relocs): Use new function.
+       (_bfd_elf_copy_private_symbol_data): Likewise.
+       (swap_out_syms): Handle multiple symbol table index sections.
+       * elf32-m32c.c (m32c_elf_relax_section): Replace use of
+       symtab_shndx_hdr with use of symtab_shndx_list.
+       * elf32-rl78.c (rl78_elf_relax_section): Likewise.
+       * elf32-rx.c (rx_relax_section): Likewise.
+       * elf32-v850.c (v850_elf_relax_delete_bytes): Likewise.
+       * elflink.c (bfd_elf_final_link): Likewise.
+
+2015-09-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd.c (bfd_update_compression_header): Use bfd_put_32 on
+       ch_type.
+       (bfd_check_compression_header): Use bfd_get_32 on ch_type.
+       (bfd_convert_section_contents): Use bfd_get_32 and bfd_put_32
+       on ch_type.
+
+2015-09-20  Rich Felker  <dalias@libc.org>
+
+       * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create
+       .interp when info->nointerp.
+       (bfd_elf_size_dynamic_sections): Adjust assert.
+       * elf32-arm.c (elf32_arm_size_dynamic_sections): Don't size .interp
+       when info->nointerp.
+       * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
+       * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
+       * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
+       * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
+       * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+       * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
+       * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
+       * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+       * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
+       * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
+       * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
+       * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
+       * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+       * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
+       * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
+       * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Likewise.
+       * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
+       * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
+       * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
+       * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
+       * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+       * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
+       * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
+       * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
+       * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
+
+2015-09-18  Doug Evans  <xdje42@gmail.com>
+
+       * targets.c (enum bfd_flavour): Add comment.
+       (bfd_flavour_name): New function.
+       * bfd-in2.h: Regenerate.
+
+2015-09-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.h (struct ppc64_elf_params <tls_get_addr_opt>): Rename
+       from no_tls_get_addr_opt.
+       * elf64-ppc.c: Update for rename and inversion of tls_get_addr_opt.
+       (ppc64_elf_tls_setup): Set tls_get_addr_opt to 0 only when at
+       default of -1.
+
+2015-09-17  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elflink.c (elf_link_adjust_relocs): Correct start of insertion
+       sort main loop.
+
+2015-09-16  Alan Modra  <amodra@gmail.com>
+
+       PR 18867
+       * elflink.c (elf_link_adjust_relocs): Modify insertion sort to
+       insert a run.  Return status in case of malloc failure.
+       Adjust callers.
+
+2015-09-15  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (elf_xtensa_be_plt_entry)
+       (elf_xtensa_le_plt_entry): Emit 'entry' instruction only for
+       windowed ABI.
+       (elf_xtensa_create_plt_entry): Generate 'l32r' offsets and fix
+       up instructions according to ABI.
+
+2015-09-14  Rich Felker  <dalias@libc.org>
+
+       * elf32-sh.c (sh_elf_relocate_section): Set EF_SH_PIC flag
+       instead of clearing it on cross-section relocations.
+       (sh_elf_merge_private_data): Clear EF_SH_PIC flag by default.
+
+2015-09-12  Helge Deller  <deller@gmx.de>
+
+       PR ld/18514
+       * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Set .plt entry
+       size to 0.
+
+2015-09-09  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Sort alphabetically.
+
+2015-09-09  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (aarch64_tls_transition_without_check): Support three
+       TLS local dynamic traditional relocations types.
+       (elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
+       local executable relaxation.
+
+2015-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Remove
+       convert_mov_to_lea.
+
+2015-09-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (R_386_irelative): Renamed to ...
+       (R_386_ext2): This.
+       (R_386_vt_offset): Updated.
+       (elf_i386_rtype_to_howto): Likewise.
+       (elf_i386_relocate_section): Likewise.
+
 2015-09-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/18900
This page took 0.025685 seconds and 4 git commands to generate.