1*a1ba9ba4Schristos2014-12-30 H.J. Lu <hongjiu.lu@intel.com> 2*a1ba9ba4Schristos 3*a1ba9ba4Schristos PR ld/17773 4*a1ba9ba4Schristos * elflink.c (bfd_elf_final_link): Assign the file position for 5*a1ba9ba4Schristos the symbol string table only there are symbols to be emitted. 6*a1ba9ba4Schristos 7*a1ba9ba4Schristos2014-12-28 Alan Modra <amodra@gmail.com> 8*a1ba9ba4Schristos 9*a1ba9ba4Schristos PR 17766 10*a1ba9ba4Schristos * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct string 11*a1ba9ba4Schristos length. Use memcpy rather than strcpy. 12*a1ba9ba4Schristos 13*a1ba9ba4Schristos2014-12-26 Alan Modra <amodra@gmail.com> 14*a1ba9ba4Schristos 15*a1ba9ba4Schristos PR 17755 16*a1ba9ba4Schristos * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code 17*a1ba9ba4Schristos copying SHF_SH5_ISA32. 18*a1ba9ba4Schristos 19*a1ba9ba4Schristos2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> 20*a1ba9ba4Schristos 21*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new 22*a1ba9ba4Schristos Tag_ABI_VFP_args value and replace hardcoded values by enum values. 23*a1ba9ba4Schristos (elf32_arm_post_process_headers): Set e_flags in ELF header as hard 24*a1ba9ba4Schristos float only when Tag_ABI_VFP_args is 1, using new enum value 25*a1ba9ba4Schristos AEABI_VFP_args_vfp to check that. 26*a1ba9ba4Schristos 27*a1ba9ba4Schristos2014-12-24 H.J. Lu <hongjiu.lu@intel.com> 28*a1ba9ba4Schristos 29*a1ba9ba4Schristos * pei-x86_64.c (pex64_bfd_print_pdata_section): Add cast to 30*a1ba9ba4Schristos unsigned long. 31*a1ba9ba4Schristos 32*a1ba9ba4Schristos2014-12-24 Pierre Muller <muller@sourceware.org> 33*a1ba9ba4Schristos 34*a1ba9ba4Schristos Add support for pdata output for pe coff objects. 35*a1ba9ba4Schristos * pe-x86_64.c (pex64_bfd_print_pdata): Add external 36*a1ba9ba4Schristos declaration. 37*a1ba9ba4Schristos (bfd_pe_print_data): Set macro to pex64_bfd_print_data. 38*a1ba9ba4Schristos * pei-x86_64.c (pex64_bfd_print_pdata): Changed to 39*a1ba9ba4Schristos global function. Now handles multiple .pdata sections. 40*a1ba9ba4Schristos (pex_bfd_print_pdata_section): New static helper function, 41*a1ba9ba4Schristos using most of old pex_bfd_print_pdata function code, but adding 42*a1ba9ba4Schristos support for coff pe objects, which might have some fields 43*a1ba9ba4Schristos starting at zero offset. 44*a1ba9ba4Schristos (pex64_print_all_pdata_sections) : New static helper function, 45*a1ba9ba4Schristos used in call to bfd_map_over_sections inside new 46*a1ba9ba4Schristos pex66_bfd_print_pdata function. 47*a1ba9ba4Schristos (bfd_boolean pdata_count): New static variable, used to return 48*a1ba9ba4Schristos bfd_boolean value for pex64_bfd_print_pdata function. 49*a1ba9ba4Schristos 50*a1ba9ba4Schristos2014-12-24 Alan Modra <amodra@gmail.com> 51*a1ba9ba4Schristos 52*a1ba9ba4Schristos * linker.c (_bfd_generic_link_output_symbols): Remove BSF_WEAK 53*a1ba9ba4Schristos flag from bfd_link_hash_defined symbols. 54*a1ba9ba4Schristos 55*a1ba9ba4Schristos2014-12-23 Andrew Burgess <andrew.burgess@embecosm.com> 56*a1ba9ba4Schristos 57*a1ba9ba4Schristos * elf32-avr.c (bfd_elf_avr_final_write_processing): Don't set 58*a1ba9ba4Schristos EF_AVR_LINKRELAX_PREPARED unconditionally. 59*a1ba9ba4Schristos 60*a1ba9ba4Schristos2014-12-23 Alan Modra <amodra@gmail.com> 61*a1ba9ba4Schristos 62*a1ba9ba4Schristos * elflink.c (_bfd_elf_define_linkage_sym): Set linker_def. 63*a1ba9ba4Schristos * linker.c (_bfd_generic_link_add_one_symbol): Clear linker_def 64*a1ba9ba4Schristos for CDEF, DEF, DEFW, COM. 65*a1ba9ba4Schristos 66*a1ba9ba4Schristos2014-12-22 Nick Clifton <nickc@redhat.com> 67*a1ba9ba4Schristos 68*a1ba9ba4Schristos PR binutils/17512 69*a1ba9ba4Schristos * archive.c (do_slurp_bsd_armap): Return if the parsed_size is 70*a1ba9ba4Schristos zero. 71*a1ba9ba4Schristos (bfd_slurp_armap): Zero terminate the name. 72*a1ba9ba4Schristos (bfd_generic_stat_arch_elt): If there is no header, fail. 73*a1ba9ba4Schristos * elf32-arc.c (arc_info_to_howto_rel): Replace BFD_ASSERT with 74*a1ba9ba4Schristos error message. 75*a1ba9ba4Schristos * elf32-avr.c (avr_info_to_howto_rela): Likewise. 76*a1ba9ba4Schristos * elf32-cr16c.c (elf_cr16c_info_to_howto_rel): Likewise. 77*a1ba9ba4Schristos * elf32-cris.c (cris_info_to_howto_rela): Likewise. 78*a1ba9ba4Schristos * elf32-d10v.c (d10v_info_to_howto_rel): Likewise. 79*a1ba9ba4Schristos * elf32-d30v.c (d30v_info_to_howto_rel): Likewise. 80*a1ba9ba4Schristos * elf32-dlx.c (dlx_rtype_to_howto): Likewise. 81*a1ba9ba4Schristos * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise. 82*a1ba9ba4Schristos * elf32-fr30.c (fr30_info_to_howto_rela): Likewise. 83*a1ba9ba4Schristos * elf32-frv.c (frv_info_to_howto_rela): Likewise. 84*a1ba9ba4Schristos * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise. 85*a1ba9ba4Schristos * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise. 86*a1ba9ba4Schristos * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise. 87*a1ba9ba4Schristos * elf32-lm32.c (lm32_info_to_howto_rela): Likewise. 88*a1ba9ba4Schristos * elf32-m32c.c (m32c_info_to_howto_rela): Likewise. 89*a1ba9ba4Schristos * elf32-m32r.c (m32r_info_to_howto_rel): Likewise. 90*a1ba9ba4Schristos * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise. 91*a1ba9ba4Schristos * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise. 92*a1ba9ba4Schristos * elf32-mep.c (mep_info_to_howto_rela): Likewise. 93*a1ba9ba4Schristos * elf32-metag.c (metag_info_to_howto_rela): Likewise. 94*a1ba9ba4Schristos * elf32-moxie.c (moxie_info_to_howto_rela): Likewise. 95*a1ba9ba4Schristos * elf32-msp430.c (msp430_info_to_howto_rela): Likewise. 96*a1ba9ba4Schristos * elf32-mt.c (mt_info_to_howto_rela): Likewise. 97*a1ba9ba4Schristos * elf32-nds32.c (nds32_info_to_howto_rel): Likewise. 98*a1ba9ba4Schristos * elf32-or1k.c (or1k_info_to_howto_rela): Likewise. 99*a1ba9ba4Schristos * elf32-rl78.c (rl78_info_to_howto_rela): Likewise. 100*a1ba9ba4Schristos * elf32-rx.c (rx_info_to_howto_rela): Likewise. 101*a1ba9ba4Schristos * elf32-v850.c (v850_elf_info_to_howto_rel): Likewise. 102*a1ba9ba4Schristos * elf32-visium.c (visium_info_to_howto_rela): Likewise. 103*a1ba9ba4Schristos * elf32-xgate.c (xgate_info_to_howto_rel): Likewise. 104*a1ba9ba4Schristos * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise. 105*a1ba9ba4Schristos * elf64-mmix.c (mmix_info_to_howto_rela): Likewise. 106*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_reloc_type_lookup): Likewise. 107*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_bfd_reloc_from_type): Likewise. 108*a1ba9ba4Schristos * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Add range 109*a1ba9ba4Schristos checking of reloc symbol index. 110*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_canonicalize_one_reloc): If no symbols have 111*a1ba9ba4Schristos been provided then set the reloc's symbol to undefined. 112*a1ba9ba4Schristos * reloc.c (bfd_generic_get_relocated_section_contents): Add range 113*a1ba9ba4Schristos checking of the reloc to be applied. 114*a1ba9ba4Schristos * versados.c (process_otr): Add more range checks. 115*a1ba9ba4Schristos (versados_canonicalize_reloc): If the section is unknown, set the 116*a1ba9ba4Schristos symbol to undefined. 117*a1ba9ba4Schristos * vms-alpha.c (_bfd_vms_slurp_eisd): Add range checks. 118*a1ba9ba4Schristos (alpha_vms_object_p): Likewise. 119*a1ba9ba4Schristos 120*a1ba9ba4Schristos2014-12-18 Richard Henderson <rth@redhat.com> 121*a1ba9ba4Schristos 122*a1ba9ba4Schristos * elf32-ppc.c (ELF_COMMONPAGESIZE): Set to 64k. 123*a1ba9ba4Schristos * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. 124*a1ba9ba4Schristos 125*a1ba9ba4Schristos2014-12-16 Nick Clifton <nickc@redhat.com> 126*a1ba9ba4Schristos 127*a1ba9ba4Schristos PR binutils/17512 128*a1ba9ba4Schristos * format.c (bfd_check_format_matches): Check for a matching vector 129*a1ba9ba4Schristos before using match priorities. 130*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Fix off-by-one 131*a1ba9ba4Schristos errors with previous delta. 132*a1ba9ba4Schristos 133*a1ba9ba4Schristos2014-12-15 H.J. Lu <hongjiu.lu@intel.com> 134*a1ba9ba4Schristos 135*a1ba9ba4Schristos PR ld/17713 136*a1ba9ba4Schristos * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. 137*a1ba9ba4Schristos 138*a1ba9ba4Schristos2014-12-13 H.J. Lu <hongjiu.lu@intel.com> 139*a1ba9ba4Schristos 140*a1ba9ba4Schristos PR ld/17689 141*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add needs_copy. 142*a1ba9ba4Schristos Change has_bnd_reloc to bit field. 143*a1ba9ba4Schristos (elf_x86_64_link_hash_newfunc): Initialize needs_copy and 144*a1ba9ba4Schristos has_bnd_reloc to 0. 145*a1ba9ba4Schristos (elf_x86_64_check_relocs): Set has_bnd_reloc to 1 instead 146*a1ba9ba4Schristos of TRUE. 147*a1ba9ba4Schristos (elf_x86_64_adjust_dynamic_symbol): Copy needs_copy from the 148*a1ba9ba4Schristos real definition to a weak symbol. 149*a1ba9ba4Schristos (elf_x86_64_allocate_dynrelocs): Also check needs_copy of a 150*a1ba9ba4Schristos weak symbol for PIE when discarding space for relocs against 151*a1ba9ba4Schristos symbols which turn out to need copy relocs. 152*a1ba9ba4Schristos (elf_x86_64_relocate_section): Also check needs_copy of a 153*a1ba9ba4Schristos weak symbol for PIE with copy reloc. 154*a1ba9ba4Schristos 155*a1ba9ba4Schristos2014-12-12 Alan Modra <amodra@gmail.com> 156*a1ba9ba4Schristos 157*a1ba9ba4Schristos PR 15228 158*a1ba9ba4Schristos * elflink.c (_bfd_elf_adjust_dynamic_copy): Call bfd_set_error. 159*a1ba9ba4Schristos 160*a1ba9ba4Schristos2014-12-12 Alan Modra <amodra@gmail.com> 161*a1ba9ba4Schristos 162*a1ba9ba4Schristos PR 15228 163*a1ba9ba4Schristos * elflink.c (_bfd_elf_adjust_dynamic_copy): Add "info" param. 164*a1ba9ba4Schristos Error on copy relocs against protected symbols. 165*a1ba9ba4Schristos (elf_merge_st_other): Set h->protected_def. 166*a1ba9ba4Schristos * elf-bfd.h (struct elf_link_hash_entry): Add "protected_def". 167*a1ba9ba4Schristos (_bfd_elf_adjust_dynamic_copy): Update prototype. 168*a1ba9ba4Schristos * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Update 169*a1ba9ba4Schristos _bfd_elf_adjust_dynamic_copy call. 170*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise. 171*a1ba9ba4Schristos * elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise. 172*a1ba9ba4Schristos * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise. 173*a1ba9ba4Schristos * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise. 174*a1ba9ba4Schristos * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise. 175*a1ba9ba4Schristos * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise. 176*a1ba9ba4Schristos * elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise. 177*a1ba9ba4Schristos * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise. 178*a1ba9ba4Schristos * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. 179*a1ba9ba4Schristos * elf32-metag.c (elf_metag_adjust_dynamic_symbol): Likewise. 180*a1ba9ba4Schristos * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Likewise. 181*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. 182*a1ba9ba4Schristos * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 183*a1ba9ba4Schristos * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise. 184*a1ba9ba4Schristos * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise. 185*a1ba9ba4Schristos * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise. 186*a1ba9ba4Schristos * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise. 187*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 188*a1ba9ba4Schristos * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise. 189*a1ba9ba4Schristos * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise. 190*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise. 191*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Likewise. 192*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. 193*a1ba9ba4Schristos * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise. 194*a1ba9ba4Schristos * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise. 195*a1ba9ba4Schristos 196*a1ba9ba4Schristos2014-12-11 Keith Seitz <keiths@redhat.com> 197*a1ba9ba4Schristos 198*a1ba9ba4Schristos * elf.c (elf_parse_notes): Define convenience macro 199*a1ba9ba4Schristos GROKER_ELEMENT to add elements to 'grokers' array. 200*a1ba9ba4Schristos Add 'len' element to 'grokers'. 201*a1ba9ba4Schristos Use grokers.len instead of sizeof in string 202*a1ba9ba4Schristos comparisons. 203*a1ba9ba4Schristos 204*a1ba9ba4Schristos2014-12-10 Alan Modra <amodra@gmail.com> 205*a1ba9ba4Schristos 206*a1ba9ba4Schristos * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 207*a1ba9ba4Schristos and coffgen. Add coff-bfd. Sort. 208*a1ba9ba4Schristos (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. 209*a1ba9ba4Schristos * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. 210*a1ba9ba4Schristos (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. 211*a1ba9ba4Schristos * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, 212*a1ba9ba4Schristos without unused param. Update uses. 213*a1ba9ba4Schristos (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. 214*a1ba9ba4Schristos (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. 215*a1ba9ba4Schristos * libcoff-in.h: #include "coff-bfd.h". 216*a1ba9ba4Schristos (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. 217*a1ba9ba4Schristos (coff_symbol_from): Delete. 218*a1ba9ba4Schristos * coff-bfd.c: New file. 219*a1ba9ba4Schristos * coff-bfd.h: New file. 220*a1ba9ba4Schristos * coff-i386.c: Update coff_symbol_from occurrences. 221*a1ba9ba4Schristos * coff-i960.c: Likewise. 222*a1ba9ba4Schristos * coff-m68k.c: Likewise. 223*a1ba9ba4Schristos * coff-sh.c: Likewise. 224*a1ba9ba4Schristos * coff-x86_64.c: Likewise. 225*a1ba9ba4Schristos * coffcode.h: Likewise. 226*a1ba9ba4Schristos * pe-mips.c: Likewise. 227*a1ba9ba4Schristos * configure.ac (elf): Add dwarf2.lo. 228*a1ba9ba4Schristos (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd 229*a1ba9ba4Schristos target vectors to .o files. Add dwarf2 for mach-o targets. 230*a1ba9ba4Schristos Fix the sh target FIXME. 231*a1ba9ba4Schristos * po/SRC-POTFILES.in: Regenerate. 232*a1ba9ba4Schristos * Makefile.in: Regenerate. 233*a1ba9ba4Schristos * configure: Regenerate. 234*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 235*a1ba9ba4Schristos * libcoff.h: Regenerate. 236*a1ba9ba4Schristos 237*a1ba9ba4Schristos2014-12-10 Alan Modra <amodra@gmail.com> 238*a1ba9ba4Schristos 239*a1ba9ba4Schristos PR 17541 240*a1ba9ba4Schristos * dwarf2.c (struct comp_unit): Add "lang". 241*a1ba9ba4Schristos (non_mangled): New function. 242*a1ba9ba4Schristos (struct funcinfo): Add "is_linkage". Reorder for better packing. 243*a1ba9ba4Schristos Make "name" a const char*. 244*a1ba9ba4Schristos (lookup_address_in_function_table): Delete functionname_ptr param. 245*a1ba9ba4Schristos (find_abstract_instance_name): Add is_linkage param. Set if we 246*a1ba9ba4Schristos have DW_AT_linkage_name or non_mangled DW_AT_name. 247*a1ba9ba4Schristos (scan_unit_for_symbols): Similarly set func->is_linkage. 248*a1ba9ba4Schristos (parse_comp_unit): Stash DW_AT_language. 249*a1ba9ba4Schristos (comp_unit_find_nearest_line): Replace functionname_ptr param 250*a1ba9ba4Schristos with function_ptr param. 251*a1ba9ba4Schristos (_bfd_dwarf2_find_nearest_line): Adjust above calls. Set 252*a1ba9ba4Schristos functionname_ptr from function->name. Call _bfd_elf_find_function 253*a1ba9ba4Schristos to retrieve symbol for function if not linkage name. 254*a1ba9ba4Schristos (_bfd_elf_find_function): Add bfd_target_elf_flavour test, moved from.. 255*a1ba9ba4Schristos * elf.c (elf_find_function): ..here. 256*a1ba9ba4Schristos (_bfd_elf_find_nearest_line): Adjust calls. 257*a1ba9ba4Schristos * elf-bfd.h (_bfd_elf_find_function): Declare. 258*a1ba9ba4Schristos 259*a1ba9ba4Schristos2014-12-10 Alan Modra <amodra@gmail.com> 260*a1ba9ba4Schristos 261*a1ba9ba4Schristos * dwarf2.c (read_address): Check bfd_target_elf_flavour before 262*a1ba9ba4Schristos calling get_elf_backend_data. 263*a1ba9ba4Schristos (_bfd_dwarf2_find_nearest_line): Fix parens. 264*a1ba9ba4Schristos 265*a1ba9ba4Schristos2014-12-10 Alan Modra <amodra@gmail.com> 266*a1ba9ba4Schristos 267*a1ba9ba4Schristos PR 17666 268*a1ba9ba4Schristos * elf-bfd.h (struct elf_backend_data): Add sort_relocs_p. 269*a1ba9ba4Schristos * elfxx-target.h (elf_backend_sort_relocs_p): Define. 270*a1ba9ba4Schristos (elfNN_bed): Init new field. 271*a1ba9ba4Schristos * elflink.c (elf_link_adjust_relocs): Conditionally sort. 272*a1ba9ba4Schristos (bfd_elf_final_link): Control sorting of relocs. 273*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_sort_relocs_p): New function. 274*a1ba9ba4Schristos * elfxx-mips.h (_bfd_mips_elf_sort_relocs_p): Declare. 275*a1ba9ba4Schristos * elf32-mips.c (elf_backend_sort_relocs_p): Define. 276*a1ba9ba4Schristos * elf64-mips.c (elf_backend_sort_relocs_p): Define. 277*a1ba9ba4Schristos 278*a1ba9ba4Schristos2014-12-09 Nick Clifton <nickc@redhat.com> 279*a1ba9ba4Schristos 280*a1ba9ba4Schristos PR binutils/17512 281*a1ba9ba4Schristos * archive64.c (bfd_elf64_archive_slurp_armap): Add range checks. 282*a1ba9ba4Schristos * libbfd.c (safe_read_leb128): New function. 283*a1ba9ba4Schristos * libbfd-in.h (safe_read_leb128): Add prototype. 284*a1ba9ba4Schristos * libbfd.h: Regenerate. 285*a1ba9ba4Schristos * elf-attrs.c (_bfd_elf_parse_attributes): Use safe_read_leb128. 286*a1ba9ba4Schristos Check for an over-long subsection length. 287*a1ba9ba4Schristos * elf.c (elf_parse_notes): Check that the namedata is long enough 288*a1ba9ba4Schristos for the string comparison that is about to be performed. 289*a1ba9ba4Schristos (elf_read_notes): Zero-terminate the note buffer. 290*a1ba9ba4Schristos 291*a1ba9ba4Schristos2014-12-09 Alan Modra <amodra@gmail.com> 292*a1ba9ba4Schristos 293*a1ba9ba4Schristos * elf64-ppc.c (sort_r_offset): Delete. 294*a1ba9ba4Schristos (ppc64_elf_edit_opd): Don't sort input relocs. 295*a1ba9ba4Schristos 296*a1ba9ba4Schristos2014-12-06 Eric Botcazou <ebotcazou@adacore.com> 297*a1ba9ba4Schristos 298*a1ba9ba4Schristos * config.bfd: Add Visium support. 299*a1ba9ba4Schristos * configure.ac: Likewise. 300*a1ba9ba4Schristos * configure: Regenerate. 301*a1ba9ba4Schristos * Makefile.am (ALL_MACHINES): Add cpu-visium.lo. 302*a1ba9ba4Schristos (ALL_MACHINES_CFILES): Add cpu-visium.c. 303*a1ba9ba4Schristos (BFD32_BACKENDS): Add elf32-visium.lo. 304*a1ba9ba4Schristos (BFD32_BACKENDS_CFILES): Add elf32-visium.c. 305*a1ba9ba4Schristos * Makefile.in: Regenerate. 306*a1ba9ba4Schristos * archures.c (DESCRIPTION): Add Visium support. 307*a1ba9ba4Schristos (bfd_visium_arch): Declare. 308*a1ba9ba4Schristos (bfd_archures_list): Add bfd_visium_arch. 309*a1ba9ba4Schristos * reloc.c: Add Visium relocations. 310*a1ba9ba4Schristos * targets.c (visium_elf32_vec): Declare. 311*a1ba9ba4Schristos (_bfd_target_vector): Add visium_elf32_vec. 312*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 313*a1ba9ba4Schristos * libbfd.h: Likewise. 314*a1ba9ba4Schristos * cpu-visium.c: New file. 315*a1ba9ba4Schristos * elf32-visium.c: Likewise. 316*a1ba9ba4Schristos * po/SRC-POTFILES.in: Regenerate. 317*a1ba9ba4Schristos 318*a1ba9ba4Schristos2014-12-05 Steve Ellcey <sellcey@mips.com> 319*a1ba9ba4Schristos 320*a1ba9ba4Schristos * ecoff.c (_bfd_ecoff_slurp_symbol_table): Add cast. 321*a1ba9ba4Schristos 322*a1ba9ba4Schristos2014-12-05 H.J. Lu <hongjiu.lu@intel.com> 323*a1ba9ba4Schristos 324*a1ba9ba4Schristos * elf64-x86-64.c (bfd_elf32_get_synthetic_symtab): New. 325*a1ba9ba4Schristos 326*a1ba9ba4Schristos2014-12-04 H.J. Lu <hongjiu.lu@intel.com> 327*a1ba9ba4Schristos 328*a1ba9ba4Schristos PR binutils/17677 329*a1ba9ba4Schristos * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): New prototype. 330*a1ba9ba4Schristos * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): New 331*a1ba9ba4Schristos function. 332*a1ba9ba4Schristos * elf32-i386.c (elf_i386_plt_sym_val): Removed. 333*a1ba9ba4Schristos (elf_backend_plt_sym_val): Likewise. 334*a1ba9ba4Schristos (elf_i386_get_plt_sym_val): New. 335*a1ba9ba4Schristos (elf_i386_get_synthetic_symtab): Likewise. 336*a1ba9ba4Schristos (bfd_elf32_get_synthetic_symtab): Likewise. 337*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_plt_sym_val): Removed. 338*a1ba9ba4Schristos (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. 339*a1ba9ba4Schristos (elf_backend_plt_sym_val): Likewise. 340*a1ba9ba4Schristos (elf_x86_64_get_plt_sym_val): New. 341*a1ba9ba4Schristos (elf_x86_64_get_synthetic_symtab): Use 342*a1ba9ba4Schristos _bfd_elf_ifunc_get_synthetic_symtab. 343*a1ba9ba4Schristos (bfd_elf64_get_synthetic_symtab): Don't undefine for NaCl. 344*a1ba9ba4Schristos 345*a1ba9ba4Schristos2014-12-04 Alan Modra <amodra@gmail.com> 346*a1ba9ba4Schristos 347*a1ba9ba4Schristos PR 17666 348*a1ba9ba4Schristos * elflink.c: Include bfd_stdint.h. 349*a1ba9ba4Schristos (cmp_ext32l_r_offset, cmp_ext32b_r_offset, 350*a1ba9ba4Schristos cmp_ext64l_r_offset, cmp_ext64b_r_offset): New functions. 351*a1ba9ba4Schristos (elf_link_adjust_relocs): Sort relocs. Free rel hashes after 352*a1ba9ba4Schristos sorting invalidates. 353*a1ba9ba4Schristos 354*a1ba9ba4Schristos2014-12-03 Nick Clifton <nickc@redhat.com> 355*a1ba9ba4Schristos 356*a1ba9ba4Schristos PR binutils/17512 357*a1ba9ba4Schristos * compress.c (bfd_get_full_section_contents): Fail if there are no 358*a1ba9ba4Schristos section contents available when the compress_status is 359*a1ba9ba4Schristos COMPRESS_SECTION_DONE. 360*a1ba9ba4Schristos * libbfd.c (bfd_malloc): Refuse to allocate a negative size. 361*a1ba9ba4Schristos (bfd_malloc2): Use bfd_malloc. 362*a1ba9ba4Schristos (bfd_realloc): Refuse to reallocate a negative size. 363*a1ba9ba4Schristos (bfd_realloc2): Use bfd_realloc. 364*a1ba9ba4Schristos (bfd_realloc_or_free): Use bfd_realloc. 365*a1ba9ba4Schristos (bfd_zmalloc): Use bfd_malloc. 366*a1ba9ba4Schristos (bfd_zmalloc): Use bfd_malloc2. 367*a1ba9ba4Schristos * opncls.c (bfd_alloc): Refuse to allocate a negative size. 368*a1ba9ba4Schristos 369*a1ba9ba4Schristos2014-12-03 H.J. Lu <hongjiu.lu@intel.com> 370*a1ba9ba4Schristos 371*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Reformat. 372*a1ba9ba4Schristos 373*a1ba9ba4Schristos2014-12-02 H.J. Lu <hongjiu.lu@intel.com> 374*a1ba9ba4Schristos 375*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Check 376*a1ba9ba4Schristos info->executable for symbols which need copy relocs. 377*a1ba9ba4Schristos 378*a1ba9ba4Schristos2014-12-02 H.J. Lu <hongjiu.lu@intel.com> 379*a1ba9ba4Schristos 380*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Revert the last 381*a1ba9ba4Schristos change. 382*a1ba9ba4Schristos (elf_x86_64_adjust_dynamic_symbol): Don't check !info->shared 383*a1ba9ba4Schristos with ELIMINATE_COPY_RELOCS. 384*a1ba9ba4Schristos (elf_x86_64_allocate_dynrelocs): For PIE, discard space for 385*a1ba9ba4Schristos relocs against symbols which turn out to need copy relocs. 386*a1ba9ba4Schristos 387*a1ba9ba4Schristos2014-12-02 H.J. Lu <hongjiu.lu@intel.com> 388*a1ba9ba4Schristos 389*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Always 390*a1ba9ba4Schristos allow copy relocs for building executables. 391*a1ba9ba4Schristos (elf_x86_64_check_relocs): Allow copy relocs for non-GOT 392*a1ba9ba4Schristos pc-relative relocation in shared object. 393*a1ba9ba4Schristos (elf_x86_64_adjust_dynamic_symbol): Allocate copy relocs for 394*a1ba9ba4Schristos PIE. 395*a1ba9ba4Schristos (elf_x86_64_relocate_section): Don't copy a pc-relative 396*a1ba9ba4Schristos relocation into the output file if the symbol needs copy reloc. 397*a1ba9ba4Schristos 398*a1ba9ba4Schristos2014-12-02 Andrew Bennett <andrew.bennett@imgtec.com> 399*a1ba9ba4Schristos 400*a1ba9ba4Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Only check for 401*a1ba9ba4Schristos overflow on non-weak undefined symbols. 402*a1ba9ba4Schristos 403*a1ba9ba4Schristos2014-12-02 Alan Modra <amodra@gmail.com> 404*a1ba9ba4Schristos 405*a1ba9ba4Schristos * elf64-ppc.c (OPD_NDX): Define. Use throughout for sizing/indexing 406*a1ba9ba4Schristos _opd_sec_data array, halving required memory. 407*a1ba9ba4Schristos (sort_r_offset): New function. 408*a1ba9ba4Schristos (ppc64_elf_edit_opd): Sort incoming relocs. Accept .opd 409*a1ba9ba4Schristos sections with a mix of 16 and 24 byte OPD entries. Don't 410*a1ba9ba4Schristos attempt to honour --non-overlapping-opd for .opd sections with 411*a1ba9ba4Schristos unexpected relocs. Simplify opd entry size calculations by 412*a1ba9ba4Schristos first finding the reloc for the next entry. Make edit loop 413*a1ba9ba4Schristos handle one opd entry per iteration, with an inner loop 414*a1ba9ba4Schristos handling relocs per entry. 415*a1ba9ba4Schristos 416*a1ba9ba4Schristos2014-12-01 Nick Clifton <nickc@redhat.com> 417*a1ba9ba4Schristos 418*a1ba9ba4Schristos PR binutils/17512 419*a1ba9ba4Schristos * archive.c (do_slurp_coff_armap): Add range checks to prevent 420*a1ba9ba4Schristos running off the end of the string table. 421*a1ba9ba4Schristos * compress.c (bfd_get_full_section_contents): Return a NULL 422*a1ba9ba4Schristos pointer for zero sized sections. Do not attempt to copy a buffer 423*a1ba9ba4Schristos onto itself. 424*a1ba9ba4Schristos * elf-attrs.c (_bfd_elf_parse_attributes): Check for an empty 425*a1ba9ba4Schristos header. Add range checks to avoid running off the end of the 426*a1ba9ba4Schristos section. 427*a1ba9ba4Schristos * elf.c (bfd_elf_get_str_section): Seek before allocating so that 428*a1ba9ba4Schristos if the seek fails, no memory is allocated. 429*a1ba9ba4Schristos (bfd_elf_string_from_elf_section): Do not allocate a string from a 430*a1ba9ba4Schristos non string section. It only leads to trouble later on. 431*a1ba9ba4Schristos (_bfd_elf_print_private_bfd_data): Check for there being too 432*a1ba9ba4Schristos little external dynamic data. 433*a1ba9ba4Schristos (bfd_section_from_shdr): Replace assertion with a failure mode. 434*a1ba9ba4Schristos (bfd_section_from_shdr): When walking a loaded group section use 435*a1ba9ba4Schristos the internal structure size, not the external size. Check for the 436*a1ba9ba4Schristos group section being empty. 437*a1ba9ba4Schristos * elf32-i386.c (elf_i386_rtype_to_howto): Replace assertion with a 438*a1ba9ba4Schristos failure mode. 439*a1ba9ba4Schristos * elfcode.h (elf_slurp_reloc_table): Likewise. 440*a1ba9ba4Schristos * reloc.c (bfd_perform_relocation): Avoid seg-fault if the howto 441*a1ba9ba4Schristos parameter is NULL. 442*a1ba9ba4Schristos 443*a1ba9ba4Schristos2014-11-30 Alan Modra <amodra@gmail.com> 444*a1ba9ba4Schristos 445*a1ba9ba4Schristos PR 16452, 16457 446*a1ba9ba4Schristos * elflink.c (_bfd_elf_link_find_version_dependencies): Exclude 447*a1ba9ba4Schristos symbols from libraries that won't be listed in DT_NEEDED. 448*a1ba9ba4Schristos (elf_link_output_extsym): Don't output verdefs for such symbols. 449*a1ba9ba4Schristos 450*a1ba9ba4Schristos2014-11-28 Alan Modra <amodra@gmail.com> 451*a1ba9ba4Schristos 452*a1ba9ba4Schristos * elf.c (_bfd_elf_slurp_version_tables): Exit loops when vn_next/ 453*a1ba9ba4Schristos vna_next/vd_next/vda_next is zero. Correct counts. 454*a1ba9ba4Schristos 455*a1ba9ba4Schristos2014-11-27 Nick Clifton <nickc@redhat.com> 456*a1ba9ba4Schristos 457*a1ba9ba4Schristos PR binutils/17512 458*a1ba9ba4Schristos * ecoff.c (_bfd_ecoff_slurp_symbol_table): Warn about and correct 459*a1ba9ba4Schristos a discrepancy between the isymMax and ifdMax values in the 460*a1ba9ba4Schristos symbolic header. 461*a1ba9ba4Schristos * elf.c (_bfd_elf_print_private_bfd_data): Fix the range check 462*a1ba9ba4Schristos scanning the external dynamic entries. 463*a1ba9ba4Schristos 464*a1ba9ba4Schristos2014-11-26 Nick Clifton <nickc@redhat.com> 465*a1ba9ba4Schristos 466*a1ba9ba4Schristos PR binutils/17512 467*a1ba9ba4Schristos * coff-h8300.c (rtype2howto): Replace abort with returning a NULL 468*a1ba9ba4Schristos value. 469*a1ba9ba4Schristos * coff-h8500.c (rtype2howto): Likewise. 470*a1ba9ba4Schristos * coff-tic30.c (rtype2howto): Likewise. 471*a1ba9ba4Schristos * coff-z80.c (rtype2howto): Likewise. 472*a1ba9ba4Schristos * coff-z8k.c (rtype2howto): Likewise. 473*a1ba9ba4Schristos * coff-ia64.c (RTYPE2HOWTO): Always return a valid howto. 474*a1ba9ba4Schristos * coff-m68k.c (m68k_rtype2howto): Return a NULL howto if none 475*a1ba9ba4Schristos could be found. 476*a1ba9ba4Schristos * coff-mcore.c (RTYPE2HOWTO): Add range checking. 477*a1ba9ba4Schristos * coff-w65.c (rtype2howto): Likewise. 478*a1ba9ba4Schristos * coff-we32k.c (RTYPE2HOWTO): Likewise. 479*a1ba9ba4Schristos * pe-mips.c (RTYPE2HOWTO): Likewise. 480*a1ba9ba4Schristos * coff-x86_64.c (coff_amd64_reloc): Likewise. Replace abort with 481*a1ba9ba4Schristos an error return. 482*a1ba9ba4Schristos * coffcode.h (coff_slurp_reloc_table): Allow the rel parameter to 483*a1ba9ba4Schristos be unused. 484*a1ba9ba4Schristos * coffgen.c (make_a_section_from_file): Check the length of a 485*a1ba9ba4Schristos section name before testing to see if it is a debug section name. 486*a1ba9ba4Schristos (coff_object_p): Zero out any uninitialised bytes in the opt 487*a1ba9ba4Schristos header. 488*a1ba9ba4Schristos * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Test for the raw 489*a1ba9ba4Schristos source being empty when there are values to be processed. 490*a1ba9ba4Schristos (_bfd_ecoff_slurp_symbol_table): Add range check. 491*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Likewise. 492*a1ba9ba4Schristos (bfd_mach_o_mangle_sections): Move test for too many sections to 493*a1ba9ba4Schristos before the allocation of the section table. 494*a1ba9ba4Schristos (bfd_mach_o_read_symtab_strtab): If the read fails, free the 495*a1ba9ba4Schristos memory and nullify the symbol pointer. 496*a1ba9ba4Schristos * reloc.c (bfd_generic_get_relocated_section_contents): Add 497*a1ba9ba4Schristos handling of a bfd_reloc_notsupported return value. 498*a1ba9ba4Schristos * versados.c (EDATA): Add range checking. 499*a1ba9ba4Schristos (get_record): Likewise. 500*a1ba9ba4Schristos (process_otr): Check for contents being available before updating 501*a1ba9ba4Schristos them. 502*a1ba9ba4Schristos (versados_canonicalize_reloc): Add range check. 503*a1ba9ba4Schristos 504*a1ba9ba4Schristos2014-11-26 Alan Modra <amodra@gmail.com> 505*a1ba9ba4Schristos 506*a1ba9ba4Schristos * elf.c (_bfd_elf_slurp_version_tables): Delay allocation of 507*a1ba9ba4Schristos internal verref buffer. Error for zero sh_info. Print errors. 508*a1ba9ba4Schristos Check for zero vd_ndx. Use bfd_zalloc for vd_auxptr buffer. 509*a1ba9ba4Schristos 510*a1ba9ba4Schristos2014-11-25 H.J. Lu <hongjiu.lu@intel.com> 511*a1ba9ba4Schristos 512*a1ba9ba4Schristos * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use 513*a1ba9ba4Schristos NAME##_get_symbol_version_string. 514*a1ba9ba4Schristos (bfd_get_symbol_version_string): New. 515*a1ba9ba4Schristos * aout-adobe.c (aout_32_get_symbol_version_string): Define using 516*a1ba9ba4Schristos _bfd_nosymbols define. 517*a1ba9ba4Schristos * aout-target.h (MY_get_symbol_version_string): Likewise. 518*a1ba9ba4Schristos * aout-tic30.c (MY_get_symbol_version_string): Likewise. 519*a1ba9ba4Schristos * binary.c (binary_get_symbol_version_string): Likewise. 520*a1ba9ba4Schristos * bout.c (aout_32_get_symbol_version_string): Likewise. 521*a1ba9ba4Schristos * coff-rs6000.c (_bfd_xcoff_get_symbol_version_string): Likewise. 522*a1ba9ba4Schristos * i386msdos.c (msdos_get_symbol_version_string): Likewise. 523*a1ba9ba4Schristos * i386os9k.c (aout_32_get_symbol_version_string): Likewise. 524*a1ba9ba4Schristos * ieee.c (ieee_get_symbol_version_string): Likewise. 525*a1ba9ba4Schristos * ihex.c (ihex_get_symbol_version_string): Likewise. 526*a1ba9ba4Schristos * libecoff.h (_bfd_ecoff_get_symbol_version_string): Likewise. 527*a1ba9ba4Schristos * mach-o-target.c (bfd_mach_o_get_symbol_version_string): Likewise. 528*a1ba9ba4Schristos * mmo.c (mmo_get_symbol_version_string): Likewise. 529*a1ba9ba4Schristos * nlm-target.h (nlm_get_symbol_version_string): Likewise. 530*a1ba9ba4Schristos * oasys.c (oasys_get_symbol_version_string): Likewise. 531*a1ba9ba4Schristos * pef.c (bfd_pef_get_symbol_version_string): Likewise. 532*a1ba9ba4Schristos * plugin.c (bfd_plugin_get_symbol_version_string): Likewise. 533*a1ba9ba4Schristos * ppcboot.c (ppcboot_get_symbol_version_string): Likewise. 534*a1ba9ba4Schristos * som.c (som_get_symbol_version_string): Likewise. 535*a1ba9ba4Schristos * srec.c (srec_get_symbol_version_string): Likewise. 536*a1ba9ba4Schristos * tekhex.c (tekhex_get_symbol_version_string): Likewise. 537*a1ba9ba4Schristos * versados.c (versados_get_symbol_version_string): Likewise. 538*a1ba9ba4Schristos * vms-alpha.c (alpha_vms_get_symbol_version_string): Likewise. 539*a1ba9ba4Schristos * xsym.c (bfd_sym_get_symbol_version_string): Likewise. 540*a1ba9ba4Schristos 541*a1ba9ba4Schristos * coff64-rs6000.c (rs6000_xcoff64_vec): Use 542*a1ba9ba4Schristos coff_get_symbol_version_string. 543*a1ba9ba4Schristos (rs6000_xcoff64_aix_vec): Likewise. 544*a1ba9ba4Schristos 545*a1ba9ba4Schristos * elf-bfd.h (bfd_elf_get_symbol_version_string): Renamed to ... 546*a1ba9ba4Schristos (_bfd_elf_get_symbol_version_string): This. 547*a1ba9ba4Schristos * elf.c: Likewise. 548*a1ba9ba4Schristos (bfd_elf_print_symbol): Updated. 549*a1ba9ba4Schristos * elfxx-target.h (bfd_elfNN_get_symbol_version_string): Define. 550*a1ba9ba4Schristos 551*a1ba9ba4Schristos * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Define. 552*a1ba9ba4Schristos * libcoff-in.h (coff_get_symbol_version_string): Likewise. 553*a1ba9ba4Schristos * bfd-in2.h: Regenerated. 554*a1ba9ba4Schristos * libbfd.h: Likewise. 555*a1ba9ba4Schristos * libcoff.h: Likewise. 556*a1ba9ba4Schristos 557*a1ba9ba4Schristos2014-11-25 H.J. Lu <hongjiu.lu@intel.com> 558*a1ba9ba4Schristos 559*a1ba9ba4Schristos PR binutils/16496 560*a1ba9ba4Schristos * elf-bfd.h (bfd_elf_get_symbol_version_string): New. 561*a1ba9ba4Schristos * elf.c (bfd_elf_get_symbol_version_string): New. Extracted 562*a1ba9ba4Schristos from bfd_elf_print_symbol. 563*a1ba9ba4Schristos (bfd_elf_print_symbol): Use it. 564*a1ba9ba4Schristos 565*a1ba9ba4Schristos2014-11-25 H.J. Lu <hongjiu.lu@intel.com> 566*a1ba9ba4Schristos 567*a1ba9ba4Schristos * elf32-i386.c (elf_i386_got_plt_entry): New. 568*a1ba9ba4Schristos (elf_i386_pic_got_plt_entry): Likewise. 569*a1ba9ba4Schristos (elf_i386_link_hash_entry): Add plt_got. 570*a1ba9ba4Schristos (elf_i386_link_hash_table): Likewise. 571*a1ba9ba4Schristos (elf_i386_link_hash_newfunc): Initialize plt_got.offset to -1. 572*a1ba9ba4Schristos (elf_i386_get_local_sym_hash): Likewise. 573*a1ba9ba4Schristos (elf_i386_check_relocs): Create the GOT PLT if there are both 574*a1ba9ba4Schristos PLT and GOT references when the regular PLT is used. 575*a1ba9ba4Schristos (elf_i386_allocate_dynrelocs): Use the GOT PLT if there are 576*a1ba9ba4Schristos both PLT and GOT references unless pointer equality is needed. 577*a1ba9ba4Schristos (elf_i386_relocate_section): Also check the GOT PLT when 578*a1ba9ba4Schristos resolving R_386_PLT32. 579*a1ba9ba4Schristos (elf_i386_finish_dynamic_symbol): Use the GOT PLT if it is 580*a1ba9ba4Schristos available. 581*a1ba9ba4Schristos 582*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add plt_got. 583*a1ba9ba4Schristos (elf_x86_64_link_hash_table): Likewise. 584*a1ba9ba4Schristos (elf_x86_64_link_hash_newfunc): Initialize plt_got.offset to -1. 585*a1ba9ba4Schristos (elf_x86_64_get_local_sym_hash): Likewise. 586*a1ba9ba4Schristos (elf_x86_64_check_relocs): Create the GOT PLT if there are both 587*a1ba9ba4Schristos PLT and GOT references when the regular PLT is used. 588*a1ba9ba4Schristos (elf_x86_64_allocate_dynrelocs): Use the GOT PLT if there are 589*a1ba9ba4Schristos both PLT and GOT references unless pointer equality is needed. 590*a1ba9ba4Schristos (elf_x86_64_relocate_section): Also check the GOT PLT when 591*a1ba9ba4Schristos resolving R_X86_64_PLT32. 592*a1ba9ba4Schristos (elf_x86_64_finish_dynamic_symbol): Use the GOT PLT if it is 593*a1ba9ba4Schristos available. 594*a1ba9ba4Schristos 595*a1ba9ba4Schristos2014-11-24 H.J. Lu <hongjiu.lu@intel.com> 596*a1ba9ba4Schristos 597*a1ba9ba4Schristos * configure: Regenerated. 598*a1ba9ba4Schristos 599*a1ba9ba4Schristos2014-11-24 Tejas Belagod <tejas.belagod@arm.com> 600*a1ba9ba4Schristos 601*a1ba9ba4Schristos * elfnn-aarch64.c (elf_aarch64_compare_mapping): New. 602*a1ba9ba4Schristos (erratum_835769_scan): Sort map list. 603*a1ba9ba4Schristos 604*a1ba9ba4Schristos2014-11-24 Alan Modra <amodra@gmail.com> 605*a1ba9ba4Schristos 606*a1ba9ba4Schristos * elf64-ppc.c (plt_stub_pad): Correct. 607*a1ba9ba4Schristos 608*a1ba9ba4Schristos2014-11-23 H.J. Lu <hongjiu.lu@intel.com> 609*a1ba9ba4Schristos 610*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Assert size of 611*a1ba9ba4Schristos elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. 612*a1ba9ba4Schristos (elf_x86_64_allocate_dynrelocs): Don't assert size of 613*a1ba9ba4Schristos elf_x86_64_bnd_plt2_entry and elf_x86_64_legacy_plt2_entry. 614*a1ba9ba4Schristos 615*a1ba9ba4Schristos2014-11-22 H.J. Lu <hongjiu.lu@intel.com> 616*a1ba9ba4Schristos 617*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check 618*a1ba9ba4Schristos branch displacement overflow in PLT entry. 619*a1ba9ba4Schristos 620*a1ba9ba4Schristos2014-11-21 Nick Clifton <nickc@redhat.com> 621*a1ba9ba4Schristos 622*a1ba9ba4Schristos PR binutils/17512 623*a1ba9ba4Schristos * coffgen.c (coff_get_normalized_symtab): Check for an excessive 624*a1ba9ba4Schristos number of auxillary entries. 625*a1ba9ba4Schristos * ieee.c (next_byte): Convert to a function. Return FALSE if the 626*a1ba9ba4Schristos next byte is beyond the end of the buffer. 627*a1ba9ba4Schristos (parse_int): Test the return value of next_byte. 628*a1ba9ba4Schristos (parse_expression): Convert to boolean. Return FALSE if the 629*a1ba9ba4Schristos parsing failed. Test the return value of next_byte. 630*a1ba9ba4Schristos (ieee_seek): Convert to a function. Return FALSE if the seek goes 631*a1ba9ba4Schristos beyond the end of the buffer. 632*a1ba9ba4Schristos (ieee_slurp_external_symbols): Test the return value of ieee_seek 633*a1ba9ba4Schristos and next_byte. 634*a1ba9ba4Schristos (ieee_slurp_sections): Convert to boolean. Return FALSE if the 635*a1ba9ba4Schristos operation failed. Test the return value of ieee_seek and 636*a1ba9ba4Schristos next_byte. 637*a1ba9ba4Schristos (ieee_archive_p): Test the return value of ieee_seek and 638*a1ba9ba4Schristos next_byte. 639*a1ba9ba4Schristos (do_one): Likewise. 640*a1ba9ba4Schristos (ieee_slurp_section_data): Likewise. 641*a1ba9ba4Schristos (ieee_object_p): Likewise. Store the size of the buffer in the 642*a1ba9ba4Schristos total_amt field in the header. 643*a1ba9ba4Schristos * libieee.h (common_header_type): Add amt field. 644*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Check that the 645*a1ba9ba4Schristos reloc's value is within range. 646*a1ba9ba4Schristos (bfd_mach_o_read_symtab_symbols): Nullify the symbols field if the 647*a1ba9ba4Schristos operation fails. 648*a1ba9ba4Schristos * pei-x86_64.c (pex64_xdata_print_uwd_codes): Replace abort with 649*a1ba9ba4Schristos an error message. 650*a1ba9ba4Schristos (pex64_dump_xdata): Check for buffer overflows. 651*a1ba9ba4Schristos * versados.c (process_otr): Check that the section exists before 652*a1ba9ba4Schristos taking its size. 653*a1ba9ba4Schristos (versados_object_p): Make sure that enough data was read for the 654*a1ba9ba4Schristos header to be checked. 655*a1ba9ba4Schristos * vms-alpha.c (vms_get_remaining_object_record): Change 656*a1ba9ba4Schristos read_so_far parameter to an unsigned int. Check that the amount 657*a1ba9ba4Schristos read is in range. 658*a1ba9ba4Schristos 659*a1ba9ba4Schristos2014-11-21 H.J. Lu <hongjiu.lu@intel.com> 660*a1ba9ba4Schristos 661*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Optimize 662*a1ba9ba4Schristos PC-relative offset overflow check. 663*a1ba9ba4Schristos 664*a1ba9ba4Schristos2014-11-21 Alexander Cherepanov <cherepan@mccme.ru> 665*a1ba9ba4Schristos 666*a1ba9ba4Schristos PR binutils/17512 667*a1ba9ba4Schristos * coffgen.c (_bfd_coff_read_string_table): Test allocation of 668*a1ba9ba4Schristos string table before clearing the first few bytes. 669*a1ba9ba4Schristos 670*a1ba9ba4Schristos2014-11-21 Terry Guo <terry.guo@arm.com> 671*a1ba9ba4Schristos 672*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5. 673*a1ba9ba4Schristos 674*a1ba9ba4Schristos2014-11-20 Alan Modra <amodra@gmail.com> 675*a1ba9ba4Schristos 676*a1ba9ba4Schristos * elf64-ppc.c (group_sections): Init stub14_group_size from 677*a1ba9ba4Schristos --stub-group-size parameter divided by 1024. 678*a1ba9ba4Schristos 679*a1ba9ba4Schristos2014-11-20 Alan Modra <amodra@gmail.com> 680*a1ba9ba4Schristos 681*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround 682*a1ba9ba4Schristos alignment calculation. 683*a1ba9ba4Schristos 684*a1ba9ba4Schristos2014-11-20 Terry Guo <terry.guo@arm.com> 685*a1ba9ba4Schristos 686*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Skip if input bfd 687*a1ba9ba4Schristos hasn't attribute section. 688*a1ba9ba4Schristos 689*a1ba9ba4Schristos2014-11-20 Alan Modra <amodra@gmail.com> 690*a1ba9ba4Schristos 691*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters. 692*a1ba9ba4Schristos 693*a1ba9ba4Schristos2014-11-18 H.J. Lu <hongjiu.lu@intel.com> 694*a1ba9ba4Schristos 695*a1ba9ba4Schristos PR ld/17618 696*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Check 697*a1ba9ba4Schristos PC-relative offset overflow in PLT entry. 698*a1ba9ba4Schristos 699*a1ba9ba4Schristos2014-11-18 Nick Clifton <nickc@redhat.com> 700*a1ba9ba4Schristos 701*a1ba9ba4Schristos PR binutils/17512 702*a1ba9ba4Schristos * peXXIgen.c (pe_print_pdata): Fail if the section's virtual size 703*a1ba9ba4Schristos is larger than its real size. 704*a1ba9ba4Schristos (rsrc_print_section): Fix off-by-one error checking for overflow. 705*a1ba9ba4Schristos * pei-x86_64.c (pex64_bfd_print_pdata): Handle empty unwind 706*a1ba9ba4Schristos sections. 707*a1ba9ba4Schristos 708*a1ba9ba4Schristos2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> 709*a1ba9ba4Schristos 710*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only 711*a1ba9ba4Schristos for -z bndplt. 712*a1ba9ba4Schristos 713*a1ba9ba4Schristos2014-11-14 Nick Clifton <nickc@redhat.com> 714*a1ba9ba4Schristos 715*a1ba9ba4Schristos PR binutils/17597 716*a1ba9ba4Schristos * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of 717*a1ba9ba4Schristos the section. 718*a1ba9ba4Schristos (bfd_get_alt_debug_link_info): Likewise. 719*a1ba9ba4Schristos 720*a1ba9ba4Schristos2014-11-14 Nick Clifton <nickc@redhat.com> 721*a1ba9ba4Schristos 722*a1ba9ba4Schristos PR binutils/17512 723*a1ba9ba4Schristos * ieee.c (ieee_archive_p) Skip processing if no bytes are read at 724*a1ba9ba4Schristos all. 725*a1ba9ba4Schristos (ieee_object_p): Likewise. 726*a1ba9ba4Schristos 727*a1ba9ba4Schristos2014-11-13 H.J. Lu <hongjiu.lu@intel.com> 728*a1ba9ba4Schristos 729*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. 730*a1ba9ba4Schristos 731*a1ba9ba4Schristos2014-11-13 H.J. Lu <hongjiu.lu@intel.com> 732*a1ba9ba4Schristos 733*a1ba9ba4Schristos * coffcode.h (coff_pointerize_aux_hook): Fix a typo. 734*a1ba9ba4Schristos 735*a1ba9ba4Schristos2014-11-13 H.J. Lu <hongjiu.lu@intel.com> 736*a1ba9ba4Schristos 737*a1ba9ba4Schristos PR gas/17598 738*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Treat 739*a1ba9ba4Schristos R_X86_64_GOTPLT64 the same as R_X86_64_GOT64. 740*a1ba9ba4Schristos (elf_x86_64_relocate_section): Likewise. 741*a1ba9ba4Schristos 742*a1ba9ba4Schristos2014-11-13 Nick Clifton <nickc@redhat.com> 743*a1ba9ba4Schristos 744*a1ba9ba4Schristos PR binutils/17512 745*a1ba9ba4Schristos * coffcode.h (coff_ptr_struct): Add is_sym field. 746*a1ba9ba4Schristos (coff_new_section_hook): Set the is_sym field. 747*a1ba9ba4Schristos (coff_pointerize_aux_hook): Check the is_sym field. 748*a1ba9ba4Schristos (coff_print_aux): Likewise. 749*a1ba9ba4Schristos (coff_compute_section_file_positions): Likewise. 750*a1ba9ba4Schristos (coff_write_object_contents): Likewise. 751*a1ba9ba4Schristos (coff_slurp_line_table): Likewise. 752*a1ba9ba4Schristos (coff_slurp_symbol_table): Likewise. 753*a1ba9ba4Schristos (CALC_ADDEND): Likewise. 754*a1ba9ba4Schristos * coffgen.c (coff_renumber_symbols): Likewise. 755*a1ba9ba4Schristos (coff_mangle_symbols): Likewise. 756*a1ba9ba4Schristos (coff_fix_symbol_name): Likewise. 757*a1ba9ba4Schristos (coff_write_symbol): Likewise. 758*a1ba9ba4Schristos (coff_write_alien_symbol): Likewise. 759*a1ba9ba4Schristos (coff_write_native_symbol): Likewise. 760*a1ba9ba4Schristos (coff_write_symbols): Likewise. 761*a1ba9ba4Schristos (coff_write_linenumbers): Likewise. 762*a1ba9ba4Schristos (coff_pointerize_aux): Likewise. 763*a1ba9ba4Schristos (coff_get_normalized_symtab): Likewise. 764*a1ba9ba4Schristos (coff_get_symbol_info): Likewise. 765*a1ba9ba4Schristos (bfd_coff_get_syment): Likewise. 766*a1ba9ba4Schristos (bfd_coff_get_auxent): Likewise. 767*a1ba9ba4Schristos (coff_print_symbol): Likewise. 768*a1ba9ba4Schristos (coff_find_nearest_line_with_names): Likewise. 769*a1ba9ba4Schristos (bfd_coff_set_symbol_class): Likewise. 770*a1ba9ba4Schristos (coff_make_empty_symbol): Set the is_sym field. 771*a1ba9ba4Schristos (coff_bfd_make_debug_symbol): Likewise. 772*a1ba9ba4Schristos * peicode.h (pe_ILF_make_a_symbol): Likewise. 773*a1ba9ba4Schristos * libcoff.h: Regenerate. 774*a1ba9ba4Schristos * libcoff-in.h: Regenerate. 775*a1ba9ba4Schristos 776*a1ba9ba4Schristos2014-11-12 Nick Clifton <nickc@redhat.com> 777*a1ba9ba4Schristos 778*a1ba9ba4Schristos PR binutils/17512 779*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Set the line number of 780*a1ba9ba4Schristos corrupt entries to -1. 781*a1ba9ba4Schristos (coff_slurp_symbol_table): Alway initialise the value of the 782*a1ba9ba4Schristos symbol. 783*a1ba9ba4Schristos * coffgen.c (coff_print_symbol): Check that the combined pointer 784*a1ba9ba4Schristos is valid. 785*a1ba9ba4Schristos (coff_print_symbol): Do not print negative line numbers. 786*a1ba9ba4Schristos * peXXigen.c (pe_print_idata): Add range checking displaying 787*a1ba9ba4Schristos member names. 788*a1ba9ba4Schristos 789*a1ba9ba4Schristos2014-11-12 Alan Modra <amodra@gmail.com> 790*a1ba9ba4Schristos 791*a1ba9ba4Schristos PR binutils/17512 792*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Drop line number info 793*a1ba9ba4Schristos not preceded by a valid function entry. Revert last change. 794*a1ba9ba4Schristos 795*a1ba9ba4Schristos2014-11-11 Nick Clifton <nickc@redhat.com> 796*a1ba9ba4Schristos 797*a1ba9ba4Schristos PR binutils/17512 798*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Initialise the parts of the 799*a1ba9ba4Schristos line number cache that would not be initialised by the copy from 800*a1ba9ba4Schristos the new line number table. 801*a1ba9ba4Schristos (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name 802*a1ba9ba4Schristos returning NULL. 803*a1ba9ba4Schristos * coffgen.c (coff_get_normalized_symbols): Get the external 804*a1ba9ba4Schristos symbols before allocating space for the internal symbols, in case 805*a1ba9ba4Schristos the get fails. 806*a1ba9ba4Schristos * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref 807*a1ba9ba4Schristos array if one is needed. Likewise with the verdef array. 808*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error 809*a1ba9ba4Schristos messages. 810*a1ba9ba4Schristos (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux 811*a1ba9ba4Schristos structure are initialised. 812*a1ba9ba4Schristos (pe_print_edata): Avoid reading off the end of the data buffer. 813*a1ba9ba4Schristos 814*a1ba9ba4Schristos2014-11-11 Alan Modra <amodra@gmail.com> 815*a1ba9ba4Schristos 816*a1ba9ba4Schristos PR binutils/17512 817*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Use updated lineno_count 818*a1ba9ba4Schristos when building func_table. 819*a1ba9ba4Schristos 820*a1ba9ba4Schristos2014-11-11 Alan Modra <amodra@gmail.com> 821*a1ba9ba4Schristos 822*a1ba9ba4Schristos PR binutils/17512 823*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just 824*a1ba9ba4Schristos memset the particular bits we need. Update src after hitting loop 825*a1ba9ba4Schristos "continue". Don't count lineno omitted due to invalid symbols in 826*a1ba9ba4Schristos nbr_func, and update lineno_count. Init entire terminating 827*a1ba9ba4Schristos lineno. Don't both allocating terminator in n_lineno_cache. 828*a1ba9ba4Schristos Redirect sym->lineno pointer to where n_lineno_cache will be 829*a1ba9ba4Schristos copied, and free n_lineno_cache. 830*a1ba9ba4Schristos * pe-mips.c (NUM_HOWTOS): Typo fix. 831*a1ba9ba4Schristos 832*a1ba9ba4Schristos2014-11-11 Alan Modra <amodra@gmail.com> 833*a1ba9ba4Schristos 834*a1ba9ba4Schristos * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section 835*a1ba9ba4Schristos size check to account for possible zero terminator. 836*a1ba9ba4Schristos 837*a1ba9ba4Schristos2014-11-10 James Cowgill <James.Cowgill@imgtec.com> 838*a1ba9ba4Schristos 839*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_section_processing): don't force small 840*a1ba9ba4Schristos data sections to be PROGBITS 841*a1ba9ba4Schristos 842*a1ba9ba4Schristos2014-11-10 Nick Clifton <nickc@redhat.com> 843*a1ba9ba4Schristos 844*a1ba9ba4Schristos PR binutils/17521 845*a1ba9ba4Schristos * coff-i386.c (NUM_HOWTOS): New define. 846*a1ba9ba4Schristos (RTYPE2HOWTO): Use it. 847*a1ba9ba4Schristos (coff_i386_rtype_to_howto): Likewise. 848*a1ba9ba4Schristos (coff_i386_reloc_name_lookup): Likewise. 849*a1ba9ba4Schristos (CALC_ADDEND): Check that reloc r_type field is valid. 850*a1ba9ba4Schristos * coff-x86_64.c (NUM_HOWTOS): New define. 851*a1ba9ba4Schristos (RTYPE2HOWTO): Use it. 852*a1ba9ba4Schristos (coff_amd64_rtype_to_howto): Likewise. 853*a1ba9ba4Schristos (coff_amd64_reloc_name_lookup): Likewise. 854*a1ba9ba4Schristos (CALC_ADDEND): Check that reloc r_type field is valid. 855*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Check for symbol table 856*a1ba9ba4Schristos indexing underflow. 857*a1ba9ba4Schristos (coff_slurp_symbol_table): Use zalloc to ensure that all table 858*a1ba9ba4Schristos entries are initialised. 859*a1ba9ba4Schristos * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits 860*a1ba9ba4Schristos in the string table. Also ensure that the table is 0 terminated. 861*a1ba9ba4Schristos (coff_get_normalized_symtab): Check for symbol table indexing 862*a1ba9ba4Schristos underflow. 863*a1ba9ba4Schristos * opncls.c (bfd_alloc): Catch the case where a small negative size 864*a1ba9ba4Schristos can result in only 1 byte being allocated. 865*a1ba9ba4Schristos (bfd_alloc2): Use bfd_alloc. 866*a1ba9ba4Schristos * pe-mips.c (NUM_HOWTOS): New define. 867*a1ba9ba4Schristos (coff_mips_reloc_name_lookup): Use it. 868*a1ba9ba4Schristos (CALC_ADDEND): Check that reloc r_type field is valid. 869*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries 870*a1ba9ba4Schristos in the DataDirectory. 871*a1ba9ba4Schristos (pe_print_idata): Avoid reading beyond the end of the data block 872*a1ba9ba4Schristos wen printing strings. 873*a1ba9ba4Schristos (pe_print_edata): Likewise. 874*a1ba9ba4Schristos Check for table indexing underflow. 875*a1ba9ba4Schristos * peicode.h (pe_mkobject): Initialise the pe_opthdr field. 876*a1ba9ba4Schristos (pe_bfd_object_p): Allocate and initialize enough space to hold a 877*a1ba9ba4Schristos PEAOUTHDR, even if the opt_hdr field specified less. 878*a1ba9ba4Schristos 879*a1ba9ba4Schristos2014-11-08 Alan Modra <amodra@gmail.com> 880*a1ba9ba4Schristos 881*a1ba9ba4Schristos * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. 882*a1ba9ba4Schristos 883*a1ba9ba4Schristos2014-11-07 H.J. Lu <hongjiu.lu@intel.com> 884*a1ba9ba4Schristos 885*a1ba9ba4Schristos * peXXigen.c (pe_print_idata): Cast to unsigned long in range 886*a1ba9ba4Schristos checks. 887*a1ba9ba4Schristos 888*a1ba9ba4Schristos2014-11-07 H.J. Lu <hongjiu.lu@intel.com> 889*a1ba9ba4Schristos 890*a1ba9ba4Schristos PR ld/17482 891*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments 892*a1ba9ba4Schristos for IE->LE transition. 893*a1ba9ba4Schristos 894*a1ba9ba4Schristos2014-11-07 Alan Modra <amodra@gmail.com> 895*a1ba9ba4Schristos 896*a1ba9ba4Schristos * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. 897*a1ba9ba4Schristos 898*a1ba9ba4Schristos2014-11-07 Alan Modra <amodra@gmail.com> 899*a1ba9ba4Schristos 900*a1ba9ba4Schristos * tekhex.c (CHUNK_SPAN): Define. 901*a1ba9ba4Schristos (struct data_struct <chunk_init>): Use one byte per span, update 902*a1ba9ba4Schristos all code accessing this field. 903*a1ba9ba4Schristos (find_chunk): Add create param, don't create new entry unless set. 904*a1ba9ba4Schristos (insert_byte): Don't save zeros. 905*a1ba9ba4Schristos (first_phase): Set section SEC_CODE or SEC_DATA flag depending 906*a1ba9ba4Schristos on symbol type. Create an alternate section if both types of 907*a1ba9ba4Schristos symbol are given. Attach type '2' and '6' symbols to absolute 908*a1ba9ba4Schristos section. 909*a1ba9ba4Schristos (move_section_contents): Fix caching of chunk. Don't create chunk 910*a1ba9ba4Schristos when reading, or for writing zeros. 911*a1ba9ba4Schristos (tekhex_set_section_contents): Don't create initial chunks. 912*a1ba9ba4Schristos (tekhex_write_object_contents): Use CHUNK_SPAN. 913*a1ba9ba4Schristos 914*a1ba9ba4Schristos2014-11-07 Alan Modra <amodra@gmail.com> 915*a1ba9ba4Schristos 916*a1ba9ba4Schristos * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. 917*a1ba9ba4Schristos 918*a1ba9ba4Schristos2014-11-07 Alan Modra <amodra@gmail.com> 919*a1ba9ba4Schristos 920*a1ba9ba4Schristos * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. 921*a1ba9ba4Schristos * coffcode.h (coff_set_alignment_hook): Likewise. 922*a1ba9ba4Schristos (coff_slurp_line_table): Likewise. 923*a1ba9ba4Schristos * coffgen.c (coff_get_normalized_symtab): Likewise. 924*a1ba9ba4Schristos (_bfd_coff_get_external_symbols): Likewise. 925*a1ba9ba4Schristos * elf.c (bfd_elf_get_str_section): Likewise. 926*a1ba9ba4Schristos * tekhex.c (first_phase): Likewise. 927*a1ba9ba4Schristos 928*a1ba9ba4Schristos2014-11-06 Nick Clifton <nickc@redhat.com> 929*a1ba9ba4Schristos 930*a1ba9ba4Schristos * aoutx.h (slurp_symbol_table): Revert previous delta. 931*a1ba9ba4Schristos (slurp_reloc_table): Likewise. 932*a1ba9ba4Schristos * compress.c (bfd_get_full_section_contents): Remove file size 933*a1ba9ba4Schristos test. 934*a1ba9ba4Schristos * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs 935*a1ba9ba4Schristos and do not complain about linker generated files. 936*a1ba9ba4Schristos 937*a1ba9ba4Schristos2014-11-06 Will Newton <will.newton@linaro.org> 938*a1ba9ba4Schristos 939*a1ba9ba4Schristos * elf-attrs.c (_bfd_elf_parse_attributes): Handle zero 940*a1ba9ba4Schristos length sections and sub-sections. 941*a1ba9ba4Schristos 942*a1ba9ba4Schristos2014-11-04 Nick Clifton <nickc@redhat.com> 943*a1ba9ba4Schristos 944*a1ba9ba4Schristos PR binutils/17512 945*a1ba9ba4Schristos * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. 946*a1ba9ba4Schristos Replace another abort with an error message. 947*a1ba9ba4Schristos (coff_slurp_line_table): Add more range checking. 948*a1ba9ba4Schristos * peXXigen.c (pe_print_debugdata): Add range checking. 949*a1ba9ba4Schristos 950*a1ba9ba4Schristos2014-11-05 James Cowgill <james.cowgill@imgtec.com> 951*a1ba9ba4Schristos 952*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Fix segfault 953*a1ba9ba4Schristos when creating a dso with discarded dynsym section. 954*a1ba9ba4Schristos 955*a1ba9ba4Schristos2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> 956*a1ba9ba4Schristos 957*a1ba9ba4Schristos * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 958*a1ba9ba4Schristos and E_MIPS_ARCH_64R6 support. 959*a1ba9ba4Schristos 960*a1ba9ba4Schristos2014-11-05 Nick Clifton <nickc@redhat.com> 961*a1ba9ba4Schristos 962*a1ba9ba4Schristos PR binutils/17512 963*a1ba9ba4Schristos * coffcode.h (coff_set_alignment_hook): Warn if the file lies 964*a1ba9ba4Schristos about the number of relocations it contains. 965*a1ba9ba4Schristos (coff_sort_func_alent): Return 0 if the pointers are NULL. 966*a1ba9ba4Schristos (coff_slurp_line_table): Add more range checks. Do not free new 967*a1ba9ba4Schristos tables created when sorting line numbers. 968*a1ba9ba4Schristos * peXXigen.c (pe_print_idata): Add range checks. 969*a1ba9ba4Schristos (pe_print_edata): Likewise. 970*a1ba9ba4Schristos (rsrc_print_resource_entries): Likewise. Avoid printing control 971*a1ba9ba4Schristos characters. Terminate priniting if corruption is detected. 972*a1ba9ba4Schristos (rsrc_print_resource_directory): Terminate printing if an unknown 973*a1ba9ba4Schristos directory type is encountered. 974*a1ba9ba4Schristos (pe_print_debugdata): Fix off-by-one error. 975*a1ba9ba4Schristos (rsrc_count_entries): Add range checking. 976*a1ba9ba4Schristos (rsrc_parse_entry): Likewise. 977*a1ba9ba4Schristos 978*a1ba9ba4Schristos2014-11-04 Nick Clifton <nickc@redhat.com> 979*a1ba9ba4Schristos 980*a1ba9ba4Schristos PR binutils/17512 981*a1ba9ba4Schristos * compress.c (bfd_get_full_section_contents): Improve test for 982*a1ba9ba4Schristos linker created objects. 983*a1ba9ba4Schristos 984*a1ba9ba4Schristos PR binutils/17533 985*a1ba9ba4Schristos * archive.c (_bfd_slurp_extended_name_table): Handle archives with 986*a1ba9ba4Schristos corrupt extended name tables. 987*a1ba9ba4Schristos 988*a1ba9ba4Schristos2014-11-04 Alan Modra <amodra@gmail.com> 989*a1ba9ba4Schristos 990*a1ba9ba4Schristos * elf32-spu.c (ovl_mgr_stat): New function. 991*a1ba9ba4Schristos (spu_elf_open_builtin_lib): Pass to bfd_openr_iovec. 992*a1ba9ba4Schristos 993*a1ba9ba4Schristos2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> 994*a1ba9ba4Schristos 995*a1ba9ba4Schristos * elf32-avr.c (elf32_avr_relax_delete_bytes): During linker 996*a1ba9ba4Schristos relaxation, reduce the size of symbols that span the deleted 997*a1ba9ba4Schristos bytes. 998*a1ba9ba4Schristos 999*a1ba9ba4Schristos2014-11-03 Andrew Burgess <andrew.burgess@embecosm.com> 1000*a1ba9ba4Schristos 1001*a1ba9ba4Schristos * elf32-avr.c (elf32_avr_relax_delete_bytes): Modify symbols 1002*a1ba9ba4Schristos located at the very end of the section. 1003*a1ba9ba4Schristos 1004*a1ba9ba4Schristos2014-11-03 Nick Clifton <nickc@redhat.com> 1005*a1ba9ba4Schristos 1006*a1ba9ba4Schristos PR binutils/17512 1007*a1ba9ba4Schristos * aoutx.h (slurp_symbol_table): Check that computed table size is 1008*a1ba9ba4Schristos not bigger than the file from which is it being read. 1009*a1ba9ba4Schristos (slurp_reloc_table): Likewise. 1010*a1ba9ba4Schristos * coffcode.h (coff_slurp_line_table): Remove unneeded local 1011*a1ba9ba4Schristos 'warned'. Do not try to print the details of a symbol with an 1012*a1ba9ba4Schristos invalid index. 1013*a1ba9ba4Schristos * coffgen.c (make_a_sectiobn_from_file): Check computed string 1014*a1ba9ba4Schristos index against length of string table. 1015*a1ba9ba4Schristos (bfd_coff_internal_syment_name): Check read in string offset 1016*a1ba9ba4Schristos against length of string table. 1017*a1ba9ba4Schristos (build_debug_section): Return a pointer to the section used. 1018*a1ba9ba4Schristos (_bfd_coff_read_string_table): Store the length of the string 1019*a1ba9ba4Schristos table in the coff_tdata structure. 1020*a1ba9ba4Schristos (bfd_coff_free_symbols): Set the length of the string table to 1021*a1ba9ba4Schristos zero when it is freed. 1022*a1ba9ba4Schristos (coff_get_normalized_symtab): Check offsets against string table 1023*a1ba9ba4Schristos or data table lengths as appropriate. 1024*a1ba9ba4Schristos * cofflink.c (_bfd_coff_link_input_bfd): Check offset against 1025*a1ba9ba4Schristos length of string table. 1026*a1ba9ba4Schristos * compress.c (bfd_get_full_section_contents): Check computed size 1027*a1ba9ba4Schristos against the size of the file. 1028*a1ba9ba4Schristos * libcoff-in.h (obj_coff_strings_len): Define. 1029*a1ba9ba4Schristos (struct coff_tdata): Add strings_len field. 1030*a1ba9ba4Schristos * libcoff.h: Regenerate. 1031*a1ba9ba4Schristos * peXXigen.c (pe_print_debugdata): Do not attempt to print the 1032*a1ba9ba4Schristos data if the debug section is too small. 1033*a1ba9ba4Schristos * xcofflink.c (xcoff_link_input_bfd): Check offset against 1034*a1ba9ba4Schristos length of string table. 1035*a1ba9ba4Schristos 1036*a1ba9ba4Schristos2014-11-03 Nick Clifton <nickc@redhat.com> 1037*a1ba9ba4Schristos 1038*a1ba9ba4Schristos * po/fi.po: Updated Finnish translation. 1039*a1ba9ba4Schristos 1040*a1ba9ba4Schristos2014-10-31 Andrew Pinski <apinski@cavium.com> 1041*a1ba9ba4Schristos Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> 1042*a1ba9ba4Schristos 1043*a1ba9ba4Schristos * archures.c: Add octeon3 for mips target. 1044*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1045*a1ba9ba4Schristos * bfd/cpu-mips.c: Define I_mipsocteon3. 1046*a1ba9ba4Schristos nfo_struct): Add octeon3 support. 1047*a1ba9ba4Schristos * bfd/elfxx-mips.c: (_bfd_elf_mips_mach): Add support for 1048*a1ba9ba4Schristos octeon3. 1049*a1ba9ba4Schristos (mips_set_isa_flags): Add support for octeon3. 1050*a1ba9ba4Schristos (bfd_mips_isa_ext): Add bfd_mach_mips_octeon3. 1051*a1ba9ba4Schristos (mips_mach_extensions): Make bfd_mach_mips_octeon3 an 1052*a1ba9ba4Schristos extension of bfd_mach_mips_octeon2. 1053*a1ba9ba4Schristos (print_mips_isa_ext): Print the value of Octeon3. 1054*a1ba9ba4Schristos 1055*a1ba9ba4Schristos2014-10-31 Nick Clifton <nickc@redhat.com> 1056*a1ba9ba4Schristos 1057*a1ba9ba4Schristos PR binutils/17512 1058*a1ba9ba4Schristos * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a 1059*a1ba9ba4Schristos symbol table bigger than the file. 1060*a1ba9ba4Schristos * elf.c (bfd_elf_get_str_section): Do not try to load a string 1061*a1ba9ba4Schristos table bigger than the file. 1062*a1ba9ba4Schristos * tekhex.c (first_phase): Check that the section range is sane. 1063*a1ba9ba4Schristos 1064*a1ba9ba4Schristos2014-10-30 Nick Clifton <nickc@redhat.com> 1065*a1ba9ba4Schristos 1066*a1ba9ba4Schristos PR binutils/17512 1067*a1ba9ba4Schristos * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. 1068*a1ba9ba4Schristos * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. 1069*a1ba9ba4Schristos 1070*a1ba9ba4Schristos2014-10-29 Nick Clifton <nickc@redhat.com> 1071*a1ba9ba4Schristos 1072*a1ba9ba4Schristos * elf.c (bfd_section_from_shdr): Fix heap use after free memory 1073*a1ba9ba4Schristos leak. 1074*a1ba9ba4Schristos 1075*a1ba9ba4Schristos2014-10-29 Dennis Brueni <dbrueni@slickedit.com> 1076*a1ba9ba4Schristos 1077*a1ba9ba4Schristos * elf.c (elfcore_write_lwpstatus): Fix typo in call to memcpy. 1078*a1ba9ba4Schristos 1079*a1ba9ba4Schristos2014-10-28 Nick Clifton <nickc@redhat.com> 1080*a1ba9ba4Schristos 1081*a1ba9ba4Schristos PR binutils/17512 1082*a1ba9ba4Schristos * elf.c (bfd_section_from_shdr): Allocate and free the recursion 1083*a1ba9ba4Schristos detection table on a per-bfd basis. 1084*a1ba9ba4Schristos * peXXigen.c (pe_print_edata): Handle binaries with a truncated 1085*a1ba9ba4Schristos export table. 1086*a1ba9ba4Schristos 1087*a1ba9ba4Schristos2014-10-28 Andreas Schwab <schwab@suse.de> 1088*a1ba9ba4Schristos Nick Clifton <nickc@redhat.com> 1089*a1ba9ba4Schristos 1090*a1ba9ba4Schristos PR binutils/17510 1091*a1ba9ba4Schristos * srec.c (srec_bad_byte): Increase size of buf to allow for 1092*a1ba9ba4Schristos negative values. 1093*a1ba9ba4Schristos (srec_scan): Use an unsigned char buffer to hold header bytes. 1094*a1ba9ba4Schristos 1095*a1ba9ba4Schristos2014-10-27 Nick Clifton <nickc@redhat.com> 1096*a1ba9ba4Schristos 1097*a1ba9ba4Schristos PR binutils/17512 1098*a1ba9ba4Schristos * elf.c (bfd_section_from_shdr): Detect and warn about ELF 1099*a1ba9ba4Schristos binaries with a group of sections linked by the string table 1100*a1ba9ba4Schristos indicies. 1101*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries 1102*a1ba9ba4Schristos with an invalid value for NumberOfRvaAndSizes. 1103*a1ba9ba4Schristos (pe_print_edata): Detect out of range rvas and entry counts for 1104*a1ba9ba4Schristos the Export Address table, Name Pointer table and Ordinal table. 1105*a1ba9ba4Schristos 1106*a1ba9ba4Schristos PR binutils/17510 1107*a1ba9ba4Schristos * elf.c (setup_group): Improve handling of corrupt group 1108*a1ba9ba4Schristos sections. 1109*a1ba9ba4Schristos 1110*a1ba9ba4Schristos2014-10-24 Tejas Belagod <tejas.belagod@arm.com> 1111*a1ba9ba4Schristos 1112*a1ba9ba4Schristos * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. 1113*a1ba9ba4Schristos * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. 1114*a1ba9ba4Schristos * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. 1115*a1ba9ba4Schristos (elf_aarch64_stub_type): Add new type 1116*a1ba9ba4Schristos aarch64_stub_erratum_835769_veneer. 1117*a1ba9ba4Schristos (elf_aarch64_stub_hash_entry): New fields for erratum 835769. 1118*a1ba9ba4Schristos (aarch64_erratum_835769_fix): New data struct to record erratum 1119*a1ba9ba4Schristos 835769. 1120*a1ba9ba4Schristos (elf_aarch64_link_hash_table: Global flags for 835769. 1121*a1ba9ba4Schristos (aarch64_build_one_stub): Add case for 835769. 1122*a1ba9ba4Schristos (aarch64_size_one_stub): Likewise. 1123*a1ba9ba4Schristos (aarch64_mem_op_p, aarch64_mlxl_p, 1124*a1ba9ba4Schristos aarch64_erratum_sequence,erratum_835769_scan): 1125*a1ba9ba4Schristos New. Decode and scan functions for erratum 835769. 1126*a1ba9ba4Schristos (elf_aarch64_create_or_find_stub_sec): New. 1127*a1ba9ba4Schristos (elfNN_aarch64_size_stubs): Look for erratum 835769 and record 1128*a1ba9ba4Schristos them. 1129*a1ba9ba4Schristos (bfd_elfNN_aarch64_set_options: Set global flag for 835769. 1130*a1ba9ba4Schristos (erratum_835769_branch_to_stub_data, 1131*a1ba9ba4Schristos make_branch_to_erratum_835769_stub):New. Connect up all the 1132*a1ba9ba4Schristos erratum stubs to occurances by branches. 1133*a1ba9ba4Schristos (elfNN_aarch64_write_section): New hook. 1134*a1ba9ba4Schristos (aarch64_map_one_stub): Output erratum stub symbol. 1135*a1ba9ba4Schristos (elfNN_aarch64_size_dynamic_sections): Init mapping symbol 1136*a1ba9ba4Schristos information for erratum 835769. 1137*a1ba9ba4Schristos (elf_backend_write_section): Define. 1138*a1ba9ba4Schristos 1139*a1ba9ba4Schristos2014-10-23 Victor Kamensky <victor.kamensky@linaro.org> 1140*a1ba9ba4Schristos 1141*a1ba9ba4Schristos * elf32-arm.c (read_code32): New function to read 32 bit 1142*a1ba9ba4Schristos arm instruction. 1143*a1ba9ba4Schristos (read_code16): New function to read 16 bit thumb instrution. 1144*a1ba9ba4Schristos (elf32_arm_plt0_size, elf32_arm_plt_size): Use read_code32 1145*a1ba9ba4Schristos and read_code16 to read instructions. 1146*a1ba9ba4Schristos 1147*a1ba9ba4Schristos2014-10-22 Matthew Fortune <matthew.fortune@imgtec.com> 1148*a1ba9ba4Schristos 1149*a1ba9ba4Schristos * elfxx-mips.c (print_mips_ases): Print unknown ASEs. 1150*a1ba9ba4Schristos (print_mips_isa_ext): Print the value of an unknown extension. 1151*a1ba9ba4Schristos 1152*a1ba9ba4Schristos2014-10-21 Alan Modra <amodra@gmail.com> 1153*a1ba9ba4Schristos 1154*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc 1155*a1ba9ba4Schristos entries that aren't a multiple of 8 rather than failing assertion. 1156*a1ba9ba4Schristos 1157*a1ba9ba4Schristos2014-10-21 Alan Modra <amodra@gmail.com> 1158*a1ba9ba4Schristos 1159*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions 1160*a1ba9ba4Schristos to thread_starter. 1161*a1ba9ba4Schristos 1162*a1ba9ba4Schristos2014-10-18 Alan Modra <amodra@gmail.com> 1163*a1ba9ba4Schristos 1164*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code 1165*a1ba9ba4Schristos section for function symbols defined in .opd is discarded, let 1166*a1ba9ba4Schristos the symbol appear to be undefined. 1167*a1ba9ba4Schristos (opd_entry_value): Ensure the result section is that for the 1168*a1ba9ba4Schristos function code section in the same object as the OPD entry. 1169*a1ba9ba4Schristos 1170*a1ba9ba4Schristos2014-10-16 Alan Modra <amodra@gmail.com> 1171*a1ba9ba4Schristos 1172*a1ba9ba4Schristos PR 17492 1173*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols 1174*a1ba9ba4Schristos on ELF output bfd. 1175*a1ba9ba4Schristos * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. 1176*a1ba9ba4Schristos * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. 1177*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 1178*a1ba9ba4Schristos * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 1179*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 1180*a1ba9ba4Schristos * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 1181*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 1182*a1ba9ba4Schristos * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. 1183*a1ba9ba4Schristos * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle 1184*a1ba9ba4Schristos STB_GNU_UNIQUE too. 1185*a1ba9ba4Schristos 1186*a1ba9ba4Schristos2014-10-16 Alan Modra <amodra@gmail.com> 1187*a1ba9ba4Schristos 1188*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing 1189*a1ba9ba4Schristos even when output is not ppc64 ELF. Remove redundant tests on 1190*a1ba9ba4Schristos type of input bfd. 1191*a1ba9ba4Schristos 1192*a1ba9ba4Schristos2014-10-15 Alan Modra <amodra@gmail.com> 1193*a1ba9ba4Schristos 1194*a1ba9ba4Schristos PR 17481 1195*a1ba9ba4Schristos * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr" 1196*a1ba9ba4Schristos param, group "section" and "offset" params. Zero discriminator. 1197*a1ba9ba4Schristos * bfd.c (bfd_find_nearest_line): Implement with new 1198*a1ba9ba4Schristos _bfd_find_nearest_line. 1199*a1ba9ba4Schristos (bfd_find_nearest_line_discriminator): Likewise. 1200*a1ba9ba4Schristos * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't 1201*a1ba9ba4Schristos define. 1202*a1ba9ba4Schristos * coff-rs6000.c (xcoff_find_nearest_line, 1203*a1ba9ba4Schristos xcoff_find_nearest_line_discriminator): Delete. 1204*a1ba9ba4Schristos (_bfd_xcoff_find_nearest_line): Don't define. 1205*a1ba9ba4Schristos (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line. 1206*a1ba9ba4Schristos * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't 1207*a1ba9ba4Schristos define. 1208*a1ba9ba4Schristos * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust. 1209*a1ba9ba4Schristos * coffgen.c (coff_find_nearest_line_with_names): Reorder params, 1210*a1ba9ba4Schristos adjust _bfd_dwarf2_find_nearest_line call. 1211*a1ba9ba4Schristos (coff_find_nearest_line): Add "discriminator_ptr" param, reorder 1212*a1ba9ba4Schristos others. Set discriminator. Adjust call. 1213*a1ba9ba4Schristos (coff_find_nearest_line_discriminator): Delete. 1214*a1ba9ba4Schristos * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params. 1215*a1ba9ba4Schristos * dwarf2.c (find_line): Rename to.. 1216*a1ba9ba4Schristos (_bfd_dwarf2_find_nearest_line): ..this, reordering params. 1217*a1ba9ba4Schristos Simplify setting of do_line. Delete old function. 1218*a1ba9ba4Schristos (_bfd_dwarf2_find_line): Delete. 1219*a1ba9ba4Schristos * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add 1220*a1ba9ba4Schristos discriminator_ptr and set it. 1221*a1ba9ba4Schristos * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype. 1222*a1ba9ba4Schristos (_bfd_elf_find_nearest_line_discriminator): Delete. 1223*a1ba9ba4Schristos (_bfd_elf_find_line_discriminator): Delete. 1224*a1ba9ba4Schristos (_bfd_generic_find_nearest_line_discriminator): Don't define. 1225*a1ba9ba4Schristos * elf.c (elf_find_function): Reorder params. 1226*a1ba9ba4Schristos (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr. 1227*a1ba9ba4Schristos Adjust calls. 1228*a1ba9ba4Schristos (_bfd_elf_find_nearest_line_discriminator): Delete. 1229*a1ba9ba4Schristos (_bfd_elf_find_line): Adjust call. 1230*a1ba9ba4Schristos * elf32-arm.c (arm_elf_find_function): Reorder params. 1231*a1ba9ba4Schristos (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr. 1232*a1ba9ba4Schristos Adjust calls. 1233*a1ba9ba4Schristos * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly. 1234*a1ba9ba4Schristos * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params. 1235*a1ba9ba4Schristos (elfNN_aarch64_find_nearest_line): Reorder params, add 1236*a1ba9ba4Schristos discriminator_ptr. Adjust calls. 1237*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. 1238*a1ba9ba4Schristos * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype. 1239*a1ba9ba4Schristos * libaout.h (NAME (aout, find_nearest_line)): Update prototype. 1240*a1ba9ba4Schristos * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update. 1241*a1ba9ba4Schristos (_bfd_dwarf1_find_nearest_line): Likewise. 1242*a1ba9ba4Schristos (_bfd_dwarf2_find_nearest_line): Likewise. 1243*a1ba9ba4Schristos (_bfd_dwarf2_find_line): Delete. 1244*a1ba9ba4Schristos (_bfd_generic_find_nearest_line_discriminator): Delete. 1245*a1ba9ba4Schristos * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete. 1246*a1ba9ba4Schristos * libcoff-in.h (coff_find_nearest_line): Update prototype. 1247*a1ba9ba4Schristos (coff_find_nearest_line_discriminator): Delete. 1248*a1ba9ba4Schristos (coff_find_nearest_line_with_names): Update prototype. 1249*a1ba9ba4Schristos * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype. 1250*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add 1251*a1ba9ba4Schristos discriminator_ptr. Adjust calls. 1252*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype. 1253*a1ba9ba4Schristos * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add 1254*a1ba9ba4Schristos discriminator_ptr and set. 1255*a1ba9ba4Schristos * som.c (som_find_nearest_line): Similarly. 1256*a1ba9ba4Schristos * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for 1257*a1ba9ba4Schristos _bfd_find_nearest_line_discriminator. 1258*a1ba9ba4Schristos (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype. 1259*a1ba9ba4Schristos (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete. 1260*a1ba9ba4Schristos * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to.. 1261*a1ba9ba4Schristos (_bfd_vms_find_nearest_line): ..this. Reorder params, add 1262*a1ba9ba4Schristos "discriminator" and set. 1263*a1ba9ba4Schristos (_bfd_vms_find_nearest_line_discriminator): Delete. 1264*a1ba9ba4Schristos (_bfd_generic_find_nearest_line_discriminator): Don't define. 1265*a1ba9ba4Schristos (alpha_vms_find_nearest_line): Update define. 1266*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1267*a1ba9ba4Schristos * libbfd.h: Regenerate. 1268*a1ba9ba4Schristos * libcoff.h: Regenerate. 1269*a1ba9ba4Schristos 1270*a1ba9ba4Schristos2014-10-15 Alan Modra <amodra@gmail.com> 1271*a1ba9ba4Schristos 1272*a1ba9ba4Schristos * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line. 1273*a1ba9ba4Schristos * aout-adobe.c (aout_32_find_line): Define. 1274*a1ba9ba4Schristos (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup, 1275*a1ba9ba4Schristos aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define. 1276*a1ba9ba4Schristos * aout-target.h (MY_find_line): Define. 1277*a1ba9ba4Schristos * aout-tic30.c (MY_find_line): Define. 1278*a1ba9ba4Schristos * binary.c (binary_find_line): Define. 1279*a1ba9ba4Schristos * bout.c (aout_32_find_line): Define. 1280*a1ba9ba4Schristos * coff-rs6000.c (_bfd_xcoff_find_line): Define. 1281*a1ba9ba4Schristos * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line. 1282*a1ba9ba4Schristos (rs6000_xcoff64_aix_vec): Likewise. 1283*a1ba9ba4Schristos * elf-bfd.h (_bfd_generic_find_line): Don't define. 1284*a1ba9ba4Schristos * elfxx-target.h (bfd_elfNN_find_line): Define. 1285*a1ba9ba4Schristos * i386msdos.c (msdos_find_line): Define. 1286*a1ba9ba4Schristos * i386os9k.c (aout_32_find_line): Define. 1287*a1ba9ba4Schristos * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func. 1288*a1ba9ba4Schristos (ieee_find_nearest_line, ieee_find_line, 1289*a1ba9ba4Schristos ieee_find_inliner_info): Define. 1290*a1ba9ba4Schristos * ihex.c (ihex_find_line): Define. 1291*a1ba9ba4Schristos * libbfd-in.h (_bfd_nosymbols_find_line): Define. 1292*a1ba9ba4Schristos (_bfd_generic_find_line): Don't define. 1293*a1ba9ba4Schristos * libbfd.c (_bfd_generic_find_line): Delete. 1294*a1ba9ba4Schristos * libcoff-in.h (coff_find_line): Define. 1295*a1ba9ba4Schristos * libecoff.h (_bfd_ecoff_find_line): Define. 1296*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_find_line): Define. 1297*a1ba9ba4Schristos * mmo.c (mmo_find_line): Define. 1298*a1ba9ba4Schristos * nlm-target.h (nlm_find_line): Define. 1299*a1ba9ba4Schristos * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete. 1300*a1ba9ba4Schristos (oasys_find_nearest_line, oasys_find_line, 1301*a1ba9ba4Schristos oasys_find_inliner_info): Define. 1302*a1ba9ba4Schristos * pef.c (bfd_pef_find_line): Define. 1303*a1ba9ba4Schristos * plugin.c (bfd_plugin_find_line): Define. 1304*a1ba9ba4Schristos * ppcboot.c (ppcboot_find_line): Define. 1305*a1ba9ba4Schristos * som.c (som_find_line): Define. 1306*a1ba9ba4Schristos * srec.c (srec_find_line): Define. 1307*a1ba9ba4Schristos * tekhex.c (tekhex_find_line): Define. 1308*a1ba9ba4Schristos * versados.c (versados_find_line): Define. 1309*a1ba9ba4Schristos * vms-alpha.c (alpha_vms_find_line): Define. 1310*a1ba9ba4Schristos * xsym.c (bfd_sym_find_line): Define. 1311*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1312*a1ba9ba4Schristos * libbfd.h: Regenerate. 1313*a1ba9ba4Schristos * libcoff.h: Regenerate. 1314*a1ba9ba4Schristos 1315*a1ba9ba4Schristos2014-10-15 Tristan Gingold <gingold@adacore.com> 1316*a1ba9ba4Schristos 1317*a1ba9ba4Schristos * version.m4: Bump version to 2.25.51 1318*a1ba9ba4Schristos * configure: Regenerate. 1319*a1ba9ba4Schristos 1320*a1ba9ba4Schristos2014-10-14 H.J. Lu <hongjiu.lu@intel.com> 1321*a1ba9ba4Schristos 1322*a1ba9ba4Schristos * elf32-i386.c (elf_i386_convert_mov_to_lea): Skip if relocation 1323*a1ba9ba4Schristos offset is less than 2. 1324*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 1325*a1ba9ba4Schristos 1326*a1ba9ba4Schristos2014-10-14 Alan Modra <amodra@gmail.com> 1327*a1ba9ba4Schristos 1328*a1ba9ba4Schristos PR 17453 1329*a1ba9ba4Schristos * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. 1330*a1ba9ba4Schristos (EIGHT_GAZILLION): Delete. 1331*a1ba9ba4Schristos 1332*a1ba9ba4Schristos2014-10-13 Alan Modra <amodra@gmail.com> 1333*a1ba9ba4Schristos 1334*a1ba9ba4Schristos PR 17467 1335*a1ba9ba4Schristos * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. 1336*a1ba9ba4Schristos (_bfd_elf_parse_eh_frame): When relocatable output, don't set 1337*a1ba9ba4Schristos flags enabling conversion of CIEs and FDEs to use relative encoding. 1338*a1ba9ba4Schristos (find_merged_cie): Similarly. 1339*a1ba9ba4Schristos (_bfd_elf_write_section_eh_frame): Don't edit FDEs when 1340*a1ba9ba4Schristos relocatable, except for CIE pointer. 1341*a1ba9ba4Schristos * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for 1342*a1ba9ba4Schristos relocs against symbols in dropped comdat group sections. 1343*a1ba9ba4Schristos (bfd_elf_discard_info): Do some eh_frame optimisation when 1344*a1ba9ba4Schristos relocatable. 1345*a1ba9ba4Schristos 1346*a1ba9ba4Schristos2014-10-09 Jose E. Marchesi <jose.marchesi@oracle.com> 1347*a1ba9ba4Schristos 1348*a1ba9ba4Schristos * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle 1349*a1ba9ba4Schristos the hwcaps2 object attribute. 1350*a1ba9ba4Schristos 1351*a1ba9ba4Schristos2014-10-04 Alan Modra <amodra@gmail.com> 1352*a1ba9ba4Schristos 1353*a1ba9ba4Schristos PR 17447 1354*a1ba9ba4Schristos * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf. 1355*a1ba9ba4Schristos * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address 1356*a1ba9ba4Schristos range FDEs for discarding. 1357*a1ba9ba4Schristos (vma_compare): Sort on range after address. 1358*a1ba9ba4Schristos (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf. 1359*a1ba9ba4Schristos (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in 1360*a1ba9ba4Schristos error message rather than "fde". 1361*a1ba9ba4Schristos (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in 1362*a1ba9ba4Schristos error message. 1363*a1ba9ba4Schristos 1364*a1ba9ba4Schristos2014-09-29 H.J. Lu <hongjiu.lu@intel.com> 1365*a1ba9ba4Schristos 1366*a1ba9ba4Schristos PR ld/17440 1367*a1ba9ba4Schristos * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build 1368*a1ba9ba4Schristos for OLD_FREEBSD_ABI_LABEL. 1369*a1ba9ba4Schristos 1370*a1ba9ba4Schristos2014-09-24 Markus Trippelsdorf <markus@trippelsdorf.de> 1371*a1ba9ba4Schristos 1372*a1ba9ba4Schristos PR 17422 1373*a1ba9ba4Schristos * plugin.c (try_claim): New function. Moved from 1374*a1ba9ba4Schristos bfd_plugin_object_p. 1375*a1ba9ba4Schristos (try_load_plugin): Pass through bfd. Add test. 1376*a1ba9ba4Schristos (load_plugin): Pass through bfd. 1377*a1ba9ba4Schristos (bfd_plugin_object_p): Move logic to try_claim. 1378*a1ba9ba4Schristos 1379*a1ba9ba4Schristos2014-09-23 Sterling Augustine <augustine.sterling@gmail.com> 1380*a1ba9ba4Schristos 1381*a1ba9ba4Schristos * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section 1382*a1ba9ba4Schristos call relaxation use furthermost addresses where call source and 1383*a1ba9ba4Schristos destination can be to check whether it's in the range of a direct 1384*a1ba9ba4Schristos call. 1385*a1ba9ba4Schristos 1386*a1ba9ba4Schristos2014-09-22 Alan Modra <amodra@gmail.com> 1387*a1ba9ba4Schristos 1388*a1ba9ba4Schristos * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return 1389*a1ba9ba4Schristos false for overflow or overlapping FDEs. Give more detail in 1390*a1ba9ba4Schristos error messages. 1391*a1ba9ba4Schristos 1392*a1ba9ba4Schristos2014-09-22 Andrew Bennett <andrew.bennett@imgtec.com> 1393*a1ba9ba4Schristos 1394*a1ba9ba4Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend 1395*a1ba9ba4Schristos the addend if relocations are RELA. 1396*a1ba9ba4Schristos 1397*a1ba9ba4Schristos2014-09-22 Kuan-Lin Chen <kuanlinchentw@gmail.com> 1398*a1ba9ba4Schristos 1399*a1ba9ba4Schristos * elf32-nds32.c (nds32_elf_ex9_build_hash_table, 1400*a1ba9ba4Schristos nds32_elf_ex9_relocation_check): Synchronize the argument type. 1401*a1ba9ba4Schristos 1402*a1ba9ba4Schristos2014-09-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> 1403*a1ba9ba4Schristos 1404*a1ba9ba4Schristos * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF 1405*a1ba9ba4Schristos for PIE. 1406*a1ba9ba4Schristos * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF 1407*a1ba9ba4Schristos for PIE. 1408*a1ba9ba4Schristos 1409*a1ba9ba4Schristos2014-09-18 Jan Kratochvil <jan.kratochvil@redhat.com> 1410*a1ba9ba4Schristos 1411*a1ba9ba4Schristos PR gdb/17407 1412*a1ba9ba4Schristos * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. 1413*a1ba9ba4Schristos 1414*a1ba9ba4Schristos2014-09-16 Terry Guo <terry.guo@arm.com> 1415*a1ba9ba4Schristos 1416*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if 1417*a1ba9ba4Schristos failed to merge. 1418*a1ba9ba4Schristos 1419*a1ba9ba4Schristos2014-09-16 Kuan-Lin Chen <kuanlinchentw@gmail.com> 1420*a1ba9ba4Schristos 1421*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1422*a1ba9ba4Schristos * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject. 1423*a1ba9ba4Schristos (nds32_elf_relax_section): Code refactoring. 1424*a1ba9ba4Schristos (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2, 1425*a1ba9ba4Schristos nds32_elf_relax_longcall3, nds32_elf_relax_longcall4, 1426*a1ba9ba4Schristos nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call 1427*a1ba9ba4Schristos pattern. The first three is moved from nds32_elf_relax_section, 1428*a1ba9ba4Schristos and the last three is new function. 1429*a1ba9ba4Schristos (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2, 1430*a1ba9ba4Schristos nds32_elf_relax_longjump3, nds32_elf_relax_longjump4, 1431*a1ba9ba4Schristos nds32_elf_relax_longjump5, nds32_elf_relax_longjump6, 1432*a1ba9ba4Schristos nds32_elf_relax_longjump7): Relax condition branch pattern. The first 1433*a1ba9ba4Schristos three is moved from nds32_elf_relax_section, and the last four 1434*a1ba9ba4Schristos is new function. 1435*a1ba9ba4Schristos (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store 1436*a1ba9ba4Schristos pattern and address setting pattern. 1437*a1ba9ba4Schristos (nds32_elf_relax_piclo12, nds32_elf_relax_ptr, 1438*a1ba9ba4Schristos nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff, 1439*a1ba9ba4Schristos nds32_elf_relax_gotoff_suff): Relax pic pattern. 1440*a1ba9ba4Schristos (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd, 1441*a1ba9ba4Schristos nds32_elf_relax_letlsls): Relax TLS pattern. 1442*a1ba9ba4Schristos (nds32_relax_adjust_label): Adjust alignment and nop. 1443*a1ba9ba4Schristos (nds32_elf_pick_relax): Choose relaxation optimization. 1444*a1ba9ba4Schristos (nds32_elf_get_relocated_section_contents): New hook. 1445*a1ba9ba4Schristos (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9 1446*a1ba9ba4Schristos table 234th entry. 1447*a1ba9ba4Schristos * elf32-nds32.h: Declare. 1448*a1ba9ba4Schristos * libbfd.h: Regenerate. 1449*a1ba9ba4Schristos * reloc.c: Add nds32 new relocations. 1450*a1ba9ba4Schristos 1451*a1ba9ba4Schristos2014-09-15 Chen Gang <gang.chen.5i5j@gmail.com> 1452*a1ba9ba4Schristos 1453*a1ba9ba4Schristos * dwarf2.c (find_abstract_instance_name): Use 'form' instead of 1454*a1ba9ba4Schristos 'name' for the typo issue, which related with commit 1455*a1ba9ba4Schristos 60d77146a249ae9b51d7ce98930cdbedb2cfa352. 1456*a1ba9ba4Schristos 1457*a1ba9ba4Schristos2014-09-15 Andrew Bennett <andrew.bennett@imgtec.com> 1458*a1ba9ba4Schristos Matthew Fortune <matthew.fortune@imgtec.com> 1459*a1ba9ba4Schristos 1460*a1ba9ba4Schristos * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6. 1461*a1ba9ba4Schristos * archures.c (bfd_architecture): Likewise. 1462*a1ba9ba4Schristos * bfd-in2.h (bfd_architecture): Likewise. 1463*a1ba9ba4Schristos (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2, 1464*a1ba9ba4Schristos BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 1465*a1ba9ba4Schristos BFD_RELOC_MIPS_19_PCREL_S2. 1466*a1ba9ba4Schristos * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6. 1467*a1ba9ba4Schristos * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2 1468*a1ba9ba4Schristos R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16. 1469*a1ba9ba4Schristos (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 1470*a1ba9ba4Schristos BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 1471*a1ba9ba4Schristos BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 1472*a1ba9ba4Schristos BFD_RELOC_LO16_PCREL. 1473*a1ba9ba4Schristos * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2, 1474*a1ba9ba4Schristos R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 1475*a1ba9ba4Schristos and R_MIPS_PCLO16. 1476*a1ba9ba4Schristos (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, 1477*a1ba9ba4Schristos BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, 1478*a1ba9ba4Schristos BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and 1479*a1ba9ba4Schristos BFD_RELOC_LO16_PCREL. 1480*a1ba9ba4Schristos * elfn32-mips.c: Likewise. 1481*a1ba9ba4Schristos * elfxx-mips.c (MIPSR6_P): New define. 1482*a1ba9ba4Schristos (mipsr6_exec_plt_entry): New array. 1483*a1ba9ba4Schristos (hi16_reloc_p): Add support for R_MIPS_PCHI16. 1484*a1ba9ba4Schristos (lo16_reloc_p): Add support for R_MIPS_PCLO16. 1485*a1ba9ba4Schristos (aligned_pcrel_reloc_p): New function. 1486*a1ba9ba4Schristos (mips_elf_relocation_needs_la25_stub): Add support for relocs: 1487*a1ba9ba4Schristos R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 1488*a1ba9ba4Schristos (mips_elf_calculate_relocation): Add support for relocs: 1489*a1ba9ba4Schristos R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, 1490*a1ba9ba4Schristos R_MIPS_PCHI16 and R_MIPS_PCLO16. 1491*a1ba9ba4Schristos (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6. 1492*a1ba9ba4Schristos (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16. 1493*a1ba9ba4Schristos (_bfd_mips_elf_check_relocs): Add support for relocs: 1494*a1ba9ba4Schristos R_MIPS_PC21_S2 and R_MIPS_PC26_S2. 1495*a1ba9ba4Schristos (_bfd_mips_elf_relocate_section): Add a check for unaligned 1496*a1ba9ba4Schristos pc relative relocs. 1497*a1ba9ba4Schristos (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6 1498*a1ba9ba4Schristos plt entry. 1499*a1ba9ba4Schristos (mips_set_isa_flags): Add support for mips32r6 and mips64r6. 1500*a1ba9ba4Schristos (_bfd_mips_elf_print_private_bfd_data): Likewise. 1501*a1ba9ba4Schristos (mips_32bit_flags_p): Add support for mips32r6. 1502*a1ba9ba4Schristos * libbfd.h (bfd_reloc_code_real_names): Add entries for 1503*a1ba9ba4Schristos BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2, 1504*a1ba9ba4Schristos BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2. 1505*a1ba9ba4Schristos * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2, 1506*a1ba9ba4Schristos BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and 1507*a1ba9ba4Schristos BFD_RELOC_MIPS_19_PCREL_S2. 1508*a1ba9ba4Schristos * config.bfd: Add mips*-img-elf* target triple. 1509*a1ba9ba4Schristos 1510*a1ba9ba4Schristos2014-09-12 Andrew Bennett <andrew.bennett@imgtec.com> 1511*a1ba9ba4Schristos 1512*a1ba9ba4Schristos * config.bfd: Add mips*-img-elf* target triple. 1513*a1ba9ba4Schristos 1514*a1ba9ba4Schristos2014-09-12 Alan Modra <amodra@gmail.com> 1515*a1ba9ba4Schristos 1516*a1ba9ba4Schristos * elf-bfd.h (struct eh_frame_array_ent): Add "range". 1517*a1ba9ba4Schristos * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address 1518*a1ba9ba4Schristos range of FDEs to hdr_info->array. 1519*a1ba9ba4Schristos (_bfd_elf_write_section_eh_frame_hdr): Report overflow in 1520*a1ba9ba4Schristos .eh_frame_hdr entries, and overlapping FDEs. 1521*a1ba9ba4Schristos 1522*a1ba9ba4Schristos2014-09-10 Alan Modra <amodra@gmail.com> 1523*a1ba9ba4Schristos 1524*a1ba9ba4Schristos * elf.c (assign_file_positions_except_relocs): Move section header 1525*a1ba9ba4Schristos placement to.. 1526*a1ba9ba4Schristos (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static. 1527*a1ba9ba4Schristos * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete. 1528*a1ba9ba4Schristos * elflink.c (bfd_elf_final_link): Don't call above function. 1529*a1ba9ba4Schristos 1530*a1ba9ba4Schristos2014-08-30 Alan Modra <amodra@gmail.com> 1531*a1ba9ba4Schristos 1532*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error. 1533*a1ba9ba4Schristos 1534*a1ba9ba4Schristos2014-08-29 Alan Modra <amodra@gmail.com> 1535*a1ba9ba4Schristos 1536*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Report a different 1537*a1ba9ba4Schristos error for calls via a toc adjusting stub without a nop. 1538*a1ba9ba4Schristos 1539*a1ba9ba4Schristos2014-08-29 Alan Modra <amodra@gmail.com> 1540*a1ba9ba4Schristos 1541*a1ba9ba4Schristos * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated 1542*a1ba9ba4Schristos error. Remove redundant bfd_set_error. 1543*a1ba9ba4Schristos 1544*a1ba9ba4Schristos2014-08-29 Alan Modra <amodra@gmail.com> 1545*a1ba9ba4Schristos 1546*a1ba9ba4Schristos * srec.c (srec_scan): Revert last change. Report an error for 1547*a1ba9ba4Schristos S-records with less than the miniumum byte count. 1548*a1ba9ba4Schristos 1549*a1ba9ba4Schristos2014-08-28 H.J. Lu <hongjiu.lu@intel.com> 1550*a1ba9ba4Schristos 1551*a1ba9ba4Schristos * srec.c (srec_scan): Return error for 0 size. 1552*a1ba9ba4Schristos 1553*a1ba9ba4Schristos2014-08-27 H.J. Lu <hongjiu.lu@intel.com> 1554*a1ba9ba4Schristos 1555*a1ba9ba4Schristos PR ld/17306 1556*a1ba9ba4Schristos * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section 1557*a1ba9ba4Schristos to check discarded input section. 1558*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. 1559*a1ba9ba4Schristos 1560*a1ba9ba4Schristos2014-08-27 H.J. Lu <hongjiu.lu@intel.com> 1561*a1ba9ba4Schristos 1562*a1ba9ba4Schristos PR ld/17313 1563*a1ba9ba4Schristos * elflink.c (elf_link_add_object_symbols): Don't attach dynamic 1564*a1ba9ba4Schristos sections to input from ld --just-symbols. 1565*a1ba9ba4Schristos 1566*a1ba9ba4Schristos2014-08-26 DJ Delorie <dj@redhat.com> 1567*a1ba9ba4Schristos 1568*a1ba9ba4Schristos * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for 1569*a1ba9ba4Schristos relaxation type. 1570*a1ba9ba4Schristos 1571*a1ba9ba4Schristos2014-08-26 Jiong Wang <jiong.wang@arm.com> 1572*a1ba9ba4Schristos 1573*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref 1574*a1ba9ba4Schristos properly for MOVW_G0/1/2_NC and MOVW_G3. Reject them when linking 1575*a1ba9ba4Schristos shared library. 1576*a1ba9ba4Schristos (elfNN_aarch64_gc_sweep_hook): Add check on these relocs. 1577*a1ba9ba4Schristos 1578*a1ba9ba4Schristos2014-08-26 Nick Clifton <nickc@redhat.com> 1579*a1ba9ba4Schristos 1580*a1ba9ba4Schristos * config.bfd: Fix typo in or1knd selection. 1581*a1ba9ba4Schristos 1582*a1ba9ba4Schristos2014-08-22 Kai Tietz <ktietz@redhat.com> 1583*a1ba9ba4Schristos 1584*a1ba9ba4Schristos PR binutils/11822 1585*a1ba9ba4Schristos * coffcode.h (coff_compute_section_file_positions): Keep 1586*a1ba9ba4Schristos FileAlignment valid as set. 1587*a1ba9ba4Schristos 1588*a1ba9ba4Schristos2014-08-22 Alan Modra <amodra@gmail.com> 1589*a1ba9ba4Schristos 1590*a1ba9ba4Schristos * elf-eh-frame.c (struct cie): Delete "output_sec" field. 1591*a1ba9ba4Schristos (cie_eq, cie_compute_hash): Use output_section from cie_inf instead. 1592*a1ba9ba4Schristos 1593*a1ba9ba4Schristos2014-08-22 Alan Modra <amodra@gmail.com> 1594*a1ba9ba4Schristos 1595*a1ba9ba4Schristos * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and 1596*a1ba9ba4Schristos parsed_eh_frames. 1597*a1ba9ba4Schristos (_bfd_elf_begin_eh_frame_parsing): Delete. 1598*a1ba9ba4Schristos (_bfd_elf_end_eh_frame_parsing): Delete. 1599*a1ba9ba4Schristos * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete. 1600*a1ba9ba4Schristos (_bfd_elf_end_eh_frame_parsing): Delete. 1601*a1ba9ba4Schristos (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame. Test 1602*a1ba9ba4Schristos !info->relocatable in place of merge_cies. 1603*a1ba9ba4Schristos * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust. 1604*a1ba9ba4Schristos * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8. 1605*a1ba9ba4Schristos (ppc64_elf_size_stubs): Likewise pad stub FDE. 1606*a1ba9ba4Schristos (ppc64_elf_build_stubs): Move code setting glink .eh_frame to.. 1607*a1ba9ba4Schristos (ppc64_elf_size_stubs): ..here and.. 1608*a1ba9ba4Schristos (ppc64_elf_finish_dynamic_sections): ..here. 1609*a1ba9ba4Schristos 1610*a1ba9ba4Schristos2014-08-21 Maciej W. Rozycki <macro@codesourcery.com> 1611*a1ba9ba4Schristos 1612*a1ba9ba4Schristos * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation. 1613*a1ba9ba4Schristos 1614*a1ba9ba4Schristos2014-08-21 Tony Wang <tony.wang@arm.com> 1615*a1ba9ba4Schristos 1616*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Implement 1617*a1ba9ba4Schristos the veneer routine for R_ARM_THM_JUMP19. 1618*a1ba9ba4Schristos (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19 1619*a1ba9ba4Schristos (elf32_arm_size_stub): Ditto. 1620*a1ba9ba4Schristos 1621*a1ba9ba4Schristos2014-08-20 Roland McGrath <mcgrathr@google.com> 1622*a1ba9ba4Schristos 1623*a1ba9ba4Schristos PR ld/17277 1624*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for 1625*a1ba9ba4Schristos all reloc types with pc_relative set in the howto, not just for 1626*a1ba9ba4Schristos R_ARM_REL32 and R_ARM_REL32_NOI. 1627*a1ba9ba4Schristos (allocate_dynrelocs_for_symbol): Update comment. 1628*a1ba9ba4Schristos (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative 1629*a1ba9ba4Schristos set in the howto, set call_reloc_p and may_need_local_target_p but 1630*a1ba9ba4Schristos not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI. 1631*a1ba9ba4Schristos (elf32_arm_check_relocs): Likewise. 1632*a1ba9ba4Schristos 1633*a1ba9ba4Schristos2014-08-20 Will Newton <will.newton@linaro.org> 1634*a1ba9ba4Schristos 1635*a1ba9ba4Schristos * config.bfd: Default armeb-*-eabi* to big endian. 1636*a1ba9ba4Schristos 1637*a1ba9ba4Schristos2014-08-19 Alan Modra <amodra@gmail.com> 1638*a1ba9ba4Schristos 1639*a1ba9ba4Schristos * configure: Regenerate. 1640*a1ba9ba4Schristos 1641*a1ba9ba4Schristos2014-08-18 Alan Modra <amodra@gmail.com> 1642*a1ba9ba4Schristos 1643*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to 1644*a1ba9ba4Schristos use dynrelocs for ifunc. 1645*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly. 1646*a1ba9ba4Schristos 1647*a1ba9ba4Schristos2014-08-18 Alan Modra <amodra@gmail.com> 1648*a1ba9ba4Schristos 1649*a1ba9ba4Schristos PR 17287 1650*a1ba9ba4Schristos * elflink.c (on_needed_list): Only consider libraries that have 1651*a1ba9ba4Schristos been loaded. 1652*a1ba9ba4Schristos 1653*a1ba9ba4Schristos2014-08-18 Alan Modra <amodra@gmail.com> 1654*a1ba9ba4Schristos 1655*a1ba9ba4Schristos * elflink.c (bfd_elf_discard_info): Return int error status. 1656*a1ba9ba4Schristos * stabs.c (_bfd_discard_section_stabs): Comment typo fix. 1657*a1ba9ba4Schristos * bfd-in.h (bfd_elf_discard_info): Updata prototype. 1658*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1659*a1ba9ba4Schristos 1660*a1ba9ba4Schristos2014-08-14 Alan Modra <amodra@gmail.com> 1661*a1ba9ba4Schristos 1662*a1ba9ba4Schristos * peXXigen.c (pe_print_reloc): Protect against access past end 1663*a1ba9ba4Schristos of .reloc section. 1664*a1ba9ba4Schristos 1665*a1ba9ba4Schristos2014-08-14 Alan Modra <amodra@gmail.com> 1666*a1ba9ba4Schristos 1667*a1ba9ba4Schristos PR 16563 1668*a1ba9ba4Schristos * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab 1669*a1ba9ba4Schristos in the order they are mapped to output sections. 1670*a1ba9ba4Schristos 1671*a1ba9ba4Schristos2014-08-14 Alan Modra <amodra@gmail.com> 1672*a1ba9ba4Schristos 1673*a1ba9ba4Schristos * configure.ac: Delete redundant plugin related checks. 1674*a1ba9ba4Schristos * configure: Regenerate. 1675*a1ba9ba4Schristos 1676*a1ba9ba4Schristos2014-08-13 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi> 1677*a1ba9ba4Schristos 1678*a1ba9ba4Schristos * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs, 1679*a1ba9ba4Schristos allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL 1680*a1ba9ba4Schristos and SYMBOLIC_BIND. 1681*a1ba9ba4Schristos 1682*a1ba9ba4Schristos2014-08-12 Alan Modra <amodra@gmail.com> 1683*a1ba9ba4Schristos 1684*a1ba9ba4Schristos * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice" 1685*a1ba9ba4Schristos here when not calling the generic add_symbol function. Formatting. 1686*a1ba9ba4Schristos Correct handling of indirect symbols. Update notice call. 1687*a1ba9ba4Schristos * elflink.c (_bfd_elf_notice_as_needed): Update notice call. 1688*a1ba9ba4Schristos * linker.c (_bfd_generic_link_add_one_symbol): Create indirect 1689*a1ba9ba4Schristos symbols early. Update notice call. Add comments regarding weak 1690*a1ba9ba4Schristos symbols vs. indirect. 1691*a1ba9ba4Schristos 1692*a1ba9ba4Schristos2014-08-12 Alan Modra <amodra@gmail.com> 1693*a1ba9ba4Schristos 1694*a1ba9ba4Schristos PR ld/16746 1695*a1ba9ba4Schristos * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle 1696*a1ba9ba4Schristos !lto_plugin_active. 1697*a1ba9ba4Schristos 1698*a1ba9ba4Schristos2014-08-07 Chen Gang <gang.chen.5i5j@gmail.com> 1699*a1ba9ba4Schristos 1700*a1ba9ba4Schristos * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are 1701*a1ba9ba4Schristos zero terminated. 1702*a1ba9ba4Schristos 1703*a1ba9ba4Schristos2014-08-07 H.J. Lu <hongjiu.lu@intel.com> 1704*a1ba9ba4Schristos Alan Modra <amodra@gmail.com> 1705*a1ba9ba4Schristos 1706*a1ba9ba4Schristos PR ld/16746 1707*a1ba9ba4Schristos * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a 1708*a1ba9ba4Schristos warning for references in LTO IR to warning symbols. 1709*a1ba9ba4Schristos 1710*a1ba9ba4Schristos2014-08-07 Alan Modra <amodra@gmail.com> 1711*a1ba9ba4Schristos 1712*a1ba9ba4Schristos * linker.c (WARN, CWARN): Collapse these states to WARN. 1713*a1ba9ba4Schristos (_bfd_generic_link_add_one_symbol): Use old CWARN case for 1714*a1ba9ba4Schristos new WARN. 1715*a1ba9ba4Schristos 1716*a1ba9ba4Schristos2014-08-05 Doug Evans <dje@google.com> 1717*a1ba9ba4Schristos 1718*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1719*a1ba9ba4Schristos * libcoff.h: Regenerate. 1720*a1ba9ba4Schristos 1721*a1ba9ba4Schristos2014-08-05 Maciej W. Rozycki <macro@codesourcery.com> 1722*a1ba9ba4Schristos 1723*a1ba9ba4Schristos * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's 1724*a1ba9ba4Schristos rawsize if changing size. 1725*a1ba9ba4Schristos 1726*a1ba9ba4Schristos2014-08-05 Alan Modra <amodra@gmail.com> 1727*a1ba9ba4Schristos 1728*a1ba9ba4Schristos PR ld/17226 1729*a1ba9ba4Schristos * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix. 1730*a1ba9ba4Schristos 1731*a1ba9ba4Schristos2014-08-05 Alan Modra <amodra@gmail.com> 1732*a1ba9ba4Schristos 1733*a1ba9ba4Schristos * linker.c (generic_link_check_archive_element): Move handling 1734*a1ba9ba4Schristos of command link -u symbols with a common symbol def to the 1735*a1ba9ba4Schristos code handling non-common symbols so that archive element symbols 1736*a1ba9ba4Schristos are loaded. Use generic_link_add_object_symbols. 1737*a1ba9ba4Schristos 1738*a1ba9ba4Schristos2014-08-05 Alan Modra <amodra@gmail.com> 1739*a1ba9ba4Schristos 1740*a1ba9ba4Schristos PR 13557 1741*a1ba9ba4Schristos * linker.c (struct archive_list, struct archive_hash_entry, 1742*a1ba9ba4Schristos struct archive_hash_table, archive_hash_newfunc, 1743*a1ba9ba4Schristos archive_hash_table_init, archive_hash_lookup, archive_hash_allocate, 1744*a1ba9ba4Schristos archive_hash_table_free): Delete. 1745*a1ba9ba4Schristos (_bfd_generic_link_add_archive_symbols): Add h and name params to 1746*a1ba9ba4Schristos checkfn. Rewrite using a straight-forward scan over archive map. 1747*a1ba9ba4Schristos (generic_link_check_archive_element_no_collect, 1748*a1ba9ba4Schristos generic_link_check_archive_element_collect, 1749*a1ba9ba4Schristos generic_link_check_archive_element): Add h and name params. 1750*a1ba9ba4Schristos * aoutx.h (aout_link_check_archive_element): Likewise. 1751*a1ba9ba4Schristos * pdp11.c (aout_link_check_archive_element): Likewise. 1752*a1ba9ba4Schristos * xcofflink.c (xcoff_link_check_archive_element): Likewise. 1753*a1ba9ba4Schristos * cofflink.c (coff_link_check_archive_element): Likewise. Don't 1754*a1ba9ba4Schristos scan symbols, simply add archive element whenever h is undefined. 1755*a1ba9ba4Schristos (coff_link_check_ar_symbols): Delete. 1756*a1ba9ba4Schristos * ecoff.c (read_ext_syms_and_strs): Delete. 1757*a1ba9ba4Schristos (reread_ext_syms_and_strs): Delete. 1758*a1ba9ba4Schristos (ecoff_link_check_archive_element): Add h and name param. Don't 1759*a1ba9ba4Schristos scan symbols, simply add based on h. Use ecoff_link_add_object_symbols. 1760*a1ba9ba4Schristos * elflink.c (elf_link_is_defined_archive_symbol): Don't test 1761*a1ba9ba4Schristos archive_pass. 1762*a1ba9ba4Schristos (elf_link_add_archive_symbols): Delete "defined" array, merge 1763*a1ba9ba4Schristos functionality into "included". Make "included" a char array. Don't 1764*a1ba9ba4Schristos set or test archive_pass. 1765*a1ba9ba4Schristos * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update. 1766*a1ba9ba4Schristos * libbfd.h: Regenerate. 1767*a1ba9ba4Schristos 1768*a1ba9ba4Schristos2014-08-01 Takashi Yoshii <yoshii.takashi@renesas.com> 1769*a1ba9ba4Schristos 1770*a1ba9ba4Schristos PR 10373 1771*a1ba9ba4Schristos * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing. 1772*a1ba9ba4Schristos 1773*a1ba9ba4Schristos2014-07-29 Matthew Fortune <matthew.fortune@imgtec.com> 1774*a1ba9ba4Schristos 1775*a1ba9ba4Schristos * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro. 1776*a1ba9ba4Schristos (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields. 1777*a1ba9ba4Schristos (bfd_mips_elf_swap_abiflags_v0_in): New function. 1778*a1ba9ba4Schristos (bfd_mips_elf_swap_abiflags_v0_out): Likewise. 1779*a1ba9ba4Schristos (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS. 1780*a1ba9ba4Schristos (_bfd_mips_elf_fake_sections): Likewise. 1781*a1ba9ba4Schristos (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags. 1782*a1ba9ba4Schristos (_bfd_mips_elf_additional_program_headers): Account for new 1783*a1ba9ba4Schristos PT_MIPS_ABIFLAGS program header. 1784*a1ba9ba4Schristos (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and 1785*a1ba9ba4Schristos associate with .MIPS.abiflags. 1786*a1ba9ba4Schristos (_bfd_mips_elf_gc_mark_extra_sections): New function. 1787*a1ba9ba4Schristos (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function. 1788*a1ba9ba4Schristos (infer_mips_abiflags): Likewise. 1789*a1ba9ba4Schristos (_bfd_mips_elf_final_link): Handle .MIPS.abiflags. 1790*a1ba9ba4Schristos (mips_32bit_flags_p): Moved higher. 1791*a1ba9ba4Schristos (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error 1792*a1ba9ba4Schristos checking for FP ABIs. 1793*a1ba9ba4Schristos (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags 1794*a1ba9ba4Schristos checks. Check EF_MIPS_FP64 flag consistency. 1795*a1ba9ba4Schristos (print_mips_ases, print_mips_isa_ext): New static function. 1796*a1ba9ba4Schristos (print_mips_fp_abi_value, get_mips_reg_size): Likewise. 1797*a1ba9ba4Schristos (_bfd_mips_elf_print_private_bfd_data): Display abiflags data. 1798*a1ba9ba4Schristos (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for 1799*a1ba9ba4Schristos Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A. 1800*a1ba9ba4Schristos * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype. 1801*a1ba9ba4Schristos * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1802*a1ba9ba4Schristos * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1803*a1ba9ba4Schristos * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement. 1804*a1ba9ba4Schristos 1805*a1ba9ba4Schristos2014-07-28 Alan Modra <amodra@gmail.com> 1806*a1ba9ba4Schristos 1807*a1ba9ba4Schristos PR 13227 1808*a1ba9ba4Schristos * archive.c (_bfd_compute_and_write_armap): Warn on adding 1809*a1ba9ba4Schristos __gnu_lto_slim to armap. 1810*a1ba9ba4Schristos * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding 1811*a1ba9ba4Schristos __gnu_lto_slim to linker hash table. 1812*a1ba9ba4Schristos 1813*a1ba9ba4Schristos2014-07-27 Anthony Green <green@moxielogic.org> 1814*a1ba9ba4Schristos 1815*a1ba9ba4Schristos * config.bfd: Add moxie-*-moxiebox*. 1816*a1ba9ba4Schristos 1817*a1ba9ba4Schristos2014-07-21 Joel Sherrill <joel.sherrill@oarcorp.com> 1818*a1ba9ba4Schristos 1819*a1ba9ba4Schristos Add or reactivate or1k-*-rtems* 1820*a1ba9ba4Schristos * config.bfd (or1k-*-rtems*): Reactivate. 1821*a1ba9ba4Schristos 1822*a1ba9ba4Schristos2014-07-16 H.J. Lu <hongjiu.lu@intel.com> 1823*a1ba9ba4Schristos 1824*a1ba9ba4Schristos * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for 1825*a1ba9ba4Schristos ELFOSABI_GNU input. 1826*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1827*a1ba9ba4Schristos (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise. 1828*a1ba9ba4Schristos 1829*a1ba9ba4Schristos2014-07-16 H.J. Lu <hongjiu.lu@intel.com> 1830*a1ba9ba4Schristos 1831*a1ba9ba4Schristos PR binutils/17154 1832*a1ba9ba4Schristos * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT 1833*a1ba9ba4Schristos and R_*_IRELATIVE relocation offset with PLT entry. 1834*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise. 1835*a1ba9ba4Schristos (elf_x86_64_plt_sym_val_offset_plt_bnd): New. 1836*a1ba9ba4Schristos (elf_x86_64_get_synthetic_symtab): Use it. 1837*a1ba9ba4Schristos 1838*a1ba9ba4Schristos2014-07-15 H.J. Lu <hongjiu.lu@intel.com> 1839*a1ba9ba4Schristos 1840*a1ba9ba4Schristos PR ld/17057 1841*a1ba9ba4Schristos * elf32-i386.c (elf_i386_compute_jump_table_size): Replace 1842*a1ba9ba4Schristos next_tls_desc_index with elf.srelplt->reloc_count. 1843*a1ba9ba4Schristos 1844*a1ba9ba4Schristos2014-07-15 Alan Modra <amodra@gmail.com> 1845*a1ba9ba4Schristos 1846*a1ba9ba4Schristos * cache.c (cache_bread_1): Don't return -1 when fread returns 1847*a1ba9ba4Schristos a positive value. 1848*a1ba9ba4Schristos 1849*a1ba9ba4Schristos2014-07-15 Alan Modra <amodra@gmail.com> 1850*a1ba9ba4Schristos 1851*a1ba9ba4Schristos * elflink.c (elf_merge_st_other): Update comments. Simplify 1852*a1ba9ba4Schristos visibility handling. Make isym const. Move code modifying 1853*a1ba9ba4Schristos isym->st_other for --exclude-libs to.. 1854*a1ba9ba4Schristos (elf_link_add_object_symbols): ..here. 1855*a1ba9ba4Schristos 1856*a1ba9ba4Schristos2014-07-11 Maks Naumov <maksqwe1@ukr.net> 1857*a1ba9ba4Schristos 1858*a1ba9ba4Schristos PR 17141 1859*a1ba9ba4Schristos * elf.c (_bfd_elf_strtab_add): Check strtab name for failure. 1860*a1ba9ba4Schristos 1861*a1ba9ba4Schristos2014-07-08 Nick Clifton <nickc@redhat.com> 1862*a1ba9ba4Schristos 1863*a1ba9ba4Schristos PR ld/17110 1864*a1ba9ba4Schristos * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output 1865*a1ba9ba4Schristos segments in input bfds. 1866*a1ba9ba4Schristos 1867*a1ba9ba4Schristos2014-07-08 Will Newton <will.newton@linaro.org> 1868*a1ba9ba4Schristos 1869*a1ba9ba4Schristos * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default 1870*a1ba9ba4Schristos value to 64kB and remove custom setting for NaCl. 1871*a1ba9ba4Schristos 1872*a1ba9ba4Schristos2014-07-08 Alan Modra <amodra@gmail.com> 1873*a1ba9ba4Schristos 1874*a1ba9ba4Schristos * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other 1875*a1ba9ba4Schristos bits from source to dest. 1876*a1ba9ba4Schristos * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment. 1877*a1ba9ba4Schristos * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>): 1878*a1ba9ba4Schristos Likewise. 1879*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1880*a1ba9ba4Schristos 1881*a1ba9ba4Schristos2014-07-08 Jiong Wang <jiong.wang@arm.com> 1882*a1ba9ba4Schristos 1883*a1ba9ba4Schristos * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1. 1884*a1ba9ba4Schristos (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment 1885*a1ba9ba4Schristos when info->relocatable be true. 1886*a1ba9ba4Schristos 1887*a1ba9ba4Schristos2014-07-07 Barney Stratford <barney_stratford@fastmail.fm> 1888*a1ba9ba4Schristos 1889*a1ba9ba4Schristos * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6. 1890*a1ba9ba4Schristos * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6. 1891*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1892*a1ba9ba4Schristos * libbfd.h: Regenerate. 1893*a1ba9ba4Schristos 1894*a1ba9ba4Schristos2014-07-04 Alan Modra <amodra@gmail.com> 1895*a1ba9ba4Schristos 1896*a1ba9ba4Schristos * Makefile.am: Update "configure.in" comments. 1897*a1ba9ba4Schristos * PORTING: Likewise. 1898*a1ba9ba4Schristos * aoutx.h: Likewise. 1899*a1ba9ba4Schristos * configure.host: Likewise. 1900*a1ba9ba4Schristos * doc/bfdint.texi: Likewise. 1901*a1ba9ba4Schristos * targets.c: Likewise. 1902*a1ba9ba4Schristos * warning.m4: Likewise. 1903*a1ba9ba4Schristos * Makefile.in: Regenerate. 1904*a1ba9ba4Schristos 1905*a1ba9ba4Schristos2014-07-04 Alan Modra <amodra@gmail.com> 1906*a1ba9ba4Schristos 1907*a1ba9ba4Schristos * configure.ac: Rename from configure.in. 1908*a1ba9ba4Schristos * Makefile.in: Regenerate. 1909*a1ba9ba4Schristos * config.in: Regenerate. 1910*a1ba9ba4Schristos * doc/Makefile.in: Regenerate. 1911*a1ba9ba4Schristos 1912*a1ba9ba4Schristos2014-07-04 Alan Modra <amodra@gmail.com> 1913*a1ba9ba4Schristos 1914*a1ba9ba4Schristos * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in. 1915*a1ba9ba4Schristos * Makefile.in: Regenerate. 1916*a1ba9ba4Schristos 1917*a1ba9ba4Schristos2014-07-04 Alan Modra <amodra@gmail.com> 1918*a1ba9ba4Schristos 1919*a1ba9ba4Schristos * version.m4: New file. 1920*a1ba9ba4Schristos * configure.in: Include version.m4. 1921*a1ba9ba4Schristos (AC_INIT): Update. 1922*a1ba9ba4Schristos * Makefile.am (RELEASE): Delete. 1923*a1ba9ba4Schristos (bfdver.h): Depend on development.sh, use instead of RELEASE. 1924*a1ba9ba4Schristos * Makefile.in: Regenerate. 1925*a1ba9ba4Schristos * doc/Makefile.in: Regenerate. 1926*a1ba9ba4Schristos 1927*a1ba9ba4Schristos2014-07-02 Alan Modra <amodra@gmail.com> 1928*a1ba9ba4Schristos 1929*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear 1930*a1ba9ba4Schristos pointer_equality_needed when !readonly_dynrelocs. 1931*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. 1932*a1ba9ba4Schristos 1933*a1ba9ba4Schristos2014-07-02 Alan Modra <amodra@gmail.com> 1934*a1ba9ba4Schristos 1935*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too. 1936*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_check_relocs): Likewise. 1937*a1ba9ba4Schristos 1938*a1ba9ba4Schristos2014-07-01 Alan Modra <amodra@gmail.com> 1939*a1ba9ba4Schristos 1940*a1ba9ba4Schristos * bfd.c (struct bfd): Reorganise for better packing. Delete 1941*a1ba9ba4Schristos "ifd" field. Make "format", "direction" and "flags" bitfields. 1942*a1ba9ba4Schristos (HAS_LOAD_PAGE): Delete, renumber following flags. 1943*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1944*a1ba9ba4Schristos * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs. 1945*a1ba9ba4Schristos 1946*a1ba9ba4Schristos2014-07-01 Alan Modra <amodra@gmail.com> 1947*a1ba9ba4Schristos 1948*a1ba9ba4Schristos * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry. 1949*a1ba9ba4Schristos (struct ppc_link_hash_table): Increase size of stub_count array. 1950*a1ba9ba4Schristos (build_global_entry_stubs): Emit symbol on global entry stub. 1951*a1ba9ba4Schristos (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry 1952*a1ba9ba4Schristos stub stats. 1953*a1ba9ba4Schristos 1954*a1ba9ba4Schristos2014-07-01 Alan Modra <amodra@gmail.com> 1955*a1ba9ba4Schristos 1956*a1ba9ba4Schristos * elf64-ppc.c (abiversion, set_abiversion): Move earlier. 1957*a1ba9ba4Schristos (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset. 1958*a1ba9ba4Schristos (ppc64_elf_set_toc): Set ".TOC." symbol value when using 1959*a1ba9ba4Schristos generic linker. 1960*a1ba9ba4Schristos (ppc64_elf_relocate_section): Disable ELFv2 function entry 1961*a1ba9ba4Schristos optimisation when --traditional-format. 1962*a1ba9ba4Schristos 1963*a1ba9ba4Schristos2014-07-01 Barney Stratford <barney_stratford@fastmail.fm> 1964*a1ba9ba4Schristos Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 1965*a1ba9ba4Schristos Pitchumani Sivanupandi <pitchumani.s@atmel.com> 1966*a1ba9ba4Schristos Soundararajan <Sounderarajan.D@atmel.com> 1967*a1ba9ba4Schristos 1968*a1ba9ba4Schristos * archures.c: Add avrtiny architecture for avr target. 1969*a1ba9ba4Schristos * cpu-avr.c (arch_info_struct): Add avrtiny arch info. 1970*a1ba9ba4Schristos * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16 1971*a1ba9ba4Schristos added for 16 bit LDS/STS instruction of avrtiny arch. 1972*a1ba9ba4Schristos (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to 1973*a1ba9ba4Schristos BFD_RELOC_AVR_LDS_STS_16. 1974*a1ba9ba4Schristos (bfd_elf_avr_final_write_processing): Select machine number 1975*a1ba9ba4Schristos avrtiny arch. 1976*a1ba9ba4Schristos (elf32_avr_object_p): Set machine number for avrtiny arch. 1977*a1ba9ba4Schristos * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc. 1978*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 1979*a1ba9ba4Schristos * libbfd.h: Regenerate. 1980*a1ba9ba4Schristos 1981*a1ba9ba4Schristos2014-06-26 Nick Clifton <nickc@redhat.com> 1982*a1ba9ba4Schristos 1983*a1ba9ba4Schristos PR binutils/16949 1984*a1ba9ba4Schristos * dwarf2.c (is_str_attr): New function. 1985*a1ba9ba4Schristos (find_abstract_instance_name): Use it to determine when an 1986*a1ba9ba4Schristos attribute has a string value. 1987*a1ba9ba4Schristos 1988*a1ba9ba4Schristos2014-06-24 Alan Modra <amodra@gmail.com> 1989*a1ba9ba4Schristos 1990*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep 1991*a1ba9ba4Schristos .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output 1992*a1ba9ba4Schristos for --emit-relocs. 1993*a1ba9ba4Schristos 1994*a1ba9ba4Schristos2014-06-21 Philippe De Muyter <phdm@macqel.be> 1995*a1ba9ba4Schristos 1996*a1ba9ba4Schristos * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for 1997*a1ba9ba4Schristos a number of targets. 1998*a1ba9ba4Schristos 1999*a1ba9ba4Schristos2014-06-20 Kyle McMartin <kyle@redhat.com> 2000*a1ba9ba4Schristos 2001*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when 2002*a1ba9ba4Schristos emitting initial-exec relocs when not linking an executable. 2003*a1ba9ba4Schristos 2004*a1ba9ba4Schristos2014-06-16 Will Newton <will.newton@linaro.org> 2005*a1ba9ba4Schristos 2006*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment 2007*a1ba9ba4Schristos htab->next_tls_desc_index in the non-IPLT case. 2008*a1ba9ba4Schristos Calculate GOT offset correctly for the non-IPLT case. 2009*a1ba9ba4Schristos (allocate_dynrelocs_for_symbol): Don't increment 2010*a1ba9ba4Schristos htab->next_tls_desc_index here. 2011*a1ba9ba4Schristos 2012*a1ba9ba4Schristos2014-06-16 Alan Modra <amodra@gmail.com> 2013*a1ba9ba4Schristos 2014*a1ba9ba4Schristos * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker 2015*a1ba9ba4Schristos created sections. 2016*a1ba9ba4Schristos 2017*a1ba9ba4Schristos2014-06-13 Omair Javaid <omair.javaid@linaro.org> 2018*a1ba9ba4Schristos 2019*a1ba9ba4Schristos * elfxx-aarch64.c (stdarg.h): Include. 2020*a1ba9ba4Schristos (string.h): Include. 2021*a1ba9ba4Schristos (_bfd_aarch64_elf_grok_prstatus): Updated. 2022*a1ba9ba4Schristos (_bfd_aarch64_elf_grok_psinfo): New function. 2023*a1ba9ba4Schristos (_bfd_aarch64_elf_write_core_note): New function. 2024*a1ba9ba4Schristos * elfxx-aarch64.h (elf_backend_grok_psinfo): Define. 2025*a1ba9ba4Schristos (elf_backend_write_core_note): Define. 2026*a1ba9ba4Schristos 2027*a1ba9ba4Schristos2014-06-13 Alan Modra <amodra@gmail.com> 2028*a1ba9ba4Schristos 2029*a1ba9ba4Schristos * archive.c: Include bfdlink.h. 2030*a1ba9ba4Schristos (_bfd_archive_close_and_cleanup): Call linker hash_table_free. 2031*a1ba9ba4Schristos * bfd.c (struct bfd): Add is_linker_output field. 2032*a1ba9ba4Schristos * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype. 2033*a1ba9ba4Schristos * linker.c (_bfd_link_hash_table_init): Set up hash_table_free, 2034*a1ba9ba4Schristos link.hash and is_linker_output. 2035*a1ba9ba4Schristos (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table* 2036*a1ba9ba4Schristos param with bfd*. Assert is_linker_output and link.hash, and 2037*a1ba9ba4Schristos clear them before exit. 2038*a1ba9ba4Schristos * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace 2039*a1ba9ba4Schristos bfd_link_hash_table* param with bfd*. Hack is_linker_output 2040*a1ba9ba4Schristos and link.hash so we can free two linker hash tables. 2041*a1ba9ba4Schristos (elf32_mn10300_link_hash_table_create): Create static_hash_table 2042*a1ba9ba4Schristos first. Clean up on errors. Set hash_table_free pointer. 2043*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_link_hash_table_free): Replace 2044*a1ba9ba4Schristos bfd_link_hash_table* param with bfd*. 2045*a1ba9ba4Schristos (elf32_arm_link_hash_table_create): Clean up on errors. Set 2046*a1ba9ba4Schristos hash_table_free pointer. 2047*a1ba9ba4Schristos * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c, 2048*a1ba9ba4Schristos * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c, 2049*a1ba9ba4Schristos * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c, 2050*a1ba9ba4Schristos * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, 2051*a1ba9ba4Schristos * xcofflink.c: Similarly. 2052*a1ba9ba4Schristos * simple.c (bfd_simple_get_relocated_section_contents): Save and 2053*a1ba9ba4Schristos clear link.next before creating linker hash table. Clean up on 2054*a1ba9ba4Schristos errors, and restore link.next on exit. 2055*a1ba9ba4Schristos * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete. 2056*a1ba9ba4Schristos * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete. 2057*a1ba9ba4Schristos * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete. 2058*a1ba9ba4Schristos * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete. 2059*a1ba9ba4Schristos * hash.c (bfd_hash_table_init_n): Free table on error. 2060*a1ba9ba4Schristos * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto. 2061*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2062*a1ba9ba4Schristos * libbfd.h: Regenerate. 2063*a1ba9ba4Schristos * libcoff.h: Regenerate. 2064*a1ba9ba4Schristos 2065*a1ba9ba4Schristos2014-06-13 Alan Modra <amodra@gmail.com> 2066*a1ba9ba4Schristos 2067*a1ba9ba4Schristos PR 17047 2068*a1ba9ba4Schristos * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free. 2069*a1ba9ba4Schristos (struct bfd_target <_bfd_link_hash_table_free>): Delete. 2070*a1ba9ba4Schristos * bfd.c (bfd_link_hash_table_free): Don't define. 2071*a1ba9ba4Schristos * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c, 2072*a1ba9ba4Schristos * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c, 2073*a1ba9ba4Schristos * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c, 2074*a1ba9ba4Schristos * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, 2075*a1ba9ba4Schristos * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c, 2076*a1ba9ba4Schristos * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c, 2077*a1ba9ba4Schristos * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, 2078*a1ba9ba4Schristos * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c, 2079*a1ba9ba4Schristos * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, 2080*a1ba9ba4Schristos * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c, 2081*a1ba9ba4Schristos * xsym.c: Don't define various link_hash_table_free defines, and 2082*a1ba9ba4Schristos remove from bfd_target vars. Temporarily reference some of the 2083*a1ba9ba4Schristos target link_hash_table_free functions to avoid warnings. 2084*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2085*a1ba9ba4Schristos * libbfd.h: Regenerate. 2086*a1ba9ba4Schristos 2087*a1ba9ba4Schristos2014-06-13 Alan Modra <amodra@gmail.com> 2088*a1ba9ba4Schristos 2089*a1ba9ba4Schristos * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c, 2090*a1ba9ba4Schristos * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c, 2091*a1ba9ba4Schristos * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, 2092*a1ba9ba4Schristos * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c: 2093*a1ba9ba4Schristos Move link_hash_table_free functions before their corresponding 2094*a1ba9ba4Schristos link_hash_table_create functions. 2095*a1ba9ba4Schristos 2096*a1ba9ba4Schristos2014-06-13 Alan Modra <amodra@gmail.com> 2097*a1ba9ba4Schristos 2098*a1ba9ba4Schristos * bfd.c (struct bfd): Replace link_next with a union. 2099*a1ba9ba4Schristos * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c, 2100*a1ba9ba4Schristos * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, 2101*a1ba9ba4Schristos * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c, 2102*a1ba9ba4Schristos * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c, 2103*a1ba9ba4Schristos * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c, 2104*a1ba9ba4Schristos * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c, 2105*a1ba9ba4Schristos * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, 2106*a1ba9ba4Schristos * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c, 2107*a1ba9ba4Schristos * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, 2108*a1ba9ba4Schristos * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c, 2109*a1ba9ba4Schristos * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, 2110*a1ba9ba4Schristos * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c, 2111*a1ba9ba4Schristos * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above. 2112*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2113*a1ba9ba4Schristos 2114*a1ba9ba4Schristos2014-06-11 Alan Modra <amodra@gmail.com> 2115*a1ba9ba4Schristos 2116*a1ba9ba4Schristos * linker.c (unwrap_hash_lookup): Add missing parens. 2117*a1ba9ba4Schristos 2118*a1ba9ba4Schristos2014-06-11 Kai Tietz <ktietz@redhat.com> 2119*a1ba9ba4Schristos 2120*a1ba9ba4Schristos * libcoff-in.h (coff_tdata): Make relocbase member unsigned. 2121*a1ba9ba4Schristos * libcoff.h: Regenerated. 2122*a1ba9ba4Schristos 2123*a1ba9ba4Schristos2014-06-10 Alan Modra <amodra@gmail.com> 2124*a1ba9ba4Schristos 2125*a1ba9ba4Schristos PR ld/16910 2126*a1ba9ba4Schristos * linker.c (unwrap_hash_lookup): New function. 2127*a1ba9ba4Schristos * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup. 2128*a1ba9ba4Schristos * elf32-i370.c (i370_elf_relocate_section): Likewise. 2129*a1ba9ba4Schristos * elf32-m32c.c (m32c_elf_relocate_section): Likewise. 2130*a1ba9ba4Schristos * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 2131*a1ba9ba4Schristos * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise. 2132*a1ba9ba4Schristos * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise. 2133*a1ba9ba4Schristos * elf32-spu.c (spu_elf_relocate_section): Likewise. 2134*a1ba9ba4Schristos * elf64-hppa.c (elf64_hppa_relocate_section): Likewise. 2135*a1ba9ba4Schristos 2136*a1ba9ba4Schristos2014-06-07 Alan Modra <amodra@gmail.com> 2137*a1ba9ba4Schristos 2138*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli 2139*a1ba9ba4Schristos insn as a bitfield; Use complain_overflow_bitfield. 2140*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 2141*a1ba9ba4Schristos 2142*a1ba9ba4Schristos2014-06-05 Joel Brobecker <brobecker@adacore.com> 2143*a1ba9ba4Schristos 2144*a1ba9ba4Schristos * development.sh: New file. 2145*a1ba9ba4Schristos * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh. 2146*a1ba9ba4Schristos Make -Werror the default with GCC only if DEVELOPMENT is true. 2147*a1ba9ba4Schristos * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add 2148*a1ba9ba4Schristos $(srcdir)/development.sh. 2149*a1ba9ba4Schristos * Makefile.in, configure: Regenerate. 2150*a1ba9ba4Schristos 2151*a1ba9ba4Schristos2014-06-04 Will Newton <will.newton@linaro.org> 2152*a1ba9ba4Schristos 2153*a1ba9ba4Schristos * elfnn-aarch64.c (tpoff_base): Make test of tls_sec 2154*a1ba9ba4Schristos being non-NULL into an assert. 2155*a1ba9ba4Schristos (elfNN_aarch64_tls_relax): Remove unused code. 2156*a1ba9ba4Schristos 2157*a1ba9ba4Schristos2014-06-03 DJ Delorie <dj@redhat.com> 2158*a1ba9ba4Schristos 2159*a1ba9ba4Schristos * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability. 2160*a1ba9ba4Schristos 2161*a1ba9ba4Schristos2014-06-03 Nick Clifton <nickc@redhat.com> 2162*a1ba9ba4Schristos 2163*a1ba9ba4Schristos PR ld/16807 2164*a1ba9ba4Schristos * peXXigen.c (rsrc_process_section): Page align the new contents 2165*a1ba9ba4Schristos befgore writing out. 2166*a1ba9ba4Schristos 2167*a1ba9ba4Schristos2014-06-03 Alan Modra <amodra@gmail.com> 2168*a1ba9ba4Schristos 2169*a1ba9ba4Schristos * elf64-ppc.c (ADDIS_R12_R2): Define. 2170*a1ba9ba4Schristos (build_plt_stub): Support fusion on ELFv2 stub. 2171*a1ba9ba4Schristos (ppc_build_one_stub): Likewise for plt branch stubs. 2172*a1ba9ba4Schristos 2173*a1ba9ba4Schristos2014-05-28 Alan Modra <amodra@gmail.com> 2174*a1ba9ba4Schristos 2175*a1ba9ba4Schristos * elf32-rx.c (rx_table_map): Delete set but not used variables. 2176*a1ba9ba4Schristos 2177*a1ba9ba4Schristos2014-05-28 Tristan Gingold <gingold@adacore.com> 2178*a1ba9ba4Schristos 2179*a1ba9ba4Schristos * dwarf2.c (lookup_address_in_function_table): Add best_fit_len 2180*a1ba9ba4Schristos to keep the length of the best fit range. 2181*a1ba9ba4Schristos (lookup_symbol_in_function_table, info_hash_lookup_funcinfo): 2182*a1ba9ba4Schristos Likewise. 2183*a1ba9ba4Schristos 2184*a1ba9ba4Schristos2014-05-27 DJ Delorie <dj@redhat.com> 2185*a1ba9ba4Schristos 2186*a1ba9ba4Schristos * elf32-rx.c (get_symbol_value_maybe): New. 2187*a1ba9ba4Schristos (rx_elf_relocate_section): If we find a reloc against 2188*a1ba9ba4Schristos $tableentry$default$<name>, redirect it to the appropriate 2189*a1ba9ba4Schristos $tableentry$<n>$. 2190*a1ba9ba4Schristos (RX_Table_Info): New. 2191*a1ba9ba4Schristos (rx_table_find): New. Check all tables and SEC_KEEP all sections 2192*a1ba9ba4Schristos with table parts in them. 2193*a1ba9ba4Schristos (rx_check_directives): New. 2194*a1ba9ba4Schristos (rx_table_map_2): New. 2195*a1ba9ba4Schristos (rx_table_map): New. 2196*a1ba9ba4Schristos (rx_additional_link_map_text): New. Called to dump tables to the 2197*a1ba9ba4Schristos map file. 2198*a1ba9ba4Schristos * elf32-rx.h: New. 2199*a1ba9ba4Schristos 2200*a1ba9ba4Schristos2014-05-20 DJ Delorie <dj@redhat.com> 2201*a1ba9ba4Schristos 2202*a1ba9ba4Schristos * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow. 2203*a1ba9ba4Schristos 2204*a1ba9ba4Schristos2014-05-20 Alan Modra <amodra@gmail.com> 2205*a1ba9ba4Schristos 2206*a1ba9ba4Schristos PR 16952 2207*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier. 2208*a1ba9ba4Schristos Remove redundant setting of htab->elf.dynobj. Don't align. 2209*a1ba9ba4Schristos Define .sdata symbols using _bfd_elf_define_linkage_sym. 2210*a1ba9ba4Schristos (ppc_elf_create_glink): Call ppc_elf_create_linker_section. 2211*a1ba9ba4Schristos (create_sdata_sym): Delete. 2212*a1ba9ba4Schristos (elf_allocate_pointer_linker_section): Rename from 2213*a1ba9ba4Schristos elf_create_pointer_linker_section. Align section. 2214*a1ba9ba4Schristos (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section 2215*a1ba9ba4Schristos directly here, or create_sdata_sym. Set ref_regular on _SDA_BASE_ 2216*a1ba9ba4Schristos and _SDA2_BASE_. 2217*a1ba9ba4Schristos (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param. 2218*a1ba9ba4Schristos Remove unnecessary tests on _SDA_BASE_ sym. 2219*a1ba9ba4Schristos (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions. 2220*a1ba9ba4Schristos (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks. 2221*a1ba9ba4Schristos * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete. 2222*a1ba9ba4Schristos (ppc_elf_maybe_strip_sdata_syms): Declare. 2223*a1ba9ba4Schristos 2224*a1ba9ba4Schristos2014-05-16 Ryan Mansfield <rmansfield@qnx.com> 2225*a1ba9ba4Schristos 2226*a1ba9ba4Schristos * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*. 2227*a1ba9ba4Schristos 2228*a1ba9ba4Schristos2014-05-16 Jon Turney <jon.turney@dronecode.org.uk> 2229*a1ba9ba4Schristos 2230*a1ba9ba4Schristos * peXXigen.c (pe_print_debugdata): Don't interpret debug directory 2231*a1ba9ba4Schristos in a section with no contents. 2232*a1ba9ba4Schristos (is_vma_in_section, find_section_by_vma): New functions. 2233*a1ba9ba4Schristos (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file 2234*a1ba9ba4Schristos offsets in the debug directory. 2235*a1ba9ba4Schristos (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 2236*a1ba9ba4Schristos Byte-swap GUID from little-endian to big-endian order for 2237*a1ba9ba4Schristos consistent and conventional display. 2238*a1ba9ba4Schristos 2239*a1ba9ba4Schristos2014-05-16 Kaushik Phata <Kaushik.Phatak@kpit.com> 2240*a1ba9ba4Schristos 2241*a1ba9ba4Schristos * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if 2242*a1ba9ba4Schristos 64-bit doubles objects mix with 32-bit doubles objects. 2243*a1ba9ba4Schristos (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag. 2244*a1ba9ba4Schristos 2245*a1ba9ba4Schristos2014-05-08 Hans-Peter Nilsson <hp@bitrange.com> 2246*a1ba9ba4Schristos 2247*a1ba9ba4Schristos * mmo.c: Update URLs in documentation comments. 2248*a1ba9ba4Schristos 2249*a1ba9ba4Schristos2014-05-02 Volodymyr Arbatov <arbatov@cadence.com> 2250*a1ba9ba4Schristos David Weatherford <weath@cadence.com> 2251*a1ba9ba4Schristos Max Filippov <jcmvbkbc@gmail.com> 2252*a1ba9ba4Schristos 2253*a1ba9ba4Schristos * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as 2254*a1ba9ba4Schristos signed. 2255*a1ba9ba4Schristos 2256*a1ba9ba4Schristos2014-05-07 Andreas Tobler <andreast@fgznet.ch> 2257*a1ba9ba4Schristos 2258*a1ba9ba4Schristos * config.bfd: Add proper arm config for *-*-freebsd*. 2259*a1ba9ba4Schristos 2260*a1ba9ba4Schristos2014-05-07 Andrew Bennett <andrew.bennett@imgtec.com> 2261*a1ba9ba4Schristos 2262*a1ba9ba4Schristos * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3, 2263*a1ba9ba4Schristos mips32r5 and mips64r5. 2264*a1ba9ba4Schristos * archures.c (bfd_architecture): Likewise. 2265*a1ba9ba4Schristos * bfd-in2.h (bfd_architecture): Likewise. 2266*a1ba9ba4Schristos * cpu-mips.c (arch_info_struct): Likewise. 2267*a1ba9ba4Schristos * elfxx-mips.c (mips_set_isa_flags): Likewise. 2268*a1ba9ba4Schristos 2269*a1ba9ba4Schristos2014-05-06 Richard Sandiford <rdsandiford@googlemail.com> 2270*a1ba9ba4Schristos 2271*a1ba9ba4Schristos * elfxx-mips.h (elfxx-mips.h): Declare. 2272*a1ba9ba4Schristos * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report 2273*a1ba9ba4Schristos Tag_GNU_MIPS_ABI_FP mismatches. 2274*a1ba9ba4Schristos (_bfd_mips_fp_abi_string): New function. 2275*a1ba9ba4Schristos 2276*a1ba9ba4Schristos2014-05-02 Alan Modra <amodra@gmail.com> 2277*a1ba9ba4Schristos 2278*a1ba9ba4Schristos * targets.c: Sort bfd_target vectors somewhat alphabetically. 2279*a1ba9ba4Schristos * configure.in: Likewise. 2280*a1ba9ba4Schristos * configure: Regenerate. 2281*a1ba9ba4Schristos 2282*a1ba9ba4Schristos2014-05-02 Alan Modra <amodra@gmail.com> 2283*a1ba9ba4Schristos 2284*a1ba9ba4Schristos * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c, 2285*a1ba9ba4Schristos * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c, 2286*a1ba9ba4Schristos * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c, 2287*a1ba9ba4Schristos * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c, 2288*a1ba9ba4Schristos * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c, 2289*a1ba9ba4Schristos * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c, 2290*a1ba9ba4Schristos * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c, 2291*a1ba9ba4Schristos * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c, 2292*a1ba9ba4Schristos * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, 2293*a1ba9ba4Schristos * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in, 2294*a1ba9ba4Schristos * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c, 2295*a1ba9ba4Schristos * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, 2296*a1ba9ba4Schristos * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, 2297*a1ba9ba4Schristos * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c, 2298*a1ba9ba4Schristos * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c, 2299*a1ba9ba4Schristos * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c, 2300*a1ba9ba4Schristos * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, 2301*a1ba9ba4Schristos * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c, 2302*a1ba9ba4Schristos * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c, 2303*a1ba9ba4Schristos * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c, 2304*a1ba9ba4Schristos * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c, 2305*a1ba9ba4Schristos * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, 2306*a1ba9ba4Schristos * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c, 2307*a1ba9ba4Schristos * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c, 2308*a1ba9ba4Schristos * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c, 2309*a1ba9ba4Schristos * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c, 2310*a1ba9ba4Schristos * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c, 2311*a1ba9ba4Schristos * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c, 2312*a1ba9ba4Schristos * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c, 2313*a1ba9ba4Schristos * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, 2314*a1ba9ba4Schristos * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c, 2315*a1ba9ba4Schristos * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c, 2316*a1ba9ba4Schristos * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c, 2317*a1ba9ba4Schristos * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c, 2318*a1ba9ba4Schristos * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c, 2319*a1ba9ba4Schristos * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c, 2320*a1ba9ba4Schristos * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c, 2321*a1ba9ba4Schristos * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c, 2322*a1ba9ba4Schristos * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c, 2323*a1ba9ba4Schristos * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c, 2324*a1ba9ba4Schristos * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c, 2325*a1ba9ba4Schristos * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c, 2326*a1ba9ba4Schristos * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c, 2327*a1ba9ba4Schristos * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c, 2328*a1ba9ba4Schristos * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c, 2329*a1ba9ba4Schristos * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c, 2330*a1ba9ba4Schristos * vms-alpha.c, * vms-lib.c: Rename bfd targets to 2331*a1ba9ba4Schristos <cpu>_<format>_<other>_<endian>_vec. Adjust associated MY macros 2332*a1ba9ba4Schristos on aout targets. 2333*a1ba9ba4Schristos * configure: Regenerate. 2334*a1ba9ba4Schristos 2335*a1ba9ba4Schristos2014-05-01 Hans-Peter Nilsson <hp@bitrange.com> 2336*a1ba9ba4Schristos 2337*a1ba9ba4Schristos * mmo.c (mmo File layout documentation): Add note about low bits 2338*a1ba9ba4Schristos of address. 2339*a1ba9ba4Schristos (mmo_write_chunk): When handling data remainder, assert that 2340*a1ba9ba4Schristos previous remaining data is flushed. 2341*a1ba9ba4Schristos (mmo_write_loc_chunk): Only look for trailing and leading zeros 2342*a1ba9ba4Schristos when dealing with an aligned VMA and for aligned lengths. Don't skip 2343*a1ba9ba4Schristos the last 32-bit-word of zeros. 2344*a1ba9ba4Schristos (mmo_write_loc_chunk): Emit an error if the VMA is not aligned. 2345*a1ba9ba4Schristos (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before 2346*a1ba9ba4Schristos emitting data, not after updating it. 2347*a1ba9ba4Schristos <case LOP_LOC>: Call mmo_decide_section with aligned vma. 2348*a1ba9ba4Schristos 2349*a1ba9ba4Schristos2014-04-30 Nick Clifton <nickc@redhat.com> 2350*a1ba9ba4Schristos 2351*a1ba9ba4Schristos * compress.c (bfd_is_section_compressed): When checking the 2352*a1ba9ba4Schristos .debug_str section, also check the fifth byte in the section is 2353*a1ba9ba4Schristos not part of a string. 2354*a1ba9ba4Schristos 2355*a1ba9ba4Schristos2014-04-30 Alan Modra <amodra@gmail.com> 2356*a1ba9ba4Schristos 2357*a1ba9ba4Schristos * elf-eh-frame.c (struct cie.personality): Replace val with sym. 2358*a1ba9ba4Schristos (find_merged_cie): Identify personality functions by (bfd_id,index) 2359*a1ba9ba4Schristos pair when a local sym is used. 2360*a1ba9ba4Schristos 2361*a1ba9ba4Schristos2014-04-29 Christian Svensson <blue@cmd.nu> 2362*a1ba9ba4Schristos 2363*a1ba9ba4Schristos * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced 2364*a1ba9ba4Schristos into .rela.got if it contained TLS relocations as well. 2365*a1ba9ba4Schristos 2366*a1ba9ba4Schristos2014-04-28 Nick Clifton <nickc@redhat.com> 2367*a1ba9ba4Schristos 2368*a1ba9ba4Schristos PR ld/16821 2369*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile 2370*a1ba9ba4Schristos time warning. 2371*a1ba9ba4Schristos 2372*a1ba9ba4Schristos2014-04-26 Alan Modra <amodra@gmail.com> 2373*a1ba9ba4Schristos 2374*a1ba9ba4Schristos * po/SRC-POTFILES.in: Regenerate. 2375*a1ba9ba4Schristos * configure: Regenerate. 2376*a1ba9ba4Schristos 2377*a1ba9ba4Schristos2014-04-25 Nick Clifton <nickc@redhat.com> 2378*a1ba9ba4Schristos 2379*a1ba9ba4Schristos PR ld/16821 2380*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on 2381*a1ba9ba4Schristos a 342-bit host. This time for older versions of gcc. 2382*a1ba9ba4Schristos 2383*a1ba9ba4Schristos2014-04-24 Nick Clifton <nickc@redhat.com> 2384*a1ba9ba4Schristos 2385*a1ba9ba4Schristos * peXXigen.c (rsrc_print_section): Fix compile time warning for 2386*a1ba9ba4Schristos 32-bit hosts. 2387*a1ba9ba4Schristos 2388*a1ba9ba4Schristos2014-04-24 Alan Modra <amodra@gmail.com> 2389*a1ba9ba4Schristos 2390*a1ba9ba4Schristos PR 16867 2391*a1ba9ba4Schristos * dwarf2.c: Formatting. 2392*a1ba9ba4Schristos (struct dwarf2_debug): Make adjusted_section_count signed. 2393*a1ba9ba4Schristos (unset_sections): Make i signed. 2394*a1ba9ba4Schristos (set_debug_vma): New function. 2395*a1ba9ba4Schristos (place_sections): Handle separate debug object file. Set VMA 2396*a1ba9ba4Schristos on debug sections, even if they have an output section. Also 2397*a1ba9ba4Schristos set VMA on zero size sections, and non-load but alloc sections. 2398*a1ba9ba4Schristos Set adjusted_section_count to -1 when no section adjustment. 2399*a1ba9ba4Schristos Malloc adjusted_sections. Don't double last_vma. Transfer 2400*a1ba9ba4Schristos alloc section VMAs to separate debug file. 2401*a1ba9ba4Schristos (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections. 2402*a1ba9ba4Schristos (_bfd_dwarf2_slurp_debug_info): Add do_place parameter. Drop 2403*a1ba9ba4Schristos test on symbols being the same before using old stash. Read 2404*a1ba9ba4Schristos and use separate debug file symbols. Call place_sections. 2405*a1ba9ba4Schristos (find_line): Don't call place_sections here. 2406*a1ba9ba4Schristos * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto. 2407*a1ba9ba4Schristos * libbfd.h: Regenerate. 2408*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_find_nearest_line): Adjust 2409*a1ba9ba4Schristos _bfd_dwarf2_slurp_debug_info call. 2410*a1ba9ba4Schristos * simple.c (simple_save_output_info): Clarify comment. 2411*a1ba9ba4Schristos 2412*a1ba9ba4Schristos2014-04-24 Nick Clifton <nickc@redhat.com> 2413*a1ba9ba4Schristos 2414*a1ba9ba4Schristos PR ld/16807 2415*a1ba9ba4Schristos * peXXigen.c (struct rsrc_regions): New structure. 2416*a1ba9ba4Schristos (rsrc_print_resource_directory): Use new structure. Include 2417*a1ba9ba4Schristos offset of directory in listing. 2418*a1ba9ba4Schristos (rsrc_print_resource_entry): Likewise. 2419*a1ba9ba4Schristos (rsrc_print_section): Likewise. 2420*a1ba9ba4Schristos (rsrc_count_entries): Do not increment sizeof_strings or 2421*a1ba9ba4Schristos sizeof_leaves. 2422*a1ba9ba4Schristos (rsrc_count_directory): Do not increment sizeof_tables. 2423*a1ba9ba4Schristos (rsrc_compute_region_sizes): New function. 2424*a1ba9ba4Schristos (rsrc_write_leaf): Maintain 8-byte alignment for resource data. 2425*a1ba9ba4Schristos (rsrc_process_section): Compute size of regions after merging 2426*a1ba9ba4Schristos entries. 2427*a1ba9ba4Schristos 2428*a1ba9ba4Schristos2014-04-23 Alan Modra <amodra@gmail.com> 2429*a1ba9ba4Schristos 2430*a1ba9ba4Schristos PR ld/16787 2431*a1ba9ba4Schristos * dwarf2.c (struct dwarf2_debug): Add sec_vma field. 2432*a1ba9ba4Schristos (place_sections): Do not modify VMA of sections when called from 2433*a1ba9ba4Schristos linker after sections have been placed in output sections. Short 2434*a1ba9ba4Schristos circuit single section case. 2435*a1ba9ba4Schristos (save_section_vma, section_vma_same): New functions. 2436*a1ba9ba4Schristos (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs 2437*a1ba9ba4Schristos change. 2438*a1ba9ba4Schristos * reloc.c (bfd_perform_relocation): Do not modify reloc addend 2439*a1ba9ba4Schristos when non-relocatable. 2440*a1ba9ba4Schristos 2441*a1ba9ba4Schristos2014-04-22 Nick Clifton <nickc@redhat.com> 2442*a1ba9ba4Schristos 2443*a1ba9ba4Schristos PR ld/16821 2444*a1ba9ba4Schristos * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts. 2445*a1ba9ba4Schristos 2446*a1ba9ba4Schristos2014-04-22 Christian Svensson <blue@cmd.nu> 2447*a1ba9ba4Schristos 2448*a1ba9ba4Schristos * Makefile.am: Remove openrisc and or32 support. Add support for or1k. 2449*a1ba9ba4Schristos * archures.c: Likewise. 2450*a1ba9ba4Schristos * coffcode.h: Likewise. 2451*a1ba9ba4Schristos * config.bfd: Likewise. 2452*a1ba9ba4Schristos * configure.in: Likewise. 2453*a1ba9ba4Schristos * reloc.c: Likewise. 2454*a1ba9ba4Schristos * targets.c: Likewise. 2455*a1ba9ba4Schristos * cpu-or1k.c: New file. 2456*a1ba9ba4Schristos * elf32-or1k.c: New file. 2457*a1ba9ba4Schristos * coff-or32.c: Delete. 2458*a1ba9ba4Schristos * cpu-openrisc.c: Delete. 2459*a1ba9ba4Schristos * cpu-or32.c: Delete. 2460*a1ba9ba4Schristos * elf32-openrisc.c: Delete. 2461*a1ba9ba4Schristos * elf32-or32.c: Delete. 2462*a1ba9ba4Schristos * Makefile.in: Regenerate. 2463*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2464*a1ba9ba4Schristos * configure: Regenerate. 2465*a1ba9ba4Schristos * libbfd.h: Regenerate. 2466*a1ba9ba4Schristos 2467*a1ba9ba4Schristos2014-04-22 Yuanhui Zhang <asmwarrior@gmail.com> 2468*a1ba9ba4Schristos 2469*a1ba9ba4Schristos PR ld/16821 2470*a1ba9ba4Schristos * peXXigen.c (abs_finder): Fix for 32-bit host builds. 2471*a1ba9ba4Schristos 2472*a1ba9ba4Schristos2014-04-22 Will Newton <will.newton@linaro.org> 2473*a1ba9ba4Schristos 2474*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove 2475*a1ba9ba4Schristos function. (elf_backend_section_flags): Remove define. 2476*a1ba9ba4Schristos 2477*a1ba9ba4Schristos2014-04-21 Richard Henderson <rth@redhat.com> 2478*a1ba9ba4Schristos 2479*a1ba9ba4Schristos * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge 2480*a1ba9ba4Schristos parameter; honor it and disable got merging when false. 2481*a1ba9ba4Schristos (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during 2482*a1ba9ba4Schristos the first pass of relaxation. 2483*a1ba9ba4Schristos (elf64_alpha_relax_with_lituse): Likewise. Move relaxed relocs to 2484*a1ba9ba4Schristos the end of the LITERAL+LITUSE chain. 2485*a1ba9ba4Schristos (elf64_alpha_relax_section): Only process LITERAL relocs during the 2486*a1ba9ba4Schristos second pass of relaxation. 2487*a1ba9ba4Schristos 2488*a1ba9ba4Schristos * configure.ac (use_secureplt): Enable by default. 2489*a1ba9ba4Schristos * configure: Rebuild. 2490*a1ba9ba4Schristos 2491*a1ba9ba4Schristos2014-04-18 Tristan Gingold <gingold@adacore.com> 2492*a1ba9ba4Schristos 2493*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content, 2494*a1ba9ba4Schristos bind_content, weak_bind_content, lazy_bind_content, 2495*a1ba9ba4Schristos export_content. 2496*a1ba9ba4Schristos (bfd_mach_o_load_command): Add comments, add next field. 2497*a1ba9ba4Schristos (mach_o_data_struct): Replace commands field by first_command 2498*a1ba9ba4Schristos and last_command. 2499*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_append_command): New function. 2500*a1ba9ba4Schristos (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines. 2501*a1ba9ba4Schristos (bfd_mach_o_bfd_copy_private_section_data): Check flavour, 2502*a1ba9ba4Schristos copy fields. 2503*a1ba9ba4Schristos (bfd_mach_o_bfd_copy_private_header_data): Copy load commands. 2504*a1ba9ba4Schristos (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions. 2505*a1ba9ba4Schristos (bfd_mach_o_write_thread): Use macro instead of literal. 2506*a1ba9ba4Schristos (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib) 2507*a1ba9ba4Schristos (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New 2508*a1ba9ba4Schristos functions. 2509*a1ba9ba4Schristos (bfd_mach_o_write_symtab_content): New function (extracted 2510*a1ba9ba4Schristos from bfd_mach_o_write_symtab). 2511*a1ba9ba4Schristos (bfd_mach_o_write_symtab): Split. 2512*a1ba9ba4Schristos (bfd_mach_o_count_indirect_symbols): Move 2513*a1ba9ba4Schristos (bfd_mach_o_build_dysymtab): Remove layout code. 2514*a1ba9ba4Schristos (bfd_mach_o_write_contents): Rewritten to build commands in order. 2515*a1ba9ba4Schristos (bfd_mach_o_count_sections_for_seg): Remove. 2516*a1ba9ba4Schristos (bfd_mach_o_build_obj_seg_command): New function (extracted from 2517*a1ba9ba4Schristos bfd_mach_o_build_seg_command). 2518*a1ba9ba4Schristos (bfd_mach_o_build_exec_seg_command): New function. 2519*a1ba9ba4Schristos (bfd_mach_o_build_dysymtab_command): Remove. 2520*a1ba9ba4Schristos (bfd_mach_o_layout_commands): New function. 2521*a1ba9ba4Schristos (bfd_mach_o_init_segment): New function. 2522*a1ba9ba4Schristos (bfd_mach_o_build_commands): Major rework to handle non-object 2523*a1ba9ba4Schristos files. 2524*a1ba9ba4Schristos (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New 2525*a1ba9ba4Schristos function. 2526*a1ba9ba4Schristos (bfd_mach_o_read_dyld_info): Clear content fields. 2527*a1ba9ba4Schristos (bfd_mach_o_read_segment): Adjust call. 2528*a1ba9ba4Schristos (bfd_mach_o_flatten_sections): Adjust as now load commands are 2529*a1ba9ba4Schristos chained. 2530*a1ba9ba4Schristos (bfd_mach_o_scan_start_address, bfd_mach_o_scan) 2531*a1ba9ba4Schristos (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address) 2532*a1ba9ba4Schristos (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment): 2533*a1ba9ba4Schristos Likewise. 2534*a1ba9ba4Schristos 2535*a1ba9ba4Schristos2014-04-18 Tristan Gingold <gingold@adacore.com> 2536*a1ba9ba4Schristos 2537*a1ba9ba4Schristos * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data): 2538*a1ba9ba4Schristos Define instead of bfd_mach_o_bfd_copy_private_bfd_data. 2539*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename. 2540*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise. 2541*a1ba9ba4Schristos 2542*a1ba9ba4Schristos2014-04-18 Tristan Gingold <gingold@adacore.com> 2543*a1ba9ba4Schristos 2544*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_dylinker_command) 2545*a1ba9ba4Schristos (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove 2546*a1ba9ba4Schristos name_len field. 2547*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 2548*a1ba9ba4Schristos (bfd_mach_o_read_fvmlib): Adjust after name_len removal. 2549*a1ba9ba4Schristos 2550*a1ba9ba4Schristos2014-04-18 Tristan Gingold <gingold@adacore.com> 2551*a1ba9ba4Schristos 2552*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_backend_data): Add page_size field. 2553*a1ba9ba4Schristos * mach-o-target.c: Check TARGET_PAGESIZE is defined. 2554*a1ba9ba4Schristos (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE. 2555*a1ba9ba4Schristos * mach-o.c (TARGET_PAGESIZE): Define and undefined for 2556*a1ba9ba4Schristos each targets declared. 2557*a1ba9ba4Schristos * mach-o-x86-64.c (TARGET_PAGESIZE): Define. 2558*a1ba9ba4Schristos * mach-o-i386.c (TARGET_PAGESIZE): Define. 2559*a1ba9ba4Schristos 2560*a1ba9ba4Schristos2014-04-18 Tristan Gingold <gingold@adacore.com> 2561*a1ba9ba4Schristos 2562*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_write_thread) 2563*a1ba9ba4Schristos (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64) 2564*a1ba9ba4Schristos (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64) 2565*a1ba9ba4Schristos (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib) 2566*a1ba9ba4Schristos (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum) 2567*a1ba9ba4Schristos (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib) 2568*a1ba9ba4Schristos (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab) 2569*a1ba9ba4Schristos (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid) 2570*a1ba9ba4Schristos (bfd_mach_o_read_linkedit, bfd_mach_o_read_str) 2571*a1ba9ba4Schristos (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment) 2572*a1ba9ba4Schristos (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64) 2573*a1ba9ba4Schristos (bfd_mach_o_read_command): Now return a boolean status. 2574*a1ba9ba4Schristos Adjust return statements. 2575*a1ba9ba4Schristos (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests. 2576*a1ba9ba4Schristos (bfd_mach_o_core_file_failing_command): Remove useless initialization. 2577*a1ba9ba4Schristos 2578*a1ba9ba4Schristos2014-04-17 Kwok Cheung Yeung <kcy@codesourcery.com> 2579*a1ba9ba4Schristos 2580*a1ba9ba4Schristos * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno 2581*a1ba9ba4Schristos field. Add assigned_low_gotno and assigned_high_gotno fields. 2582*a1ba9ba4Schristos (mips_elf_create_local_got_entry): Update out-of-space condition. 2583*a1ba9ba4Schristos Set index of new GOT entry to assigned_low_gotno if required by 2584*a1ba9ba4Schristos the current relocation, else set it to assigned_high_gotno. 2585*a1ba9ba4Schristos (mips_elf_set_global_gotidx): Replace uses of assigned_gotno 2586*a1ba9ba4Schristos with assigned_low_gotno. 2587*a1ba9ba4Schristos (mips_elf_multi_got): Initialize assigned_low_gotno and 2588*a1ba9ba4Schristos assigned_high_gotno in secondary GOTs. Use assigned_low_gotno 2589*a1ba9ba4Schristos in place of assigned_gotno when handling global GOT entries. 2590*a1ba9ba4Schristos (mips_elf_lay_out_got): Initialize assigned_low_gotno and 2591*a1ba9ba4Schristos assigned_high_gotno. 2592*a1ba9ba4Schristos (_bfd_mips_elf_finish_dynamic_sections): Account for a possible 2593*a1ba9ba4Schristos gap in the middle of local GOT space. 2594*a1ba9ba4Schristos 2595*a1ba9ba4Schristos2014-04-17 Alan Modra <amodra@gmail.com> 2596*a1ba9ba4Schristos 2597*a1ba9ba4Schristos PR 16846 2598*a1ba9ba4Schristos * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when 2599*a1ba9ba4Schristos current bfd is a plugin. Don't always set type_change_ok 2600*a1ba9ba4Schristos when old bfd is a plugin. 2601*a1ba9ba4Schristos 2602*a1ba9ba4Schristos2014-04-16 Tristan Gingold <gingold@adacore.com> 2603*a1ba9ba4Schristos 2604*a1ba9ba4Schristos * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype 2605*a1ba9ba4Schristos flag. 2606*a1ba9ba4Schristos 2607*a1ba9ba4Schristos2014-04-16 Alan Modra <amodra@gmail.com> 2608*a1ba9ba4Schristos 2609*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area 2610*a1ba9ba4Schristos with "ba 0" rather than zeros. 2611*a1ba9ba4Schristos 2612*a1ba9ba4Schristos2014-04-15 Marcus Shawcroft <marcus.shawcroft@arm.com> 2613*a1ba9ba4Schristos 2614*a1ba9ba4Schristos * (elfNN_aarch64_tls_relax): Fix instruction mask. 2615*a1ba9ba4Schristos 2616*a1ba9ba4Schristos2014-04-14 Alan Modra <amodra@gmail.com> 2617*a1ba9ba4Schristos 2618*a1ba9ba4Schristos * elf32-ppc.c (BA): Define 2619*a1ba9ba4Schristos (ppc_elf_link_hash_table_create): Correct default_params. 2620*a1ba9ba4Schristos (write_glink_stub): Pad small plt call stub with "ba 0" rather 2621*a1ba9ba4Schristos than "nop" for ppc476_workaround. 2622*a1ba9ba4Schristos (ppc_elf_finish_dynamic_sections): Likewise for branch table 2623*a1ba9ba4Schristos and __glink_PLTresolve. Ensure plt call stub at end of page 2624*a1ba9ba4Schristos doesn't allow fall-thru prefetch. 2625*a1ba9ba4Schristos 2626*a1ba9ba4Schristos2014-04-11 Nick Clifton <nickc@redhat.com> 2627*a1ba9ba4Schristos 2628*a1ba9ba4Schristos PR ld/16821 2629*a1ba9ba4Schristos * peXXigen.c (abs_finder): New function. 2630*a1ba9ba4Schristos (_bfd_XXi_swap_sym_out): For absolute symbols with values larger 2631*a1ba9ba4Schristos than 1^32 try to convert them into section relative values 2632*a1ba9ba4Schristos instead. 2633*a1ba9ba4Schristos 2634*a1ba9ba4Schristos2014-04-11 Nick Clifton <nickc@redhat.com> 2635*a1ba9ba4Schristos 2636*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2637*a1ba9ba4Schristos * libbfd.h: Regenerate. 2638*a1ba9ba4Schristos 2639*a1ba9ba4Schristos2014-04-10 Cesar Philippidis <cesar@codesourcery.com> 2640*a1ba9ba4Schristos 2641*a1ba9ba4Schristos * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs 2642*a1ba9ba4Schristos when building function stubs. 2643*a1ba9ba4Schristos 2644*a1ba9ba4Schristos2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 2645*a1ba9ba4Schristos 2646*a1ba9ba4Schristos * elf32-avr.c: Add DIFF relocations for AVR. 2647*a1ba9ba4Schristos (avr_final_link_relocate): Handle the DIFF relocs. 2648*a1ba9ba4Schristos (bfd_elf_avr_diff_reloc): New. 2649*a1ba9ba4Schristos (elf32_avr_is_diff_reloc): New. 2650*a1ba9ba4Schristos (elf32_avr_adjust_diff_reloc_value): Reduce difference value. 2651*a1ba9ba4Schristos (elf32_avr_relax_delete_bytes): Recompute difference after deleting 2652*a1ba9ba4Schristos bytes. 2653*a1ba9ba4Schristos 2654*a1ba9ba4Schristos * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations 2655*a1ba9ba4Schristos 2656*a1ba9ba4Schristos2014-04-09 Alan Modra <amodra@gmail.com> 2657*a1ba9ba4Schristos 2658*a1ba9ba4Schristos * libcoff.h: Regenerate. 2659*a1ba9ba4Schristos 2660*a1ba9ba4Schristos2014-04-09 Alan Modra <amodra@gmail.com> 2661*a1ba9ba4Schristos 2662*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list 2663*a1ba9ba4Schristos of safe ppc476 insns at end of page. Also remove non-branch insns. 2664*a1ba9ba4Schristos Expand comments. 2665*a1ba9ba4Schristos 2666*a1ba9ba4Schristos2014-04-08 Jon Turney <jon.turney@dronecode.org.uk> 2667*a1ba9ba4Schristos 2668*a1ba9ba4Schristos * peXXigen.c (pe_print_debugdata): New function: Displays the 2669*a1ba9ba4Schristos contents of the debug directory and decodes codeview entries. 2670*a1ba9ba4Schristos (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2671*a1ba9ba4Schristos (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): 2672*a1ba9ba4Schristos Add functions for reading and writing debugdir and codeview 2673*a1ba9ba4Schristos records. 2674*a1ba9ba4Schristos * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) 2675*a1ba9ba4Schristos (_bfd_XXi_write_codeview_record): Add prototypes and macros. 2676*a1ba9ba4Schristos * libcoff-in.h (pe_tdata): Add build-id data. 2677*a1ba9ba4Schristos * libcoff.h: Regenerate. 2678*a1ba9ba4Schristos * coffcode.h (coff_write_object_contents): Run build_id 2679*a1ba9ba4Schristos after_write_object_contents hook. 2680*a1ba9ba4Schristos 2681*a1ba9ba4Schristos2014-04-05 Alan Modra <amodra@gmail.com> 2682*a1ba9ba4Schristos 2683*a1ba9ba4Schristos * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when 2684*a1ba9ba4Schristos merging non-default sym. 2685*a1ba9ba4Schristos 2686*a1ba9ba4Schristos2014-04-04 Tristan Gingold <gingold@adacore.com> 2687*a1ba9ba4Schristos 2688*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not 2689*a1ba9ba4Schristos configured for. 2690*a1ba9ba4Schristos 2691*a1ba9ba4Schristos2014-04-04 Tristan Gingold <gingold@adacore.com> 2692*a1ba9ba4Schristos 2693*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix 2694*a1ba9ba4Schristos thinko on names length. 2695*a1ba9ba4Schristos 2696*a1ba9ba4Schristos2014-04-04 Tristan Gingold <gingold@adacore.com> 2697*a1ba9ba4Schristos 2698*a1ba9ba4Schristos * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index 2699*a1ba9ba4Schristos of output_section. 2700*a1ba9ba4Schristos * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. 2701*a1ba9ba4Schristos 2702*a1ba9ba4Schristos2014-04-04 Tristan Gingold <gingold@adacore.com> 2703*a1ba9ba4Schristos 2704*a1ba9ba4Schristos * bfd.c (bfd_get_arch_size): Default is taken from arch. 2705*a1ba9ba4Schristos 2706*a1ba9ba4Schristos2014-04-03 Jon Turney <jon.turney@dronecode.org.uk> 2707*a1ba9ba4Schristos 2708*a1ba9ba4Schristos * peXXigen.c (pe_print_edata): Verify edt.name lies inside 2709*a1ba9ba4Schristos section before dereferencing. 2710*a1ba9ba4Schristos (pe_print_idata, pe_print_edata, pe_print_reloc) 2711*a1ba9ba4Schristos (rsrc_print_section): Don't bother interpreting the contents 2712*a1ba9ba4Schristos of sections which have no contents. 2713*a1ba9ba4Schristos 2714*a1ba9ba4Schristos2014-04-03 Maria Guseva <m.guseva@samsung.com> 2715*a1ba9ba4Schristos 2716*a1ba9ba4Schristos PR ld/16803 2717*a1ba9ba4Schristos * elf.c (_bfd_elf_set_section_contents): Use correct type to hold 2718*a1ba9ba4Schristos file position. 2719*a1ba9ba4Schristos 2720*a1ba9ba4Schristos2014-04-03 Tristan Gingold <gingold@adacore.com> 2721*a1ba9ba4Schristos 2722*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_mangle_symbols): Use index from 2723*a1ba9ba4Schristos output_section. 2724*a1ba9ba4Schristos (bfd_mach_o_build_seg_command): Add comment. Realign segment. 2725*a1ba9ba4Schristos Fix style. 2726*a1ba9ba4Schristos (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style. 2727*a1ba9ba4Schristos 2728*a1ba9ba4Schristos2014-04-03 Alan Modra <amodra@gmail.com> 2729*a1ba9ba4Schristos 2730*a1ba9ba4Schristos * elf-bfd.h (struct elf_backend_data 2731*a1ba9ba4Schristos <elf_backend_bfd_from_remote_memory>): Replace "size_t size" 2732*a1ba9ba4Schristos with "bfd_size_type size". 2733*a1ba9ba4Schristos (_bfd_elf32_bfd_from_remote_memory): Likewise. 2734*a1ba9ba4Schristos (_bfd_elf64_bfd_from_remote_memory): Likewise. 2735*a1ba9ba4Schristos * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. 2736*a1ba9ba4Schristos * elfcode.h (bfd_from_remote_memory): Likewise. 2737*a1ba9ba4Schristos * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise. 2738*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2739*a1ba9ba4Schristos 2740*a1ba9ba4Schristos2014-04-02 Tristan Gingold <gingold@adacore.com> 2741*a1ba9ba4Schristos 2742*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_twolevel_hints_command) 2743*a1ba9ba4Schristos (bfd_mach_o_prebind_cksum_command): New types. 2744*a1ba9ba4Schristos (bfd_mach_o_prebound_dylib_command): Rewrite. 2745*a1ba9ba4Schristos (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints 2746*a1ba9ba4Schristos fields. 2747*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the 2748*a1ba9ba4Schristos command. 2749*a1ba9ba4Schristos (bfd_mach_o_read_prebind_cksum): New function. 2750*a1ba9ba4Schristos (bfd_mach_o_read_twolevel_hints): Ditto. 2751*a1ba9ba4Schristos (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints 2752*a1ba9ba4Schristos commands. 2753*a1ba9ba4Schristos 2754*a1ba9ba4Schristos2014-04-02 Alan Modra <amodra@gmail.com> 2755*a1ba9ba4Schristos 2756*a1ba9ba4Schristos * elfcode.h (bfd_from_remote_memory): Add "size" parameter. 2757*a1ba9ba4Schristos Consolidate code handling possible section headers past end of 2758*a1ba9ba4Schristos segment. Don't use p_align for page size guess, instead use 2759*a1ba9ba4Schristos minpagesize. Take note of ld.so clearing section headers when 2760*a1ba9ba4Schristos p_memsz > p_filesz. Handle file header specifying no section 2761*a1ba9ba4Schristos headers. Handle zero p_align throughout. Default loadbase to 2762*a1ba9ba4Schristos zero. Add comments. Rename contents_size to high_offset, and 2763*a1ba9ba4Schristos make it a bfd_vma. Delete unnecessary bfd_set_error calls. 2764*a1ba9ba4Schristos * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe. 2765*a1ba9ba4Schristos * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>): 2766*a1ba9ba4Schristos Likewise. 2767*a1ba9ba4Schristos (_bfd_elf32_bfd_from_remote_memory): Likewise. 2768*a1ba9ba4Schristos (_bfd_elf64_bfd_from_remote_memory): Likewise. 2769*a1ba9ba4Schristos * elf.c (bfd_elf_bfd_from_remote_memory): Adjust. 2770*a1ba9ba4Schristos * bfd-in2.h: Regnerate. 2771*a1ba9ba4Schristos 2772*a1ba9ba4Schristos2014-04-01 Tristan Gingold <gingold@adacore.com> 2773*a1ba9ba4Schristos 2774*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash 2775*a1ba9ba4Schristos when num == 0. 2776*a1ba9ba4Schristos 2777*a1ba9ba4Schristos2014-03-27 Yury Gribov <y.gribov@samsung.com> 2778*a1ba9ba4Schristos Pavel Fedin <p.fedin@samsung.com> 2779*a1ba9ba4Schristos 2780*a1ba9ba4Schristos * elf32-arm.c: Add support for limited pretty-printing of PLT 2781*a1ba9ba4Schristos entries on eabi and nacl targets. 2782*a1ba9ba4Schristos (elf32_arm_get_synthetic_symtab): Add new callback. 2783*a1ba9ba4Schristos (elf32_arm_nacl_plt_sym_val): Likewise. 2784*a1ba9ba4Schristos (elf32_arm_plt0_size): Add helper function. 2785*a1ba9ba4Schristos (elf32_arm_plt_size): Likewise. 2786*a1ba9ba4Schristos 2787*a1ba9ba4Schristos2014-03-27 Tristan Gingold <gingold@adacore.com> 2788*a1ba9ba4Schristos 2789*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. 2790*a1ba9ba4Schristos (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. 2791*a1ba9ba4Schristos 2792*a1ba9ba4Schristos2014-03-27 Tristan Gingold <gingold@adacore.com> 2793*a1ba9ba4Schristos 2794*a1ba9ba4Schristos * mach-o.h (bfd_mach_o_get_base_address): New prototype. 2795*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_write_symtab) 2796*a1ba9ba4Schristos (bfd_mach_o_write_contents) 2797*a1ba9ba4Schristos (bfd_mach_o_set_section_flags_from_bfd) 2798*a1ba9ba4Schristos (bfd_mach_o_build_seg_command): Fix indentation. 2799*a1ba9ba4Schristos (bfd_mach_o_get_base_address): New function. 2800*a1ba9ba4Schristos 2801*a1ba9ba4Schristos2014-03-26 Nick Clifton <nickc@redhat.com> 2802*a1ba9ba4Schristos 2803*a1ba9ba4Schristos * cofflink.c (_bfd_coff_generic_relocate_section): Skip 2804*a1ba9ba4Schristos relocations in discarded sections. 2805*a1ba9ba4Schristos 2806*a1ba9ba4Schristos2014-03-26 Tristan Gingold <gingold@adacore.com> 2807*a1ba9ba4Schristos 2808*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_convert_architecture): Add 2809*a1ba9ba4Schristos BFD_MACH_O_CPU_TYPE_ARM64. 2810*a1ba9ba4Schristos 2811*a1ba9ba4Schristos2014-03-26 Alan Modra <amodra@gmail.com> 2812*a1ba9ba4Schristos 2813*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly 2814*a1ba9ba4Schristos needed plt entries when taking the address of functions for 2815*a1ba9ba4Schristos abiversion == 0 (ie. unknown) as well as abiversion == 2. 2816*a1ba9ba4Schristos Move opd setup and abiversion checks to.. 2817*a1ba9ba4Schristos (ppc64_elf_before_check_relocs): ..here. Renamed from 2818*a1ba9ba4Schristos ppc64_elf_process_dot_syms. Set output abiversion from input and 2819*a1ba9ba4Schristos input abiversion from output, if either is not set. 2820*a1ba9ba4Schristos (ppc64_elf_merge_private_bfd_data): Don't merge flags here. 2821*a1ba9ba4Schristos (elf_backend_check_directives): Update. 2822*a1ba9ba4Schristos 2823*a1ba9ba4Schristos2014-03-25 Will Newton <will.newton@linaro.org> 2824*a1ba9ba4Schristos 2825*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): 2826*a1ba9ba4Schristos Set value of DT_PLTRELSZ and DT_RELASZ based on the size 2827*a1ba9ba4Schristos of input sections rather than output sections. 2828*a1ba9ba4Schristos 2829*a1ba9ba4Schristos2014-03-20 Will Newton <will.newton@linaro.org> 2830*a1ba9ba4Schristos 2831*a1ba9ba4Schristos PR ld/16715 2832*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_check_relocs): Set 2833*a1ba9ba4Schristos pointer_equality_needed for absolute references within 2834*a1ba9ba4Schristos executable links. 2835*a1ba9ba4Schristos (elf32_arm_finish_dynamic_symbol): Set st_value to zero 2836*a1ba9ba4Schristos unless pointer_equality_needed is set. 2837*a1ba9ba4Schristos 2838*a1ba9ba4Schristos2014-03-19 Nick Clifton <nickc@redhat.com> 2839*a1ba9ba4Schristos 2840*a1ba9ba4Schristos * peXXigen.c (rsrc_process_section): Add code to scan input 2841*a1ba9ba4Schristos sections and record their lengths. Use these lengths to find the 2842*a1ba9ba4Schristos start of each merged .rsrc section. 2843*a1ba9ba4Schristos 2844*a1ba9ba4Schristos2014-03-17 Tristan Gingold <gingold@adacore.com> 2845*a1ba9ba4Schristos 2846*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib. 2847*a1ba9ba4Schristos (bfd_mach_o_read_command): Ditto. 2848*a1ba9ba4Schristos 2849*a1ba9ba4Schristos2014-03-14 Meador Inge <meadori@codesourcery.com> 2850*a1ba9ba4Schristos 2851*a1ba9ba4Schristos * configure.in: Add strnlen to AC_CHECK_DECLS. 2852*a1ba9ba4Schristos * config.in: Regenerate. 2853*a1ba9ba4Schristos * configure: Regenerate. 2854*a1ba9ba4Schristos * sysdep.h (strnlen): Add prototype. 2855*a1ba9ba4Schristos 2856*a1ba9ba4Schristos2014-03-14 Alan Modra <amodra@gmail.com> 2857*a1ba9ba4Schristos 2858*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow 2859*a1ba9ba4Schristos handling for VLE_SDA21 relocs. 2860*a1ba9ba4Schristos 2861*a1ba9ba4Schristos2014-03-13 Tristan Gingold <gingold@adacore.com> 2862*a1ba9ba4Schristos 2863*a1ba9ba4Schristos * peicode.h (pe_ILF_object_p): Adjust, as the version number 2864*a1ba9ba4Schristos has been read. 2865*a1ba9ba4Schristos (pe_bfd_object_p): Also read version number to detect ILF. 2866*a1ba9ba4Schristos * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define. 2867*a1ba9ba4Schristos (x86_64pe_bigobj_vec): Define 2868*a1ba9ba4Schristos * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field. 2869*a1ba9ba4Schristos (bfd_coff_max_nscns): New macro. 2870*a1ba9ba4Schristos (coff_compute_section_file_positions): Use unsigned int for 2871*a1ba9ba4Schristos target_index. Compare with bfd_coff_max_nscns. 2872*a1ba9ba4Schristos (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table): 2873*a1ba9ba4Schristos Set a value for _bfd_coff_max_nscns. 2874*a1ba9ba4Schristos (header_bigobj_classid): New constant. 2875*a1ba9ba4Schristos (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out) 2876*a1ba9ba4Schristos (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out) 2877*a1ba9ba4Schristos (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New 2878*a1ba9ba4Schristos functions. 2879*a1ba9ba4Schristos (bigobj_swap_table): New table. 2880*a1ba9ba4Schristos * libcoff.h: Regenerate. 2881*a1ba9ba4Schristos * coff-sh.c (bfd_coff_small_swap_table): Likewise. 2882*a1ba9ba4Schristos * coff-alpha.c (alpha_ecoff_backend_data): Add value for 2883*a1ba9ba4Schristos _bfd_coff_max_nscns. 2884*a1ba9ba4Schristos * coff-mips.c (mips_ecoff_backend_data): Likewise. 2885*a1ba9ba4Schristos * coff-rs6000.c (bfd_xcoff_backend_data) 2886*a1ba9ba4Schristos (bfd_pmac_xcoff_backend_data): Likewise. 2887*a1ba9ba4Schristos * coff64-rs6000.c (bfd_xcoff_backend_data) 2888*a1ba9ba4Schristos (bfd_xcoff_aix5_backend_data): Likewise. 2889*a1ba9ba4Schristos * targets.c (x86_64pe_bigobj_vec): Declare. 2890*a1ba9ba4Schristos * configure.in (x86_64pe_bigobj_vec): New vector. 2891*a1ba9ba4Schristos * configure: Regenerate. 2892*a1ba9ba4Schristos * config.bfd: Add bigobj object format for Windows targets. 2893*a1ba9ba4Schristos 2894*a1ba9ba4Schristos2014-03-12 Nick Clifton <nickc@redhat.com> 2895*a1ba9ba4Schristos 2896*a1ba9ba4Schristos PR ld/16671 2897*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format 2898*a1ba9ba4Schristos before testing for vxworks. 2899*a1ba9ba4Schristos 2900*a1ba9ba4Schristos2014-03-12 Alan Modra <amodra@gmail.com> 2901*a1ba9ba4Schristos 2902*a1ba9ba4Schristos * Makefile.in: Regenerate. 2903*a1ba9ba4Schristos 2904*a1ba9ba4Schristos2014-03-12 Alan Modra <amodra@gmail.com> 2905*a1ba9ba4Schristos 2906*a1ba9ba4Schristos PR 16690 2907*a1ba9ba4Schristos * elf.c (copy_elf_program_header): Ignore first section lma if 2908*a1ba9ba4Schristos non-alloc. 2909*a1ba9ba4Schristos 2910*a1ba9ba4Schristos2014-03-11 Alan Modra <amodra@gmail.com> 2911*a1ba9ba4Schristos 2912*a1ba9ba4Schristos PR 16686 2913*a1ba9ba4Schristos * coff-rs6000.c: Include stdint.h. 2914*a1ba9ba4Schristos * coff64-rs6000.c: Likewise. 2915*a1ba9ba4Schristos 2916*a1ba9ba4Schristos2014-03-10 Tristan Gingold <gingold@adacore.com> 2917*a1ba9ba4Schristos 2918*a1ba9ba4Schristos * ticoff.h: Removed. 2919*a1ba9ba4Schristos 2920*a1ba9ba4Schristos2014-03-08 Alan Modra <amodra@gmail.com> 2921*a1ba9ba4Schristos 2922*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for 2923*a1ba9ba4Schristos many relocations. Correct bitsize and rightshift too for a number 2924*a1ba9ba4Schristos of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO. 2925*a1ba9ba4Schristos Correct dst_mask on R_PPC_VLE_SDA21_LO. 2926*a1ba9ba4Schristos (ppc_elf_vle_split16): Tidy, delete unnecessary prototype. 2927*a1ba9ba4Schristos (ppc_elf_relocate_section): Modify overflow test for 16-bit 2928*a1ba9ba4Schristos fields in instructions to signed/unsigned according to whether 2929*a1ba9ba4Schristos the field takes a signed or unsigned value. Tidy vle split16 code. 2930*a1ba9ba4Schristos Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling. 2931*a1ba9ba4Schristos 2932*a1ba9ba4Schristos2014-03-08 Alan Modra <amodra@gmail.com> 2933*a1ba9ba4Schristos 2934*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed 2935*a1ba9ba4Schristos for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN, 2936*a1ba9ba4Schristos R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS, 2937*a1ba9ba4Schristos R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC. 2938*a1ba9ba4Schristos (ppc64_elf_relocate_section): Modify overflow test for 16-bit 2939*a1ba9ba4Schristos fields in instructions to signed/unsigned according to whether 2940*a1ba9ba4Schristos the field takes a signed or unsigned value. 2941*a1ba9ba4Schristos 2942*a1ba9ba4Schristos2014-03-07 Pedro Alves <palves@redhat.com> 2943*a1ba9ba4Schristos 2944*a1ba9ba4Schristos PR gdb/16696 2945*a1ba9ba4Schristos * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma 2946*a1ba9ba4Schristos through ptr_to_uint instead of through long. 2947*a1ba9ba4Schristos 2948*a1ba9ba4Schristos2014-03-06 Nick Clifton <nickc@redhat.com> 2949*a1ba9ba4Schristos 2950*a1ba9ba4Schristos PR 16664 2951*a1ba9ba4Schristos * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt 2952*a1ba9ba4Schristos attribute section names. 2953*a1ba9ba4Schristos 2954*a1ba9ba4Schristos2014-03-05 Alan Modra <amodra@gmail.com> 2955*a1ba9ba4Schristos 2956*a1ba9ba4Schristos Update copyright years. 2957*a1ba9ba4Schristos 2958*a1ba9ba4Schristos2014-03-05 Alan Modra <amodra@gmail.com> 2959*a1ba9ba4Schristos 2960*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry. 2961*a1ba9ba4Schristos (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL. 2962*a1ba9ba4Schristos (ppc64_elf_check_relocs): Likewise. 2963*a1ba9ba4Schristos (ppc64_elf_relocate_section): Likewise. 2964*a1ba9ba4Schristos * Add BFD_RELOC_PPC64_ADDR64_LOCAL. 2965*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 2966*a1ba9ba4Schristos * libbfd.h: Regenerate. 2967*a1ba9ba4Schristos 2968*a1ba9ba4Schristos2014-03-04 Heiher <r@hev.cc> 2969*a1ba9ba4Schristos 2970*a1ba9ba4Schristos * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for 2971*a1ba9ba4Schristos Loongson-3A. 2972*a1ba9ba4Schristos (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an 2973*a1ba9ba4Schristos extension of bfd_mach_mipsisa64r2. 2974*a1ba9ba4Schristos 2975*a1ba9ba4Schristos2014-03-04 Nick Clifton <nickc@redhat.com> 2976*a1ba9ba4Schristos 2977*a1ba9ba4Schristos PR ld/16017 2978*a1ba9ba4Schristos * elf32-arm.c (elf32_thumb2_plt0_entry): New array. 2979*a1ba9ba4Schristos (elf32_thumb2_plt_entry): New array. 2980*a1ba9ba4Schristos (elf32_arm_create_dynamic_sections): Set PLT entry sizes when 2981*a1ba9ba4Schristos using thumb2 based PLT. 2982*a1ba9ba4Schristos (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT 2983*a1ba9ba4Schristos entries. 2984*a1ba9ba4Schristos (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based 2985*a1ba9ba4Schristos PLT entries. 2986*a1ba9ba4Schristos (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2 2987*a1ba9ba4Schristos based PLT 0-entry. 2988*a1ba9ba4Schristos (elf32_arm_output_plt_map_1): Handle creation of local symbols for 2989*a1ba9ba4Schristos Thumb2 based PLT 0-entry. 2990*a1ba9ba4Schristos (elf32_arm_output_arch_local_syms): Handle creation of local 2991*a1ba9ba4Schristos symbols for Thumb2 based PLT entries. 2992*a1ba9ba4Schristos 2993*a1ba9ba4Schristos2014-02-28 Alan Modra <amodra@gmail.com> 2994*a1ba9ba4Schristos 2995*a1ba9ba4Schristos PR ld/16643 2996*a1ba9ba4Schristos * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly 2997*a1ba9ba4Schristos the same conditions we called check_relocs. 2998*a1ba9ba4Schristos 2999*a1ba9ba4Schristos2014-02-27 Yuri Gribov <y.gribov@samsung.com> 3000*a1ba9ba4Schristos 3001*a1ba9ba4Schristos * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt. 3002*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 3003*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_plt_entry_long): New array. 3004*a1ba9ba4Schristos (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if 3005*a1ba9ba4Schristos using long PLT entries. 3006*a1ba9ba4Schristos (bfd_elf32_arm_use_long_plt): New function. 3007*a1ba9ba4Schristos (elf32_arm_populate_plt_entry): Add support for long PLT entries. 3008*a1ba9ba4Schristos 3009*a1ba9ba4Schristos2014-02-27 Alan Modra <amodra@gmail.com> 3010*a1ba9ba4Schristos 3011*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default 3012*a1ba9ba4Schristos params for targets that don't use ppc32elf.em. 3013*a1ba9ba4Schristos 3014*a1ba9ba4Schristos2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> 3015*a1ba9ba4Schristos 3016*a1ba9ba4Schristos * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation 3017*a1ba9ba4Schristos of GOTOFF relocations. 3018*a1ba9ba4Schristos 3019*a1ba9ba4Schristos2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com> 3020*a1ba9ba4Schristos H.J. Lu <hongjiu.lu@intel.com> 3021*a1ba9ba4Schristos 3022*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. 3023*a1ba9ba4Schristos (elf_x86_64_legacy_plt_entry): Likewise. 3024*a1ba9ba4Schristos (elf_x86_64_bnd_plt_entry): Likewise. 3025*a1ba9ba4Schristos (elf_x86_64_legacy_plt2_entry): Likewise. 3026*a1ba9ba4Schristos (elf_x86_64_bnd_plt2_entry): Likewise. 3027*a1ba9ba4Schristos (elf_x86_64_bnd_arch_bed): Likewise. 3028*a1ba9ba4Schristos (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. 3029*a1ba9ba4Schristos (elf_x86_64_link_hash_table): Add plt_bnd. 3030*a1ba9ba4Schristos (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and 3031*a1ba9ba4Schristos plt_bnd. 3032*a1ba9ba4Schristos (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. 3033*a1ba9ba4Schristos (elf_x86_64_check_relocs): Create the second PLT for Intel MPX 3034*a1ba9ba4Schristos in 64-bit mode. 3035*a1ba9ba4Schristos (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC 3036*a1ba9ba4Schristos symbols. Resolve call to the second PLT if it is created. 3037*a1ba9ba4Schristos (elf_x86_64_size_dynamic_sections): Keep the second PLT section. 3038*a1ba9ba4Schristos (elf_x86_64_relocate_section): Resolve PLT references to the 3039*a1ba9ba4Schristos second PLT if it is created. 3040*a1ba9ba4Schristos (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the 3041*a1ba9ba4Schristos second PLT entry for BND relocation. 3042*a1ba9ba4Schristos (elf_x86_64_finish_dynamic_sections): Use MPX backend data if 3043*a1ba9ba4Schristos the second PLT is created. 3044*a1ba9ba4Schristos (elf_x86_64_get_synthetic_symtab): New. 3045*a1ba9ba4Schristos (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. 3046*a1ba9ba4Schristos 3047*a1ba9ba4Schristos2014-02-19 Alan Modra <amodra@gmail.com> 3048*a1ba9ba4Schristos 3049*a1ba9ba4Schristos * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. 3050*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control 3051*a1ba9ba4Schristos provision of out-of-line register save/restore routines. 3052*a1ba9ba4Schristos 3053*a1ba9ba4Schristos2014-02-18 Jack Carter <jack.carter@imgtec.com> 3054*a1ba9ba4Schristos 3055*a1ba9ba4Schristos * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of 3056*a1ba9ba4Schristos PT_DYNAMIC segment flags. 3057*a1ba9ba4Schristos 3058*a1ba9ba4Schristos2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> 3059*a1ba9ba4Schristos 3060*a1ba9ba4Schristos PR binutils/16595 3061*a1ba9ba4Schristos * simple.c (struct saved_offsets): New. 3062*a1ba9ba4Schristos (simple_save_output_info): Use it for ptr. 3063*a1ba9ba4Schristos (simple_restore_output_info): Use it for ptr. Check section_count. 3064*a1ba9ba4Schristos (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. 3065*a1ba9ba4Schristos 3066*a1ba9ba4Schristos2014-02-17 Alan Modra <amodra@gmail.com> 3067*a1ba9ba4Schristos 3068*a1ba9ba4Schristos * elf64-ppc.h (struct ppc64_elf_params): Define. 3069*a1ba9ba4Schristos (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, 3070*a1ba9ba4Schristos ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 3071*a1ba9ba4Schristos ppc64_elf_build_stubs): Update prototype. 3072*a1ba9ba4Schristos * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other 3073*a1ba9ba4Schristos fields now in params. Adjust code throughout file. 3074*a1ba9ba4Schristos (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". 3075*a1ba9ba4Schristos Save params pointer in htab. 3076*a1ba9ba4Schristos (ppc64_elf_edit_opd, ppc64_elf_tls_setup, 3077*a1ba9ba4Schristos ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, 3078*a1ba9ba4Schristos ppc64_elf_build_stubs): Remove parameters now in "params". 3079*a1ba9ba4Schristos 3080*a1ba9ba4Schristos2014-02-17 Alan Modra <amodra@gmail.com> 3081*a1ba9ba4Schristos 3082*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns 3083*a1ba9ba4Schristos patched for ppc476 workaround. Reapply branch taken/not taken 3084*a1ba9ba4Schristos relocs. 3085*a1ba9ba4Schristos 3086*a1ba9ba4Schristos2014-02-12 Alan Modra <amodra@gmail.com> 3087*a1ba9ba4Schristos 3088*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch 3089*a1ba9ba4Schristos stubs for calls to __tls_get_addr that we know will later be 3090*a1ba9ba4Schristos optimised away. 3091*a1ba9ba4Schristos 3092*a1ba9ba4Schristos2014-02-12 Alan Modra <amodra@gmail.com> 3093*a1ba9ba4Schristos 3094*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround 3095*a1ba9ba4Schristos for ld -r, when code sections are sufficiently aligned. 3096*a1ba9ba4Schristos * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add 3097*a1ba9ba4Schristos pagesize_p2. 3098*a1ba9ba4Schristos 3099*a1ba9ba4Schristos2014-02-12 Alan Modra <amodra@gmail.com> 3100*a1ba9ba4Schristos 3101*a1ba9ba4Schristos PR gold/15530 3102*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support 3103*a1ba9ba4Schristos --export-dynamic and --dynamic-list marking of symbols. 3104*a1ba9ba4Schristos * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder 3105*a1ba9ba4Schristos cheap tests first. 3106*a1ba9ba4Schristos 3107*a1ba9ba4Schristos2014-02-10 H.J. Lu <hongjiu.lu@intel.com> 3108*a1ba9ba4Schristos 3109*a1ba9ba4Schristos PR gold/16530 3110*a1ba9ba4Schristos * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in 3111*a1ba9ba4Schristos executables if it matches dynamic_list. 3112*a1ba9ba4Schristos 3113*a1ba9ba4Schristos2014-02-10 Alan Modra <amodra@gmail.com> 3114*a1ba9ba4Schristos 3115*a1ba9ba4Schristos * po/SRC-POTFILES.in: Regenerate. 3116*a1ba9ba4Schristos * po/bfd.pot: Regenerate. 3117*a1ba9ba4Schristos 3118*a1ba9ba4Schristos2014-02-09 Alan Modra <amodra@gmail.com> 3119*a1ba9ba4Schristos 3120*a1ba9ba4Schristos * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. 3121*a1ba9ba4Schristos * elfxx-target.h (elf_backend_caches_rawsize): Define. 3122*a1ba9ba4Schristos (elfNN_bed): Init new field. 3123*a1ba9ba4Schristos * elflink.c (elf_link_input_bfd): Handle caches_rawsize. 3124*a1ba9ba4Schristos * elf32-ppc.c (shared_stub_entry): Zero addi offset. 3125*a1ba9ba4Schristos (ppc_elf_relax_section): Don't reallocate section here, write 3126*a1ba9ba4Schristos stubs, or write out relocs for ld -r here.. 3127*a1ba9ba4Schristos (ppc_elf_relocate_section): ..instead write stubs here, and use 3128*a1ba9ba4Schristos existing code to write out relocs for ld -r. Fix offset 3129*a1ba9ba4Schristos adjustment on reloc for little-endian. 3130*a1ba9ba4Schristos (elf_backend_caches_rawsize): Define. 3131*a1ba9ba4Schristos 3132*a1ba9ba4Schristos2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3133*a1ba9ba4Schristos 3134*a1ba9ba4Schristos PR build/16550 3135*a1ba9ba4Schristos * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. 3136*a1ba9ba4Schristos 3137*a1ba9ba4Schristos2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com> 3138*a1ba9ba4Schristos 3139*a1ba9ba4Schristos * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in 3140*a1ba9ba4Schristos return paths. Three times. 3141*a1ba9ba4Schristos * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all 3142*a1ba9ba4Schristos return paths. 3143*a1ba9ba4Schristos (ppc64_elf_tls_optimize): Free TOC_REF in return path. 3144*a1ba9ba4Schristos (ppc64_elf_edit_toc): Free USED in return path. 3145*a1ba9ba4Schristos 3146*a1ba9ba4Schristos2014-02-03 Sandra Loosemore <sandra@codesourcery.com> 3147*a1ba9ba4Schristos 3148*a1ba9ba4Schristos * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. 3149*a1ba9ba4Schristos (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. 3150*a1ba9ba4Schristos * libbfd.h: Regenerated. 3151*a1ba9ba4Schristos * bfd-in2.h: Regenerated. 3152*a1ba9ba4Schristos * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. 3153*a1ba9ba4Schristos (nios2_reloc_map): Likewise. 3154*a1ba9ba4Schristos (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. 3155*a1ba9ba4Schristos Fixed all references. 3156*a1ba9ba4Schristos (nios2_elf32_relocate_section): Add new relocations. 3157*a1ba9ba4Schristos (nios2_elf32_check_relocs): Likewise. 3158*a1ba9ba4Schristos (nios2_elf32_gc_sweep_hook): Likewise. 3159*a1ba9ba4Schristos 3160*a1ba9ba4Schristos2014-02-03 Alan Modra <amodra@gmail.com> 3161*a1ba9ba4Schristos 3162*a1ba9ba4Schristos * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. 3163*a1ba9ba4Schristos Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. 3164*a1ba9ba4Schristos (ppc_elf_link_params): New function. 3165*a1ba9ba4Schristos (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 3166*a1ba9ba4Schristos workaround. 3167*a1ba9ba4Schristos (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms 3168*a1ba9ba4Schristos parameters. Use htab->params instead. 3169*a1ba9ba4Schristos (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. 3170*a1ba9ba4Schristos (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to 3171*a1ba9ba4Schristos 64 bytes for ppc476 workaround. 3172*a1ba9ba4Schristos (struct ppc_elf_relax_info): New. 3173*a1ba9ba4Schristos (ppc_elf_relax_section): Exclude linker created sections and 3174*a1ba9ba4Schristos those too small to hold one instruction. Don't add another 3175*a1ba9ba4Schristos branch around trampolines on later relax passes. Don't 3176*a1ba9ba4Schristos generate trampolines for undefined symbols when !relocatable, 3177*a1ba9ba4Schristos nor for plugin symbols. Allocate space for ppc476 workaround 3178*a1ba9ba4Schristos patch area. Free fixups on error return path. 3179*a1ba9ba4Schristos (ppc_elf_relocate_section): Handle ppc476 workaround patching. 3180*a1ba9ba4Schristos * elf32-ppc.h (struct ppc_elf_params): New. 3181*a1ba9ba4Schristos (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. 3182*a1ba9ba4Schristos (ppc_elf_link_params): Declare. 3183*a1ba9ba4Schristos * section.c (SEC_INFO_TYPE_TARGET): Define. 3184*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 3185*a1ba9ba4Schristos 3186*a1ba9ba4Schristos2014-02-02 Sandra Loosemore <sandra@codesourcery.com> 3187*a1ba9ba4Schristos 3188*a1ba9ba4Schristos * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add 3189*a1ba9ba4Schristos h_gp_got field. 3190*a1ba9ba4Schristos (nios2_elf32_relocate_section): Use got_base to adjust 3191*a1ba9ba4Schristos GOT-pointer-relative relocations relative to _gp_got. 3192*a1ba9ba4Schristos (create_got_section): Create _gp_got symbol. 3193*a1ba9ba4Schristos (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. 3194*a1ba9ba4Schristos (nios2_elf32_size_dynamic_sections): Set _gp_got offset. 3195*a1ba9ba4Schristos 3196*a1ba9ba4Schristos2014-01-30 Sandra Loosemore <sandra@codesourcery.com> 3197*a1ba9ba4Schristos 3198*a1ba9ba4Schristos * bfd-in2.h: Update from reloc.c. 3199*a1ba9ba4Schristos * elf32-nios2.c: Include elf32-nios2.h. 3200*a1ba9ba4Schristos (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. 3201*a1ba9ba4Schristos (nios2_reloc_map): Likewise. 3202*a1ba9ba4Schristos (enum elf32_nios2_stub_type): Declare. 3203*a1ba9ba4Schristos (struct elf32_nios2_stub_hash_entry): Declare. 3204*a1ba9ba4Schristos (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. 3205*a1ba9ba4Schristos (struct elf32_nios2_link_hash_entry): Add hsh_cache field. 3206*a1ba9ba4Schristos (struct elf32_nios2_link_hash_table): Add new fields bstab, 3207*a1ba9ba4Schristos stub_bfd, add_stub_section, layout_sections_again, stub_group, 3208*a1ba9ba4Schristos bfd_count, top_index, input_list, all_local_syms. 3209*a1ba9ba4Schristos (nios2_call26_stub_entry): New. 3210*a1ba9ba4Schristos (nios2_elf32_install_imm16): Move up in file. 3211*a1ba9ba4Schristos (nios2_elf32_install_data): Move up in file. 3212*a1ba9ba4Schristos (hiadj): Move up in file. 3213*a1ba9ba4Schristos (stub_hash_newfunc): New. 3214*a1ba9ba4Schristos (link_hash_newfunc): Initialize hsh_cache field. 3215*a1ba9ba4Schristos (STUB_SUFFIX): New. 3216*a1ba9ba4Schristos (nios2_stub_name): New. 3217*a1ba9ba4Schristos (nios2_get_stub_entry): New. 3218*a1ba9ba4Schristos (nios2_add_stub): New. 3219*a1ba9ba4Schristos (nios2_elf32_setup_section_lists): New. 3220*a1ba9ba4Schristos (nios2_elf32_next_input_section): New. 3221*a1ba9ba4Schristos (CALL26_SEGMENT): New. 3222*a1ba9ba4Schristos (MAX_STUB_SECTION_SIZE): New. 3223*a1ba9ba4Schristos (group_sections): New. 3224*a1ba9ba4Schristos (nios2_type_of_stub): New. 3225*a1ba9ba4Schristos (nios2_build_one_stub): New. 3226*a1ba9ba4Schristos (nios2_size_one_stub): New. 3227*a1ba9ba4Schristos (get_local_syms): New. 3228*a1ba9ba4Schristos (nios2_elf32_size_stubs): New. 3229*a1ba9ba4Schristos (nios2_elf32_build_stubs): New. 3230*a1ba9ba4Schristos (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. 3231*a1ba9ba4Schristos (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add 3232*a1ba9ba4Schristos trampolines for R_NIOS2_CALL26 stubs. 3233*a1ba9ba4Schristos (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. 3234*a1ba9ba4Schristos (nios2_elf32_gc_sweep_hook): Likewise. 3235*a1ba9ba4Schristos (nios2_elf32_link_hash_table_create): Initialize the stub hash table. 3236*a1ba9ba4Schristos (nios2_elf32_link_hash_table_free): New. 3237*a1ba9ba4Schristos (bfd_elf32_bfd_link_hash_table_free): Define. 3238*a1ba9ba4Schristos * elf32-nios2.h: New file. 3239*a1ba9ba4Schristos * libbfd.h: Update from reloc.c. 3240*a1ba9ba4Schristos * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. 3241*a1ba9ba4Schristos 3242*a1ba9ba4Schristos2014-01-29 Nick Clifton <nickc@redhat.com> 3243*a1ba9ba4Schristos 3244*a1ba9ba4Schristos PR binutils/16318 3245*a1ba9ba4Schristos * elf32-metag.c (elf_metag_post_process_headers): Call 3246*a1ba9ba4Schristos _bfd_elf_post_process_headers. 3247*a1ba9ba4Schristos * elf32-sh64.c (sh64_elf_copy_private_data): Call 3248*a1ba9ba4Schristos _bfd_elf_copy_private_data. 3249*a1ba9ba4Schristos * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. 3250*a1ba9ba4Schristos 3251*a1ba9ba4Schristos2014-01-29 Nick Clifton <nickc@redhat.com> 3252*a1ba9ba4Schristos 3253*a1ba9ba4Schristos * bfd-in.h (bfd_set_section_vma): Delete. 3254*a1ba9ba4Schristos (bfd_set_section_alignment): Delete. 3255*a1ba9ba4Schristos (bfd_set_section_userdata): Delete. 3256*a1ba9ba4Schristos (bfd_set_cacheable): Delete. 3257*a1ba9ba4Schristos * bfd.c (bfd_set_cacheable): New static inline function. 3258*a1ba9ba4Schristos * section.c (bfd_set_section_userdata): Likewise. 3259*a1ba9ba4Schristos (bfd_set_section_vma): Likewise. 3260*a1ba9ba4Schristos (bfd_set_section_alignment): Likewise. 3261*a1ba9ba4Schristos * bfd-in2.h: Regenerate. 3262*a1ba9ba4Schristos 3263*a1ba9ba4Schristos2014-01-28 Nick Clifton <nickc@redhat.com> 3264*a1ba9ba4Schristos 3265*a1ba9ba4Schristos * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr 3266*a1ba9ba4Schristos attributes select the CU containing the abbreviation, which may not 3267*a1ba9ba4Schristos be the current CU. 3268*a1ba9ba4Schristos 3269*a1ba9ba4Schristos2014-01-24 Alan Modra <amodra@gmail.com> 3270*a1ba9ba4Schristos 3271*a1ba9ba4Schristos * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed 3272*a1ba9ba4Schristos to get_relocs for ELFv2. 3273*a1ba9ba4Schristos 3274*a1ba9ba4Schristos2014-01-23 H.J. Lu <hongjiu.lu@intel.com> 3275*a1ba9ba4Schristos 3276*a1ba9ba4Schristos PR ld/16498 3277*a1ba9ba4Schristos * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error 3278*a1ba9ba4Schristos if TLS sections are not adjacent. 3279*a1ba9ba4Schristos 3280*a1ba9ba4Schristos2014-01-22 Alan Modra <amodra@gmail.com> 3281*a1ba9ba4Schristos 3282*a1ba9ba4Schristos * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. 3283*a1ba9ba4Schristos 3284*a1ba9ba4Schristos2014-01-22 Alan Modra <amodra@gmail.com> 3285*a1ba9ba4Schristos 3286*a1ba9ba4Schristos * elf64-ppc.c (STK_LINKER): Comment typo fix. 3287*a1ba9ba4Schristos 3288*a1ba9ba4Schristos2014-01-21 H.J. Lu <hongjiu.lu@intel.com> 3289*a1ba9ba4Schristos 3290*a1ba9ba4Schristos PR ld/16467 3291*a1ba9ba4Schristos * elflink.c (_bfd_elf_merge_symbol): When types of the existing 3292*a1ba9ba4Schristos regular default symbol definition and the versioned dynamic 3293*a1ba9ba4Schristos symbol definition mismatch, skip the default symbol definition 3294*a1ba9ba4Schristos if one of them is IFUNC. 3295*a1ba9ba4Schristos 3296*a1ba9ba4Schristos2014-01-21 H.J. Lu <hongjiu.lu@intel.com> 3297*a1ba9ba4Schristos 3298*a1ba9ba4Schristos PR ld/2404 3299*a1ba9ba4Schristos * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, 3300*a1ba9ba4Schristos info->export_dynamic nor h->ref_dynamic for type mismatch when 3301*a1ba9ba4Schristos adding the default version. 3302*a1ba9ba4Schristos 3303*a1ba9ba4Schristos2014-01-16 Alan Modra <amodra@gmail.com> 3304*a1ba9ba4Schristos 3305*a1ba9ba4Schristos * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a 3306*a1ba9ba4Schristos mips_elf_traverse_got_arg* rather than mips_got_info*. 3307*a1ba9ba4Schristos Adjust caller. Alloc on output_bfd rather than symbol section 3308*a1ba9ba4Schristos owner. 3309*a1ba9ba4Schristos 3310*a1ba9ba4Schristos2014-01-15 H.J. Lu <hongjiu.lu@intel.com> 3311*a1ba9ba4Schristos 3312*a1ba9ba4Schristos * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 3313*a1ba9ba4Schristos change. 3314*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3315*a1ba9ba4Schristos 3316*a1ba9ba4Schristos2014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3317*a1ba9ba4Schristos 3318*a1ba9ba4Schristos PR ld/16428 3319*a1ba9ba4Schristos * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs 3320*a1ba9ba4Schristos against __ehdr_start. 3321*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3322*a1ba9ba4Schristos 3323*a1ba9ba4Schristos2014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3324*a1ba9ba4Schristos 3325*a1ba9ba4Schristos * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last 3326*a1ba9ba4Schristos change. 3327*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3328*a1ba9ba4Schristos 3329*a1ba9ba4Schristos2014-01-14 H.J. Lu <hongjiu.lu@intel.com> 3330*a1ba9ba4Schristos 3331*a1ba9ba4Schristos PR ld/16428 3332*a1ba9ba4Schristos * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc 3333*a1ba9ba4Schristos count if there are any non pc-relative relocs. 3334*a1ba9ba4Schristos * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. 3335*a1ba9ba4Schristos 3336*a1ba9ba4Schristos2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org> 3337*a1ba9ba4Schristos Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> 3338*a1ba9ba4Schristos 3339*a1ba9ba4Schristos * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct 3340*a1ba9ba4Schristos offset while calculating relocation address. 3341*a1ba9ba4Schristos (elfNN_aarch64_create_small_pltn_entry): Likewise. 3342*a1ba9ba4Schristos (elfNN_aarch64_init_small_plt0_entry): Likewise. 3343*a1ba9ba4Schristos 3344*a1ba9ba4Schristos2014-01-13 Ma Jiang <ma.jiang@zte.com.cn> 3345*a1ba9ba4Schristos 3346*a1ba9ba4Schristos PR ld/16202 3347*a1ba9ba4Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for 3348*a1ba9ba4Schristos R_ARM_ABS8 and R_ARM_ABS16. 3349*a1ba9ba4Schristos 3350*a1ba9ba4Schristos2014-01-13 Alan Modra <amodra@gmail.com> 3351*a1ba9ba4Schristos 3352*a1ba9ba4Schristos * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, 3353*a1ba9ba4Schristos error when shared and force a plt call otherwise. 3354*a1ba9ba4Schristos (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless 3355*a1ba9ba4Schristos plt_type == PLT_NEW. 3356*a1ba9ba4Schristos (ppc_elf_relocate_section): Add missing test to resolve ifuncs to 3357*a1ba9ba4Schristos the appropriate call stub. 3358*a1ba9ba4Schristos 3359*a1ba9ba4Schristos2014-01-10 Alan Modra <amodra@gmail.com> 3360*a1ba9ba4Schristos 3361*a1ba9ba4Schristos PR ld/14207 3362*a1ba9ba4Schristos PR ld/16322 3363*a1ba9ba4Schristos PR binutils/16323 3364*a1ba9ba4Schristos * elf.c (assign_file_positions_for_load_sections): Revert last change. 3365*a1ba9ba4Schristos (assign_file_positions_for_non_load_sections): When setting up 3366*a1ba9ba4Schristos PT_GNU_RELRO header, don't require a corresponding PT_LOAD 3367*a1ba9ba4Schristos header that completely covers the relro region. 3368*a1ba9ba4Schristos 3369*a1ba9ba4Schristos2014-01-09 Tristan Gingold <gingold@adacore.com> 3370*a1ba9ba4Schristos 3371*a1ba9ba4Schristos * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump 3372*a1ba9ba4Schristos table macros and add macros to initializa the structure. 3373*a1ba9ba4Schristos 3374*a1ba9ba4Schristos2014-01-08 H.J. Lu <hongjiu.lu@intel.com> 3375*a1ba9ba4Schristos 3376*a1ba9ba4Schristos PR ld/14207 3377*a1ba9ba4Schristos PR ld/16322 3378*a1ba9ba4Schristos PR binutils/16323 3379*a1ba9ba4Schristos * elf.c (_bfd_elf_map_sections_to_segments): Don't check section 3380*a1ba9ba4Schristos size for PT_GNU_RELRO segment. 3381*a1ba9ba4Schristos (assign_file_positions_for_load_sections): If PT_LOAD segment 3382*a1ba9ba4Schristos doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. 3383*a1ba9ba4Schristos 3384*a1ba9ba4Schristos2014-01-07 Tom Tromey <tromey@redhat.com> 3385*a1ba9ba4Schristos 3386*a1ba9ba4Schristos * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility 3387*a1ba9ba4Schristos wrappers. 3388*a1ba9ba4Schristos 3389*a1ba9ba4Schristos2014-01-03 Nick Clifton <nickc@redhat.com> 3390*a1ba9ba4Schristos 3391*a1ba9ba4Schristos PR binutils/16199 3392*a1ba9ba4Schristos * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of 3393*a1ba9ba4Schristos zero. 3394*a1ba9ba4Schristos 3395*a1ba9ba4Schristos2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com> 3396*a1ba9ba4Schristos 3397*a1ba9ba4Schristos PR binutils/14289 3398*a1ba9ba4Schristos * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. 3399*a1ba9ba4Schristos 3400*a1ba9ba4Schristos2014-01-02 Nick Clifton <nickc@redhat.com> 3401*a1ba9ba4Schristos 3402*a1ba9ba4Schristos PR binutils/11983 3403*a1ba9ba4Schristos * archive.c (_bfd_get_elt_at_filepos): Store a copy of the 3404*a1ba9ba4Schristos filename in the bfd's filename field. 3405*a1ba9ba4Schristos * elfcode.h (bfd_from_remote_memory): Likewise. 3406*a1ba9ba4Schristos * ieee.c (ieee_object_p): Likewise. 3407*a1ba9ba4Schristos * mach-o.c (bfd_mach_o_fat_member_init): Likewise. 3408*a1ba9ba4Schristos * oasys.c (oasys_openr_next_archived_file): Likewise. 3409*a1ba9ba4Schristos * vms-lib.c (_bfd_vms_lib_get_module): Likewise. 3410*a1ba9ba4Schristos * opncls.c (bfd_fopen): Likewise. 3411*a1ba9ba4Schristos (bfd_openstreamr): Likewise. 3412*a1ba9ba4Schristos (bfd_openr_iovec): Likewise. 3413*a1ba9ba4Schristos (bfd_openw): Likewise. 3414*a1ba9ba4Schristos (bfd_create): Likewise. 3415*a1ba9ba4Schristos (_bfd_delete_bfd): Free filename. 3416*a1ba9ba4Schristos 3417*a1ba9ba4SchristosFor older changes see ChangeLog-2013 3418*a1ba9ba4Schristos 3419*a1ba9ba4SchristosCopyright (C) 2014 Free Software Foundation, Inc. 3420*a1ba9ba4Schristos 3421*a1ba9ba4SchristosCopying and distribution of this file, with or without modification, 3422*a1ba9ba4Schristosare permitted in any medium without royalty provided the copyright 3423*a1ba9ba4Schristosnotice and this notice are preserved. 3424*a1ba9ba4Schristos 3425*a1ba9ba4SchristosLocal Variables: 3426*a1ba9ba4Schristosmode: change-log 3427*a1ba9ba4Schristosleft-margin: 8 3428*a1ba9ba4Schristosfill-column: 74 3429*a1ba9ba4Schristosversion-control: never 3430*a1ba9ba4SchristosEnd: 3431