1*ed0d50c3Schristos2011-12-24 Jan Kratochvil <jan.kratochvil@redhat.com> 2*ed0d50c3Schristos 3*ed0d50c3Schristos * elf32-rl78.c (rl78_elf_relocate_section, rl78_dump_symtab) 4*ed0d50c3Schristos (rl78_elf_relax_section): Remove debug prints. 5*ed0d50c3Schristos 6*ed0d50c3Schristos2011-12-23 Jan Kratochvil <jan.kratochvil@redhat.com> 7*ed0d50c3Schristos 8*ed0d50c3Schristos * elf32-rl78.c (rl78_elf_relocate_section, rl78_elf_relax_section): Use 9*ed0d50c3Schristos BFD_VMA_FMT. 10*ed0d50c3Schristos 11*ed0d50c3Schristos2011-12-23 Jan Kratochvil <jan.kratochvil@redhat.com> 12*ed0d50c3Schristos 13*ed0d50c3Schristos * elf32-rl78.c (prev_alignment, sec_start): Remove unused variables. 14*ed0d50c3Schristos 15*ed0d50c3Schristos2011-12-23 Tristan Gingold <gingold@adacore.com> 16*ed0d50c3Schristos 17*ed0d50c3Schristos * vms-lib.c (vms_traverse_index): Move pointer update code. 18*ed0d50c3Schristos 19*ed0d50c3Schristos2011-12-22 DJ Delorie <dj@redhat.com> 20*ed0d50c3Schristos 21*ed0d50c3Schristos * elf32-rl78.c (rl78_elf_howto_table): Add R_RL78_RH_RELAX. 22*ed0d50c3Schristos (rl78_reloc_map): Add BFD_RELOC_RL78_RELAX. 23*ed0d50c3Schristos (rl78_elf_relocate_section): Add R_RL78_RH_RELAX, R_RL78_RH_SFR, 24*ed0d50c3Schristos and R_RL78_RH_SADDR. 25*ed0d50c3Schristos (rl78_elf_finish_dynamic_sections): Only validate PLT section if 26*ed0d50c3Schristos we didn't relax anything, as relaxing might remove a PLT reference 27*ed0d50c3Schristos after we've set up the table. 28*ed0d50c3Schristos (elf32_rl78_relax_delete_bytes): New. 29*ed0d50c3Schristos (reloc_bubblesort): New. 30*ed0d50c3Schristos (rl78_offset_for_reloc): New. 31*ed0d50c3Schristos (relax_addr16): New. 32*ed0d50c3Schristos (rl78_elf_relax_section): Add support for relaxing long 33*ed0d50c3Schristos instructions into short ones. 34*ed0d50c3Schristos 35*ed0d50c3Schristos2011-12-22 Martin Schwidefsky <schwidefsky@de.ibm.com> 36*ed0d50c3Schristos 37*ed0d50c3Schristos * elf32-s390.c (elf_s390_relocate_section): Add check for debugging 38*ed0d50c3Schristos section in LD to LE linker relaxation for R_390_TLS_LDO32. 39*ed0d50c3Schristos * elf64-s390.c (elf_s390_relocate_section): Likewise for 40*ed0d50c3Schristos R_390_TLS_LDO64. 41*ed0d50c3Schristos 42*ed0d50c3Schristos2011-12-21 Ulrich Weigand <ulrich.weigand@linaro.org> 43*ed0d50c3Schristos 44*ed0d50c3Schristos * elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid. 45*ed0d50c3Schristos 46*ed0d50c3Schristos2011-12-19 Iain Sandoe <idsandoe@googlemail.com> 47*ed0d50c3Schristos 48*ed0d50c3Schristos * mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL. 49*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_backend_data): Initialize 50*ed0d50c3Schristos bfd_mach_o_section_type_valid_for_tgt 51*ed0d50c3Schristos * mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New. 52*ed0d50c3Schristos (bfd_mach_o_section_type_valid_for_tgt): Set to 53*ed0d50c3Schristos bfd_mach_o_section_type_valid_for_x86_64. 54*ed0d50c3Schristos * mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup. 55*ed0d50c3Schristos (bfd_mach_o_section_attribute_name): Reorder. 56*ed0d50c3Schristos (bfd_mach_o_get_section_type_from_name): If the target has defined a 57*ed0d50c3Schristos validator for section types, then use it. 58*ed0d50c3Schristos * mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration 59*ed0d50c3Schristos to include the bfd. 60*ed0d50c3Schristos 61*ed0d50c3Schristos2011-12-19 Chung-Lin Tang <cltang@codesourcery.com> 62*ed0d50c3Schristos 63*ed0d50c3Schristos * reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM, 64*ed0d50c3Schristos BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16, 65*ed0d50c3Schristos BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16, 66*ed0d50c3Schristos BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS. 67*ed0d50c3Schristos * bfd-in2.h (bfd_reloc_code_real): Regenerate. 68*ed0d50c3Schristos * libbfd.h (bfd_reloc_code_real_names): Regenerate. 69*ed0d50c3Schristos * elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_* 70*ed0d50c3Schristos entries. 71*ed0d50c3Schristos (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* 72*ed0d50c3Schristos mappings. 73*ed0d50c3Schristos * elfn32-mips.c (elf_mips16_howto_table_rel, 74*ed0d50c3Schristos elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries. 75*ed0d50c3Schristos (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* 76*ed0d50c3Schristos mappings. 77*ed0d50c3Schristos * elf64-mips.c (mips16_elf64_howto_table_rel, 78*ed0d50c3Schristos mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries. 79*ed0d50c3Schristos (mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_* 80*ed0d50c3Schristos mappings. 81*ed0d50c3Schristos * elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p, 82*ed0d50c3Schristos _bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations. 83*ed0d50c3Schristos (tls_gd_reloc_p): Add R_MIPS16_TLS_GD case. 84*ed0d50c3Schristos (tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case. 85*ed0d50c3Schristos (tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case. 86*ed0d50c3Schristos (mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*, 87*ed0d50c3Schristos R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations. 88*ed0d50c3Schristos 89*ed0d50c3Schristos2011-12-19 Chung-Lin Tang <cltang@codesourcery.com> 90*ed0d50c3Schristos Catherine Moore <clm@codesourcery.com> 91*ed0d50c3Schristos Sandra Loosemore <sandra@codesourcery.com> 92*ed0d50c3Schristos Richard Sandiford <rdsandiford@googlemail.com> 93*ed0d50c3Schristos 94*ed0d50c3Schristos * elfxx-mips.c (mips_elf_local_pic_function_p): Return true when 95*ed0d50c3Schristos H is a MIPS16 function with a kept 32-bit stub. Update comments. 96*ed0d50c3Schristos (mips_elf_get_la25_target): New function. 97*ed0d50c3Schristos (mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target(). 98*ed0d50c3Schristos (mips_elf_add_la25_stub): Move compute of use_trampoline_p down, 99*ed0d50c3Schristos change to use mips_elf_get_la25_target(). 100*ed0d50c3Schristos (mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p 101*ed0d50c3Schristos parameter, add switch case for R_MIPS16_26. 102*ed0d50c3Schristos (mips_elf_calculate_relocation): Redirect relocation to point to the 103*ed0d50c3Schristos LA25 stub if it exists, instead of the MIPS16 stub. Update arguments 104*ed0d50c3Schristos of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub 105*ed0d50c3Schristos for mips16->mips16 calls. 106*ed0d50c3Schristos (_bfd_mips_elf_check_relocs): Update arguments of call to 107*ed0d50c3Schristos mips_elf_relocation_needs_la25_stub(). 108*ed0d50c3Schristos (mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target(). 109*ed0d50c3Schristos 110*ed0d50c3Schristos2011-12-16 Shinichiro Hamaji <shinichiro.hamaji@gmail.com> 111*ed0d50c3Schristos 112*ed0d50c3Schristos * mach-o-i386.c (TARGET_PRIORITY): Define as 0 (top priority) 113*ed0d50c3Schristos * mach-o-target.c (TARGET_NAME): Use TARGET_PRIORITY 114*ed0d50c3Schristos * mach-o-x86-64.c (TARGET_PRIORITY): Define as 0 (top priority) 115*ed0d50c3Schristos * mach-o.c (bfd_mach_o_header_p): Remove special handling for 116*ed0d50c3Schristos mach-o-i386. 117*ed0d50c3Schristos (TARGET_PRIORITY) Set 1 for mach-o-be and mach-o-le, and set 0 for 118*ed0d50c3Schristos mach-o-fat. 119*ed0d50c3Schristos 120*ed0d50c3Schristos2011-12-15 Kevin Buettner <kevinb@redhat.com> 121*ed0d50c3Schristos 122*ed0d50c3Schristos * elf32-am33lin.c (elf32_am33lin_grok_prstatus): Add case 123*ed0d50c3Schristos to correspond to a smaller ELF_NGREG defined by the kernel. 124*ed0d50c3Schristos 125*ed0d50c3Schristos2011-12-15 H.J. Lu <hongjiu.lu@intel.com> 126*ed0d50c3Schristos 127*ed0d50c3Schristos * elf64-x86-64.c (ELF32_DYNAMIC_INTERPRETER): Set to 128*ed0d50c3Schristos "/lib/ldx32.so.1". 129*ed0d50c3Schristos 130*ed0d50c3Schristos2011-12-15 Iain Sandoe <iains@gcc.gnu.org> 131*ed0d50c3Schristos 132*ed0d50c3Schristos * mach-o.c (bfd_mach_o_mkobject_init): Initialize dyn_reloc_cache. 133*ed0d50c3Schristos (bfd_mach_o_close_and_cleanup): Only cleanup Mach-O private data 134*ed0d50c3Schristos for object files. 135*ed0d50c3Schristos 136*ed0d50c3Schristos2011-12-15 Shinichiro Hamaji <shinichiro.hamaji@gmail.com> 137*ed0d50c3Schristos 138*ed0d50c3Schristos * mach-o.c (bfd_mach_o_canonicalize_reloc): Update relocation 139*ed0d50c3Schristos table only when there isn't the cahce. 140*ed0d50c3Schristos (bfd_mach_o_get_dynamic_reloc_upper_bound): Need one more space 141*ed0d50c3Schristos for a pointer for the watchdog. 142*ed0d50c3Schristos (bfd_mach_o_canonicalize_dynamic_reloc): Utilize cache like 143*ed0d50c3Schristos bfd_mach_o_canonicalize_reloc. 144*ed0d50c3Schristos (bfd_mach_o_close_and_cleanup): Call bfd_mach_o_free_cached_info. 145*ed0d50c3Schristos (bfd_mach_o_free_cached_info): Free up cache data. 146*ed0d50c3Schristos * mach-o.h (reloc_cache): A place to store cache of dynamic relocs. 147*ed0d50c3Schristos (bfd_mach_o_free_cached_info): Add declaration. 148*ed0d50c3Schristos 149*ed0d50c3Schristos2011-12-15 Iain Sandoe <iains@gcc.gnu.org> 150*ed0d50c3Schristos 151*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_bfd_set_private_flags): Use 152*ed0d50c3Schristos bfd_mach_o_bfd_set_private_flags. 153*ed0d50c3Schristos * mach-o.c (bfd_mach_o_bfd_set_private_flags): New. 154*ed0d50c3Schristos * mach-o.h (bfd_mach_o_bfd_set_private_flags): Declare. 155*ed0d50c3Schristos 156*ed0d50c3Schristos2011-12-14 Nick Clifton <nickc@redhat.com> 157*ed0d50c3Schristos 158*ed0d50c3Schristos PR ld/12451 159*ed0d50c3Schristos * elfcode.h (elf_checksum_contents): Read in the section's 160*ed0d50c3Schristos contents if they are not already available, and the section 161*ed0d50c3Schristos actually has some contents. 162*ed0d50c3Schristos 163*ed0d50c3Schristos * compress.c (bfd_get_full_section_contents): Use zmalloc to 164*ed0d50c3Schristos allocate the buffers so that excess bytes are guaranteed to be 165*ed0d50c3Schristos zero. 166*ed0d50c3Schristos 167*ed0d50c3Schristos2011-12-14 Iain Sandoe <iains@gcc.gnu.org> 168*ed0d50c3Schristos 169*ed0d50c3Schristos * mach-o-i386.c (text_section_names_xlat): New table. 170*ed0d50c3Schristos (data_section_names_xlat): Likewise. 171*ed0d50c3Schristos (import_section_names_xlat): Likewise. 172*ed0d50c3Schristos (mach_o_i386_segsec_names_xlat): Likewise. 173*ed0d50c3Schristos (bfd_mach_o_tgt_seg_table): Use new tables. 174*ed0d50c3Schristos * mach-o-x86-64.c (bfd_mach_o_tgt_seg_table): Set NULL. 175*ed0d50c3Schristos * mach-o.c (mach_o_section_name_xlat, mach_o_segment_name_xlat): 176*ed0d50c3Schristos Move to mach-o.h as typedefs. 177*ed0d50c3Schristos (text_section_names_xlat): Update for current GCC usage. 178*ed0d50c3Schristos (data_section_names_xlat): Likewise. 179*ed0d50c3Schristos (dwarf_section_names_xlat): Likewise. 180*ed0d50c3Schristos (objc_section_names_xlat): New table. 181*ed0d50c3Schristos (segsec_names_xlat): Add objc table. 182*ed0d50c3Schristos (bfd_mach_o_normalize_section_name): Replace with... 183*ed0d50c3Schristos (bfd_mach_o_section_data_for_mach_sect): New. 184*ed0d50c3Schristos (bfd_mach_o_section_data_for_bfd_name): New. 185*ed0d50c3Schristos (bfd_mach_o_section_data_for_bfd_name): Update to use additional data. 186*ed0d50c3Schristos (bfd_mach_o_convert_section_name_to_mach_o): Likewise. 187*ed0d50c3Schristos (bfd_mach_o_bfd_copy_private_section_data): Implement. 188*ed0d50c3Schristos (bfd_mach_o_write_symtab): Write a zero-length string as the first entry 189*ed0d50c3Schristos for compatibility with system tools. 190*ed0d50c3Schristos (bfd_mach_o_build_commands): Update section alignment info. 191*ed0d50c3Schristos (bfd_mach_o_new_section_hook): Use translation table data to define 192*ed0d50c3Schristos default section flags, type, attributes and alignment, when available. 193*ed0d50c3Schristos (bfd_mach_o_init_section_from_mach_o): Add TODO comment. 194*ed0d50c3Schristos (bfd_mach_o_section_type_name): Add 'symbol_stubs'. 195*ed0d50c3Schristos (bfd_mach_o_section_attribute_name): Add 'self_modifying_code'. 196*ed0d50c3Schristos (bfd_mach_o_get_section_type_from_name): Change "not-found" return 197*ed0d50c3Schristos value. 198*ed0d50c3Schristos (bfd_mach_o_tgt_seg_table): Set default NULL. 199*ed0d50c3Schristos * mach-o.h (bfd_mach_o_segment_command): Use define for name length. 200*ed0d50c3Schristos (bfd_mach_o_backend_data): Move until after contents are defined. 201*ed0d50c3Schristos (bfd_mach_o_normalize_section_name): Remove. 202*ed0d50c3Schristos (bfd_mach_o_convert_section_name_to_bfd): Declare. 203*ed0d50c3Schristos (mach_o_section_name_xlat): Declare. 204*ed0d50c3Schristos (mach_o_segment_name_xlat): Declare. 205*ed0d50c3Schristos (bfd_mach_o_section_data_for_mach_sect): Declare. 206*ed0d50c3Schristos (bfd_mach_o_section_data_for_bfd_name): Declare. 207*ed0d50c3Schristos 208*ed0d50c3Schristos2011-12-13 Shinichiro Hamaji <shinichiro.hamaji@gmail.com> 209*ed0d50c3Schristos 210*ed0d50c3Schristos * dwarf2.c (bfd_dwarf2_cleanup_debug_info): Accept stash as an 211*ed0d50c3Schristos argument like other functions to support formats other than ELF. 212*ed0d50c3Schristos * elf-bfd.h (bfd_dwarf2_cleanup_debug_info): Move to bfd-in.h. 213*ed0d50c3Schristos * elf.c (_bfd_elf_close_and_cleanup): Pass dwarf2_find_line_info 214*ed0d50c3Schristos in tdata as a parameter. 215*ed0d50c3Schristos * libbfd-in.h (bfd_dwarf2_cleanup_debug_info): Move from 216*ed0d50c3Schristos elf-bfd.h. 217*ed0d50c3Schristos * libbfd.h (bfd_dwarf2_cleanup_debug_info): Regenerate. 218*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_close_and_cleanup): Remove the 219*ed0d50c3Schristos fallback macro. 220*ed0d50c3Schristos (bfd_mach_o_find_nearest_line): Likewise. 221*ed0d50c3Schristos * mach-o.c (bfd_mach_o_find_nearest_line): Add the definition 222*ed0d50c3Schristos which calls _bfd_dwarf2_find_nearest_line. 223*ed0d50c3Schristos (bfd_mach_o_close_and_cleanup): Likewise. 224*ed0d50c3Schristos * mach-o.h (mach_o_data_struct): Add dwarf2_find_line_info. 225*ed0d50c3Schristos (bfd_mach_o_find_nearest_line): Add declaration. 226*ed0d50c3Schristos (bfd_mach_o_close_and_cleanup): Add declaration. 227*ed0d50c3Schristos 228*ed0d50c3Schristos2011-12-13 Tristan Gingold <gingold@adacore.com> 229*ed0d50c3Schristos 230*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_symtab_symbols): Make global. Remove 231*ed0d50c3Schristos prototype. 232*ed0d50c3Schristos (bfd_mach_o_section_get_entry_size): Make global. 233*ed0d50c3Schristos (bfd_mach_o_section_get_nbr_indirect): Likewise. 234*ed0d50c3Schristos (bfd_mach_o_read_symtab_strtab): Likewise. 235*ed0d50c3Schristos (struct bfd_mach_o_xlat_name): Move to mach-o.h 236*ed0d50c3Schristos (bfd_mach_o_print_flags): Move to binutils/od-macho.c 237*ed0d50c3Schristos (bfd_mach_o_get_name_of_null, bfd_mach_o_get_name): Likewise. 238*ed0d50c3Schristos (bfd_mach_o_cpu_name, bfd_mach_o_filetype_name): Likewise. 239*ed0d50c3Schristos (bfd_mach_o_header_flags_name): Likewise. 240*ed0d50c3Schristos (bfd_mach_o_load_command_name): Likewise. 241*ed0d50c3Schristos (bfd_mach_o_print_private_header): Likewise. 242*ed0d50c3Schristos (bfd_mach_o_print_section_map, bfd_mach_o_print_section): Likwise. 243*ed0d50c3Schristos (bfd_mach_o_print_segment, bfd_mach_o_print_dysymtab): Likewise. 244*ed0d50c3Schristos (bfd_mach_o_print_dyld_info): Likewise. 245*ed0d50c3Schristos (bfd_mach_o_print_private_bfd_data): Remove. 246*ed0d50c3Schristos (bfd_mach_o_type_name): Make global. 247*ed0d50c3Schristos (bfd_mach_o_section_attribute_name): Likewise. 248*ed0d50c3Schristos * mach-o.h (bfd_mach_o_xlat_name): Added. 249*ed0d50c3Schristos (bfd_mach_o_section_get_nbr_indirect) 250*ed0d50c3Schristos (bfd_mach_o_section_get_entry_size) 251*ed0d50c3Schristos (bfd_mach_o_read_symtab_symbols) 252*ed0d50c3Schristos (bfd_mach_o_read_symtab_strtab) 253*ed0d50c3Schristos (bfd_mach_o_section_attribute_name) 254*ed0d50c3Schristos (bfd_mach_o_section_type_name): Likewise. 255*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data): Define. 256*ed0d50c3Schristos 257*ed0d50c3Schristos2011-12-13 Chung-Lin Tang <cltang@codesourcery.com> 258*ed0d50c3Schristos 259*ed0d50c3Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Correct 260*ed0d50c3Schristos R_MIPS16_HI16/R_MIPS16_LO16 handling of two cleared lower bits, 261*ed0d50c3Schristos update comments. 262*ed0d50c3Schristos 263*ed0d50c3Schristos2011-12-12 Iain Sandoe <iains@gcc.gnu.org> 264*ed0d50c3Schristos 265*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_section_32): Null-terminate sectname. 266*ed0d50c3Schristos (bfd_mach_o_read_section_64): Likewise. 267*ed0d50c3Schristos 268*ed0d50c3Schristos2011-12-11 John Davis Anglin <dave.anglin@nrc-cnrc.gc.ca> 269*ed0d50c3Schristos 270*ed0d50c3Schristos PR binutils/13476 271*ed0d50c3Schristos * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, 272*ed0d50c3Schristos R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations to 273*ed0d50c3Schristos R_PARISC_DPREL21L when not doing a shared link. Likewise convert 274*ed0d50c3Schristos R_PARISC_TLS_GD14R, R_PARISC_TLS_LDM14R and R_PARISC_TLS_IE14R to 275*ed0d50c3Schristos R_PARISC_DPREL14R. Handle R_PARISC_TLS_GD21L, R_PARISC_TLS_LDM21L 276*ed0d50c3Schristos and R_PARISC_TLS_IE21L with R_PARISC_DLTIND21L. 277*ed0d50c3Schristos 278*ed0d50c3Schristos2011-12-10 David Daney <david.daney@cavium.com> 279*ed0d50c3Schristos 280*ed0d50c3Schristos * elfxx-mips.c (mips_elf_link_hash_table.rld_value): Remove. 281*ed0d50c3Schristos (mips_elf_link_hash_table.rld_symbol): New field; 282*ed0d50c3Schristos (MIPS_ELF_RLD_MAP_SIZE): New macro. 283*ed0d50c3Schristos (_bfd_mips_elf_add_symbol_hook): Remember __rld_obj_head symbol 284*ed0d50c3Schristos in rld_symbol. 285*ed0d50c3Schristos (_bfd_mips_elf_create_dynamic_sections): Remember __rld_map symbol 286*ed0d50c3Schristos in rld_symbol. 287*ed0d50c3Schristos (_bfd_mips_elf_size_dynamic_sections): Set correct size for .rld_map. 288*ed0d50c3Schristos (_bfd_mips_elf_finish_dynamic_symbol): Remove .rld_map handling. 289*ed0d50c3Schristos (_bfd_mips_elf_finish_dynamic_sections): Use rld_symbol to 290*ed0d50c3Schristos calculate DT_MIPS_RLD_MAP value. 291*ed0d50c3Schristos (_bfd_mips_elf_link_hash_table_create): Initialize rld_symbol, 292*ed0d50c3Schristos quit initializing rld_value. 293*ed0d50c3Schristos 294*ed0d50c3Schristos2011-12-08 Andrew Pinski <apinski@cavium.com> 295*ed0d50c3Schristos Adam Nemet <anemet@caviumnetworks.com> 296*ed0d50c3Schristos 297*ed0d50c3Schristos * archures.c (bfd_mach_mips_octeon2): New macro 298*ed0d50c3Schristos * bfd-in2.h: Regenerate. 299*ed0d50c3Schristos * cpu-mips.c (I_mipsocteon2): New enum value. 300*ed0d50c3Schristos (arch_info_struct): Add bfd_mach_mips_octeon2. 301*ed0d50c3Schristos * elfxx-mips.c (_bfd_elf_mips_mach): Support E_MIPS_MACH_OCTEON2. 302*ed0d50c3Schristos (mips_set_isa_flags): Add bfd_mach_mips_octeon2. 303*ed0d50c3Schristos (mips_mach_extensions): Add bfd_mach_mips_octeon2. 304*ed0d50c3Schristos 305*ed0d50c3Schristos2011-12-07 Alan Modra <amodra@gmail.com> 306*ed0d50c3Schristos 307*ed0d50c3Schristos PR ld/12772 308*ed0d50c3Schristos * elflink.c (elf_gc_sweep_symbol): Discard unmarked symbols 309*ed0d50c3Schristos defined in shared libraries. 310*ed0d50c3Schristos 311*ed0d50c3Schristos2011-12-07 Tristan Gingold <gingold@adacore.com> 312*ed0d50c3Schristos 313*ed0d50c3Schristos * mach-o.c (bfd_mach_o_canonicalize_symtab): Fix indentation. 314*ed0d50c3Schristos Adjust the condition. 315*ed0d50c3Schristos (bfd_mach_o_read_symtab_symbol): Now returns a bfd_boolean. 316*ed0d50c3Schristos Adjust return statements. 317*ed0d50c3Schristos (bfd_mach_o_read_symtab_strtab): Likewise. 318*ed0d50c3Schristos (bfd_mach_o_read_symtab_symbols): Likewise. 319*ed0d50c3Schristos (bfd_mach_o_scan_start_address): Likewise. Make it static. 320*ed0d50c3Schristos (bfd_mach_o_scan): Likewise. 321*ed0d50c3Schristos (bfd_mach_o_read_dysymtab_symbol): Remove unused function. 322*ed0d50c3Schristos (bfd_mach_o_header_p): Adjust call. 323*ed0d50c3Schristos (bfd_mach_o_cpu_name): Make it const. 324*ed0d50c3Schristos (bfd_mach_o_filetype_name): Likewise. 325*ed0d50c3Schristos (bfd_mach_o_header_flags_name): Likewise. 326*ed0d50c3Schristos (bfd_mach_o_section_type_name): Likewise. 327*ed0d50c3Schristos (bfd_mach_o_section_attribute_name): Likewise. 328*ed0d50c3Schristos (bfd_mach_o_load_command_name): Likewise. 329*ed0d50c3Schristos (bfd_mach_o_get_section_type_from_name): Add a const qualifier 330*ed0d50c3Schristos after above change. 331*ed0d50c3Schristos (bfd_mach_o_get_section_attribute_from_name): Likewise. 332*ed0d50c3Schristos * mach-o.h (bfd_mach_o_read_dysymtab_symbol) 333*ed0d50c3Schristos (bfd_mach_o_scan_start_address, bfd_mach_o_scan): Remove. 334*ed0d50c3Schristos 335*ed0d50c3Schristos2011-12-06 Ulrich Weigand <uweigand@de.ibm.com> 336*ed0d50c3Schristos 337*ed0d50c3Schristos * elf-bfd.h (elfcore_write_s390_last_break): Add prototype. 338*ed0d50c3Schristos (elfcore_write_s390_system_call): Likewise. 339*ed0d50c3Schristos * elf.c (elfcore_write_s390_last_break): New function. 340*ed0d50c3Schristos (elfcore_write_s390_system_call): Likewise. 341*ed0d50c3Schristos (elfcore_write_register_note): Call them. 342*ed0d50c3Schristos (elfcore_grok_s390_last_break): New function. 343*ed0d50c3Schristos (elfcore_grok_s390_system_call): Likewise. 344*ed0d50c3Schristos (elfcore_grok_note): Call them. 345*ed0d50c3Schristos 346*ed0d50c3Schristos2011-12-05 Tristan Gingold <gingold@adacore.com> 347*ed0d50c3Schristos 348*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_symtab_symbol): Accept indirect symbols. 349*ed0d50c3Schristos 350*ed0d50c3Schristos2011-12-05 Tristan Gingold <gingold@adacore.com> 351*ed0d50c3Schristos 352*ed0d50c3Schristos * mach-o.c (bfd_mach_o_write_contents): Handle LC_LOAD_UPWARD_DYLIB. 353*ed0d50c3Schristos (bfd_mach_o_read_dylib): Likewise. 354*ed0d50c3Schristos (bfd_mach_o_read_command): Likewise. 355*ed0d50c3Schristos (bfd_mach_o_bfd_print_private_bfd_data): Likewise. 356*ed0d50c3Schristos 357*ed0d50c3Schristos2011-12-05 Tristan Gingold <gingold@adacore.com> 358*ed0d50c3Schristos 359*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_command): Add the bfd in the error 360*ed0d50c3Schristos message. 361*ed0d50c3Schristos (bfd_mach_o_openr_next_archived_file): Use arch name as member name. 362*ed0d50c3Schristos (bfd_mach_o_fat_extract): Ditto. 363*ed0d50c3Schristos 364*ed0d50c3Schristos2011-12-03 Alan Modra <amodra@gmail.com> 365*ed0d50c3Schristos 366*ed0d50c3Schristos PR ld/13468 367*ed0d50c3Schristos * elflink.c (bfd_elf_final_link): Don't segfault when checking 368*ed0d50c3Schristos for DT_TEXTREL and .dynamic does not exist. 369*ed0d50c3Schristos 370*ed0d50c3Schristos2011-12-03 Alan Modra <amodra@gmail.com> 371*ed0d50c3Schristos 372*ed0d50c3Schristos PR ld/13470 373*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive 374*ed0d50c3Schristos change in 2011-07-01 commit. Comment. 375*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. 376*ed0d50c3Schristos 377*ed0d50c3Schristos2011-12-01 Mikael Pettersson <mikpe@it.uu.se> 378*ed0d50c3Schristos 379*ed0d50c3Schristos * elf32-m68k.c (elf_m68k_check_relocs) <R_68K_8, R68K_16, R_68K_32>: For 380*ed0d50c3Schristos non-SEC_ALLOC sections break before GOT and PLT accounting. 381*ed0d50c3Schristos 382*ed0d50c3Schristos2011-12-01 Hans-Peter Nilsson <hp@axis.com> 383*ed0d50c3Schristos 384*ed0d50c3Schristos * elf32-cris.c (cris_elf_check_relocs) <plt accounting for 385*ed0d50c3Schristos R_CRIS_8, R_CRIS_16, and R_CRIS_32>: Move early break for 386*ed0d50c3Schristos non-SEC_ALLOC sections before GOT and PLT accounting. 387*ed0d50c3Schristos 388*ed0d50c3Schristos2011-11-29 Andrew Pinski <apinski@cavium.com> 389*ed0d50c3Schristos 390*ed0d50c3Schristos * archures.c (bfd_mach_mips_octeonp): New macro. 391*ed0d50c3Schristos * bfd-in2.h: Regenerate. 392*ed0d50c3Schristos * bfd/cpu-mips.c (I_mipsocteonp): New enum value. 393*ed0d50c3Schristos (arch_info_struct): Add bfd_mach_mips_octeonp. 394*ed0d50c3Schristos * elfxx-mips.c (mips_set_isa_flags): Add bfd_mach_mips_octeonp. 395*ed0d50c3Schristos (mips_mach_extensions): Add bfd_mach_mips_octeonp. 396*ed0d50c3Schristos 397*ed0d50c3Schristos2011-11-23 Tristan Gingold <gingold@adacore.com> 398*ed0d50c3Schristos 399*ed0d50c3Schristos * vms-lib.c (get_idxlen): Add comments. Fix type in sizeof. 400*ed0d50c3Schristos (vms_write_index): Add comments. 401*ed0d50c3Schristos 402*ed0d50c3Schristos2011-11-22 DJ Delorie <dj@redhat.com> 403*ed0d50c3Schristos 404*ed0d50c3Schristos * elf32-rx.c (rx_elf_object_p): Add more checks for "scanning" to 405*ed0d50c3Schristos avoid using the special non-swapping target when not explicitly 406*ed0d50c3Schristos requested. 407*ed0d50c3Schristos 408*ed0d50c3Schristos2011-11-22 Daniel Calcoen <Daniel.Calcoen@cern.ch> 409*ed0d50c3Schristos 410*ed0d50c3Schristos * elf32-rx.c (rx_elf_object_p): Correct typo: lma->vma. 411*ed0d50c3Schristos 412*ed0d50c3Schristos2011-11-22 Tristan Gingold <gingold@adacore.com> 413*ed0d50c3Schristos 414*ed0d50c3Schristos * mach-o.c (bfd_mach_o_print_symbol): Display COM for common 415*ed0d50c3Schristos symbols. Print section name in brackets. 416*ed0d50c3Schristos 417*ed0d50c3Schristos2011-11-21 Andreas Tobler <andreast@fgznet.ch> 418*ed0d50c3Schristos 419*ed0d50c3Schristos * config.bfd: Add vectors for powerpc and powerpc64-freebsd. 420*ed0d50c3Schristos * configure.in (TDEFINES): Add rules for powerpc*-freebsd. 421*ed0d50c3Schristos * configure: Regenerate. 422*ed0d50c3Schristos * elf32-ppc.c: Add powerpc-freebsd definitions. 423*ed0d50c3Schristos * elf64-ppc.c: Add powerpc64-freebsd definitions. 424*ed0d50c3Schristos * targets.c: Add bits for powerpc and powerpc64-freebsd. 425*ed0d50c3Schristos 426*ed0d50c3Schristos2011-11-17 Philipp Thomas <philipp@thogro.org> 427*ed0d50c3Schristos 428*ed0d50c3Schristos * elf32-arm.c (elf32_thumb_to_arm_stub): Sync message so that it 429*ed0d50c3Schristos needs to be translated only once. 430*ed0d50c3Schristos 431*ed0d50c3Schristos2011-11-16 Maciej W. Rozycki <macro@codesourcery.com> 432*ed0d50c3Schristos 433*ed0d50c3Schristos * elf64-mips.c (mips_elf64_howto_table_rela): Set src_mask to 434*ed0d50c3Schristos zero throughout. 435*ed0d50c3Schristos (mips16_elf64_howto_table_rela): Likewise. 436*ed0d50c3Schristos (micromips_elf64_howto_table_rela): Likewise. 437*ed0d50c3Schristos * elfn32-mips.c (elf_mips_howto_table_rela): Likewise. 438*ed0d50c3Schristos (elf_mips16_howto_table_rela): Likewise. 439*ed0d50c3Schristos (elf_micromips_howto_table_rela): Likewise. 440*ed0d50c3Schristos 441*ed0d50c3Schristos2011-11-15 Alan Modra <amodra@gmail.com> 442*ed0d50c3Schristos Andreas Tobler <andreast@fgznet.ch> 443*ed0d50c3Schristos 444*ed0d50c3Schristos * elflink.c (_bfd_elf_create_got_section): Replace 445*ed0d50c3Schristos bfd_make_section_with_flags with bfd_make_section_anyway_with_flags. 446*ed0d50c3Schristos (_bfd_elf_link_create_dynamic_sections): Likewise. 447*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_create_glink): Likewise. 448*ed0d50c3Schristos (ppc_elf_create_dynamic_sections): Likewise. 449*ed0d50c3Schristos 450*ed0d50c3Schristos2011-11-14 Maxim Kuvyrkov <maxim@codesourcery.com> 451*ed0d50c3Schristos 452*ed0d50c3Schristos * elfxx-mips.c (mips_n64_exec_plt0_entry): Use 64-bit move. 453*ed0d50c3Schristos 454*ed0d50c3Schristos2011-11-08 Nick Clifton <nickc@redhat.com> 455*ed0d50c3Schristos 456*ed0d50c3Schristos * elf-m10300.c (mn10300_elf_relax_section): Fix check for an 457*ed0d50c3Schristos immediate move into an address register. 458*ed0d50c3Schristos 459*ed0d50c3Schristos2011-11-09 Alan Modra <amodra@gmail.com> 460*ed0d50c3Schristos 461*ed0d50c3Schristos * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark syms in 462*ed0d50c3Schristos executables when export_dynamic. 463*ed0d50c3Schristos 464*ed0d50c3Schristos2011-11-08 Alan Modra <amodra@gmail.com> 465*ed0d50c3Schristos 466*ed0d50c3Schristos * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename 467*ed0d50c3Schristos ha_relocs_not_using_r2 to unexpected_toc_insn. 468*ed0d50c3Schristos (ok_lo_toc_insn): New function. 469*ed0d50c3Schristos (ppc64_elf_edit_toc): Check insn on lo toc reloc. Emit warning. 470*ed0d50c3Schristos (ppc64_elf_relocate_section): Don't check insn on lo toc reloc here. 471*ed0d50c3Schristos Handle addic on lo toc reloc. 472*ed0d50c3Schristos 473*ed0d50c3Schristos2011-11-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 474*ed0d50c3Schristos 475*ed0d50c3Schristos PR ld/13387 476*ed0d50c3Schristos * elf32-hppa.c (elf32_hppa_hide_symbol): Make STT_GNU_IFUNC symbol 477*ed0d50c3Schristos go through PLT. Reset plt field with init_plt_offset. 478*ed0d50c3Schristos (elf32_hppa_adjust_dynamic_symbol): Ensure that a PLT slot is 479*ed0d50c3Schristos allocated for symbols referenced by a plabel. 480*ed0d50c3Schristos 481*ed0d50c3Schristos2011-11-02 DJ Delorie <dj@redhat.com> 482*ed0d50c3Schristos 483*ed0d50c3Schristos * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Delete unused 484*ed0d50c3Schristos variable. 485*ed0d50c3Schristos 486*ed0d50c3Schristos2011-11-02 Jan Beulich <jbeulich@suse.com> 487*ed0d50c3Schristos 488*ed0d50c3Schristos * coffgen.c (coff_write_alien_symbol): Make public. Add 'struct 489*ed0d50c3Schristos internal_syment *' parameter. Extend 'dummy' to an array with two 490*ed0d50c3Schristos elements. Set n_numaux early. Handle BSF_FILE. 491*ed0d50c3Schristos (coff_write_symbols): Pass NULL as new third argument to 492*ed0d50c3Schristos coff_write_alien_symbol(). 493*ed0d50c3Schristos * cofflink.c (_bfd_coff_final_link): Don't use COFF-specific 494*ed0d50c3Schristos obj_raw_syment_count() on non-COFF input BFD. Insert local symbols 495*ed0d50c3Schristos from non-COFF input BFDs. 496*ed0d50c3Schristos * libcoff-in.h (coff_write_alien_symbol): Declare. 497*ed0d50c3Schristos * libcoff.h (coff_write_alien_symbol): Re-generate. 498*ed0d50c3Schristos 499*ed0d50c3Schristos2011-11-01 DJ Delorie <dj@redhat.com> 500*ed0d50c3Schristos 501*ed0d50c3Schristos * Makefile.am (ALL_MACHINES): Add cpu-rl78.lo. 502*ed0d50c3Schristos (ALL_MACHINES_CFILES): Add cpu-rl78.c. 503*ed0d50c3Schristos (BFD32_BACKENDS): Add elf32-rl78.lo. 504*ed0d50c3Schristos (BFD32_BACKENDS_CFILES): Add elf32-rl78.c. 505*ed0d50c3Schristos (Makefile.in): Regenerate. 506*ed0d50c3Schristos * archures.c (bfd_architecture): Define bfd_arch_rl78. 507*ed0d50c3Schristos (bfd_archures_list): Add bfd_rl78_arch. 508*ed0d50c3Schristos * config.bfd: Add rl78-*-elf. 509*ed0d50c3Schristos * configure.in: Add bfd_elf32_rl78_vec. 510*ed0d50c3Schristos * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_RL78_* relocations. 511*ed0d50c3Schristos * targets.c (bfd_target_vector): Add bfd_elf32_rl78_vec. 512*ed0d50c3Schristos * Makefile.in: Regenerate. 513*ed0d50c3Schristos * bfd-in2.h: Regenerate. 514*ed0d50c3Schristos * configure: Regenerate. 515*ed0d50c3Schristos * libbfd.h: Regenerate. 516*ed0d50c3Schristos * cpu-rl78.c: New file. 517*ed0d50c3Schristos * elf32-rl78.c: New file. 518*ed0d50c3Schristos 519*ed0d50c3Schristos2011-10-26 Nick Clifton <nickc@redhat.com> 520*ed0d50c3Schristos 521*ed0d50c3Schristos PR ld/13049 522*ed0d50c3Schristos * elf64-ppc.c (STUB_SUFFIX): Revert previous delta. 523*ed0d50c3Schristos * elf32-hppa.c (STUB_SUFFIX): Likewise. 524*ed0d50c3Schristos 525*ed0d50c3Schristos2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com> 526*ed0d50c3Schristos 527*ed0d50c3Schristos * Makefile.am (ALL_MACHINES): Add cpu-epiphany.lo. 528*ed0d50c3Schristos (ALL_MACHINES_CFILES): Add cpu-epiphany.c. 529*ed0d50c3Schristos (BFD32_BACKENDS): Add elf32-epiphany.lo. 530*ed0d50c3Schristos (BFD32_BACKENDS_CFILES): Add elf32-epiphany.c. 531*ed0d50c3Schristos * archures.c (bfd_arch_epiphany): Add. 532*ed0d50c3Schristos (bfd_mach_epiphany16, bfd_mach_epiphany32): Define. 533*ed0d50c3Schristos (bfd_epiphany_arch): Declare. 534*ed0d50c3Schristos (bfd_archures_list): Add &bfd_epiphany_arch. 535*ed0d50c3Schristos * config.bfd (epiphany-*-elf): New target case. 536*ed0d50c3Schristos * configure.in (bfd_elf32_epiphany_vec): New target vector case. 537*ed0d50c3Schristos * reloc.c (BFD_RELOC_EPIPHANY_SIMM8): New relocation. 538*ed0d50c3Schristos (BFD_RELOC_EPIPHANY_SIMM24, BFD_RELOC_EPIPHANY_HIGH): Likewise. 539*ed0d50c3Schristos (BFD_RELOC_EPIPHANY_LOW, BFD_RELOC_EPIPHANY_SIMM11): Likewise. 540*ed0d50c3Schristos (BFD_RELOC_EPIPHANY_IMM11, BFD_RELOC_EPIPHANY_IMM8): Likewise. 541*ed0d50c3Schristos * targets.c (bfd_elf32_epiphany_vec): Declare. 542*ed0d50c3Schristos (_bfd_target_vector): Add bfd_elf32_epiphany_vec. 543*ed0d50c3Schristos * Makefile.in: Regenerate. 544*ed0d50c3Schristos * bfd-in2.h: Regenerate. 545*ed0d50c3Schristos * configure: Regenerate. 546*ed0d50c3Schristos * libbfd.h: Regenerate. 547*ed0d50c3Schristos * po/SRC-POTFILES.in: Regenerate. 548*ed0d50c3Schristos * po/bfd.pot: Regenerate. 549*ed0d50c3Schristos * cpu-epiphany.c: New file. 550*ed0d50c3Schristos * elf32-epiphany.c: New file. 551*ed0d50c3Schristos 552*ed0d50c3Schristos2011-10-24 Maciej W. Rozycki <macro@codesourcery.com> 553*ed0d50c3Schristos 554*ed0d50c3Schristos * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Remove 555*ed0d50c3Schristos assertions. 556*ed0d50c3Schristos 557*ed0d50c3Schristos2011-10-24 Eugeniy Meshcheryakov <eugen@debian.org> 558*ed0d50c3Schristos 559*ed0d50c3Schristos PR ld/13273 560*ed0d50c3Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Do not warn about 561*ed0d50c3Schristos identical TAG_PCS_config attributes. 562*ed0d50c3Schristos 563*ed0d50c3Schristos2011-10-24 Nick Clifton <nickc@redhat.com> 564*ed0d50c3Schristos 565*ed0d50c3Schristos * po/ja.po: Updated Japanese translation. 566*ed0d50c3Schristos 567*ed0d50c3Schristos2011-10-24 Pau Garcia i Quiles <pgquiles@elpauer.org> 568*ed0d50c3Schristos 569*ed0d50c3Schristos PR binutils/13292 570*ed0d50c3Schristos * bfd-in.h: Include <sys/stat.h> rather than forward defining 571*ed0d50c3Schristos struct stat. 572*ed0d50c3Schristos * bfd-in2.h: Regenerate. 573*ed0d50c3Schristos 574*ed0d50c3Schristos2011-10-21 H.J. Lu <hongjiu.lu@intel.com> 575*ed0d50c3Schristos 576*ed0d50c3Schristos PR ld/13302 577*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Replace 578*ed0d50c3Schristos R_386_IRELATIVE with R_386_RELATIVE. 579*ed0d50c3Schristos 580*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Replace 581*ed0d50c3Schristos R_X86_64_IRELATIVE with R_X86_64_RELATIVE. 582*ed0d50c3Schristos 583*ed0d50c3Schristos2011-10-21 H.J. Lu <hongjiu.lu@intel.com>. 584*ed0d50c3Schristos 585*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Fix a typo in 586*ed0d50c3Schristos comments. 587*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 588*ed0d50c3Schristos 589*ed0d50c3Schristos2011-10-21 H.J. Lu <hongjiu.lu@intel.com> 590*ed0d50c3Schristos 591*ed0d50c3Schristos PR ld/13302 592*ed0d50c3Schristos * elf32-i386.c (elf_i386_link_hash_table): Add next_jump_slot_index 593*ed0d50c3Schristos and next_irelative_index. 594*ed0d50c3Schristos (elf_i386_link_hash_table_create): Initialize next_jump_slot_index 595*ed0d50c3Schristos and next_irelative_index. 596*ed0d50c3Schristos (elf_i386_allocate_dynrelocs): Increment reloc_count instead of 597*ed0d50c3Schristos next_tls_desc_index. 598*ed0d50c3Schristos (elf_i386_size_dynamic_sections): Set next_tls_desc_index and 599*ed0d50c3Schristos next_irelative_index from reloc_count. 600*ed0d50c3Schristos (elf_i386_finish_dynamic_symbol): Put R_386_IRELATIVE after 601*ed0d50c3Schristos R_386_JUMP_SLOT. 602*ed0d50c3Schristos 603*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_link_hash_table): Add 604*ed0d50c3Schristos next_jump_slot_index and next_irelative_index. 605*ed0d50c3Schristos (elf_x86_64_link_hash_table_create): Initialize 606*ed0d50c3Schristos next_jump_slot_index and next_irelative_index. 607*ed0d50c3Schristos (elf_x86_64_size_dynamic_sections): Set next_irelative_index 608*ed0d50c3Schristos from reloc_count. 609*ed0d50c3Schristos (elf_x86_64_finish_dynamic_symbol): Put R_X86_64_IRELATIVE after 610*ed0d50c3Schristos R_X86_64_JUMP_SLOT. 611*ed0d50c3Schristos 612*ed0d50c3Schristos2011-10-20 Nick Clifton <nickc@redhat.com> 613*ed0d50c3Schristos 614*ed0d50c3Schristos PR ld/13049 615*ed0d50c3Schristos * elf32-arm.c (STUB_SUFFIX): Avoid collision with user namespace 616*ed0d50c3Schristos symbol names. 617*ed0d50c3Schristos * elf64-ppc.c (STUB_SUFFIX): Likewise. 618*ed0d50c3Schristos * elf32-hppa.c (STUB_SUFFIX): Likewise. 619*ed0d50c3Schristos 620*ed0d50c3Schristos2011-10-20 Alan Modra <amodra@gmail.com> 621*ed0d50c3Schristos 622*ed0d50c3Schristos * elf32-i386.c (i386_opcode16): Delete. 623*ed0d50c3Schristos (elf_i386_check_tls_transition): Use memcmp to compare contents. 624*ed0d50c3Schristos * elf64-x86-64.c (x86_64_opcode16, x86_64_opcode32): Delete. 625*ed0d50c3Schristos (elf_x86_64_check_tls_transition): Use memcmp to compare contents. 626*ed0d50c3Schristos 627*ed0d50c3Schristos2011-10-19 Alan Modra <amodra@gmail.com> 628*ed0d50c3Schristos 629*ed0d50c3Schristos PR ld/13177 630*ed0d50c3Schristos * elflink.c (_bfd_elf_gc_mark_rsec): Set symbol "mark". 631*ed0d50c3Schristos (elf_gc_sweep_symbol): Don't test plt/got refcounts, instead test 632*ed0d50c3Schristos "mark". Hide undefweak too. Clear def_regular and ref_regular. 633*ed0d50c3Schristos * elf-m10300.c (mn10300_elf_relocate_section): Ignore unresolved 634*ed0d50c3Schristos reloc errors from garbage-collected code. 635*ed0d50c3Schristos * elf32-arm.c (elf32_arm_relocate_section): Likewise. 636*ed0d50c3Schristos * elf32-bfin.c (bfin_relocate_section): Likewise. 637*ed0d50c3Schristos (bfinfdpic_relocate_section): Likewise. 638*ed0d50c3Schristos * elf32-cris.c (cris_elf_relocate_section): Likewise. 639*ed0d50c3Schristos * elf32-frv.c (elf32_frv_relocate_section): Likewise. 640*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Likewise. 641*ed0d50c3Schristos * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 642*ed0d50c3Schristos * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 643*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 644*ed0d50c3Schristos * elf32-s390.c (elf_s390_relocate_section): Likewise. 645*ed0d50c3Schristos * elf32-sh.c (sh_elf_relocate_section): Likewise. 646*ed0d50c3Schristos * elf32-spu.c (spu_elf_relocate_section): Likewise. 647*ed0d50c3Schristos * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise. 648*ed0d50c3Schristos * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 649*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 650*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 651*ed0d50c3Schristos * elf64-s390.c (elf_s390_relocate_section): Likewise. 652*ed0d50c3Schristos * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 653*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 654*ed0d50c3Schristos * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 655*ed0d50c3Schristos * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise. 656*ed0d50c3Schristos 657*ed0d50c3Schristos2011-10-19 Alan Modra <amodra@gmail.com> 658*ed0d50c3Schristos 659*ed0d50c3Schristos PR ld/13311 660*ed0d50c3Schristos * elflink.c (elf_link_output_extsym): Correct test for warning when 661*ed0d50c3Schristos forced local executable syms are referenced from shared libraries. 662*ed0d50c3Schristos 663*ed0d50c3Schristos2011-10-19 Alan Modra <amodra@gmail.com> 664*ed0d50c3Schristos 665*ed0d50c3Schristos PR ld/13254 666*ed0d50c3Schristos * elflink.c (bfd_elf_final_link): Emit error_textrel error. 667*ed0d50c3Schristos 668*ed0d50c3Schristos2011-10-18 David S. Miller <davem@davemloft.net> 669*ed0d50c3Schristos 670*ed0d50c3Schristos PR binutils/13301 671*ed0d50c3Schristos * elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function. 672*ed0d50c3Schristos (_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr 673*ed0d50c3Schristos call delay slot instruction forward 4 bytes when performing 674*ed0d50c3Schristos relaxation. 675*ed0d50c3Schristos 676*ed0d50c3Schristos2011-10-17 Alan Modra <amodra@gmail.com> 677*ed0d50c3Schristos 678*ed0d50c3Schristos PR ld/12975 679*ed0d50c3Schristos PR ld/13195 680*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Apply 2011-09-15 681*ed0d50c3Schristos and 2011-09-29 bfd_elf_gc_mark_dynamic_ref_symbol changes here too. 682*ed0d50c3Schristos 683*ed0d50c3Schristos2011-10-14 Hans-Peter Nilsson <hp@axis.com> 684*ed0d50c3Schristos 685*ed0d50c3Schristos * elf32-cris.c (cris_elf_gc_sweep_hook) <R_CRIS_16_GOTPLT> 686*ed0d50c3Schristos <R_CRIS_32_GOTPLT>: Fix missing update of gotplt refcount for 687*ed0d50c3Schristos global symbols. 688*ed0d50c3Schristos <R_CRIS_8, R_CRIS_16, R_CRIS_32>: New cases for similar missing 689*ed0d50c3Schristos updates of the plt refcount. 690*ed0d50c3Schristos (elf_cris_adjust_gotplt_to_got): Assert integrity of the gotplt 691*ed0d50c3Schristos refcount in relation to the plt refcount. 692*ed0d50c3Schristos 693*ed0d50c3Schristos2011-10-13 Richard Sandiford <richard.sandiford@linaro.org> 694*ed0d50c3Schristos 695*ed0d50c3Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Mark PLT calls via 696*ed0d50c3Schristos stubs as resolved. 697*ed0d50c3Schristos 698*ed0d50c3Schristos2011-10-11 Alan Modra <amodra@gmail.com> 699*ed0d50c3Schristos 700*ed0d50c3Schristos PR binutils/13278 701*ed0d50c3Schristos * archive.c (bfd_generic_archive_p): Only check first element 702*ed0d50c3Schristos when target_defaulted. 703*ed0d50c3Schristos (_bfd_construct_extended_name_table): Use ar_maxnamelen. 704*ed0d50c3Schristos (_bfd_archive_bsd44_construct_extended_name_table): Likewise. 705*ed0d50c3Schristos 706*ed0d50c3Schristos2011-10-11 Alan Modra <amodra@gmail.com> 707*ed0d50c3Schristos 708*ed0d50c3Schristos PR binutils/13257 709*ed0d50c3Schristos * archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open 710*ed0d50c3Schristos thin archive element using container target if not defaulted. 711*ed0d50c3Schristos 712*ed0d50c3Schristos2011-10-10 Nick Clifton <nickc@redhat.com> 713*ed0d50c3Schristos 714*ed0d50c3Schristos * po/es.po: Updated Spanish translation. 715*ed0d50c3Schristos * po/fi.po: Updated Finnish translation. 716*ed0d50c3Schristos * po/fr.po: Updated French translation. 717*ed0d50c3Schristos * po/ru.po: Updated Russian translation. 718*ed0d50c3Schristos 719*ed0d50c3Schristos2011-10-10 Alan Modra <amodra@gmail.com> 720*ed0d50c3Schristos 721*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry. 722*ed0d50c3Schristos (struct ppc_link_hash_table): Add tocsave_htab. 723*ed0d50c3Schristos (struct tocsave_entry): New. 724*ed0d50c3Schristos (tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions. 725*ed0d50c3Schristos (ppc64_elf_link_hash_table_create): Create tocsave_htab.. 726*ed0d50c3Schristos (ppc64_elf_link_hash_table_free): ..and delete it. 727*ed0d50c3Schristos (build_plt_stub): Always put STD_R2_40R1 first. 728*ed0d50c3Schristos (ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc 729*ed0d50c3Schristos on plt call. If present add prologue nop location to tocsave_htab. 730*ed0d50c3Schristos (ppc64_elf_relocate_section): Convert prologue nop to std. Skip 731*ed0d50c3Schristos first insn of plt call stub when R_PPC64_TOCSAVE present. 732*ed0d50c3Schristos 733*ed0d50c3Schristos2011-10-08 H.J. Lu <hongjiu.lu@intel.com> 734*ed0d50c3Schristos 735*ed0d50c3Schristos PR ld/13250 736*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Preserve the maximum 737*ed0d50c3Schristos alignment and size for common symbols. 738*ed0d50c3Schristos 739*ed0d50c3Schristos2011-10-08 Alan Modra <amodra@gmail.com> 740*ed0d50c3Schristos 741*ed0d50c3Schristos PR ld/13229 742*ed0d50c3Schristos PR ld/13244 743*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Don't make IR symbols 744*ed0d50c3Schristos dynamic. 745*ed0d50c3Schristos 746*ed0d50c3Schristos2011-10-08 Alan Modra <amodra@gmail.com> 747*ed0d50c3Schristos 748*ed0d50c3Schristos PR ld/13229 749*ed0d50c3Schristos * elflink.c (elf_link_output_extsym): Strip defined plugin symbols 750*ed0d50c3Schristos even when strip_discarded is false. 751*ed0d50c3Schristos 752*ed0d50c3Schristos2011-10-05 Kai Tietz <ktietz@redhat.com> 753*ed0d50c3Schristos 754*ed0d50c3Schristos * coffgen.c (coff_write_alien_symbol): Don't write 755*ed0d50c3Schristos symbol for discarded sections, if strip_discarded isn't 756*ed0d50c3Schristos explicit set to false. 757*ed0d50c3Schristos (coff_write_native_symbol): Likewise. 758*ed0d50c3Schristos 759*ed0d50c3Schristos2011-10-05 DJ Delorie <dj@redhat.com> 760*ed0d50c3Schristos Nick Clifton <nickc@redhat.com> 761*ed0d50c3Schristos 762*ed0d50c3Schristos * elf32-rx.c: Add support for PID mode. 763*ed0d50c3Schristos (rx_elf_relocate_section): Add checks for unsafe PID relocations. 764*ed0d50c3Schristos Include addend in R_RX_SYM relocations. 765*ed0d50c3Schristos 766*ed0d50c3Schristos2011-09-30 Tristan Gingold <gingold@adacore.com> 767*ed0d50c3Schristos 768*ed0d50c3Schristos * dwarf2.c (struct dwarf2_debug): Add field debug_sections. 769*ed0d50c3Schristos (read_section): Add sec argument. Adjust the code to get section 770*ed0d50c3Schristos names from it. 771*ed0d50c3Schristos (read_indirect_string): Adjust call to read_section. 772*ed0d50c3Schristos (read_abbrevs): Ditto. 773*ed0d50c3Schristos (decode_line_info): Ditto. 774*ed0d50c3Schristos (read_debug_ranges): Ditto. 775*ed0d50c3Schristos (DWARF2_DEBUG_INFO, DWARF2_COMPRESSED_DEBUG_INFO): Remove. 776*ed0d50c3Schristos (find_debug_info): Add debug_sections parameter. Use it instead 777*ed0d50c3Schristos the above macros. 778*ed0d50c3Schristos (place_sections): Get section names from stash. 779*ed0d50c3Schristos (find_line): Add debug_sections argument. Initialize 780*ed0d50c3Schristos debug_sections field of stash from it. 781*ed0d50c3Schristos Adjust calls to find_debug_info. 782*ed0d50c3Schristos (_bfd_dwarf2_find_nearest_line): Add debug_sections argument. 783*ed0d50c3Schristos Adjust call to find_line. 784*ed0d50c3Schristos (_bfd_dwarf2_find_line): Adjust call to find_line. 785*ed0d50c3Schristos * libcoff-in.h (struct dwarf_debug_section): New declaration. 786*ed0d50c3Schristos (coff_find_nearest_line_with_names): Likewise. 787*ed0d50c3Schristos * libcoff.h: Regenerate. 788*ed0d50c3Schristos * libbfd-in.h (struct dwarf_debug_section): Move declaration. 789*ed0d50c3Schristos (dwarf_debug_sections): Likewise. 790*ed0d50c3Schristos (_bfd_dwarf2_find_nearest_line): Add debug_sections argument. 791*ed0d50c3Schristos * libbfd.h: Regenerate. 792*ed0d50c3Schristos * elf.c (_bfd_elf_find_nearest_line): Adjust call to 793*ed0d50c3Schristos _bfd_dwarf2_find_nearest_line. 794*ed0d50c3Schristos * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Ditto. 795*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_find_nearest_line): Ditto. 796*ed0d50c3Schristos * elf32-arm.c (elf32_arm_find_nearest_line): Ditto. 797*ed0d50c3Schristos * coffgen.c (coff_find_nearest_line_with_names): New function. 798*ed0d50c3Schristos (coff_find_nearest_line): Calls coff_find_nearest_line_with_names. 799*ed0d50c3Schristos * coff-rs6000.c (xcoff_debug_sections): New constant. 800*ed0d50c3Schristos (xcoff_find_nearest_line): New function. 801*ed0d50c3Schristos (rs6000coff_vec): Use xcoff_find_nearest_line. 802*ed0d50c3Schristos (pmac_xcoff_vec): Ditto. 803*ed0d50c3Schristos 804*ed0d50c3Schristos2011-09-30 Alan Modra <amodra@gmail.com> 805*ed0d50c3Schristos 806*ed0d50c3Schristos PR ld/13235 807*ed0d50c3Schristos * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add ha_relocs_not_using_r2. 808*ed0d50c3Schristos (ppc64_elf_edit_toc): Check HA relocs. 809*ed0d50c3Schristos (ha_reloc_match): Delete function. 810*ed0d50c3Schristos (ppc64_elf_relocate_section): Remove delayed HA nop optimization. 811*ed0d50c3Schristos Instead do it and low part optimization based on 812*ed0d50c3Schristos ha_relocs_not_using_r2. 813*ed0d50c3Schristos 814*ed0d50c3Schristos2011-09-29 Alan Modra <amodra@gmail.com> 815*ed0d50c3Schristos 816*ed0d50c3Schristos PR ld/13233 817*ed0d50c3Schristos * elflink.c (_bfd_elf_gc_mark_extra_sections): Mark single member 818*ed0d50c3Schristos debug and special section groups. 819*ed0d50c3Schristos 820*ed0d50c3Schristos2011-09-29 H.J. Lu <hongjiu.lu@intel.com> 821*ed0d50c3Schristos 822*ed0d50c3Schristos PR ld/13195 823*ed0d50c3Schristos * elflink.c (_bfd_elf_merge_symbol): Don't set dynamic_def when 824*ed0d50c3Schristos clearing def_dynamic. 825*ed0d50c3Schristos (elf_link_add_object_symbols): Likewise. Set dynamic_def when 826*ed0d50c3Schristos setting def_dynamic. 827*ed0d50c3Schristos (bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is 828*ed0d50c3Schristos versioned. 829*ed0d50c3Schristos 830*ed0d50c3Schristos2011-09-27 Kai Tietz <ktietz@redhat.com> 831*ed0d50c3Schristos 832*ed0d50c3Schristos * coffcode.h (sec_to_styp_flags): Handle 833*ed0d50c3Schristos SEC_LINK_DUPLICATES_SAME_CONTENTS, and 834*ed0d50c3Schristos SEC_LINK_DUPLICATES_SAME_SIZE. 835*ed0d50c3Schristos 836*ed0d50c3Schristos2011-09-22 Tristan Gingold <gingold@adacore.com> 837*ed0d50c3Schristos 838*ed0d50c3Schristos * configure.in: Bump version to 2.22.51 839*ed0d50c3Schristos * configure: Regenerate. 840*ed0d50c3Schristos 841*ed0d50c3Schristos2011-09-21 David S. Miller <davem@davemloft.net> 842*ed0d50c3Schristos 843*ed0d50c3Schristos * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New. 844*ed0d50c3Schristos * elfxx-sparc.h: Declare it. 845*ed0d50c3Schristos * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it. 846*ed0d50c3Schristos * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise. 847*ed0d50c3Schristos 848*ed0d50c3Schristos2011-09-21 Tristan Gingold <gingold@adacore.com> 849*ed0d50c3Schristos 850*ed0d50c3Schristos * mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment. 851*ed0d50c3Schristos Deals with size limited strings. 852*ed0d50c3Schristos (bfd_mach_o_build_commands): Initialize more fields. 853*ed0d50c3Schristos 854*ed0d50c3Schristos2011-09-15 H.J. Lu <hongjiu.lu@intel.com> 855*ed0d50c3Schristos 856*ed0d50c3Schristos PR ld/13177 857*ed0d50c3Schristos * elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT 858*ed0d50c3Schristos nor GOT references. 859*ed0d50c3Schristos 860*ed0d50c3Schristos2011-09-15 H.J. Lu <hongjiu.lu@intel.com> 861*ed0d50c3Schristos 862*ed0d50c3Schristos PR ld/12975 863*ed0d50c3Schristos * bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer 864*ed0d50c3Schristos to struct bfd_elf_version_tree. 865*ed0d50c3Schristos 866*ed0d50c3Schristos * elflink.c (elf_info_failed): Remove verdefs. 867*ed0d50c3Schristos (_bfd_elf_export_symbol): Updated. 868*ed0d50c3Schristos _bfd_elf_link_assign_sym_version): Likewise. 869*ed0d50c3Schristos (bfd_elf_size_dynamic_sections): Remove pointer to struct 870*ed0d50c3Schristos bfd_elf_version_tree. Updated. 871*ed0d50c3Schristos (bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden 872*ed0d50c3Schristos by linker script. 873*ed0d50c3Schristos 874*ed0d50c3Schristos * linker.c (bfd_hide_sym_by_version): New. 875*ed0d50c3Schristos 876*ed0d50c3Schristos * bfd-in2.h: Regenerated. 877*ed0d50c3Schristos 878*ed0d50c3Schristos2011-09-12 H.J. Lu <hongjiu.lu@intel.com> 879*ed0d50c3Schristos 880*ed0d50c3Schristos PR ld/13178 881*ed0d50c3Schristos * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Use .got.plt 882*ed0d50c3Schristos if there are no GOT relocations. 883*ed0d50c3Schristos 884*ed0d50c3Schristos2011-09-09 Kai Tietz <ktietz@redhat.com> 885*ed0d50c3Schristos 886*ed0d50c3Schristos * peicode.h (pe_ILF_build_a_bfd): Don't remove leading underscore 887*ed0d50c3Schristos for targets without symbol_leading_char. 888*ed0d50c3Schristos 889*ed0d50c3Schristos2011-09-08 Bernd Jendrissek <bernd.jendrissek@gmail.com> 890*ed0d50c3Schristos 891*ed0d50c3Schristos * bfdwin.c (bfd_get_file_window): Fix memory leak. 892*ed0d50c3Schristos 893*ed0d50c3Schristos2011-09-07 Alan Modra <amodra@gmail.com> 894*ed0d50c3Schristos 895*ed0d50c3Schristos PR ld/13131 896*ed0d50c3Schristos * bfd/elf64-ppc.c (adjust_toc_syms): Ensure ppc64_elf_howto_table 897*ed0d50c3Schristos is initialized. 898*ed0d50c3Schristos 899*ed0d50c3Schristos2011-09-06 Alan Modra <amodra@gmail.com> 900*ed0d50c3Schristos 901*ed0d50c3Schristos PR ld/13131 902*ed0d50c3Schristos * elf64-ppc.c (adjust_toc_syms): Delete redundant code. 903*ed0d50c3Schristos (ppc64_elf_edit_toc): Fix style nit. Report some details 904*ed0d50c3Schristos on linker failure due to reference in debug or non-alloc 905*ed0d50c3Schristos sections to optimized away toc entry, and don't abort. 906*ed0d50c3Schristos 907*ed0d50c3Schristos2011-09-01 Christophe Lyon <christophe.lyon@st.com> 908*ed0d50c3Schristos 909*ed0d50c3Schristos * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip excluded 910*ed0d50c3Schristos sections. 911*ed0d50c3Schristos 912*ed0d50c3Schristos2011-08-26 Nick Clifton <nickc@redhat.com> 913*ed0d50c3Schristos 914*ed0d50c3Schristos * po/es.po: Updated Spanish translation. 915*ed0d50c3Schristos 916*ed0d50c3Schristos2011-08-19 Alan Modra <amodra@gmail.com> 917*ed0d50c3Schristos 918*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if 919*ed0d50c3Schristos we haven't seen expected -mcmodel=medium/large code relocs. 920*ed0d50c3Schristos 921*ed0d50c3Schristos2011-08-18 Tristan Gingold <gingold@adacore.com> 922*ed0d50c3Schristos 923*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_segment): Initialize list. 924*ed0d50c3Schristos 925*ed0d50c3Schristos2011-08-17 Tristan Gingold <gingold@adacore.com> 926*ed0d50c3Schristos 927*ed0d50c3Schristos * mach-o.c (bfd_mach_o_write_section_32): Fix typo. 928*ed0d50c3Schristos 929*ed0d50c3Schristos2011-08-17 Alan Modra <amodra@gmail.com> 930*ed0d50c3Schristos 931*ed0d50c3Schristos PR ld/12762 932*ed0d50c3Schristos * bfd-in.h (struct bfd_section_already_linked): Forward declare. 933*ed0d50c3Schristos (_bfd_handle_already_linked): Declare. 934*ed0d50c3Schristos * coff-alpha.c (_bfd_ecoff_section_already_linked): Define as 935*ed0d50c3Schristos _bfd_coff_section_already_linked. 936*ed0d50c3Schristos * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise. 937*ed0d50c3Schristos * coffcode.h (coff_section_already_linked): Likewise. 938*ed0d50c3Schristos * cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes. 939*ed0d50c3Schristos * elf-bfd.h: Likewise. 940*ed0d50c3Schristos * libbfd-in.h: Likewise. 941*ed0d50c3Schristos * targets.c: Likewise. 942*ed0d50c3Schristos * linker.c (bfd_section_already_linked): Likewise. 943*ed0d50c3Schristos (bfd_section_already_linked_table_lookup): Likewise. 944*ed0d50c3Schristos (bfd_section_already_linked_table_insert): Likewise. 945*ed0d50c3Schristos (_bfd_generic_section_already_linked): Likewise. Call 946*ed0d50c3Schristos _bfd_handle_already_linked. 947*ed0d50c3Schristos (_bfd_handle_already_linked): New function, split out from.. 948*ed0d50c3Schristos * elflink.c (_bfd_elf_section_already_linked): ..here. Revert 949*ed0d50c3Schristos 2011-07-09 changes. Avoid unnecessary strcmp when matching 950*ed0d50c3Schristos already_linked_list entries. Match plugin linkonce section. 951*ed0d50c3Schristos (section_signature): Delete. 952*ed0d50c3Schristos * coffgen.c (_bfd_coff_section_already_linked): New function. 953*ed0d50c3Schristos * libcoff-in.h (_bfd_coff_section_already_linked): Declare. 954*ed0d50c3Schristos * libbfd.h: Regenerate. 955*ed0d50c3Schristos * libcoff.h: Regenerate. 956*ed0d50c3Schristos * bfd-in2.h: Regenerate. 957*ed0d50c3Schristos 958*ed0d50c3Schristos2011-08-14 Alan Modra <amodra@gmail.com> 959*ed0d50c3Schristos 960*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_select_plt_layout): Force bss-plt when 961*ed0d50c3Schristos shared and call to _mcount will go via plt. 962*ed0d50c3Schristos 963*ed0d50c3Schristos2011-08-14 Alan Modra <amodra@gmail.com> 964*ed0d50c3Schristos 965*ed0d50c3Schristos * elf64-ppc.c: Prefix all einfo error strings with "%P: ". 966*ed0d50c3Schristos * elf32-ppc.c: Likewise. 967*ed0d50c3Schristos (ppc_elf_select_plt_layout): Use einfo rather than info to report 968*ed0d50c3Schristos forced bss-plt. 969*ed0d50c3Schristos 970*ed0d50c3Schristos2011-08-12 H.J. Lu <hongjiu.lu@intel.com> 971*ed0d50c3Schristos 972*ed0d50c3Schristos PR ld/13082 973*ed0d50c3Schristos * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_RELATIVE64. 974*ed0d50c3Schristos (elf_x86_64_relocate_section): Treat R_X86_64_64 like R_X86_64_32 975*ed0d50c3Schristos and zero-extend it to 64bit if addend is zero for x32. Generate 976*ed0d50c3Schristos R_X86_64_RELATIVE64 for x32. 977*ed0d50c3Schristos 978*ed0d50c3Schristos2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> 979*ed0d50c3Schristos 980*ed0d50c3Schristos * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. 981*ed0d50c3Schristos * bfd-in2.h (bfd_elf32_arm_set_target_relocs): Likewise. 982*ed0d50c3Schristos * elf32-arm.c (elf32_arm_link_hash_table): New field. 983*ed0d50c3Schristos (elf232_arm_link_hash_table_create): Initialise new field. 984*ed0d50c3Schristos (check_use_blx): Change test depending on fix_arm1176. 985*ed0d50c3Schristos (bfd_elf32_arm_set_target_relocs): Set fix_arm1176 from 986*ed0d50c3Schristos command line options. 987*ed0d50c3Schristos 988*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 989*ed0d50c3Schristos 990*ed0d50c3Schristos * mach-o.c (struct mach_o_segment_name_xlat): Add comments. 991*ed0d50c3Schristos (segsec_names_xlat): Reorder elements. 992*ed0d50c3Schristos (bfd_mach_o_read_section_32): Fix typo. 993*ed0d50c3Schristos (bfd_mach_o_read_section_64): Fix typo. 994*ed0d50c3Schristos 995*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 996*ed0d50c3Schristos 997*ed0d50c3Schristos * mach-o.h (BFD_MACH_O_SEGNAME_SIZE): New macro. 998*ed0d50c3Schristos (BFD_MACH_O_SECTNAME_SIZE): Ditto. 999*ed0d50c3Schristos (bfd_mach_o_section): Use them. Add next field. 1000*ed0d50c3Schristos (bfd_mach_o_segment_command): Replace sections array by 1001*ed0d50c3Schristos sect_head and sect_tail. 1002*ed0d50c3Schristos (bfd_mach_o_get_mach_o_section): New macro. 1003*ed0d50c3Schristos (bfd_mach_o_lookup_section): Remove. 1004*ed0d50c3Schristos (bfd_mach_o_new_section_hook): New function. 1005*ed0d50c3Schristos * mach-o.c (bfd_mach_o_normalize_section_name): Use strncmp 1006*ed0d50c3Schristos instead of strcmp. 1007*ed0d50c3Schristos (bfd_mach_o_convert_section_name_to_bfd): Replaces section 1008*ed0d50c3Schristos parameter with segname and sectname parameters. Adjust. 1009*ed0d50c3Schristos (bfd_mach_o_append_section_to_segment): New function. Use a 1010*ed0d50c3Schristos linked list for Mach-O sections. 1011*ed0d50c3Schristos (bfd_mach_o_write_segment_32): Adjust. 1012*ed0d50c3Schristos (bfd_mach_o_write_segment_64): Ditto. 1013*ed0d50c3Schristos (bfd_mach_o_build_commands): Fix comment. Adjust. 1014*ed0d50c3Schristos (bfd_mach_o_flatten_sections): Adjust. 1015*ed0d50c3Schristos (bfd_mach_o_print_section_map): Adjust. 1016*ed0d50c3Schristos (bfd_mach_o_set_section_flags_from_bfd): Ditto. 1017*ed0d50c3Schristos (bfd_mach_o_new_section_hook): New function. 1018*ed0d50c3Schristos (bfd_mach_o_init_section_from_mach_o): Ditto. 1019*ed0d50c3Schristos (bfd_mach_o_read_section_32): Remove section parameter. 1020*ed0d50c3Schristos Return a section instead. 1021*ed0d50c3Schristos (bfd_mach_o_read_section_64): Ditto. 1022*ed0d50c3Schristos (bfd_mach_o_read_section): Ditto. 1023*ed0d50c3Schristos (bfd_mach_o_make_bfd_section): Adjust. 1024*ed0d50c3Schristos (bfd_mach_o_read_segment): Adjust for new profile of 1025*ed0d50c3Schristos bfd_mach_o_read_section. 1026*ed0d50c3Schristos (bfd_mach_o_lookup_section): Remove. 1027*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_new_section_hook): Remove. 1028*ed0d50c3Schristos 1029*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 1030*ed0d50c3Schristos 1031*ed0d50c3Schristos * mach-o.h (bfd_mach_o_version_min_command): New structure. 1032*ed0d50c3Schristos (bfd_mach_o_load_command): Add version_min. 1033*ed0d50c3Schristos (mach_o_data_struct): Fix comment. 1034*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_version_min): New function. 1035*ed0d50c3Schristos (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_FUNCTION_STARTS, 1036*ed0d50c3Schristos BFD_MACH_O_LC_VERSION_MIN_MACOSX and 1037*ed0d50c3Schristos BFD_MACH_O_LC_VERSION_MIN_IPHONEOS. 1038*ed0d50c3Schristos (bfd_mach_o_get_name_or_null): New function. 1039*ed0d50c3Schristos (bfd_mach_o_get_name): Use the above new one. 1040*ed0d50c3Schristos (bfd_mach_o_load_command_name): Add the above new commands. 1041*ed0d50c3Schristos (bfd_mach_o_bfd_print_private_bfd_data): Display numerically 1042*ed0d50c3Schristos unknown commands. Handle BFD_MACH_O_LC_FUNCTION_STARTS, 1043*ed0d50c3Schristos BFD_MACH_O_LC_VERSION_MIN_MACOSX and 1044*ed0d50c3Schristos BFD_MACH_O_LC_VERSION_MIN_IPHONEOS. 1045*ed0d50c3Schristos 1046*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 1047*ed0d50c3Schristos 1048*ed0d50c3Schristos * mach-o.h: Move size macros to external.h 1049*ed0d50c3Schristos Move reloc macros to reloc.h and x86-64.h. 1050*ed0d50c3Schristos * mach-o-i386.c: Includes mach-o/reloc.h 1051*ed0d50c3Schristos * mach-o-x86-64.c: Ditto and includes mach-o/x86-64.h 1052*ed0d50c3Schristos * mach-o.c: Add includes. 1053*ed0d50c3Schristos (bfd_mach_o_write_header): Use structure from external.h to convert. 1054*ed0d50c3Schristos (bfd_mach_o_write_thread): Ditto. 1055*ed0d50c3Schristos (bfd_mach_o_write_relocs): Ditto. 1056*ed0d50c3Schristos (bfd_mach_o_write_section_32): Ditto. 1057*ed0d50c3Schristos (bfd_mach_o_write_section_64): Ditto. 1058*ed0d50c3Schristos (bfd_mach_o_write_segment_32): Ditto. 1059*ed0d50c3Schristos (bfd_mach_o_write_segment_64): Ditto. 1060*ed0d50c3Schristos (bfd_mach_o_write_symtab): Ditto. 1061*ed0d50c3Schristos (bfd_mach_o_write_contents): Ditto. 1062*ed0d50c3Schristos (bfd_mach_o_read_header): Ditto. 1063*ed0d50c3Schristos (bfd_mach_o_read_section_32): Ditto. 1064*ed0d50c3Schristos (bfd_mach_o_read_section_64): Ditto. 1065*ed0d50c3Schristos (bfd_mach_o_read_symtab_symbol): Ditto. 1066*ed0d50c3Schristos (bfd_mach_o_read_dylinker): Ditto. 1067*ed0d50c3Schristos (bfd_mach_o_read_dylib): Ditto. 1068*ed0d50c3Schristos (bfd_mach_o_read_dysymtab): Ditto. 1069*ed0d50c3Schristos (bfd_mach_o_read_symtab): Ditto. 1070*ed0d50c3Schristos (bfd_mach_o_read_linkedit): Ditto. 1071*ed0d50c3Schristos (bfd_mach_o_read_str): Ditto. 1072*ed0d50c3Schristos (bfd_mach_o_read_dyld_info): Ditto. 1073*ed0d50c3Schristos (bfd_mach_o_read_segment): Ditto. 1074*ed0d50c3Schristos (bfd_mach_o_read_command): Ditto. 1075*ed0d50c3Schristos (bfd_mach_o_archive_p): Ditto. 1076*ed0d50c3Schristos (bfd_mach_o_canonicalize_one_reloc): Ditto. Change the BUF parameter. 1077*ed0d50c3Schristos (bfd_mach_o_canonicalize_relocs): Adjust to call the above function. 1078*ed0d50c3Schristos (bfd_mach_o_read_dysymtab_symbol): Rename BUF variable. 1079*ed0d50c3Schristos (bfd_mach_o_read_uuid): Remove useless cast. Use a macro instead 1080*ed0d50c3Schristos of an hard-coded value. 1081*ed0d50c3Schristos 1082*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 1083*ed0d50c3Schristos 1084*ed0d50c3Schristos * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Fix cut-and-past typos. 1085*ed0d50c3Schristos (bfd_mach_o_x86_64_swap_reloc_out): Handle BFD_RELOC_32_PCREL, 1086*ed0d50c3Schristos BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64 and 1087*ed0d50c3Schristos BFD_RELOC_MACH_O_X86_64_GOT_LOAD. Share common code. 1088*ed0d50c3Schristos 1089*ed0d50c3Schristos2011-08-08 Tristan Gingold <gingold@adacore.com> 1090*ed0d50c3Schristos 1091*ed0d50c3Schristos * mach-o.c (bfd_mach_o_normalize_section_name): New function. 1092*ed0d50c3Schristos (bfd_mach_o_convert_section_name_to_bfd): Use it. 1093*ed0d50c3Schristos (bfd_mach_o_get_section_type_from_name): New function. 1094*ed0d50c3Schristos (bfd_mach_o_get_section_attribute_from_name): Ditto. 1095*ed0d50c3Schristos * mach-o.h (bfd_mach_o_section): Move bfdsection field at the end. 1096*ed0d50c3Schristos Add comments. Add prototypes for the above new functions. 1097*ed0d50c3Schristos 1098*ed0d50c3Schristos2011-08-05 Mark Kettenis <kettenis@gnu.org> 1099*ed0d50c3Schristos 1100*ed0d50c3Schristos * netbsd-core.c (netbsd_core_vec): Init match_priority field. 1101*ed0d50c3Schristos 1102*ed0d50c3Schristos2011-08-05 Alan Modra <amodra@gmail.com> 1103*ed0d50c3Schristos 1104*ed0d50c3Schristos * elf64-ppc.c (maybe_strip_output): New function. 1105*ed0d50c3Schristos (ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame. 1106*ed0d50c3Schristos 1107*ed0d50c3Schristos2011-08-05 Alan Modra <amodra@gmail.com> 1108*ed0d50c3Schristos 1109*ed0d50c3Schristos PR ld/12762 1110*ed0d50c3Schristos * elflink.c (_bfd_elf_section_already_linked): Return matched 1111*ed0d50c3Schristos status. Remove COFF comdat section handling. 1112*ed0d50c3Schristos * linker.c (_bfd_generic_section_already_linked): Return matched 1113*ed0d50c3Schristos status. Don't set SEC_GROUP in l_flags for plugin entries. 1114*ed0d50c3Schristos (bfd_section_already_linked): Update prototype. 1115*ed0d50c3Schristos * targets.c (_section_already_linked): Likewise. 1116*ed0d50c3Schristos * elf-bfd.h (_bfd_elf_section_already_linked): Likewise. 1117*ed0d50c3Schristos * libbfd-in.h (_bfd_generic_section_already_linked): Likewise. 1118*ed0d50c3Schristos (_bfd_nolink_section_already_linked): Update. 1119*ed0d50c3Schristos * libbfd.h: Regenerate. 1120*ed0d50c3Schristos * bfd-in2.h: Regenerate. 1121*ed0d50c3Schristos 1122*ed0d50c3Schristos2011-08-05 Alan Modra <amodra@gmail.com> 1123*ed0d50c3Schristos 1124*ed0d50c3Schristos * elf32-ppc.c: Include dwarf2.h. 1125*ed0d50c3Schristos (struct ppc_elf_link_hash_table): Add glink_eh_frame. 1126*ed0d50c3Schristos (ppc_elf_create_glink): Create .eh_frame section. 1127*ed0d50c3Schristos (glink_eh_frame_cie): New array. 1128*ed0d50c3Schristos (ppc_elf_size_dynamic_sections): Size glink_eh_frame. 1129*ed0d50c3Schristos (ppc_elf_finish_dynamic_sections): Write glink_eh_frame. 1130*ed0d50c3Schristos 1131*ed0d50c3Schristos2011-08-04 Tristan Gingold <gingold@adacore.com> 1132*ed0d50c3Schristos 1133*ed0d50c3Schristos * vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index. 1134*ed0d50c3Schristos (_bfd_vms_write_etir): Initialize vms_linkage_index to 0. 1135*ed0d50c3Schristos 1136*ed0d50c3Schristos2011-08-03 Tristan Gingold <gingold@adacore.com> 1137*ed0d50c3Schristos 1138*ed0d50c3Schristos * mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case. 1139*ed0d50c3Schristos (bfd_mach_o_read_symtab_symbols): Return if no symbols. 1140*ed0d50c3Schristos 1141*ed0d50c3Schristos2011-08-02 Maciej W. Rozycki <macro@codesourcery.com> 1142*ed0d50c3Schristos 1143*ed0d50c3Schristos * elfxx-mips.c (check_4byte_branch): Remove function. 1144*ed0d50c3Schristos (check_relocated_bzc): New function. 1145*ed0d50c3Schristos (_bfd_mips_elf_relax_section): Permit the relaxation of LUI 1146*ed0d50c3Schristos instructions that immediately follow a compact branch 1147*ed0d50c3Schristos instruction. 1148*ed0d50c3Schristos 1149*ed0d50c3Schristos2011-08-02 Alan Modra <amodra@gmail.com> 1150*ed0d50c3Schristos 1151*ed0d50c3Schristos * elf64-ppc.c (build_plt_stub): Correct emitted relocs when no 1152*ed0d50c3Schristos plt_static_chain. 1153*ed0d50c3Schristos (ppc_build_one_stub): Adjust get_relocs call to suit.. 1154*ed0d50c3Schristos (ppc_size_one_stub): ..and reloc sizing. Correct plt size corner case. 1155*ed0d50c3Schristos 1156*ed0d50c3Schristos2011-08-01 H.J. Lu <hongjiu.lu@intel.com> 1157*ed0d50c3Schristos 1158*ed0d50c3Schristos PR ld/13048 1159*ed0d50c3Schristos * archures.c (bfd_mach_i386_intel_syntax): New. 1160*ed0d50c3Schristos (bfd_mach_i386_i8086): Updated. 1161*ed0d50c3Schristos (bfd_mach_i386_i386): Likewise. 1162*ed0d50c3Schristos (bfd_mach_x86_64): Likewise. 1163*ed0d50c3Schristos (bfd_mach_x64_32): Likewise. 1164*ed0d50c3Schristos (bfd_mach_i386_i386_intel_syntax): Likewise. 1165*ed0d50c3Schristos (bfd_mach_x86_64_intel_syntax): Likewise. 1166*ed0d50c3Schristos (bfd_mach_x64_32_intel_syntax): Likewise. 1167*ed0d50c3Schristos (bfd_mach_l1om): Likewise. 1168*ed0d50c3Schristos (bfd_mach_l1om_intel_syntax): Likewise. 1169*ed0d50c3Schristos (bfd_mach_k1om): Likewise. 1170*ed0d50c3Schristos (bfd_mach_k1om_intel_syntax): Likewise. 1171*ed0d50c3Schristos 1172*ed0d50c3Schristos * bfd-in2.h: Regenerated. 1173*ed0d50c3Schristos 1174*ed0d50c3Schristos * cpu-i386.c (bfd_i386_compatible): Check mach instead of 1175*ed0d50c3Schristos bits_per_address. 1176*ed0d50c3Schristos (bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64. 1177*ed0d50c3Schristos (bfd_x64_32_arch): Likewise. 1178*ed0d50c3Schristos 1179*ed0d50c3Schristos * elf64-x86-64.c: Include "libiberty.h". 1180*ed0d50c3Schristos (x86_64_elf_howto_table): Append x32 R_X86_64_32. 1181*ed0d50c3Schristos (elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32. 1182*ed0d50c3Schristos (elf_x86_64_reloc_type_lookup): Likewise. 1183*ed0d50c3Schristos (elf_x86_64_reloc_name_lookup): Likewise. 1184*ed0d50c3Schristos (elf_x86_64_relocate_section): Likewise. 1185*ed0d50c3Schristos (elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32. 1186*ed0d50c3Schristos 1187*ed0d50c3Schristos2011-07-29 Maciej W. Rozycki <macro@codesourcery.com> 1188*ed0d50c3Schristos 1189*ed0d50c3Schristos * elfxx-mips.c (check_br32): Fix return type. 1190*ed0d50c3Schristos 1191*ed0d50c3Schristos2011-07-29 Maciej W. Rozycki <macro@codesourcery.com> 1192*ed0d50c3Schristos 1193*ed0d50c3Schristos * elfxx-mips.c (bz_insn_16): Correct opcode mask. 1194*ed0d50c3Schristos 1195*ed0d50c3Schristos2011-07-29 Maciej W. Rozycki <macro@codesourcery.com> 1196*ed0d50c3Schristos 1197*ed0d50c3Schristos * elfxx-mips.c: Adjust comments throughout. 1198*ed0d50c3Schristos (mips_elf_relax_delete_bytes): Reshape code. 1199*ed0d50c3Schristos (_bfd_mips_elf_relax_section): Remove check for 1200*ed0d50c3Schristos R_MICROMIPS_GPREL16 relocations. Reshape code. 1201*ed0d50c3Schristos 1202*ed0d50c3Schristos2011-07-28 Roland McGrath <mcgrathr@google.com> 1203*ed0d50c3Schristos 1204*ed0d50c3Schristos * elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros. 1205*ed0d50c3Schristos (elf_i386_nacl_plt0_entry): New variable. 1206*ed0d50c3Schristos (elf_i386_plt_entry): New variable. 1207*ed0d50c3Schristos (elf_i386_nacl_pic_plt0_entry): New variable. 1208*ed0d50c3Schristos (elf_i386_nacl_pic_plt_entry): New variable. 1209*ed0d50c3Schristos (elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables. 1210*ed0d50c3Schristos (elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza. 1211*ed0d50c3Schristos (elf_backend_plt_alignment): Likewise. 1212*ed0d50c3Schristos 1213*ed0d50c3Schristos * config.bfd: Handle i[3-7]86-*-nacl*. 1214*ed0d50c3Schristos * elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza. 1215*ed0d50c3Schristos * targets.c: Support bfd_elf32_i386_nacl_vec. 1216*ed0d50c3Schristos * configure.in: Likewise. 1217*ed0d50c3Schristos * configure: Regenerated. 1218*ed0d50c3Schristos 1219*ed0d50c3Schristos * elf32-i386.c (struct elf_i386_plt_layout): New type. 1220*ed0d50c3Schristos (GET_PLT_ENTRY_SIZE): New macro. 1221*ed0d50c3Schristos (elf_i386_plt): New variable. 1222*ed0d50c3Schristos (struct elf_i386_backend_data): New member `plt'. 1223*ed0d50c3Schristos (elf_i386_arch_bed): Add initializer for it. 1224*ed0d50c3Schristos (elf_i386_vxworks_arch_bed): Likewise. 1225*ed0d50c3Schristos (elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE. 1226*ed0d50c3Schristos (elf_i386_plt_sym_val): Likewise. 1227*ed0d50c3Schristos (elf_i386_relocate_section): Likewise. 1228*ed0d50c3Schristos (elf_i386_finish_dynamic_symbol): Likewise. 1229*ed0d50c3Schristos Also use other elf_i386_plt_layout members for PLT details. 1230*ed0d50c3Schristos (elf_i386_finish_dynamic_sections): Likewise. 1231*ed0d50c3Schristos 1232*ed0d50c3Schristos * elf32-i386.c (struct elf_i386_backend_data): New type. 1233*ed0d50c3Schristos (get_elf_i386_backend_data): New macro. 1234*ed0d50c3Schristos (elf_i386_arch_bed): New variable. 1235*ed0d50c3Schristos (elf_backend_arch_data): New macro. 1236*ed0d50c3Schristos (struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks. 1237*ed0d50c3Schristos (elf_i386_link_hash_table_create): Don't initialize them. 1238*ed0d50c3Schristos (elf_i386_create_dynamic_sections): Find is_vxworks flags in 1239*ed0d50c3Schristos elf_i386_backend_data, not elf_i386_link_hash_table. 1240*ed0d50c3Schristos (elf_i386_adjust_dynamic_symbol): Likewise. 1241*ed0d50c3Schristos (elf_i386_allocate_dynrelocs): Likewise. 1242*ed0d50c3Schristos (elf_i386_readonly_dynrelocs): Likewise. 1243*ed0d50c3Schristos (elf_i386_size_dynamic_sections): Likewise. 1244*ed0d50c3Schristos (elf_i386_relocate_section): Likewise. 1245*ed0d50c3Schristos (elf_i386_finish_dynamic_symbol): Likewise. 1246*ed0d50c3Schristos (elf_i386_finish_dynamic_sections): Likewise. Same for plt0_pad_byte. 1247*ed0d50c3Schristos (elf_i386_vxworks_link_hash_table_create): Function removed. 1248*ed0d50c3Schristos (elf_i386_vxworks_arch_bed): New variable. 1249*ed0d50c3Schristos (elf_backend_arch_data): New macro in elf32-i386-vxworks stanza. 1250*ed0d50c3Schristos 1251*ed0d50c3Schristos * elf-bfd.h (elf_backend_data): New member arch_backend_data. 1252*ed0d50c3Schristos * elfxx-target.h (elf_backend_arch_data): New macro. 1253*ed0d50c3Schristos (elfNN_bed): Use it as initializer for the new member. 1254*ed0d50c3Schristos 1255*ed0d50c3Schristos2011-07-28 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> 1256*ed0d50c3Schristos 1257*ed0d50c3Schristos * elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out 1258*ed0d50c3Schristos of range branches. 1259*ed0d50c3Schristos 1260*ed0d50c3Schristos2011-07-26 Jakub Jelinek <jakub@redhat.com> 1261*ed0d50c3Schristos 1262*ed0d50c3Schristos * dwarf2.c (dwarf_debug_sections): Add .debug_macro 1263*ed0d50c3Schristos and .zdebug_macro entry. 1264*ed0d50c3Schristos (dwarf_debug_section_enum): Add debug_macro. 1265*ed0d50c3Schristos 1266*ed0d50c3Schristos2011-07-26 Alan Modra <amodra@gmail.com> 1267*ed0d50c3Schristos 1268*ed0d50c3Schristos * elf64-ppc.c: Include dwarf2.h. 1269*ed0d50c3Schristos (struct ppc_link_hash_table): Add glink_eh_frame. 1270*ed0d50c3Schristos (create_linkage_sections): Create .eh_frame section. 1271*ed0d50c3Schristos (ppc64_elf_size_dynamic_sections): Arrange to drop unneeded 1272*ed0d50c3Schristos glink_eh_frame. 1273*ed0d50c3Schristos (glink_eh_frame_cie): New array. 1274*ed0d50c3Schristos (ppc64_elf_size_stubs): Size glink_eh_frame. 1275*ed0d50c3Schristos (ppc64_elf_build_stubs): Init glink_eh_frame contents. 1276*ed0d50c3Schristos (ppc64_elf_finish_dynamic_sections): Write glink_eh_frame. 1277*ed0d50c3Schristos 1278*ed0d50c3Schristos2011-07-25 Hans-Peter Nilsson <hp@bitrange.com> 1279*ed0d50c3Schristos 1280*ed0d50c3Schristos PR ld/12815 1281*ed0d50c3Schristos * elf64-mmix.c (struct _mmix_elf_section_data): New members 1282*ed0d50c3Schristos has_warned_bpo and has_warned_pushj. 1283*ed0d50c3Schristos (mmix_final_link_relocate): Remove PARAMS and PTR macros, 1284*ed0d50c3Schristos converting to ISO C. Add new parameter error_message. All 1285*ed0d50c3Schristos callers changed. 1286*ed0d50c3Schristos (mmix_elf_perform_relocation): Ditto. 1287*ed0d50c3Schristos <case R_MMIX_PUSHJ_STUBBABLE, case R_MMIX_BASE_PLUS_OFFSET>: 1288*ed0d50c3Schristos Handle the case where mmix_elf_check_common_relocs has not been 1289*ed0d50c3Schristos called, missing preparations for relocs of the respective type. 1290*ed0d50c3Schristos 1291*ed0d50c3Schristos2011-07-24 Chao-ying Fu <fu@mips.com> 1292*ed0d50c3Schristos Ilie Garbacea <ilie@mips.com> 1293*ed0d50c3Schristos Maciej W. Rozycki <macro@codesourcery.com> 1294*ed0d50c3Schristos Joseph Myers <joseph@codesourcery.com> 1295*ed0d50c3Schristos Catherine Moore <clm@codesourcery.com> 1296*ed0d50c3Schristos Richard Sandiford <rdsandiford@googlemail.com> 1297*ed0d50c3Schristos 1298*ed0d50c3Schristos * archures.c (bfd_mach_mips_micromips): New macro. 1299*ed0d50c3Schristos * cpu-mips.c (I_micromips): New enum value. 1300*ed0d50c3Schristos (arch_info_struct): Add bfd_mach_mips_micromips. 1301*ed0d50c3Schristos * elfxx-mips.h (_bfd_mips_elf_is_target_special_symbol): New 1302*ed0d50c3Schristos prototype. 1303*ed0d50c3Schristos (_bfd_mips_elf_relax_section): Likewise. 1304*ed0d50c3Schristos (_bfd_mips16_elf_reloc_unshuffle): Rename to... 1305*ed0d50c3Schristos (_bfd_mips_elf_reloc_unshuffle): ... this. Handle microMIPS 1306*ed0d50c3Schristos ASE. 1307*ed0d50c3Schristos (_bfd_mips16_elf_reloc_shuffle): Rename to... 1308*ed0d50c3Schristos (_bfd_mips_elf_reloc_shuffle): ... this. Handle microMIPS ASE. 1309*ed0d50c3Schristos (gprel16_reloc_p): Handle microMIPS ASE. 1310*ed0d50c3Schristos (literal_reloc_p): New function. 1311*ed0d50c3Schristos * elf32-mips.c (elf_micromips_howto_table_rel): New variable. 1312*ed0d50c3Schristos (_bfd_mips_elf32_gprel16_reloc): Handle microMIPS ASE. 1313*ed0d50c3Schristos (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle 1314*ed0d50c3Schristos and _bfd_mips_elf_reloc_shuffle changes. 1315*ed0d50c3Schristos (mips_elf_gprel32_reloc): Update comment. 1316*ed0d50c3Schristos (micromips_reloc_map): New variable. 1317*ed0d50c3Schristos (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE. 1318*ed0d50c3Schristos (mips_elf32_rtype_to_howto): Likewise. 1319*ed0d50c3Schristos (mips_info_to_howto_rel): Likewise. 1320*ed0d50c3Schristos (bfd_elf32_bfd_is_target_special_symbol): Define. 1321*ed0d50c3Schristos (bfd_elf32_bfd_relax_section): Likewise. 1322*ed0d50c3Schristos * elf64-mips.c (micromips_elf64_howto_table_rel): New variable. 1323*ed0d50c3Schristos (micromips_elf64_howto_table_rela): Likewise. 1324*ed0d50c3Schristos (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle 1325*ed0d50c3Schristos and _bfd_mips_elf_reloc_shuffle changes. 1326*ed0d50c3Schristos (micromips_reloc_map): Likewise. 1327*ed0d50c3Schristos (bfd_elf64_bfd_reloc_type_lookup): Handle microMIPS ASE. 1328*ed0d50c3Schristos (bfd_elf64_bfd_reloc_name_lookup): Likewise. 1329*ed0d50c3Schristos (mips_elf64_rtype_to_howto): Likewise. 1330*ed0d50c3Schristos (bfd_elf64_bfd_is_target_special_symbol): Define. 1331*ed0d50c3Schristos * elfn32-mips.c (elf_micromips_howto_table_rel): New variable. 1332*ed0d50c3Schristos (elf_micromips_howto_table_rela): Likewise. 1333*ed0d50c3Schristos (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle 1334*ed0d50c3Schristos and _bfd_mips_elf_reloc_shuffle changes. 1335*ed0d50c3Schristos (micromips_reloc_map): Likewise. 1336*ed0d50c3Schristos (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE. 1337*ed0d50c3Schristos (bfd_elf32_bfd_reloc_name_lookup): Likewise. 1338*ed0d50c3Schristos (mips_elf_n32_rtype_to_howto): Likewise. 1339*ed0d50c3Schristos (bfd_elf32_bfd_is_target_special_symbol): Define. 1340*ed0d50c3Schristos * elfxx-mips.c (LA25_LUI_MICROMIPS_1): New macro. 1341*ed0d50c3Schristos (LA25_LUI_MICROMIPS_2): Likewise. 1342*ed0d50c3Schristos (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise. 1343*ed0d50c3Schristos (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise. 1344*ed0d50c3Schristos (TLS_RELOC_P): Handle microMIPS ASE. 1345*ed0d50c3Schristos (mips_elf_create_stub_symbol): Adjust value of stub symbol if 1346*ed0d50c3Schristos target is a microMIPS function. 1347*ed0d50c3Schristos (micromips_reloc_p): New function. 1348*ed0d50c3Schristos (micromips_reloc_shuffle_p): Likewise. 1349*ed0d50c3Schristos (got16_reloc_p, call16_reloc_p): Handle microMIPS ASE. 1350*ed0d50c3Schristos (got_disp_reloc_p, got_page_reloc_p): New functions. 1351*ed0d50c3Schristos (got_ofst_reloc_p): Likewise. 1352*ed0d50c3Schristos (got_hi16_reloc_p, got_lo16_reloc_p): Likewise. 1353*ed0d50c3Schristos (call_hi16_reloc_p, call_lo16_reloc_p): Likewise. 1354*ed0d50c3Schristos (hi16_reloc_p, lo16_reloc_p, jal_reloc_p): Handle microMIPS ASE. 1355*ed0d50c3Schristos (micromips_branch_reloc_p): New function. 1356*ed0d50c3Schristos (tls_gd_reloc_p, tls_ldm_reloc_p): Likewise. 1357*ed0d50c3Schristos (tls_gottprel_reloc_p): Likewise. 1358*ed0d50c3Schristos (_bfd_mips16_elf_reloc_unshuffle): Rename to... 1359*ed0d50c3Schristos (_bfd_mips_elf_reloc_unshuffle): ... this. Handle microMIPS 1360*ed0d50c3Schristos ASE. 1361*ed0d50c3Schristos (_bfd_mips16_elf_reloc_shuffle): Rename to... 1362*ed0d50c3Schristos (_bfd_mips_elf_reloc_shuffle): ... this. Handle microMIPS ASE. 1363*ed0d50c3Schristos (_bfd_mips_elf_lo16_reloc): Handle microMIPS ASE. 1364*ed0d50c3Schristos (mips_tls_got_index, mips_elf_got_page): Likewise. 1365*ed0d50c3Schristos (mips_elf_create_local_got_entry): Likewise. 1366*ed0d50c3Schristos (mips_elf_relocation_needs_la25_stub): Likewise. 1367*ed0d50c3Schristos (mips_elf_calculate_relocation): Likewise. 1368*ed0d50c3Schristos (mips_elf_perform_relocation): Likewise. 1369*ed0d50c3Schristos (_bfd_mips_elf_symbol_processing): Likewise. 1370*ed0d50c3Schristos (_bfd_mips_elf_add_symbol_hook): Likewise. 1371*ed0d50c3Schristos (_bfd_mips_elf_link_output_symbol_hook): Likewise. 1372*ed0d50c3Schristos (mips_elf_add_lo16_rel_addend): Likewise. 1373*ed0d50c3Schristos (_bfd_mips_elf_check_relocs): Likewise. 1374*ed0d50c3Schristos (mips_elf_adjust_addend): Likewise. 1375*ed0d50c3Schristos (_bfd_mips_elf_relocate_section): Likewise. 1376*ed0d50c3Schristos (mips_elf_create_la25_stub): Likewise. 1377*ed0d50c3Schristos (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 1378*ed0d50c3Schristos (_bfd_mips_elf_gc_sweep_hook): Likewise. 1379*ed0d50c3Schristos (_bfd_mips_elf_is_target_special_symbol): New function. 1380*ed0d50c3Schristos (mips_elf_relax_delete_bytes): Likewise. 1381*ed0d50c3Schristos (opcode_descriptor): New structure. 1382*ed0d50c3Schristos (RA): New macro. 1383*ed0d50c3Schristos (OP32_SREG, OP32_TREG, OP16_VALID_REG): Likewise. 1384*ed0d50c3Schristos (b_insns_32, bc_insn_32, bz_insn_32, bzal_insn_32): New variables. 1385*ed0d50c3Schristos (beq_insn_32): Likewise. 1386*ed0d50c3Schristos (b_insn_16, bz_insn_16): New variables. 1387*ed0d50c3Schristos (BZC32_REG_FIELD): New macro. 1388*ed0d50c3Schristos (bz_rs_insns_32, bz_rt_insns_32): New variables. 1389*ed0d50c3Schristos (bzc_insns_32, bz_insns_16):Likewise. 1390*ed0d50c3Schristos (BZ16_REG, BZ16_REG_FIELD): New macros. 1391*ed0d50c3Schristos (jal_insn_32_bd16, jal_insn_32_bd32): New variables. 1392*ed0d50c3Schristos (jal_x_insn_32_bd32): Likewise. 1393*ed0d50c3Schristos (j_insn_32, jalr_insn_32): Likewise. 1394*ed0d50c3Schristos (ds_insns_32_bd16, ds_insns_32_bd32): Likewise. 1395*ed0d50c3Schristos (jalr_insn_16_bd16, jalr_insn_16_bd32, jr_insn_16): Likewise. 1396*ed0d50c3Schristos (JR16_REG): New macro. 1397*ed0d50c3Schristos (ds_insns_16_bd16): New variable. 1398*ed0d50c3Schristos (lui_insn): Likewise. 1399*ed0d50c3Schristos (addiu_insn, addiupc_insn): Likewise. 1400*ed0d50c3Schristos (ADDIUPC_REG_FIELD): New macro. 1401*ed0d50c3Schristos (MOVE32_RD, MOVE32_RS): Likewise. 1402*ed0d50c3Schristos (MOVE16_RD_FIELD, MOVE16_RS_FIELD): Likewise. 1403*ed0d50c3Schristos (move_insns_32, move_insns_16): New variables. 1404*ed0d50c3Schristos (nop_insn_32, nop_insn_16): Likewise. 1405*ed0d50c3Schristos (MATCH): New macro. 1406*ed0d50c3Schristos (find_match): New function. 1407*ed0d50c3Schristos (check_br16_dslot, check_br32_dslot): Likewise. 1408*ed0d50c3Schristos (check_br16, check_br32): Likewise. 1409*ed0d50c3Schristos (IS_BITSIZE): New macro. 1410*ed0d50c3Schristos (check_4byte_branch): New function. 1411*ed0d50c3Schristos (_bfd_mips_elf_relax_section): Likewise. 1412*ed0d50c3Schristos (_bfd_mips_elf_merge_private_bfd_data): Disallow linking MIPS16 1413*ed0d50c3Schristos and microMIPS modules together. 1414*ed0d50c3Schristos (_bfd_mips_elf_print_private_bfd_data): Handle microMIPS ASE. 1415*ed0d50c3Schristos * reloc.c (BFD_RELOC_MICROMIPS_7_PCREL_S1): New relocation. 1416*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_10_PCREL_S1): Likewise. 1417*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_16_PCREL_S1): Likewise. 1418*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GPREL16): Likewise. 1419*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_JMP, BFD_RELOC_MICROMIPS_HI16): Likewise. 1420*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_HI16_S): Likewise. 1421*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_LO16): Likewise. 1422*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_LITERAL): Likewise. 1423*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT16): Likewise. 1424*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_CALL16): Likewise. 1425*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT_HI16): Likewise. 1426*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT_LO16): Likewise. 1427*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_CALL_HI16): Likewise. 1428*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_CALL_LO16): Likewise. 1429*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_SUB): Likewise. 1430*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT_PAGE): Likewise. 1431*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT_OFST): Likewise. 1432*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_GOT_DISP): Likewise. 1433*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_HIGHEST): Likewise. 1434*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_HIGHER): Likewise. 1435*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_SCN_DISP): Likewise. 1436*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_JALR): Likewise. 1437*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_GD): Likewise. 1438*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_LDM): Likewise. 1439*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16): Likewise. 1440*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16): Likewise. 1441*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_GOTTPREL): Likewise. 1442*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_TPREL_HI16): Likewise. 1443*ed0d50c3Schristos (BFD_RELOC_MICROMIPS_TLS_TPREL_LO16): Likewise. 1444*ed0d50c3Schristos * bfd-in2.h: Regenerate. 1445*ed0d50c3Schristos * libbfd.h: Regenerate. 1446*ed0d50c3Schristos 1447*ed0d50c3Schristos2011-07-22 H.J. Lu <hongjiu.lu@intel.com> 1448*ed0d50c3Schristos 1449*ed0d50c3Schristos * Makefile.am (ALL_MACHINES): Add cpu-k1om.lo. 1450*ed0d50c3Schristos (ALL_MACHINES_CFILES): Add cpu-k1om.c. 1451*ed0d50c3Schristos * Makefile.in: Regenerated. 1452*ed0d50c3Schristos 1453*ed0d50c3Schristos * archures.c (bfd_architecture): Add bfd_arch_k1om. 1454*ed0d50c3Schristos (bfd_k1om_arch): New. 1455*ed0d50c3Schristos (bfd_archures_list): Add &bfd_k1om_arch. 1456*ed0d50c3Schristos * bfd-in2.h: Regenerated. 1457*ed0d50c3Schristos 1458*ed0d50c3Schristos * config.bfd (targ64_selvecs): Add bfd_elf64_k1om_vec if 1459*ed0d50c3Schristos bfd_elf64_x86_64_vec is supported. Add bfd_elf64_k1om_freebsd_vec 1460*ed0d50c3Schristos if bfd_elf64_x86_64_freebsd_vec is supported. 1461*ed0d50c3Schristos (targ_selvecs): Likewise. 1462*ed0d50c3Schristos 1463*ed0d50c3Schristos * configure.in: Support bfd_elf64_k1om_vec and 1464*ed0d50c3Schristos bfd_elf64_k1om_freebsd_vec. 1465*ed0d50c3Schristos * configure: Regenerated. 1466*ed0d50c3Schristos 1467*ed0d50c3Schristos * cpu-k1om.c: New. 1468*ed0d50c3Schristos 1469*ed0d50c3Schristos * elf64-x86-64.c (elf64_k1om_elf_object_p): New. 1470*ed0d50c3Schristos (bfd_elf64_k1om_vec): Likewise. 1471*ed0d50c3Schristos (bfd_elf64_k1om_freebsd_vec): Likewise. 1472*ed0d50c3Schristos 1473*ed0d50c3Schristos * targets.c (bfd_elf64_k1om_vec): New. 1474*ed0d50c3Schristos (bfd_elf64_k1om_freebsd_vec): Likewise. 1475*ed0d50c3Schristos (_bfd_target_vector): Add bfd_elf64_k1om_vec and 1476*ed0d50c3Schristos bfd_elf64_k1om_freebsd_vec. 1477*ed0d50c3Schristos 1478*ed0d50c3Schristos2011-07-20 Jan Kratochvil <jan.kratochvil@redhat.com> 1479*ed0d50c3Schristos 1480*ed0d50c3Schristos Fix false coff-go32-exe matches. 1481*ed0d50c3Schristos * coff-i386.c (TARGET_SYM) <_bfd_check_format>: Conditionally use 1482*ed0d50c3Schristos COFF_CHECK_FORMAT. 1483*ed0d50c3Schristos * coff-stgo32.c (go32_check_format): New forward declaration. 1484*ed0d50c3Schristos (COFF_CHECK_FORMAT): New defintion. 1485*ed0d50c3Schristos (go32_check_format): New function. 1486*ed0d50c3Schristos 1487*ed0d50c3Schristos2011-07-15 Alan Modra <amodra@gmail.com> 1488*ed0d50c3Schristos 1489*ed0d50c3Schristos * configure.in: Bump version. 1490*ed0d50c3Schristos * configure: Regenerate. 1491*ed0d50c3Schristos 1492*ed0d50c3Schristos2011-07-14 Alan Modra <amodra@gmail.com> 1493*ed0d50c3Schristos 1494*ed0d50c3Schristos * linker.c (_bfd_generic_section_already_linked): Set l_flags. 1495*ed0d50c3Schristos * elf-bfd.h (struct already_linked): Forward declare. 1496*ed0d50c3Schristos 1497*ed0d50c3Schristos2011-07-14 Alan Modra <amodra@gmail.com> 1498*ed0d50c3Schristos 1499*ed0d50c3Schristos * elflink.c (_bfd_elf_fix_symbol_flags): Loop on indirect syms. 1500*ed0d50c3Schristos (_bfd_elf_adjust_dynamic_symbol): Remove FIXME. 1501*ed0d50c3Schristos 1502*ed0d50c3Schristos2011-07-14 Alan Modra <amodra@gmail.com> 1503*ed0d50c3Schristos 1504*ed0d50c3Schristos * elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain. 1505*ed0d50c3Schristos (build_plt_stub): Add plt_static_chain param, don't load r11 if false. 1506*ed0d50c3Schristos (build_tls_get_addr_stub): Likewise. 1507*ed0d50c3Schristos (ppc_build_one_stub): Update calls to above. 1508*ed0d50c3Schristos (ppc_size_one_stub): Adjust stub size. 1509*ed0d50c3Schristos (ppc64_elf_size_stubs): Add plt_static_chain param, save to htab. 1510*ed0d50c3Schristos * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype. 1511*ed0d50c3Schristos 1512*ed0d50c3Schristos2011-07-12 Nick Clifton <nickc@redhat.com> 1513*ed0d50c3Schristos 1514*ed0d50c3Schristos * elf32-arm.c (elf32_arm_section_flags): Delete. 1515*ed0d50c3Schristos (elf_backend_section_flags): Remove. 1516*ed0d50c3Schristos 1517*ed0d50c3Schristos2011-07-11 H.J. Lu <hongjiu.lu@intel.com> 1518*ed0d50c3Schristos 1519*ed0d50c3Schristos PR ld/12982 1520*ed0d50c3Schristos * elflink.c (bfd_elf_size_dynamic_sections): Also skip BFD_PLUGIN 1521*ed0d50c3Schristos when setting stack_flags. 1522*ed0d50c3Schristos 1523*ed0d50c3Schristos2011-07-11 Catherine Moore <clm@codesourcery.com> 1524*ed0d50c3Schristos 1525*ed0d50c3Schristos * aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition. 1526*ed0d50c3Schristos * aout-target.h (MY_bfd_lookup_section_flags): New definition. 1527*ed0d50c3Schristos * aout-tic30.c (MY_bfd_lookup_section_flags): New definition. 1528*ed0d50c3Schristos * bfd-in2.h: Regenerated. 1529*ed0d50c3Schristos * bfd.c (bfd_lookup_section_flags): New definition. 1530*ed0d50c3Schristos * binary.c (binary_bfd_lookup_section_flags): New definition. 1531*ed0d50c3Schristos * bout.c (b_out_bfd_lookup_section_flags): New definition. 1532*ed0d50c3Schristos * coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition. 1533*ed0d50c3Schristos * coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition. 1534*ed0d50c3Schristos * coff-rs6000.c (rs6000coff_vec): Include 1535*ed0d50c3Schristos bfd_generic_lookup_section_flags. 1536*ed0d50c3Schristos (pmac_xcoff_vec): Likewise. 1537*ed0d50c3Schristos * coffcode.h (coff_bfd_lookup_section_flags): New definition. 1538*ed0d50c3Schristos * coff64-rs6000.c (rs6000coff64_vec): Include 1539*ed0d50c3Schristos bfd_generic_lookup_section_flags. 1540*ed0d50c3Schristos (aix5coff64_vec): Likewise. 1541*ed0d50c3Schristos * ecoff.c (bfd_debug_section): Initialize flag_info field. 1542*ed0d50c3Schristos * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare. 1543*ed0d50c3Schristos (bfd_elf_lookup_section_flags): Declare. 1544*ed0d50c3Schristos * elflink.c (bfd_elf_lookup_section_flags): New function. 1545*ed0d50c3Schristos * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define. 1546*ed0d50c3Schristos (elf_backend_lookup_section_flags_hook): Define. 1547*ed0d50c3Schristos (elf_backend_data): Add elf_backend_lookup_section_flags_hook. 1548*ed0d50c3Schristos * i386msdos.c (msdos_bfd_lookup_section_flags): New define. 1549*ed0d50c3Schristos * i386os9k.c (os9k_bfd_lookup_section_flags): New define. 1550*ed0d50c3Schristos * ieee.c (ieee_bfd_lookup_section_flags): New define. 1551*ed0d50c3Schristos * ihex.c (ihex_bfd_lookup_section_flags): New define. 1552*ed0d50c3Schristos * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare. 1553*ed0d50c3Schristos (bfd_generic_lookup_section_flags): Declare. 1554*ed0d50c3Schristos * libbfd.h: Regenerated. 1555*ed0d50c3Schristos * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New. 1556*ed0d50c3Schristos * mmo.c (mmo_bfd_lookup_section_flags): New definition. 1557*ed0d50c3Schristos * nlm-target.h (nlm_bfd_lookup_section_flags): New definition. 1558*ed0d50c3Schristos * oasys.c (oasys_bfd_lookup_section_flags): New definition. 1559*ed0d50c3Schristos * pef.c (bfd_pef_bfd_lookup_section_flags): New definition. 1560*ed0d50c3Schristos * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition. 1561*ed0d50c3Schristos * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition. 1562*ed0d50c3Schristos * reloc.c (bfd_generic_lookup_section_flags): New function. 1563*ed0d50c3Schristos * som.c (som_bfd_lookup_section_flags): New definition. 1564*ed0d50c3Schristos * srec.c (srec_bfd_lookup_section_flags): New definition. 1565*ed0d50c3Schristos * targets.c (flag_info): Declare. 1566*ed0d50c3Schristos (NAME##_bfd_lookup_section_flags): Add to LINK jump table. 1567*ed0d50c3Schristos (_bfd_lookup_section_flags): New. 1568*ed0d50c3Schristos * tekhex.c (tekhex_bfd_lookup_section_flags): New definition. 1569*ed0d50c3Schristos * versados.c (versados_bfd_lookup_section_flags): New definition. 1570*ed0d50c3Schristos * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition. 1571*ed0d50c3Schristos * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition. 1572*ed0d50c3Schristos 1573*ed0d50c3Schristos2011-07-11 H.J. Lu <hongjiu.lu@intel.com> 1574*ed0d50c3Schristos 1575*ed0d50c3Schristos PR ld/12978 1576*ed0d50c3Schristos * elfnn-ia64.c (count_dyn_reloc): Fix a typo. 1577*ed0d50c3Schristos 1578*ed0d50c3Schristos2011-07-09 Alan Modra <amodra@gmail.com> 1579*ed0d50c3Schristos 1580*ed0d50c3Schristos PR ld/12942 1581*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Use elf_discarded_section 1582*ed0d50c3Schristos rather than kept_section to determine whether a symbol is from 1583*ed0d50c3Schristos a discarded section. 1584*ed0d50c3Schristos * cofflink.c (coff_link_add_symbols): Make symbols from discarded 1585*ed0d50c3Schristos sections appear undefined. 1586*ed0d50c3Schristos 1587*ed0d50c3Schristos2011-07-09 H.J. Lu <hongjiu.lu@intel.com> 1588*ed0d50c3Schristos 1589*ed0d50c3Schristos PR ld/12942 1590*ed0d50c3Schristos * elf-bfd.h (_bfd_elf_section_already_linked): Replace 1591*ed0d50c3Schristos "asection *" with "struct already_linked *". 1592*ed0d50c3Schristos * libbfd-in.h (_bfd_nolink_section_already_linked): Likewise. 1593*ed0d50c3Schristos (_bfd_generic_section_already_linked): Likewise. 1594*ed0d50c3Schristos (bfd_section_already_linked_table_insert): Likewise. 1595*ed0d50c3Schristos (struct already_linked): New. 1596*ed0d50c3Schristos (struct bfd_section_already_linked): Use it. 1597*ed0d50c3Schristos * elflink.c (_bfd_elf_section_already_linked): Replace. 1598*ed0d50c3Schristos "asection *" with "struct already_linked *". Replace the plugin 1599*ed0d50c3Schristos dummy with the LTO output. 1600*ed0d50c3Schristos * linker.c (_bfd_generic_section_already_linked): Likewise. 1601*ed0d50c3Schristos * targets.c (struct already_linked): Add forward declaration. 1602*ed0d50c3Schristos (bfd_target): Replace "struct bfd_section *" with 1603*ed0d50c3Schristos "struct already_linked *" in _section_already_linked. 1604*ed0d50c3Schristos * bfd-in2.h: Regenerate. 1605*ed0d50c3Schristos * libbfd.h: Regenerate. 1606*ed0d50c3Schristos 1607*ed0d50c3Schristos2011-07-06 Tristan Gingold <gingold@adacore.com> 1608*ed0d50c3Schristos 1609*ed0d50c3Schristos * mach-o.h: Move loader related definitions to 1610*ed0d50c3Schristos include/mach-o/loader.h. Include it. 1611*ed0d50c3Schristos 1612*ed0d50c3Schristos2011-07-05 H.J. Lu <hongjiu.lu@intel.com> 1613*ed0d50c3Schristos 1614*ed0d50c3Schristos * elf64-x86-64.c (elf_backend_post_process_headers): Always 1615*ed0d50c3Schristos define to _bfd_elf_set_osabi. 1616*ed0d50c3Schristos 1617*ed0d50c3Schristos2011-07-03 Samuel Thibault <samuel.thibault@gnu.org> 1618*ed0d50c3Schristos Thomas Schwinge <thomas@schwinge.name> 1619*ed0d50c3Schristos 1620*ed0d50c3Schristos PR binutils/12913 1621*ed0d50c3Schristos * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of 1622*ed0d50c3Schristos ELFOSABI_LINUX alias. 1623*ed0d50c3Schristos * elf32-hppa.c: Likewise. 1624*ed0d50c3Schristos * elf32-i370.c: Likewise. 1625*ed0d50c3Schristos * elf64-hppa.c: Likewise. 1626*ed0d50c3Schristos 1627*ed0d50c3Schristos2011-07-01 Ian Lance Taylor <iant@google.com> 1628*ed0d50c3Schristos 1629*ed0d50c3Schristos * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change 1630*ed0d50c3Schristos DW_OP_lit3 to DW_OP_lit2. 1631*ed0d50c3Schristos 1632*ed0d50c3Schristos2011-07-01 Alan Modra <amodra@gmail.com> 1633*ed0d50c3Schristos 1634*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at 1635*ed0d50c3Schristos dyn relocs when called to copy flags for a weak sym. 1636*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. 1637*ed0d50c3Schristos (ppc64_elf_merge_private_bfd_data): Delete. 1638*ed0d50c3Schristos (bfd_elf64_bfd_merge_private_bfd_data): Define as 1639*ed0d50c3Schristos _bfd_generic_verify_endian_match. 1640*ed0d50c3Schristos 1641*ed0d50c3Schristos2011-06-30 Bernd Schmidt <bernds@codesourcery.com> 1642*ed0d50c3Schristos 1643*ed0d50c3Schristos * bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if 1644*ed0d50c3Schristos link_info is NULL. 1645*ed0d50c3Schristos 1646*ed0d50c3Schristos2011-06-28 Tristan Gingold <gingold@adacore.com> 1647*ed0d50c3Schristos 1648*ed0d50c3Schristos * vms-alpha.c (vms_private_data_struct): Make vms_linkage_index 1649*ed0d50c3Schristos unsigned int. 1650*ed0d50c3Schristos (_bfd_vms_write_etir): Write linkage index from reloc. 1651*ed0d50c3Schristos 1652*ed0d50c3Schristos2011-06-28 Fawzi Mohamed <fawzi.mohamed@nokia.com> 1653*ed0d50c3Schristos 1654*ed0d50c3Schristos * mach-o.c (bfd_mach_o_read_command): Also ignore 1655*ed0d50c3Schristos BFD_MACH_O_LC_ROUTINES_64. 1656*ed0d50c3Schristos 1657*ed0d50c3Schristos2011-06-27 Tristan Gingold <gingold@adacore.com> 1658*ed0d50c3Schristos 1659*ed0d50c3Schristos * vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current 1660*ed0d50c3Schristos section target index. 1661*ed0d50c3Schristos 1662*ed0d50c3Schristos2011-06-27 Nick Clifton <nickc@redhat.com> 1663*ed0d50c3Schristos 1664*ed0d50c3Schristos * cisco-core.c (cisco_core_little_vec): Add initialization of 1665*ed0d50c3Schristos match_priority field. 1666*ed0d50c3Schristos 1667*ed0d50c3Schristos2011-06-27 Tristan Gingold <gingold@adacore.com> 1668*ed0d50c3Schristos 1669*ed0d50c3Schristos * cache.c: Include bfd_stdint.h. 1670*ed0d50c3Schristos (cache_bmmap): Change profile. Return region start and size. 1671*ed0d50c3Schristos * bfdio.c (struct bfd_iovec): Change bmmap profile. 1672*ed0d50c3Schristos (bfd_mmap): Change profile and adjust. Update comment. 1673*ed0d50c3Schristos (memory_bmmap): Change profile. 1674*ed0d50c3Schristos * opncls.c (opncls_bmmap): Change profile. 1675*ed0d50c3Schristos * vms-lib.c (vms_lib_bmmap): Likewise. 1676*ed0d50c3Schristos * libbfd.h: Regenerate. 1677*ed0d50c3Schristos * bfd-in2.h: Regenerate. 1678*ed0d50c3Schristos 1679*ed0d50c3Schristos2011-06-27 Tristan Gingold <gingold@adacore.com> 1680*ed0d50c3Schristos 1681*ed0d50c3Schristos * vms-misc.c (vms_time_to_time_t): Adjust overflow detection. 1682*ed0d50c3Schristos Add comment. 1683*ed0d50c3Schristos 1684*ed0d50c3Schristos2011-06-25 H.J. Lu <hongjiu.lu@intel.com> 1685*ed0d50c3Schristos 1686*ed0d50c3Schristos * elf64-x86-64.c (elf_backend_post_process_headers): Don't 1687*ed0d50c3Schristos define for FreeBSD/x86-64 nor FreeBSD/L1OM. Define for L1OM. 1688*ed0d50c3Schristos 1689*ed0d50c3Schristos2011-06-25 Jan Kratochvil <jan.kratochvil@redhat.com> 1690*ed0d50c3Schristos 1691*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize 1692*ed0d50c3Schristos PLT_EH_FRAME. 1693*ed0d50c3Schristos * elf32-i386.c (elf_i386_link_hash_table): Likewise. 1694*ed0d50c3Schristos 1695*ed0d50c3Schristos2011-06-24 Richard Henderson <rth@redhat.com> 1696*ed0d50c3Schristos 1697*ed0d50c3Schristos PR ld/12928 1698*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the 1699*ed0d50c3Schristos tlsgd insn before swapping adjacent insns. 1700*ed0d50c3Schristos 1701*ed0d50c3Schristos2011-06-24 Tristan Gingold <gingold@adacore.com> 1702*ed0d50c3Schristos 1703*ed0d50c3Schristos * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the 1704*ed0d50c3Schristos absolute section. 1705*ed0d50c3Schristos 1706*ed0d50c3Schristos2011-06-24 Alan Modra <amodra@gmail.com> 1707*ed0d50c3Schristos 1708*ed0d50c3Schristos PR ld/12921 1709*ed0d50c3Schristos * elf.c (assign_file_positions_for_load_sections): Don't align 1710*ed0d50c3Schristos sh_offset for all SHT_NOBITS sections here, just .tbss sections 1711*ed0d50c3Schristos that don't get a PT_LOAD. 1712*ed0d50c3Schristos 1713*ed0d50c3Schristos2011-06-22 Kaz Kojima <kkojima@rr.iij4u.or.jp> 1714*ed0d50c3Schristos 1715*ed0d50c3Schristos * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE. 1716*ed0d50c3Schristos (sh_elf_check_relocs): Likewise. 1717*ed0d50c3Schristos 1718*ed0d50c3Schristos2011-06-22 Richard Henderson <rth@redhat.com> 1719*ed0d50c3Schristos 1720*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for 1721*ed0d50c3Schristos TPREL in a PIE image. 1722*ed0d50c3Schristos (alpha_dynamic_entries_for_reloc): Likewise. 1723*ed0d50c3Schristos (elf64_alpha_relocate_section): Allow TPREL in PIE images. 1724*ed0d50c3Schristos (elf64_alpha_relax_got_load): Likewise. 1725*ed0d50c3Schristos 1726*ed0d50c3Schristos2011-06-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 1727*ed0d50c3Schristos 1728*ed0d50c3Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32 1729*ed0d50c3Schristos for PIE. 1730*ed0d50c3Schristos 1731*ed0d50c3Schristos2011-06-22 Alan Modra <amodra@gmail.com> 1732*ed0d50c3Schristos 1733*ed0d50c3Schristos * elflink.c (_bfd_elf_merge_symbol): Allow type changes for 1734*ed0d50c3Schristos plugin symbols. Fix segfault on linker scrip defined syms. 1735*ed0d50c3Schristos 1736*ed0d50c3Schristos2011-06-20 Jakub Jelinek <jakub@redhat.com> 1737*ed0d50c3Schristos 1738*ed0d50c3Schristos PR ld/12570 1739*ed0d50c3Schristos * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations 1740*ed0d50c3Schristos at all for linker created .eh_frame sections. 1741*ed0d50c3Schristos (_bfd_elf_discard_section_eh_frame): Handle linker created 1742*ed0d50c3Schristos .eh_frame sections with no relocations. 1743*ed0d50c3Schristos * elf64-x86-64.c: Include dwarf2.h. 1744*ed0d50c3Schristos (elf_x86_64_eh_frame_plt): New variable. 1745*ed0d50c3Schristos (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, 1746*ed0d50c3Schristos PLT_FDE_LEN_OFFSET): Define. 1747*ed0d50c3Schristos (struct elf_x86_64_link_hash_table): Add plt_eh_frame field. 1748*ed0d50c3Schristos (elf_x86_64_create_dynamic_sections): Create and fill in 1749*ed0d50c3Schristos .eh_frame section for .plt section. 1750*ed0d50c3Schristos (elf_x86_64_size_dynamic_sections): Write .plt section size 1751*ed0d50c3Schristos into .eh_frame FDE covering .plt section. 1752*ed0d50c3Schristos (elf_x86_64_finish_dynamic_sections): Write .plt section 1753*ed0d50c3Schristos start into .eh_frame FDE covering .plt section. Call 1754*ed0d50c3Schristos _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. 1755*ed0d50c3Schristos (elf_backend_plt_alignment): Define to 4. 1756*ed0d50c3Schristos * elf32-i386.c: Include dwarf2.h. 1757*ed0d50c3Schristos (elf_i386_eh_frame_plt): New variable. 1758*ed0d50c3Schristos (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET, 1759*ed0d50c3Schristos PLT_FDE_LEN_OFFSET): Define. 1760*ed0d50c3Schristos (struct elf_i386_link_hash_table): Add plt_eh_frame field. 1761*ed0d50c3Schristos (elf_i386_create_dynamic_sections): Create and fill in 1762*ed0d50c3Schristos .eh_frame section for .plt section. 1763*ed0d50c3Schristos (elf_i386_size_dynamic_sections): Write .plt section size 1764*ed0d50c3Schristos into .eh_frame FDE covering .plt section. 1765*ed0d50c3Schristos (elf_i386_finish_dynamic_sections): Write .plt section 1766*ed0d50c3Schristos start into .eh_frame FDE covering .plt section. Call 1767*ed0d50c3Schristos _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section. 1768*ed0d50c3Schristos (elf_backend_plt_alignment): Define to 4. 1769*ed0d50c3Schristos 1770*ed0d50c3Schristos2011-06-19 H.J. Lu <hongjiu.lu@intel.com> 1771*ed0d50c3Schristos 1772*ed0d50c3Schristos * elf64-x86-64.c (elf_backend_post_process_headers): Defined 1773*ed0d50c3Schristos for x32. 1774*ed0d50c3Schristos 1775*ed0d50c3Schristos2011-06-16 H.J. Lu <hongjiu.lu@intel.com> 1776*ed0d50c3Schristos 1777*ed0d50c3Schristos * elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if 1778*ed0d50c3Schristos CORE_HEADER is defined. 1779*ed0d50c3Schristos (elf_x86_64_write_core_note): New. 1780*ed0d50c3Schristos (elf_backend_write_core_note): Likewise. 1781*ed0d50c3Schristos 1782*ed0d50c3Schristos * hosts/x86-64linux.h (uint64_t): New. 1783*ed0d50c3Schristos (user_regsx32_struct): Likewise. 1784*ed0d50c3Schristos (elf_gregx32_t): Likewise. 1785*ed0d50c3Schristos (ELF_NGREGX32): Likewise. 1786*ed0d50c3Schristos (elf_gregsetx32_t): Likewise. 1787*ed0d50c3Schristos (elf_prstatusx32): Likewise. 1788*ed0d50c3Schristos (prstatusx32_t): Likewise. 1789*ed0d50c3Schristos (user_fpregs32_struct): Removed. 1790*ed0d50c3Schristos (user_fpxregs32_struct): Likewise. 1791*ed0d50c3Schristos (user32): Likewise. 1792*ed0d50c3Schristos (elf_fpregset32_t): Likewise. 1793*ed0d50c3Schristos (elf_fpxregset32_t): Likewise. 1794*ed0d50c3Schristos (prgregset32_t): Likewise. 1795*ed0d50c3Schristos (prfpregset32_t): Likewise. 1796*ed0d50c3Schristos 1797*ed0d50c3Schristos2011-06-16 H.J. Lu <hongjiu.lu@intel.com> 1798*ed0d50c3Schristos 1799*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32. 1800*ed0d50c3Schristos (elf_x86_64_grok_psinfo): Likewise. 1801*ed0d50c3Schristos 1802*ed0d50c3Schristos2011-06-16 Nick Clifton <nickc@redhat.com> 1803*ed0d50c3Schristos 1804*ed0d50c3Schristos * elf.c (elf_find_function): Fail if not provided with a symbol 1805*ed0d50c3Schristos table. 1806*ed0d50c3Schristos 1807*ed0d50c3Schristos2011-06-15 Ulrich Weigand <ulrich.weigand@linaro.org> 1808*ed0d50c3Schristos 1809*ed0d50c3Schristos * elf-bfd.h (elfcore_write_arm_vfp): Add prototype. 1810*ed0d50c3Schristos * elf.c (elfcore_grok_arm_vfp): New function. 1811*ed0d50c3Schristos (elfcore_grok_note): Call it to handle NT_ARM_VFP notes. 1812*ed0d50c3Schristos (elfcore_write_arm_vfp): New function. 1813*ed0d50c3Schristos (elfcore_write_register_note): Call it to handle .reg-arm-vfp. 1814*ed0d50c3Schristos 1815*ed0d50c3Schristos2011-06-14 Richard Henderson <rth@redhat.com> 1816*ed0d50c3Schristos 1817*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from 1818*ed0d50c3Schristos elf64_alpha_merge_ind_symbols; adjust for the generic interface. 1819*ed0d50c3Schristos (elf64_alpha_always_size_sections): Don't call 1820*ed0d50c3Schristos elf64_alpha_merge_ind_symbols. 1821*ed0d50c3Schristos (elf_backend_copy_indirect_symbol): New. 1822*ed0d50c3Schristos 1823*ed0d50c3Schristos2011-06-14 Alan Modra <amodra@gmail.com> 1824*ed0d50c3Schristos 1825*ed0d50c3Schristos PR ld/12887 1826*ed0d50c3Schristos * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type 1827*ed0d50c3Schristos before doing anything. 1828*ed0d50c3Schristos (_bfd_elf_discard_section_eh_frame): Likewise. 1829*ed0d50c3Schristos 1830*ed0d50c3Schristos2011-06-14 Alan Modra <amodra@gmail.com> 1831*ed0d50c3Schristos 1832*ed0d50c3Schristos * Makefile.am: Formatting. 1833*ed0d50c3Schristos * Makefile.in: Regenerate. 1834*ed0d50c3Schristos * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo. 1835*ed0d50c3Schristos * po/SRC-POTFILES.in: Regnerate. 1836*ed0d50c3Schristos 1837*ed0d50c3Schristos2011-06-14 Alan Modra <amodra@gmail.com> 1838*ed0d50c3Schristos 1839*ed0d50c3Schristos * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR. 1840*ed0d50c3Schristos (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *. 1841*ed0d50c3Schristos Don't handle warning symbols here. 1842*ed0d50c3Schristos * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above. 1843*ed0d50c3Schristos (allocate_dynrelocs, readonly_dynrelocs): As above. 1844*ed0d50c3Schristos 1845*ed0d50c3Schristos2011-06-14 Alan Modra <amodra@gmail.com> 1846*ed0d50c3Schristos 1847*ed0d50c3Schristos PR ld/12851 1848*ed0d50c3Schristos * elflink.c (_bfd_elf_gc_mark_extra_sections): New function. 1849*ed0d50c3Schristos (elf_gc_sweep): Don't treat debug and sections like .comment 1850*ed0d50c3Schristos specially here. 1851*ed0d50c3Schristos (bfd_elf_gc_sections): Treat note sections as gc roots only when 1852*ed0d50c3Schristos not part of a group. Always call gc_mark_extra_sections. 1853*ed0d50c3Schristos * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare. 1854*ed0d50c3Schristos * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to 1855*ed0d50c3Schristos _bfd_elf_gc_mark_extra_sections. 1856*ed0d50c3Schristos * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call 1857*ed0d50c3Schristos _bfd_elf_gc_mark_extra_sections. 1858*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise. 1859*ed0d50c3Schristos 1860*ed0d50c3Schristos2011-06-13 Nick Clifton <nickc@redhat.com> 1861*ed0d50c3Schristos 1862*ed0d50c3Schristos * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local 1863*ed0d50c3Schristos variable 'local_got_offsets'. 1864*ed0d50c3Schristos * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise. 1865*ed0d50c3Schristos (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'. 1866*ed0d50c3Schristos 1867*ed0d50c3Schristos2011-06-13 Walter Lee <walt@tilera.com> 1868*ed0d50c3Schristos 1869*ed0d50c3Schristos * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo. 1870*ed0d50c3Schristos (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c. 1871*ed0d50c3Schristos (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo, 1872*ed0d50c3Schristos and elfxx-tilegx.lo. 1873*ed0d50c3Schristos (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and 1874*ed0d50c3Schristos elfxx-tilegx.c. 1875*ed0d50c3Schristos (BFD64_BACKENDS): Add elf64-tilegx.lo. 1876*ed0d50c3Schristos (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c. 1877*ed0d50c3Schristos * Makefile.in: Regenerate. 1878*ed0d50c3Schristos * arctures.c (bfd_architecture): Define bfd_arch_tilepro, 1879*ed0d50c3Schristos bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx. 1880*ed0d50c3Schristos (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch. 1881*ed0d50c3Schristos (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch. 1882*ed0d50c3Schristos bfd-in2.h: Regenerate. 1883*ed0d50c3Schristos * config.bfd: Handle tilegx-*-* and tilepro-*-*. 1884*ed0d50c3Schristos * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec, 1885*ed0d50c3Schristos and bfd_elf64_tilegx_vec. 1886*ed0d50c3Schristos * configure: Regenerate. 1887*ed0d50c3Schristos * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and 1888*ed0d50c3Schristos TILEPRO_ELF_DATA. 1889*ed0d50c3Schristos * libbfd.h: Regenerate. 1890*ed0d50c3Schristos * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT, 1891*ed0d50c3Schristos RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0, 1892*ed0d50c3Schristos IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1, 1893*ed0d50c3Schristos IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI, 1894*ed0d50c3Schristos IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL, 1895*ed0d50c3Schristos IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL, 1896*ed0d50c3Schristos IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL, 1897*ed0d50c3Schristos IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO, 1898*ed0d50c3Schristos IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI, 1899*ed0d50c3Schristos IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0, 1900*ed0d50c3Schristos MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, 1901*ed0d50c3Schristos IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO, 1902*ed0d50c3Schristos IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI, 1903*ed0d50c3Schristos IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE, 1904*ed0d50c3Schristos IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO, 1905*ed0d50c3Schristos IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA, 1906*ed0d50c3Schristos IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32} 1907*ed0d50c3Schristos Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST, 1908*ed0d50c3Schristos HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1, 1909*ed0d50c3Schristos JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1, 1910*ed0d50c3Schristos DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0, 1911*ed0d50c3Schristos SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0, 1912*ed0d50c3Schristos IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2, 1913*ed0d50c3Schristos IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST, 1914*ed0d50c3Schristos IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST, 1915*ed0d50c3Schristos IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL, 1916*ed0d50c3Schristos IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL, 1917*ed0d50c3Schristos IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL, 1918*ed0d50c3Schristos IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL, 1919*ed0d50c3Schristos IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL, 1920*ed0d50c3Schristos IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL, 1921*ed0d50c3Schristos IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT, 1922*ed0d50c3Schristos IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT, 1923*ed0d50c3Schristos IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT, 1924*ed0d50c3Schristos IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT, 1925*ed0d50c3Schristos IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT, 1926*ed0d50c3Schristos IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD, 1927*ed0d50c3Schristos IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD, 1928*ed0d50c3Schristos IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD, 1929*ed0d50c3Schristos IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD, 1930*ed0d50c3Schristos IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD, 1931*ed0d50c3Schristos IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD, 1932*ed0d50c3Schristos IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE, 1933*ed0d50c3Schristos IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE, 1934*ed0d50c3Schristos IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE, 1935*ed0d50c3Schristos IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE, 1936*ed0d50c3Schristos IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE, 1937*ed0d50c3Schristos IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE, 1938*ed0d50c3Schristos IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64, 1939*ed0d50c3Schristos TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32} 1940*ed0d50c3Schristos * targets.c (bfd_elf32_tilegx_vec): Declare. 1941*ed0d50c3Schristos (bfd_elf32_tilepro_vec): Declare. 1942*ed0d50c3Schristos (bfd_elf64_tilegx_vec): Declare. 1943*ed0d50c3Schristos (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec, 1944*ed0d50c3Schristos and bfd_elf64_tilegx_vec. 1945*ed0d50c3Schristos * cpu-tilegx.c: New file. 1946*ed0d50c3Schristos * cpu-tilepro.c: New file. 1947*ed0d50c3Schristos * elf32-tilepro.h: New file. 1948*ed0d50c3Schristos * elf32-tilepro.c: New file. 1949*ed0d50c3Schristos * elf32-tilegx.c: New file. 1950*ed0d50c3Schristos * elf32-tilegx.h: New file. 1951*ed0d50c3Schristos * elf64-tilegx.c: New file. 1952*ed0d50c3Schristos * elf64-tilegx.h: New file. 1953*ed0d50c3Schristos * elfxx-tilegx.c: New file. 1954*ed0d50c3Schristos * elfxx-tilegx.h: New file. 1955*ed0d50c3Schristos 1956*ed0d50c3Schristos2011-06-13 Alan Modra <amodra@gmail.com> 1957*ed0d50c3Schristos 1958*ed0d50c3Schristos * linker.c (bfd_link_hash_traverse): Follow warning symbol link. 1959*ed0d50c3Schristos (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle 1960*ed0d50c3Schristos warning symbols here. 1961*ed0d50c3Schristos * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise. 1962*ed0d50c3Schristos * elf32-arm.c (allocate_dynrelocs_for_symbol, 1963*ed0d50c3Schristos elf32_arm_readonly_dynrelocs): Likewise. 1964*ed0d50c3Schristos * elf32-bfin.c (bfin_discard_copies): Likewise. 1965*ed0d50c3Schristos * elf32-cris.c (elf_cris_adjust_gotplt_to_got, 1966*ed0d50c3Schristos elf_cris_discard_excess_dso_dynamics, 1967*ed0d50c3Schristos elf_cris_discard_excess_program_dynamics): Likewise. 1968*ed0d50c3Schristos * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs, 1969*ed0d50c3Schristos clobber_millicode_symbols, readonly_dynrelocs): Likewise. 1970*ed0d50c3Schristos * elf32-i370.c (i370_elf_adjust_dynindx): Likewise. 1971*ed0d50c3Schristos * elf32-i386.c (elf_i386_allocate_dynrelocs, 1972*ed0d50c3Schristos elf_i386_readonly_dynrelocs): Likewise. 1973*ed0d50c3Schristos * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 1974*ed0d50c3Schristos * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise. 1975*ed0d50c3Schristos * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 1976*ed0d50c3Schristos * elf32-m68k.c (elf_m68k_discard_copies): Likewise. 1977*ed0d50c3Schristos * elf32-microblaze.c (allocate_dynrelocs): Likewise. 1978*ed0d50c3Schristos * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise. 1979*ed0d50c3Schristos * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 1980*ed0d50c3Schristos * elf32-score.c (score_elf_sort_hash_table_f): Likewise. 1981*ed0d50c3Schristos * elf32-score7.c (score_elf_sort_hash_table_f): Likewise. 1982*ed0d50c3Schristos * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 1983*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs, 1984*ed0d50c3Schristos elf32_tic6x_readonly_dynrelocs): Likewise. 1985*ed0d50c3Schristos * elf32-vax.c (elf_vax_discard_copies): Likewise. 1986*ed0d50c3Schristos * elf32-xstormy16.c (xstormy16_relax_plt_check, 1987*ed0d50c3Schristos xstormy16_relax_plt_realloc): Likewise. 1988*ed0d50c3Schristos * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise. 1989*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_output_extsym, 1990*ed0d50c3Schristos elf64_alpha_calc_got_offsets_for_symbol, 1991*ed0d50c3Schristos elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise. 1992*ed0d50c3Schristos * elf64-hppa.c (elf64_hppa_mark_exported_functions, 1993*ed0d50c3Schristos allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions, 1994*ed0d50c3Schristos elf_hppa_unmark_useless_dynamic_symbols, 1995*ed0d50c3Schristos elf_hppa_remark_useless_dynamic_symbols): Likewise. 1996*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust, 1997*ed0d50c3Schristos adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs, 1998*ed0d50c3Schristos readonly_dynrelocs, merge_global_got, reallocate_got, 1999*ed0d50c3Schristos undo_symbol_twiddle): Likewise. 2000*ed0d50c3Schristos * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 2001*ed0d50c3Schristos * elf64-sh64.c (sh64_elf64_discard_copies): Likewise. 2002*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs, 2003*ed0d50c3Schristos elf_x86_64_readonly_dynrelocs): Likewise. 2004*ed0d50c3Schristos * elflink.c (elf_link_renumber_hash_table_dynsyms, 2005*ed0d50c3Schristos elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol, 2006*ed0d50c3Schristos _bfd_elf_link_find_version_dependencies, 2007*ed0d50c3Schristos _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol, 2008*ed0d50c3Schristos _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets, 2009*ed0d50c3Schristos elf_collect_hash_codes, elf_collect_gnu_hash_codes, 2010*ed0d50c3Schristos elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol, 2011*ed0d50c3Schristos elf_gc_propagate_vtable_entries_used, 2012*ed0d50c3Schristos elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol, 2013*ed0d50c3Schristos elf_gc_allocate_got_offsets): Likewise. 2014*ed0d50c3Schristos * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free, 2015*ed0d50c3Schristos elfNN_ia64_global_dyn_sym_thunk): Likewise. 2016*ed0d50c3Schristos * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym, 2017*ed0d50c3Schristos mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise. 2018*ed0d50c3Schristos * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise. 2019*ed0d50c3Schristos * i386linux.c (linux_tally_symbols): Likewise. 2020*ed0d50c3Schristos * m68klinux.c (linux_tally_symbols): Likewise. 2021*ed0d50c3Schristos * sparclinux.c (linux_tally_symbols): Likewise. 2022*ed0d50c3Schristos * sunos.c (sunos_scan_dynamic_symbol): Likewise. 2023*ed0d50c3Schristos * xcofflink.c (xcoff_post_gc_symbol): Likewise. 2024*ed0d50c3Schristos 2025*ed0d50c3Schristos * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse 2026*ed0d50c3Schristos function. Update all callers. 2027*ed0d50c3Schristos * aoutx.h (aout_link_write_other_symbol): Likewise. 2028*ed0d50c3Schristos * pdp11.c (aout_link_write_other_symbol): Likewise. 2029*ed0d50c3Schristos * cofflink.c (_bfd_coff_write_global_sym): Likewise. 2030*ed0d50c3Schristos * ecoff.c (ecoff_link_write_external): Likewise. 2031*ed0d50c3Schristos * xcofflink.c (xcoff_write_global_symbol): Likewise. 2032*ed0d50c3Schristos * vms-alpha.c (alpha_vms_link_output_symbol): Likewise. Handle 2033*ed0d50c3Schristos warning symbols. 2034*ed0d50c3Schristos * ecoff.c (ecoff_link_hash_traverse): Delete. 2035*ed0d50c3Schristos * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for 2036*ed0d50c3Schristos _bfd_coff_write_global_sym. 2037*ed0d50c3Schristos * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype. 2038*ed0d50c3Schristos * libcoff.h: Regenerate. 2039*ed0d50c3Schristos 2040*ed0d50c3Schristos2011-06-10 Nick Clifton <nickc@redhat.com> 2041*ed0d50c3Schristos 2042*ed0d50c3Schristos * elflink.c (_bfd_elf_link_create_dynamic_sections): If the 2043*ed0d50c3Schristos backend does not provide a function for creating dynamic sections 2044*ed0d50c3Schristos then fail. 2045*ed0d50c3Schristos (bfd_elf_final_link): Issue a warning message if a dynamic section 2046*ed0d50c3Schristos has the SHT_NOTE type. 2047*ed0d50c3Schristos (bfd_elf_final_link): Do not look for dynamic strings in a section 2048*ed0d50c3Schristos that does not have the SHT_STRTAB type or the name .dynstr. 2049*ed0d50c3Schristos * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got 2050*ed0d50c3Schristos section is not in the output binary. 2051*ed0d50c3Schristos * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise. 2052*ed0d50c3Schristos 2053*ed0d50c3Schristos2011-06-09 Tristan Gingold <gingold@adacore.com> 2054*ed0d50c3Schristos 2055*ed0d50c3Schristos * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp) 2056*ed0d50c3Schristos (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing 2057*ed0d50c3Schristos spaces. 2058*ed0d50c3Schristos 2059*ed0d50c3Schristos2011-06-09 Tristan Gingold <gingold@adacore.com> 2060*ed0d50c3Schristos 2061*ed0d50c3Schristos * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff. 2062*ed0d50c3Schristos 2063*ed0d50c3Schristos2011-06-09 Nick Clifton <nickc@redhat.com> 2064*ed0d50c3Schristos 2065*ed0d50c3Schristos PR ld/12845 2066*ed0d50c3Schristos * elf.c (_bfd_elf_init_private_section_data): Add an assertion 2067*ed0d50c3Schristos that the output section has an allocated bfd_elf_section_data 2068*ed0d50c3Schristos structure. 2069*ed0d50c3Schristos * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for 2070*ed0d50c3Schristos symbols in sections that have been removed by garbage collection. 2071*ed0d50c3Schristos 2072*ed0d50c3Schristos2011-06-08 H.J. Lu <hongjiu.lu@intel.com> 2073*ed0d50c3Schristos 2074*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64 2075*ed0d50c3Schristos relocations in SEC_DEBUGGING sections when building shared 2076*ed0d50c3Schristos libraries. 2077*ed0d50c3Schristos 2078*ed0d50c3Schristos2011-06-08 H.J. Lu <hongjiu.lu@intel.com> 2079*ed0d50c3Schristos 2080*ed0d50c3Schristos PR ld/12851 2081*ed0d50c3Schristos * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here. 2082*ed0d50c3Schristos (bfd_elf_gc_sections): Also check SHT_NOTE sections. 2083*ed0d50c3Schristos 2084*ed0d50c3Schristos2011-06-08 Tristan Gingold <gingold@adacore.com> 2085*ed0d50c3Schristos 2086*ed0d50c3Schristos * makefile.vms (OBJS): Add elfxx-ia64.obj 2087*ed0d50c3Schristos Remove vax case. 2088*ed0d50c3Schristos 2089*ed0d50c3Schristos2011-06-08 Alan Modra <amodra@gmail.com> 2090*ed0d50c3Schristos 2091*ed0d50c3Schristos * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c, 2092*ed0d50c3Schristos * sco5-core.c: Init match_priority field. 2093*ed0d50c3Schristos 2094*ed0d50c3Schristos2011-06-08 Alan Modra <amodra@gmail.com> 2095*ed0d50c3Schristos 2096*ed0d50c3Schristos * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and 2097*ed0d50c3Schristos indirect links here. 2098*ed0d50c3Schristos 2099*ed0d50c3Schristos2011-06-07 Joel Brobecker <brobecker@adacore.com> 2100*ed0d50c3Schristos 2101*ed0d50c3Schristos * irix-core.c (irix_core_vec): Add match_priority field. 2102*ed0d50c3Schristos 2103*ed0d50c3Schristos2011-06-06 Alan Modra <amodra@gmail.com> 2104*ed0d50c3Schristos 2105*ed0d50c3Schristos * targets.c (bfd_target): Make ar_max_namelen an unsigned char. 2106*ed0d50c3Schristos Add match_priority. 2107*ed0d50c3Schristos * configure.in: Bump bfd version. 2108*ed0d50c3Schristos * elfcode.h (elf_object_p): Delete hacks preventing match of 2109*ed0d50c3Schristos EM_NONE and ELFOSABI_NONE targets when a better match exists. 2110*ed0d50c3Schristos * elfxx-target.h (elf_match_priority): Define and use. 2111*ed0d50c3Schristos * format.c (bfd_check_format_matches): Use target match_priority 2112*ed0d50c3Schristos to choose best of multiple matching targets. In cases with multiple 2113*ed0d50c3Schristos matches rerun _bfd_check_format if we don't choose the last match. 2114*ed0d50c3Schristos * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c, 2115*ed0d50c3Schristos * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c, 2116*ed0d50c3Schristos * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c, 2117*ed0d50c3Schristos * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c, 2118*ed0d50c3Schristos * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h, 2119*ed0d50c3Schristos * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c, 2120*ed0d50c3Schristos * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c, 2121*ed0d50c3Schristos * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c, 2122*ed0d50c3Schristos * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c, 2123*ed0d50c3Schristos * vms-lib.c, * xsym.c: Init match_priority field. 2124*ed0d50c3Schristos * configure: Regenerate. 2125*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2126*ed0d50c3Schristos 2127*ed0d50c3Schristos2011-06-04 H.J. Lu <hongjiu.lu@intel.com> 2128*ed0d50c3Schristos 2129*ed0d50c3Schristos PR ld/12842 2130*ed0d50c3Schristos * elfcode.h (elf_object_p): Revert the last change. 2131*ed0d50c3Schristos 2132*ed0d50c3Schristos2011-06-04 Alan Modra <amodra@gmail.com> 2133*ed0d50c3Schristos 2134*ed0d50c3Schristos * archures.c (bfd_arch_get_compatible): If one arch is unknown, 2135*ed0d50c3Schristos return the other arch. 2136*ed0d50c3Schristos * elfcode.h (elf_object_p): Allow explicit match to generic ELF 2137*ed0d50c3Schristos target. 2138*ed0d50c3Schristos 2139*ed0d50c3Schristos2011-06-03 Bertram Felgenhauer <bertram.felgenhauer@gmail.com> 2140*ed0d50c3Schristos 2141*ed0d50c3Schristos PR ld/12682 2142*ed0d50c3Schristos * hash.c (higher_primer_number): Add more, small, prime numbers. 2143*ed0d50c3Schristos (bfd_hash_set_default_size): Likewise. 2144*ed0d50c3Schristos 2145*ed0d50c3Schristos2011-06-02 Nick Clifton <nickc@redhat.com> 2146*ed0d50c3Schristos 2147*ed0d50c3Schristos * coff-mcore.c: Fix spelling typo. 2148*ed0d50c3Schristos * coff-stgo32.c: Likewise. 2149*ed0d50c3Schristos * elf32-arm.c: Likewise. 2150*ed0d50c3Schristos * elf32-avr.c: Likewise. 2151*ed0d50c3Schristos * elf-m68hc1x.c: Likewise. 2152*ed0d50c3Schristos * elf32-mcore.c: Likewise. 2153*ed0d50c3Schristos * elf32-mep.c: Likewise. 2154*ed0d50c3Schristos * elf32-mt.c: Likewise. 2155*ed0d50c3Schristos * elf32-ppc.c: Likewise. 2156*ed0d50c3Schristos * elf32-xtensa.c: Likewise. 2157*ed0d50c3Schristos * elf64-ppc.c: Likewise. 2158*ed0d50c3Schristos * elfxx-mips.c: Likewise. 2159*ed0d50c3Schristos * netbsd.h: Likewise. 2160*ed0d50c3Schristos * nlmcode.h: Likewise. 2161*ed0d50c3Schristos * vms-alpha.c: Likewise. 2162*ed0d50c3Schristos * po/bfd.pot: Regenerate. 2163*ed0d50c3Schristos * po/SRC-POTFILES.in: Regenerate. 2164*ed0d50c3Schristos 2165*ed0d50c3Schristos2011-06-01 DJ Delorie <dj@redhat.com> 2166*ed0d50c3Schristos 2167*ed0d50c3Schristos * config.bfd: Add bfd_elf32_rx_be_ns_vec. 2168*ed0d50c3Schristos * target.c: Likewise. 2169*ed0d50c3Schristos * configure.in: Likewise. 2170*ed0d50c3Schristos * configure.in: Regenerate. 2171*ed0d50c3Schristos * elf32-rx.c: Add elf32-rx-be-ns target. 2172*ed0d50c3Schristos (rx_elf_object_p): Never allow the be-ns target by default, 2173*ed0d50c3Schristos only allow it if the user requests it. 2174*ed0d50c3Schristos 2175*ed0d50c3Schristos2011-06-01 H.J. Lu <hongjiu.lu@intel.com> 2176*ed0d50c3Schristos 2177*ed0d50c3Schristos * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn 2178*ed0d50c3Schristos relocation in readonly section in a shared object. 2179*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise. 2180*ed0d50c3Schristos 2181*ed0d50c3Schristos2011-05-31 Nick Clifton <nickc@redhat.com> 2182*ed0d50c3Schristos 2183*ed0d50c3Schristos * archive.c (adjust_relative_path): Fix comment to prevent it 2184*ed0d50c3Schristos corrupting the auto-generated bfd.h. 2185*ed0d50c3Schristos 2186*ed0d50c3Schristos2011-05-31 Paul Brook <paul@codesourcery.com> 2187*ed0d50c3Schristos 2188*ed0d50c3Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion 2189*ed0d50c3Schristos for known functions. 2190*ed0d50c3Schristos (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function 2191*ed0d50c3Schristos symbols. 2192*ed0d50c3Schristos 2193*ed0d50c3Schristos2011-05-31 Paul Brook <paul@codesourcery.com> 2194*ed0d50c3Schristos 2195*ed0d50c3Schristos * elf32-arm.c (arm_stub_is_thumb): Add 2196*ed0d50c3Schristos arm_stub_long_branch_v4t_thumb_tls_pic. 2197*ed0d50c3Schristos (elf32_arm_final_link_relocate): TLS stubs are always ARM. 2198*ed0d50c3Schristos Handle Thumb stubs. 2199*ed0d50c3Schristos 2200*ed0d50c3Schristos2011-05-27 Nick Clifton <nickc@redhat.com> 2201*ed0d50c3Schristos 2202*ed0d50c3Schristos PR binutils/12710 2203*ed0d50c3Schristos * archive.c (_bfd_get_elt_at_filepos): Set correct error value if 2204*ed0d50c3Schristos unable to read a file pointed to by an entry in a thin archive. 2205*ed0d50c3Schristos (adjust_relative_path): Use lrealpath to canonicalize paths. 2206*ed0d50c3Schristos Handle the case where the reference path is above the current 2207*ed0d50c3Schristos path in the directory tree. 2208*ed0d50c3Schristos 2209*ed0d50c3Schristos2011-05-26 H.J. Lu <hongjiu.lu@intel.com> 2210*ed0d50c3Schristos 2211*ed0d50c3Schristos PR ld/12809 2212*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Handle 2213*ed0d50c3Schristos R_X86_64_TPOFF64 in executable. 2214*ed0d50c3Schristos 2215*ed0d50c3Schristos2011-05-26 Alan Modra <amodra@gmail.com> 2216*ed0d50c3Schristos 2217*ed0d50c3Schristos * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment. 2218*ed0d50c3Schristos * elflink.c (_bfd_elf_symbol_refs_local_p): Expand 2219*ed0d50c3Schristos local_protected comment. 2220*ed0d50c3Schristos 2221*ed0d50c3Schristos2011-05-25 Tristan Gingold <gingold@adacore.com> 2222*ed0d50c3Schristos 2223*ed0d50c3Schristos * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec) 2224*ed0d50c3Schristos (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec) 2225*ed0d50c3Schristos (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo 2226*ed0d50c3Schristos * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo 2227*ed0d50c3Schristos (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c 2228*ed0d50c3Schristos (elf32-ia64.c): Created from elfnn-ia64.c 2229*ed0d50c3Schristos (elf64-ia64.c): Likewise. 2230*ed0d50c3Schristos * elfxx-ia64.h: New file. 2231*ed0d50c3Schristos * elfxx-ia64.c: Split with elfnn-ia64.c. Keep only the following 2232*ed0d50c3Schristos functions.Includes elfxx-ia64.h. 2233*ed0d50c3Schristos (elfNN_ia64_reloc): Renames to ia64_elf_reloc. Adjust error message. 2234*ed0d50c3Schristos (IA64_HOWTO): Adjust. 2235*ed0d50c3Schristos (lookup_howto): Renames to ia64_elf_lookup_howto. Make it public. 2236*ed0d50c3Schristos (elfNN_ia64_reloc_type_lookup): Renames to 2237*ed0d50c3Schristos ia64_elf_reloc_type_lookup. Make it public. Adjust calls. 2238*ed0d50c3Schristos (elfNN_ia64_reloc_name_lookup): Renames to 2239*ed0d50c3Schristos ia64_elf_reloc_name_lookup. Make it public. 2240*ed0d50c3Schristos (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br. Make it public. 2241*ed0d50c3Schristos (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it 2242*ed0d50c3Schristos public. 2243*ed0d50c3Schristos (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov. 2244*ed0d50c3Schristos Move it and make it public. Move prototype to elfxx-ia64.h 2245*ed0d50c3Schristos (elfNN_ia64_install_value): Renames to ia64_elf_install_value. 2246*ed0d50c3Schristos Move prototype to elfxx-ia64.h 2247*ed0d50c3Schristos * elfnn-ia64.c: New file, split from elfxx-ia64.c. 2248*ed0d50c3Schristos (elfNN_ia64_info_to_howto): Adjust calls. 2249*ed0d50c3Schristos (elfNN_ia64_relax_section): Adjust calls. 2250*ed0d50c3Schristos (count_dyn_reloc): Fix typo. 2251*ed0d50c3Schristos (elfNN_ia64_relocate_section): Adjust calls. 2252*ed0d50c3Schristos (elfNN_ia64_finish_dynamic_symbol): Likewise. 2253*ed0d50c3Schristos (bfd_elfNN_bfd_reloc_type_lookup) 2254*ed0d50c3Schristos (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros. 2255*ed0d50c3Schristos * configure: Regenerate. 2256*ed0d50c3Schristos * Makefile.in: Regenerate. 2257*ed0d50c3Schristos 2258*ed0d50c3Schristos2011-05-23 DJ Delorie <dj@redhat.com> 2259*ed0d50c3Schristos 2260*ed0d50c3Schristos * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo 2261*ed0d50c3Schristos the vma/lma swapping done in elf32_rx_modify_program_headers. 2262*ed0d50c3Schristos 2263*ed0d50c3Schristos2011-05-23 Nick Clifton <nickc@redhat.com> 2264*ed0d50c3Schristos 2265*ed0d50c3Schristos * elf-m10300.c (mn10300_elf_mkobject): New function. 2266*ed0d50c3Schristos (bfd_elf32_mkobject): Define. 2267*ed0d50c3Schristos 2268*ed0d50c3Schristos2011-05-23 Alan Modra <amodra@gmail.com> 2269*ed0d50c3Schristos 2270*ed0d50c3Schristos * elf-bfd.h: Comment typo fix. 2271*ed0d50c3Schristos * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete. Replace with 2272*ed0d50c3Schristos struct elf_dyn_relocs throughout. 2273*ed0d50c3Schristos * elf64-ppc.c (struct ppc_dyn_relocs): Likewise. 2274*ed0d50c3Schristos 2275*ed0d50c3Schristos2011-05-23 Alan Modra <amodra@gmail.com> 2276*ed0d50c3Schristos 2277*ed0d50c3Schristos * elf32-frv.c: Use info->callbacks->einfo throughout file in linker 2278*ed0d50c3Schristos functions rather than warning callback or _bfd_error_handler. 2279*ed0d50c3Schristos * elf32-ppc.c: Likewise. 2280*ed0d50c3Schristos * elf64-ppc.c: Likewise. 2281*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost 2282*ed0d50c3Schristos arg error. 2283*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. 2284*ed0d50c3Schristos 2285*ed0d50c3Schristos2011-05-23 Alan Modra <amodra@gmail.com> 2286*ed0d50c3Schristos 2287*ed0d50c3Schristos PR 12763 2288*ed0d50c3Schristos * elf.c (assign_file_positions_for_load_sections): Set sh_offset for 2289*ed0d50c3Schristos .tbss, and page align same for all SHT_NOBITS sections. 2290*ed0d50c3Schristos 2291*ed0d50c3Schristos2011-05-21 Alan Modra <amodra@gmail.com> 2292*ed0d50c3Schristos 2293*ed0d50c3Schristos PR 12763 2294*ed0d50c3Schristos * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs 2295*ed0d50c3Schristos from PT_TLS header. 2296*ed0d50c3Schristos (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD 2297*ed0d50c3Schristos segment if just for .tbss. 2298*ed0d50c3Schristos (assign_file_positions_for_load_sections): Don't report "can't 2299*ed0d50c3Schristos allocate in segment" errors for .tbss. 2300*ed0d50c3Schristos (assign_file_positions_for_non_load_sections): Don't set p_filesz 2301*ed0d50c3Schristos from SHT_NOBITS section filepos. 2302*ed0d50c3Schristos 2303*ed0d50c3Schristos2011-05-20 Bernd Schmidt <bernds@codesourcery.com> 2304*ed0d50c3Schristos 2305*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for 2306*ed0d50c3Schristos R_C6000_PCR_H16 and R_C6000_PCR_L16. 2307*ed0d50c3Schristos (elf32_tic6x_relocate_section): Handle them. 2308*ed0d50c3Schristos 2309*ed0d50c3Schristos2011-05-18 Nick Clifton <nickc@redhat.com> 2310*ed0d50c3Schristos 2311*ed0d50c3Schristos PR ld/12761 2312*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Process .gnu.warning 2313*ed0d50c3Schristos sections when building shared libraries. 2314*ed0d50c3Schristos 2315*ed0d50c3Schristos2011-05-18 Rafał Krypa <r.krypa@samsung.com> 2316*ed0d50c3Schristos 2317*ed0d50c3Schristos PR ld/12778 2318*ed0d50c3Schristos * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic 2319*ed0d50c3Schristos reloc pointer. 2320*ed0d50c3Schristos 2321*ed0d50c3Schristos2011-05-18 Tristan Gingold <gingold@adacore.com> 2322*ed0d50c3Schristos 2323*ed0d50c3Schristos * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols. 2324*ed0d50c3Schristos (xcoff_sweep): Always keep dwarf sections. 2325*ed0d50c3Schristos (xcoff_link_input_bfd): Handle dwarf symbols and sections. 2326*ed0d50c3Schristos 2327*ed0d50c3Schristos2011-05-18 Tristan Gingold <gingold@adacore.com> 2328*ed0d50c3Schristos 2329*ed0d50c3Schristos * libxcoff.h (struct xcoff_dwsect_name): New type. 2330*ed0d50c3Schristos (XCOFF_DWSECT_NBR_NAMES): New macro. 2331*ed0d50c3Schristos (xcoff_dwsect_names): Declare. 2332*ed0d50c3Schristos * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections. 2333*ed0d50c3Schristos (styp_to_sec_flags): Ditto. 2334*ed0d50c3Schristos (coff_new_section_hook): Ditto. 2335*ed0d50c3Schristos (coff_slurp_symbol_table): Handle C_DWARF and C_INFO. 2336*ed0d50c3Schristos * coff-rs6000.c (xcoff_dwsect_name): New variable. 2337*ed0d50c3Schristos 2338*ed0d50c3Schristos2011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com> 2339*ed0d50c3Schristos 2340*ed0d50c3Schristos PR ld/12759 2341*ed0d50c3Schristos * elf32-rx.c (ignore_lma): New variable. 2342*ed0d50c3Schristos (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter. 2343*ed0d50c3Schristos (rx_modify_program_headers): Only copy the LMA into the VMA if 2344*ed0d50c3Schristos ignore_lma is true. 2345*ed0d50c3Schristos 2346*ed0d50c3Schristos2011-05-17 Alan Modra <amodra@gmail.com> 2347*ed0d50c3Schristos 2348*ed0d50c3Schristos PR ld/12760 2349*ed0d50c3Schristos * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call. 2350*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Likewise. 2351*ed0d50c3Schristos * linker.c (_bfd_generic_link_add_one_symbol): Likewise. 2352*ed0d50c3Schristos 2353*ed0d50c3Schristos2011-05-16 Alan Modra <amodra@gmail.com> 2354*ed0d50c3Schristos 2355*ed0d50c3Schristos * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak. 2356*ed0d50c3Schristos 2357*ed0d50c3Schristos2011-05-15 Richard Sandiford <rdsandiford@googlemail.com> 2358*ed0d50c3Schristos 2359*ed0d50c3Schristos * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and 2360*ed0d50c3Schristos global GOT entries for GOT_PAGE relocations against global symbols. 2361*ed0d50c3Schristos 2362*ed0d50c3Schristos2011-05-13 Bernd Schmidt <bernds@codesourcery.com> 2363*ed0d50c3Schristos 2364*ed0d50c3Schristos * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New. 2365*ed0d50c3Schristos (tic6x-*-*): Replaced by these. 2366*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function. 2367*ed0d50c3Schristos (elf32_tic6x_check_relocs): Create dynamic sections if -shared. 2368*ed0d50c3Schristos (elf_backend_relocs_compatible, elf_backend_post_process_headers): 2369*ed0d50c3Schristos Define. 2370*ed0d50c3Schristos (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM, 2371*ed0d50c3Schristos TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include 2372*ed0d50c3Schristos "elf32-target.h" two more times. 2373*ed0d50c3Schristos * configure.in: Handle bfd_elf32_tic6x_linux_be_vec, 2374*ed0d50c3Schristos bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and 2375*ed0d50c3Schristos bfd_elf32_tic6x_elf_le_vec. 2376*ed0d50c3Schristos * configure: Regenerate. 2377*ed0d50c3Schristos 2378*ed0d50c3Schristos2011-05-13 Jan Beulich <jbeulich@novell.com> 2379*ed0d50c3Schristos 2380*ed0d50c3Schristos * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep. 2381*ed0d50c3Schristos 2382*ed0d50c3Schristos2011-05-12 Jan Kratochvil <jan.kratochvil@redhat.com> 2383*ed0d50c3Schristos 2384*ed0d50c3Schristos * config.in: Regenerated. 2385*ed0d50c3Schristos * configure: Regenerated. 2386*ed0d50c3Schristos * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID, 2387*ed0d50c3Schristos HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and 2388*ed0d50c3Schristos HAVE_PSINFO32_T_PR_PID. 2389*ed0d50c3Schristos * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by 2390*ed0d50c3Schristos HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID 2391*ed0d50c3Schristos and HAVE_PSINFO32_T_PR_PID. 2392*ed0d50c3Schristos * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition. 2393*ed0d50c3Schristos 2394*ed0d50c3Schristos2011-05-10 Jan Kratochvil <jan.kratochvil@redhat.com> 2395*ed0d50c3Schristos 2396*ed0d50c3Schristos * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and 2397*ed0d50c3Schristos 32bit psinfo. 2398*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid. 2399*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise. 2400*ed0d50c3Schristos 2401*ed0d50c3Schristos2011-05-09 Paul Brook <paul@codesourcery.com> 2402*ed0d50c3Schristos 2403*ed0d50c3Schristos * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype. 2404*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2405*ed0d50c3Schristos * elf32-tic6x.c: Include limits.h. 2406*ed0d50c3Schristos (tic6x_unwind_edit_type, tic6x_unwind_table_edit, 2407*ed0d50c3Schristos _tic6x_elf_section_data): New. 2408*ed0d50c3Schristos (elf32_tic6x_section_data): Define. 2409*ed0d50c3Schristos (elf32_tic6x_new_section_hook): Allocate target specific data. 2410*ed0d50c3Schristos (elf32_tic6x_add_unwind_table_edit): New function. 2411*ed0d50c3Schristos (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size, 2412*ed0d50c3Schristos elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31, 2413*ed0d50c3Schristos elf32_tic6x_copy_exidx_entry): New functions. 2414*ed0d50c3Schristos (elf_backend_write_section): Define. 2415*ed0d50c3Schristos 2416*ed0d50c3Schristos2011-05-09 Paul Brook <paul@codesourcery.com> 2417*ed0d50c3Schristos 2418*ed0d50c3Schristos * elf32-tic6x.c (is_tic6x_elf_unwind_section_name, 2419*ed0d50c3Schristos elf32_tic6x_fake_sections): New functions. 2420*ed0d50c3Schristos (elf_backend_fake_sections): Define. 2421*ed0d50c3Schristos 2422*ed0d50c3Schristos2011-05-09 Paul Brook <paul@codesourcery.com> 2423*ed0d50c3Schristos 2424*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function. 2425*ed0d50c3Schristos (elf_backend_gc_mark_extra_sections): Define. 2426*ed0d50c3Schristos 2427*ed0d50c3Schristos2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> 2428*ed0d50c3Schristos 2429*ed0d50c3Schristos PR ld/12365 2430*ed0d50c3Schristos * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about 2431*ed0d50c3Schristos references to symbols defined in discarded sections. 2432*ed0d50c3Schristos 2433*ed0d50c3Schristos2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> 2434*ed0d50c3Schristos 2435*ed0d50c3Schristos PR ld/12365 2436*ed0d50c3Schristos * coffgen.c (coff_write_symbol): Assume input section is its own 2437*ed0d50c3Schristos output section if output_section member not set. 2438*ed0d50c3Schristos (coff_write_alien_symbol): Likewise. 2439*ed0d50c3Schristos 2440*ed0d50c3Schristos2011-05-07 H.J. Lu <hongjiu.lu@intel.com> 2441*ed0d50c3Schristos 2442*ed0d50c3Schristos PR ld/12730 2443*ed0d50c3Schristos * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY. 2444*ed0d50c3Schristos 2445*ed0d50c3Schristos * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors 2446*ed0d50c3Schristos sections if needed. 2447*ed0d50c3Schristos 2448*ed0d50c3Schristos * section.c (SEC_ELF_REVERSE_COPY): New. 2449*ed0d50c3Schristos * bfd-in2.h: Regenerated. 2450*ed0d50c3Schristos 2451*ed0d50c3Schristos2011-05-07 Anders Kaseorg <andersk@ksplice.com> 2452*ed0d50c3Schristos 2453*ed0d50c3Schristos PR 12739 2454*ed0d50c3Schristos * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast. 2455*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2456*ed0d50c3Schristos 2457*ed0d50c3Schristos2011-05-06 Tristan Gingold <gingold@adacore.com> 2458*ed0d50c3Schristos 2459*ed0d50c3Schristos * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY. 2460*ed0d50c3Schristos (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags. Handle 2461*ed0d50c3Schristos any code section. Add comments. 2462*ed0d50c3Schristos (alpha_vms_object_p): Use void * instead of PTR. 2463*ed0d50c3Schristos (alpha_vms_create_eisd_for_section): Fix test for setting DZRO. 2464*ed0d50c3Schristos (build_module_list): Guard against no DST section. Add comments. 2465*ed0d50c3Schristos (alpha_vms_link_output_symbol): Discard undefined symbols. 2466*ed0d50c3Schristos (alpha_vms_get_section_contents): Simply memcpy if the section was 2467*ed0d50c3Schristos already loaded. Fix typo. 2468*ed0d50c3Schristos (vms_new_section_hook): Use void * instead of PTR. 2469*ed0d50c3Schristos (vms_alpha_vec): Ditto. 2470*ed0d50c3Schristos 2471*ed0d50c3Schristos2011-05-06 Richard Sandiford <richard.sandiford@linaro.org> 2472*ed0d50c3Schristos 2473*ed0d50c3Schristos * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb 2474*ed0d50c3Schristos branch to a PLT entry, redirect it to the PLT's Thumb entry point. 2475*ed0d50c3Schristos 2476*ed0d50c3Schristos2011-05-05 Bernd Schmidt <bernds@codesourcery.com> 2477*ed0d50c3Schristos 2478*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_final_link): New function. 2479*ed0d50c3Schristos (elf32_tic6x_merge_attributes): Do not warn for PID or PIC 2480*ed0d50c3Schristos mismatch. Choose the lower of the two values. 2481*ed0d50c3Schristos (bfd_elf32_bfd_final_link): New macro. 2482*ed0d50c3Schristos 2483*ed0d50c3Schristos2011-04-28 Tristan Gingold <gingold@adacore.com> 2484*ed0d50c3Schristos 2485*ed0d50c3Schristos * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file. 2486*ed0d50c3Schristos (bfd_xcoff_swap_aux_out): Ditto. 2487*ed0d50c3Schristos * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto. 2488*ed0d50c3Schristos (bfd_xcoff64_swap_aux_out): Ditto. 2489*ed0d50c3Schristos 2490*ed0d50c3Schristos2011-05-04 Alan Modra <amodra@gmail.com> 2491*ed0d50c3Schristos 2492*ed0d50c3Schristos PR ld/12727 2493*ed0d50c3Schristos * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear 2494*ed0d50c3Schristos was_undefined on dot-symbols. 2495*ed0d50c3Schristos 2496*ed0d50c3Schristos2011-05-03 Paul Brook <paul@codesourcery.com> 2497*ed0d50c3Schristos 2498*ed0d50c3Schristos 2499*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_howto_table, 2500*ed0d50c3Schristos elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook, 2501*ed0d50c3Schristos elf32_tic6x_relocate_section, elf32_tic6x_check_relocs): 2502*ed0d50c3Schristos Add R_C6000_EHTYPE. 2503*ed0d50c3Schristos 2504*ed0d50c3Schristos2011-05-01 Alan Modra <amodra@gmail.com> 2505*ed0d50c3Schristos 2506*ed0d50c3Schristos PR ld/12718 2507*ed0d50c3Schristos * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before 2508*ed0d50c3Schristos creating ifunc sections. 2509*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. 2510*ed0d50c3Schristos 2511*ed0d50c3Schristos2011-04-30 H.J. Lu <hongjiu.lu@intel.com> 2512*ed0d50c3Schristos 2513*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter 2514*ed0d50c3Schristos names. 2515*ed0d50c3Schristos 2516*ed0d50c3Schristos2011-04-28 Tom Tromey <tromey@redhat.com> 2517*ed0d50c3Schristos 2518*ed0d50c3Schristos * bfdio.c (memory_bstat): Pass correct size to memset. 2519*ed0d50c3Schristos 2520*ed0d50c3Schristos2011-04-28 Mike Frysinger <vapier@gentoo.org> 2521*ed0d50c3Schristos 2522*ed0d50c3Schristos * dwarf2.c (dwarf_debug_sections): Mark const. 2523*ed0d50c3Schristos * elf.c (special_sections): Likewise. 2524*ed0d50c3Schristos * libbfd-in.h (dwarf_debug_sections): Likewise. 2525*ed0d50c3Schristos * libbfd.h: Regenerate. 2526*ed0d50c3Schristos 2527*ed0d50c3Schristos2011-04-26 Kai Tietz <ktietz@redhat.com> 2528*ed0d50c3Schristos 2529*ed0d50c3Schristos * coffcode.h (sec_to_styp_flags): Allow linkonce for 2530*ed0d50c3Schristos debugging sections. 2531*ed0d50c3Schristos 2532*ed0d50c3Schristos2011-04-26 Tristan Gingold <gingold@adacore.com> 2533*ed0d50c3Schristos 2534*ed0d50c3Schristos * coff64-rs6000.c: Convert to ISO-C. Remove PARAMS and PTR macros. 2535*ed0d50c3Schristos 2536*ed0d50c3Schristos2011-04-24 Alan Modra <amodra@gmail.com> 2537*ed0d50c3Schristos 2538*ed0d50c3Schristos PR ld/12365 2539*ed0d50c3Schristos PR ld/12696 2540*ed0d50c3Schristos * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call. 2541*ed0d50c3Schristos * linker.c (_bfd_link_hash_newfunc): Clear bitfields. 2542*ed0d50c3Schristos (_bfd_generic_link_add_one_symbol): Update "notice" call. 2543*ed0d50c3Schristos * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when 2544*ed0d50c3Schristos it is a redef of an IR symbol in a real BFD. 2545*ed0d50c3Schristos 2546*ed0d50c3Schristos2011-04-22 H.J. Lu <hongjiu.lu@intel.com> 2547*ed0d50c3Schristos 2548*ed0d50c3Schristos * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation 2549*ed0d50c3Schristos in readonly section in a shared object. 2550*ed0d50c3Schristos (elf_i386_size_dynamic_sections): Likewise. 2551*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. 2552*ed0d50c3Schristos (elf_x86_64_size_dynamic_sections): Likewise. 2553*ed0d50c3Schristos 2554*ed0d50c3Schristos2011-04-21 H.J. Lu <hongjiu.lu@intel.com> 2555*ed0d50c3Schristos 2556*ed0d50c3Schristos PR ld/12694 2557*ed0d50c3Schristos * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC 2558*ed0d50c3Schristos symbols. 2559*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise. 2560*ed0d50c3Schristos 2561*ed0d50c3Schristos2011-04-21 H.J. Lu <hongjiu.lu@intel.com> 2562*ed0d50c3Schristos 2563*ed0d50c3Schristos * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false 2564*ed0d50c3Schristos on dynamic symbol error. 2565*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise. 2566*ed0d50c3Schristos 2567*ed0d50c3Schristos2011-04-20 Tristan Gingold <gingold@adacore.com> 2568*ed0d50c3Schristos 2569*ed0d50c3Schristos * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs. 2570*ed0d50c3Schristos 2571*ed0d50c3Schristos2011-04-20 Alan Modra <amodra@gmail.com> 2572*ed0d50c3Schristos 2573*ed0d50c3Schristos * hash.c (bfd_default_hash_table_size): Make it an unsigned long. 2574*ed0d50c3Schristos (bfd_hash_table_init_n): Overflow checking. 2575*ed0d50c3Schristos (bfd_hash_set_default_size): Return current size. Take unsigned long 2576*ed0d50c3Schristos arg. Add 65537 to hash_size primes. 2577*ed0d50c3Schristos * bfd-in.h (bfd_hash_set_default_size): Update prototype. 2578*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2579*ed0d50c3Schristos 2580*ed0d50c3Schristos2011-04-20 Jan Kratochvil <jan.kratochvil@redhat.com> 2581*ed0d50c3Schristos 2582*ed0d50c3Schristos * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of 2583*ed0d50c3Schristos memmove elements. 2584*ed0d50c3Schristos 2585*ed0d50c3Schristos2011-04-20 Alan Modra <amodra@gmail.com> 2586*ed0d50c3Schristos 2587*ed0d50c3Schristos * libbfd.c (bfd_log2): Do return rounded up value. 2588*ed0d50c3Schristos * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2 2589*ed0d50c3Schristos call with expanded old round down version of the function. 2590*ed0d50c3Schristos 2591*ed0d50c3Schristos * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd. 2592*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Delete redundant code. 2593*ed0d50c3Schristos 2594*ed0d50c3Schristos2011-04-20 Alan Modra <amodra@gmail.com> 2595*ed0d50c3Schristos 2596*ed0d50c3Schristos PR ld/12365 2597*ed0d50c3Schristos * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols 2598*ed0d50c3Schristos in their own common section. 2599*ed0d50c3Schristos * elflink.c (elf_link_add_object_symbols): Likewise. 2600*ed0d50c3Schristos * linker.c (generic_link_check_archive_element): Don't lose flags 2601*ed0d50c3Schristos if common section is pre-existing. 2602*ed0d50c3Schristos (_bfd_generic_link_add_one_symbol): Likewise. 2603*ed0d50c3Schristos 2604*ed0d50c3Schristos2011-04-20 Alan Modra <amodra@gmail.com> 2605*ed0d50c3Schristos 2606*ed0d50c3Schristos PR ld/12365 2607*ed0d50c3Schristos * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls. 2608*ed0d50c3Schristos * linker.c (_bfd_generic_link_add_one_symbol): Likewise. Call 2609*ed0d50c3Schristos multiple_definition regardless of allow_multiple_definition. 2610*ed0d50c3Schristos * simple.c (simple_dummy_multiple_definition): Update. 2611*ed0d50c3Schristos * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition 2612*ed0d50c3Schristos calls. 2613*ed0d50c3Schristos 2614*ed0d50c3Schristos2011-04-18 Tristan Gingold <gingold@adacore.com> 2615*ed0d50c3Schristos 2616*ed0d50c3Schristos * coff-rs6000.c: Convert to ISO-C. Remove PARAMS macro. 2617*ed0d50c3Schristos 2618*ed0d50c3Schristos2011-04-18 Alan Modra <amodra@gmail.com> 2619*ed0d50c3Schristos 2620*ed0d50c3Schristos PR ld/12365 2621*ed0d50c3Schristos PR ld/12672 2622*ed0d50c3Schristos * bfd.c (BFD_PLUGIN): Define. 2623*ed0d50c3Schristos (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN. 2624*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2625*ed0d50c3Schristos * elflink.c (elf_link_output_extsym): Strip undefined plugin syms. 2626*ed0d50c3Schristos * opncls.c (bfd_make_readable): Don't lose original bfd flags. 2627*ed0d50c3Schristos 2628*ed0d50c3Schristos2011-04-17 Jan Kratochvil <jan.kratochvil@redhat.com> 2629*ed0d50c3Schristos 2630*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for 2631*ed0d50c3Schristos SEC_LOAD. 2632*ed0d50c3Schristos 2633*ed0d50c3Schristos2011-04-15 Sergio Durigan Junior <sergiodj@redhat.com> 2634*ed0d50c3Schristos 2635*ed0d50c3Schristos * elf-bfd.h (struct sdt_note): New struct. 2636*ed0d50c3Schristos (struct elf_obj_tdata) <sdt_note_head>: New field. 2637*ed0d50c3Schristos * elf.c (elfobj_grok_stapsdt_note_1): New function. 2638*ed0d50c3Schristos (elfobj_grok_stapsdt_note): Likewise. 2639*ed0d50c3Schristos (elf_parse_notes): Added code to treat SystemTap note 2640*ed0d50c3Schristos sections. 2641*ed0d50c3Schristos 2642*ed0d50c3Schristos2011-04-12 Richard Henderson <rth@redhat.com> 2643*ed0d50c3Schristos 2644*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not 2645*ed0d50c3Schristos exclude empty .got sections. 2646*ed0d50c3Schristos 2647*ed0d50c3Schristos2011-04-11 H.J. Lu <hongjiu.lu@intel.com> 2648*ed0d50c3Schristos 2649*ed0d50c3Schristos * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound 2650*ed0d50c3Schristos array access for BFD_RELOC_386_IRELATIVE. 2651*ed0d50c3Schristos 2652*ed0d50c3Schristos2011-04-11 Bernd Schmidt <bernds@codesourcery.com> 2653*ed0d50c3Schristos 2654*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field. 2655*ed0d50c3Schristos 2656*ed0d50c3Schristos2011-04-11 Mark Wielaard <mjw@redhat.com> 2657*ed0d50c3Schristos 2658*ed0d50c3Schristos PR 10549 2659*ed0d50c3Schristos * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols. 2660*ed0d50c3Schristos (has_gnu_symbols): Renamed from has_ifunc_symbols. 2661*ed0d50c3Schristos * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name. 2662*ed0d50c3Schristos * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols 2663*ed0d50c3Schristos also if STB_GNU_UNIQUE symbol binding was seen. 2664*ed0d50c3Schristos * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. 2665*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. 2666*ed0d50c3Schristos * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. 2667*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. 2668*ed0d50c3Schristos * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. 2669*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. 2670*ed0d50c3Schristos 2671*ed0d50c3Schristos2011-04-11 Alan Modra <amodra@gmail.com> 2672*ed0d50c3Schristos 2673*ed0d50c3Schristos * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output 2674*ed0d50c3Schristos sections. 2675*ed0d50c3Schristos * libbfd.c (_bfd_generic_get_section_contents): Likewise. 2676*ed0d50c3Schristos (_bfd_generic_get_section_contents_in_window): Likewise. 2677*ed0d50c3Schristos * section.c (bfd_get_section_contents): Likewise. 2678*ed0d50c3Schristos * compress.c (bfd_get_full_section_contents): Likewise. 2679*ed0d50c3Schristos * elf32-rx.c (rx_final_link): Ignore rawsize. 2680*ed0d50c3Schristos * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct 2681*ed0d50c3Schristos bfd with bfd_get_section_limit. 2682*ed0d50c3Schristos * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter. Use 2683*ed0d50c3Schristos os->size during final link. Update callers. 2684*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2685*ed0d50c3Schristos 2686*ed0d50c3Schristos2011-04-10 Richard Sandiford <rdsandiford@googlemail.com> 2687*ed0d50c3Schristos 2688*ed0d50c3Schristos PR ld/12637 2689*ed0d50c3Schristos * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count 2690*ed0d50c3Schristos as the number of global entries when merging with the primary GOT. 2691*ed0d50c3Schristos 2692*ed0d50c3Schristos2011-04-09 H.J. Lu <hongjiu.lu@intel.com> 2693*ed0d50c3Schristos 2694*ed0d50c3Schristos * elf32-i386.c: Update copyright year. 2695*ed0d50c3Schristos * elf64-x86-64.c: Likewise. 2696*ed0d50c3Schristos 2697*ed0d50c3Schristos2011-04-09 Kai Tietz <ktietz@redhat.com> 2698*ed0d50c3Schristos 2699*ed0d50c3Schristos * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary 2700*ed0d50c3Schristos buffer and use rawsize for sorting. 2701*ed0d50c3Schristos * coffcode.h (coff_compute_section_file_positions): Set rawsize 2702*ed0d50c3Schristos before doing alignment. 2703*ed0d50c3Schristos 2704*ed0d50c3Schristos2011-04-09 H.J. Lu <hongjiu.lu@intel.com> 2705*ed0d50c3Schristos 2706*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Return relocation 2707*ed0d50c3Schristos error on unsupported relocation. 2708*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. 2709*ed0d50c3Schristos 2710*ed0d50c3Schristos2011-04-09 H.J. Lu <hongjiu.lu@intel.com> 2711*ed0d50c3Schristos 2712*ed0d50c3Schristos PR binutils/12657 2713*ed0d50c3Schristos * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with 2714*ed0d50c3Schristos pid_t. 2715*ed0d50c3Schristos 2716*ed0d50c3Schristos2011-04-08 H.J. Lu <hongjiu.lu@intel.com> 2717*ed0d50c3Schristos 2718*ed0d50c3Schristos PR ld/12654 2719*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Check !executable 2720*ed0d50c3Schristos instead of shared for R_386_TLS_LDO_32. 2721*ed0d50c3Schristos 2722*ed0d50c3Schristos2011-04-08 Tristan Gingold <gingold@adacore.com> 2723*ed0d50c3Schristos 2724*ed0d50c3Schristos * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h 2725*ed0d50c3Schristos * coff-pmac: Remove 2726*ed0d50c3Schristos * xcoff-target.h: Remove 2727*ed0d50c3Schristos * Makefile.in: Regenerate. 2728*ed0d50c3Schristos 2729*ed0d50c3Schristos2011-04-07 Cary Coutant <ccoutant@google.com> 2730*ed0d50c3Schristos 2731*ed0d50c3Schristos * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification. 2732*ed0d50c3Schristos 2733*ed0d50c3Schristos2011-04-07 Paul Brook <paul@codesourcery.com> 2734*ed0d50c3Schristos 2735*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is 2736*ed0d50c3Schristos pc-relative. 2737*ed0d50c3Schristos (elf32_tic6x_howto_table_rel): Ditto. 2738*ed0d50c3Schristos (elf32_tic6x_relocate_section): Implement R_C6000_PREL31. 2739*ed0d50c3Schristos (elf32_tic6x_check_relocs): Ditto. 2740*ed0d50c3Schristos 2741*ed0d50c3Schristos2011-04-06 Joseph Myers <joseph@codesourcery.com> 2742*ed0d50c3Schristos 2743*ed0d50c3Schristos * config.bfd (thumb-*-oabi): Don't handle in list of obsolete 2744*ed0d50c3Schristos targets. 2745*ed0d50c3Schristos (strongarm*, thumb*, xscale*): Remove architectures. 2746*ed0d50c3Schristos (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*, 2747*ed0d50c3Schristos thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf, 2748*ed0d50c3Schristos xscale-*-coff): Remove targets. 2749*ed0d50c3Schristos 2750*ed0d50c3Schristos2011-04-01 Tristan Gingold <gingold@adacore.com> 2751*ed0d50c3Schristos 2752*ed0d50c3Schristos * elfxx-ia64.c: include bfd_stdint.h 2753*ed0d50c3Schristos 2754*ed0d50c3Schristos2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com> 2755*ed0d50c3Schristos 2756*ed0d50c3Schristos * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable 2757*ed0d50c3Schristos dynobj and its initialization. 2758*ed0d50c3Schristos 2759*ed0d50c3Schristos2011-03-31 Tristan Gingold <gingold@adacore.com> 2760*ed0d50c3Schristos 2761*ed0d50c3Schristos * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec. 2762*ed0d50c3Schristos * configure.com: Set BFD_HOST_64BIT_LONG_LONG and 2763*ed0d50c3Schristos BFD_HOST_LONG_LONG to 1. 2764*ed0d50c3Schristos 2765*ed0d50c3Schristos2011-03-31 Tristan Gingold <gingold@adacore.com> 2766*ed0d50c3Schristos 2767*ed0d50c3Schristos * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning. 2768*ed0d50c3Schristos (_bfd_vms_write_etir): Ditto. 2769*ed0d50c3Schristos (_bfd_vms_slurp_etir): Avoid to use intptr_t 2770*ed0d50c3Schristos * configure.com: Generate bfd_stdint.h 2771*ed0d50c3Schristos 2772*ed0d50c3Schristos2011-03-31 Bernd Schmidt <bernds@codesourcery.com> 2773*ed0d50c3Schristos 2774*ed0d50c3Schristos * elf32-tic6x.h (struct elf32_tic6x_params): New. 2775*ed0d50c3Schristos (elf32_tic6x_setup): Declare. 2776*ed0d50c3Schristos * elf32-tic6x.c: Include <limits.h>. 2777*ed0d50c3Schristos (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define. 2778*ed0d50c3Schristos (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry): 2779*ed0d50c3Schristos New structures. 2780*ed0d50c3Schristos (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros. 2781*ed0d50c3Schristos (tic6x_elf_scom_section, tic6x_elf_scom_symbol, 2782*ed0d50c3Schristos tic6x_elf_scom_symbol_ptr): New static variables. 2783*ed0d50c3Schristos (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel, 2784*ed0d50c3Schristos elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE, 2785*ed0d50c3Schristos R_C6000_PCR_H16 and R_C6000_PCR_L16. 2786*ed0d50c3Schristos (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create, 2787*ed0d50c3Schristos elf32_tic6x_link_hash_table_free, elf32_tic6x_setup, 2788*ed0d50c3Schristos elf32_tic6x_using_dsbt, elf32_tic6x_install_rela, 2789*ed0d50c3Schristos elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc, 2790*ed0d50c3Schristos elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook, 2791*ed0d50c3Schristos elf32_tic6x_adjust_dynamic_symbol): New static functions. 2792*ed0d50c3Schristos (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches 2793*ed0d50c3Schristos to weak symbols as required by the ABI. 2794*ed0d50c3Schristos Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file 2795*ed0d50c3Schristos as needed when generating DSBT output. 2796*ed0d50c3Schristos (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook, 2797*ed0d50c3Schristos elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section, 2798*ed0d50c3Schristos elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections, 2799*ed0d50c3Schristos elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers, 2800*ed0d50c3Schristos elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val, 2801*ed0d50c3Schristos elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym): 2802*ed0d50c3Schristos New static functions. 2803*ed0d50c3Schristos (ELF_MAXPAGESIZE): Define to 0x1000. 2804*ed0d50c3Schristos (bfd_elf32_bfd_copy_private_bfd_data, 2805*ed0d50c3Schristos bfd_elf32_bfd_link_hash_table_create, 2806*ed0d50c3Schristos bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount, 2807*ed0d50c3Schristos elf_backend_want_got_plt, elf_backend_want_dynbss, 2808*ed0d50c3Schristos elf_backend_plt_readonly, elf_backend_got_header_size, 2809*ed0d50c3Schristos elf_backend_gc_sweep_hook, elf_backend_modify_program_headers, 2810*ed0d50c3Schristos elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol, 2811*ed0d50c3Schristos elf_backend_check_relocs, elf_backend_add_symbol_hook, 2812*ed0d50c3Schristos elf_backend_symbol_processing, elf_backend_link_output_symbol_hook, 2813*ed0d50c3Schristos elf_backend_section_from_bfd_section, 2814*ed0d50c3Schristos elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections, 2815*ed0d50c3Schristos elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections, 2816*ed0d50c3Schristos elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define. 2817*ed0d50c3Schristos 2818*ed0d50c3Schristos * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE, 2819*ed0d50c3Schristos BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add. 2820*ed0d50c3Schristos * bfd/bfd-in2.h: Regenerate. 2821*ed0d50c3Schristos * bfd/libbfd.h: Regenerate. 2822*ed0d50c3Schristos * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf. 2823*ed0d50c3Schristos 2824*ed0d50c3Schristos2011-03-31 Tristan Gingold <gingold@adacore.com> 2825*ed0d50c3Schristos 2826*ed0d50c3Schristos * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL 2827*ed0d50c3Schristos entry on xcoff when value is C_NULL_VALUE. 2828*ed0d50c3Schristos 2829*ed0d50c3Schristos2011-03-31 Tristan Gingold <gingold@adacore.com> 2830*ed0d50c3Schristos 2831*ed0d50c3Schristos * libcoff-in.h (exec_hdr): Remove. 2832*ed0d50c3Schristos * libcoff.h: Regenerate. 2833*ed0d50c3Schristos 2834*ed0d50c3Schristos2011-03-30 Nick Clifton <nickc@redhat.com> 2835*ed0d50c3Schristos 2836*ed0d50c3Schristos * po/da.po: Updated Danish translation. 2837*ed0d50c3Schristos 2838*ed0d50c3Schristos2011-03-29 Richard Henderson <rth@redhat.com> 2839*ed0d50c3Schristos 2840*ed0d50c3Schristos * elf64-alpha.c (elf64_alpha_gc_mark_hook): New. 2841*ed0d50c3Schristos (elf64_alpha_gc_sweep_hook): New. 2842*ed0d50c3Schristos (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New. 2843*ed0d50c3Schristos (elf_backend_can_gc_sections): New. 2844*ed0d50c3Schristos 2845*ed0d50c3Schristos2011-03-26 John Marino <binutils@marino.st> 2846*ed0d50c3Schristos 2847*ed0d50c3Schristos * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*. 2848*ed0d50c3Schristos * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec. 2849*ed0d50c3Schristos * configure: Regenerate. 2850*ed0d50c3Schristos 2851*ed0d50c3Schristos2011-03-25 Michael Snyder <msnyder@vmware.com> 2852*ed0d50c3Schristos 2853*ed0d50c3Schristos * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek. 2854*ed0d50c3Schristos 2855*ed0d50c3Schristos2011-03-25 Tristan Gingold <gingold@adacore.com> 2856*ed0d50c3Schristos 2857*ed0d50c3Schristos * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use 2858*ed0d50c3Schristos of find_nearest_line on object files. 2859*ed0d50c3Schristos 2860*ed0d50c3Schristos2011-03-25 Tristan Gingold <gingold@adacore.com> 2861*ed0d50c3Schristos 2862*ed0d50c3Schristos * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only. 2863*ed0d50c3Schristos Minor reordering. 2864*ed0d50c3Schristos (alpha_vms_create_eisd_for_section): Make code sections read-only. 2865*ed0d50c3Schristos 2866*ed0d50c3Schristos2011-03-24 Alan Modra <amodra@gmail.com> 2867*ed0d50c3Schristos 2868*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where 2869*ed0d50c3Schristos old-style __tls_get_addr calls without marker relocs don't match 2870*ed0d50c3Schristos their arg setup insn one for one. If such mismatches are found 2871*ed0d50c3Schristos report the reloc and don't do any tls optimization. 2872*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise. 2873*ed0d50c3Schristos 2874*ed0d50c3Schristos2011-03-22 Eric B. Weddington <eric.weddington@atmel.com> 2875*ed0d50c3Schristos 2876*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2877*ed0d50c3Schristos 2878*ed0d50c3Schristos2011-03-22 Eric B. Weddington <eric.weddington@atmel.com> 2879*ed0d50c3Schristos 2880*ed0d50c3Schristos * archures.c: Add AVR XMEGA architecture information. 2881*ed0d50c3Schristos * cpu-avr.c (arch_info_struct): Likewise. 2882*ed0d50c3Schristos * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. 2883*ed0d50c3Schristos (elf32_avr_object_p): Likewise. 2884*ed0d50c3Schristos 2885*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 2886*ed0d50c3Schristos 2887*ed0d50c3Schristos * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation. 2888*ed0d50c3Schristos * bfd-in2.h: Regenerate. 2889*ed0d50c3Schristos * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition 2890*ed0d50c3Schristos to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE 2891*ed0d50c3Schristos entry. 2892*ed0d50c3Schristos (elf32_arm_howto_from_type): Update accordingly. 2893*ed0d50c3Schristos (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE. 2894*ed0d50c3Schristos (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3. 2895*ed0d50c3Schristos (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry 2896*ed0d50c3Schristos with an extra noncall_refcount field. 2897*ed0d50c3Schristos (arm_local_iplt_info): New structure. 2898*ed0d50c3Schristos (elf_arm_obj_tdata): Add local_iplt. 2899*ed0d50c3Schristos (elf32_arm_local_iplt): New accessor macro. 2900*ed0d50c3Schristos (elf32_arm_link_hash_entry): Replace plt_thumb_refcount, 2901*ed0d50c3Schristos plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info. 2902*ed0d50c3Schristos Change tls_type to a bitfield and add is_iplt. 2903*ed0d50c3Schristos (elf32_arm_link_hash_newfunc): Update accordingly. 2904*ed0d50c3Schristos (elf32_arm_allocate_local_sym_info): New function. 2905*ed0d50c3Schristos (elf32_arm_create_local_iplt): Likewise. 2906*ed0d50c3Schristos (elf32_arm_get_plt_info): Likewise. 2907*ed0d50c3Schristos (elf32_arm_plt_needs_thumb_stub_p): Likewise. 2908*ed0d50c3Schristos (elf32_arm_get_local_dynreloc_list): Likewise. 2909*ed0d50c3Schristos (create_ifunc_sections): Likewise. 2910*ed0d50c3Schristos (elf32_arm_copy_indirect_symbol): Update after the changes to 2911*ed0d50c3Schristos elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set. 2912*ed0d50c3Schristos (arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info 2913*ed0d50c3Schristos to get PLT information. Assert that all STT_GNU_IFUNC references 2914*ed0d50c3Schristos are turned into PLT references. 2915*ed0d50c3Schristos (arm_build_one_stub): Pass the symbol type to 2916*ed0d50c3Schristos elf32_arm_final_link_relocate. 2917*ed0d50c3Schristos (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub. 2918*ed0d50c3Schristos (elf32_arm_allocate_irelocs): New function. 2919*ed0d50c3Schristos (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for 2920*ed0d50c3Schristos all R_ARM_IRELATIVE. 2921*ed0d50c3Schristos (elf32_arm_allocate_plt_entry): New function. 2922*ed0d50c3Schristos (elf32_arm_populate_plt_entry): Likewise. 2923*ed0d50c3Schristos (elf32_arm_final_link_relocate): Add an st_type parameter. 2924*ed0d50c3Schristos Set srelgot to null for static objects. Use separate variables 2925*ed0d50c3Schristos to record which st_value and st_type should be used when generating 2926*ed0d50c3Schristos a dynamic relocation. Use elf32_arm_get_plt_info to find the 2927*ed0d50c3Schristos symbol's PLT information, setting has_iplt_entry, splt, 2928*ed0d50c3Schristos plt_offset and gotplt_offset accordingly. Check whether 2929*ed0d50c3Schristos STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change 2930*ed0d50c3Schristos the relocation target accordingly. Broaden assert to include 2931*ed0d50c3Schristos .iplts. Don't set sreloc for static relocations. Assert that 2932*ed0d50c3Schristos we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32 2933*ed0d50c3Schristos and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead 2934*ed0d50c3Schristos of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC 2935*ed0d50c3Schristos symbol. Pass the symbol type to arm_type_of_stub. Conditionally 2936*ed0d50c3Schristos resolve GOT references to the .igot.plt entry. 2937*ed0d50c3Schristos (elf32_arm_relocate_section): Update the call to 2938*ed0d50c3Schristos elf32_arm_final_link_relocate. 2939*ed0d50c3Schristos (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT 2940*ed0d50c3Schristos information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call 2941*ed0d50c3Schristos relocations in shared libraries and relocatable executables. 2942*ed0d50c3Schristos Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list 2943*ed0d50c3Schristos to get the list of dynamic relocations for a local symbol. 2944*ed0d50c3Schristos (elf32_arm_check_relocs): Always create ifunc sections. Set isym 2945*ed0d50c3Schristos at the same time as setting h. Use elf32_arm_allocate_local_sym_info 2946*ed0d50c3Schristos to allocate local symbol information. Treat R_ARM_REL32 and 2947*ed0d50c3Schristos R_ARM_REL32_NOI as call relocations in shared libraries and 2948*ed0d50c3Schristos relocatable executables. Record PLT information for local 2949*ed0d50c3Schristos STT_GNU_IFUNC functions as well as global functions. Count 2950*ed0d50c3Schristos non-call PLT references. Use elf32_arm_get_local_dynreloc_list 2951*ed0d50c3Schristos to get the list of dynamic relocations for a local symbol. 2952*ed0d50c3Schristos (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols. 2953*ed0d50c3Schristos Don't remove STT_GNU_IFUNC PLTs unless all references have been 2954*ed0d50c3Schristos removed. Update after the changes to elf32_arm_link_hash_entry. 2955*ed0d50c3Schristos (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT 2956*ed0d50c3Schristos entries should live in .plt or .iplt. Check whether the .igot.plt 2957*ed0d50c3Schristos and .got entries can be combined. Use elf32_arm_allocate_plt_entry 2958*ed0d50c3Schristos to allocate .plt and .(i)got.plt entries. Detect which .got 2959*ed0d50c3Schristos entries will need R_ARM_IRELATIVE relocations and use 2960*ed0d50c3Schristos elf32_arm_allocate_irelocs to allocate them. Likewise other 2961*ed0d50c3Schristos non-.got dynamic relocations. 2962*ed0d50c3Schristos (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt 2963*ed0d50c3Schristos and dynamic relocations for local STT_GNU_IFUNC symbols. 2964*ed0d50c3Schristos Check whether the .igot.plt and .got entries can be combined. 2965*ed0d50c3Schristos Detect which .got entries will need R_ARM_IRELATIVE relocations 2966*ed0d50c3Schristos and use elf32_arm_allocate_irelocs to allocate them. Use stashed 2967*ed0d50c3Schristos section pointers intead of strcmp checks. Handle iplt and igotplt. 2968*ed0d50c3Schristos (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry 2969*ed0d50c3Schristos to fill in .plt, .got.plt and .rel(a).plt entries. Point 2970*ed0d50c3Schristos STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations 2971*ed0d50c3Schristos resolve to it. 2972*ed0d50c3Schristos (elf32_arm_output_plt_map_1): New function, split out from 2973*ed0d50c3Schristos elf32_arm_output_plt_map. Handle .iplt entries. Use 2974*ed0d50c3Schristos elf32_arm_plt_needs_thumb_stub_p. 2975*ed0d50c3Schristos (elf32_arm_output_plt_map): Call it. 2976*ed0d50c3Schristos (elf32_arm_output_arch_local_syms): Add mapping symbols for 2977*ed0d50c3Schristos local .iplt entries. 2978*ed0d50c3Schristos (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols. 2979*ed0d50c3Schristos (elf32_arm_swap_symbol_out): Likewise. 2980*ed0d50c3Schristos (elf32_arm_add_symbol_hook): New function. 2981*ed0d50c3Schristos (elf_backend_add_symbol_hook): Define for all targets. 2982*ed0d50c3Schristos 2983*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 2984*ed0d50c3Schristos 2985*ed0d50c3Schristos * elf-bfd.h (elf_link_hash_entry): Add target_internal. 2986*ed0d50c3Schristos * elf.c (swap_out_syms): Set st_target_internal for each 2987*ed0d50c3Schristos Elf_Internal_Sym. 2988*ed0d50c3Schristos * elfcode.h (elf_swap_symbol_in): Likewise. 2989*ed0d50c3Schristos * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise. 2990*ed0d50c3Schristos * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise. 2991*ed0d50c3Schristos * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise. 2992*ed0d50c3Schristos * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise. 2993*ed0d50c3Schristos * elflink.c (elf_link_output_extsym): Likewise. 2994*ed0d50c3Schristos (bfd_elf_final_link): Likewise. 2995*ed0d50c3Schristos (elf_link_add_object_symbols): Copy st_target_internal 2996*ed0d50c3Schristos to the hash table if we see a definition. 2997*ed0d50c3Schristos (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal. 2998*ed0d50c3Schristos * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with 2999*ed0d50c3Schristos a branch_type field. 3000*ed0d50c3Schristos (a8_erratum_fix, a8_erratum_reloc): Likewise. 3001*ed0d50c3Schristos (arm_type_of_stub): Replace actual_st_type with an 3002*ed0d50c3Schristos actual_branch_type parameter. 3003*ed0d50c3Schristos (arm_build_one_stub): Use branch types rather than st_types to 3004*ed0d50c3Schristos determine the type of branch. 3005*ed0d50c3Schristos (cortex_a8_erratum_scan): Likewise. 3006*ed0d50c3Schristos (elf32_arm_size_stubs): Likewise. 3007*ed0d50c3Schristos (bfd_elf32_arm_process_before_allocation): Likewise. 3008*ed0d50c3Schristos (allocate_dynrelocs_for_symbol): Likewise. 3009*ed0d50c3Schristos (elf32_arm_finish_dynamic_sections): Likewise. 3010*ed0d50c3Schristos (elf32_arm_final_link_relocate): Replace sym_flags parameter with 3011*ed0d50c3Schristos a branch_type parameter. 3012*ed0d50c3Schristos (elf32_arm_relocate_section): Update call accordingly. 3013*ed0d50c3Schristos (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC. 3014*ed0d50c3Schristos (elf32_arm_output_map_sym): Initialize st_target_internal. 3015*ed0d50c3Schristos (elf32_arm_output_stub_sym): Likewise. 3016*ed0d50c3Schristos (elf32_arm_symbol_processing): Delete. 3017*ed0d50c3Schristos (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs. 3018*ed0d50c3Schristos Use st_target_internal to record the branch type. 3019*ed0d50c3Schristos (elf32_arm_swap_symbol_out): Use st_target_internal to test for 3020*ed0d50c3Schristos Thumb functions. 3021*ed0d50c3Schristos (elf32_arm_is_function_type): Delete. 3022*ed0d50c3Schristos (elf_backend_symbol_processing): Likewise. 3023*ed0d50c3Schristos (elf_backend_is_function_type): Likewise. 3024*ed0d50c3Schristos 3025*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 3026*ed0d50c3Schristos 3027*ed0d50c3Schristos * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj. 3028*ed0d50c3Schristos (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion 3029*ed0d50c3Schristos into the PLT block. 3030*ed0d50c3Schristos 3031*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 3032*ed0d50c3Schristos 3033*ed0d50c3Schristos * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p, 3034*ed0d50c3Schristos may_need_local_target_p and may_become_dynamic_p to classify 3035*ed0d50c3Schristos the relocation type. Don't check info->symbolic or h->def_regular 3036*ed0d50c3Schristos when deciding whether to record a potential dynamic reloc. 3037*ed0d50c3Schristos Don't treat potential dynamic relocs as PLT references. 3038*ed0d50c3Schristos (elf32_arm_gc_sweep_hook): Update to match. Assert that we don't 3039*ed0d50c3Schristos try to make the PLT reference count go negative. 3040*ed0d50c3Schristos 3041*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 3042*ed0d50c3Schristos 3043*ed0d50c3Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the 3044*ed0d50c3Schristos GOT entry here, rather than leaving it to finish_dynamic_symbol. 3045*ed0d50c3Schristos Only create a dynamic relocation for local references if 3046*ed0d50c3Schristos info->shared. 3047*ed0d50c3Schristos (allocate_dynrelocs_for_symbol): Update dynamic relocation 3048*ed0d50c3Schristos allocation accordingly. 3049*ed0d50c3Schristos (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here. 3050*ed0d50c3Schristos 3051*ed0d50c3Schristos2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> 3052*ed0d50c3Schristos 3053*ed0d50c3Schristos * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function. 3054*ed0d50c3Schristos (elf32_arm_add_dynreloc): Likewise. 3055*ed0d50c3Schristos (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs 3056*ed0d50c3Schristos to allocate dynamic relocations. 3057*ed0d50c3Schristos (elf32_arm_size_dynamic_sections): Likewise. 3058*ed0d50c3Schristos (allocate_dynrelocs): Likewise. Rename to 3059*ed0d50c3Schristos allocate_dynrelocs_for_symbol. 3060*ed0d50c3Schristos (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to 3061*ed0d50c3Schristos create dynamic relocations. 3062*ed0d50c3Schristos (elf32_arm_finish_dynamic_symbol): Likewise. 3063*ed0d50c3Schristos 3064*ed0d50c3Schristos2011-03-12 H.J. Lu <hongjiu.lu@intel.com> 3065*ed0d50c3Schristos 3066*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS 3067*ed0d50c3Schristos x32 GD->IE and GD->LE transitions. 3068*ed0d50c3Schristos (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE 3069*ed0d50c3Schristos and LD->LE transitions. 3070*ed0d50c3Schristos 3071*ed0d50c3Schristos2011-03-10 Alan Modra <amodra@gmail.com> 3072*ed0d50c3Schristos 3073*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset 3074*ed0d50c3Schristos for LO_DS error message and correct multiple. 3075*ed0d50c3Schristos 3076*ed0d50c3Schristos2011-03-10 Alan Modra <amodra@gmail.com> 3077*ed0d50c3Schristos 3078*ed0d50c3Schristos * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define. 3079*ed0d50c3Schristos (ppc64_elf_link_just_syms): New function. 3080*ed0d50c3Schristos (opd_entry_value): Don't assume big-endian host. 3081*ed0d50c3Schristos (get_r2off): New function. 3082*ed0d50c3Schristos (ppc_build_one_stub, ppc_size_one_stub): Use it here. 3083*ed0d50c3Schristos 3084*ed0d50c3Schristos2011-03-06 Michael Snyder <msnyder@vmware.com> 3085*ed0d50c3Schristos 3086*ed0d50c3Schristos * compress.c (bfd_compress_section_contents): Check for out of mem. 3087*ed0d50c3Schristos 3088*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Document 3089*ed0d50c3Schristos that case statement falls through intentionally. 3090*ed0d50c3Schristos 3091*ed0d50c3Schristos * elf32-i386.c (elf_i386_relocate_section): Document fall through. 3092*ed0d50c3Schristos 3093*ed0d50c3Schristos2011-03-04 Alan Modra <amodra@gmail.com> 3094*ed0d50c3Schristos 3095*ed0d50c3Schristos * archive.c (bsd_write_armap): Don't call stat in deterministic 3096*ed0d50c3Schristos mode, and don't use st_mtime if stat returns error. 3097*ed0d50c3Schristos 3098*ed0d50c3Schristos2011-03-03 Michael Snyder <msnyder@vmware.com> 3099*ed0d50c3Schristos 3100*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code. 3101*ed0d50c3Schristos 3102*ed0d50c3Schristos * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error. 3103*ed0d50c3Schristos 3104*ed0d50c3Schristos * aoutx.h (aout_final_link): Use sizeof int not sizeof int*. 3105*ed0d50c3Schristos (aout_link_write_other_symbol): Missing break statement. 3106*ed0d50c3Schristos 3107*ed0d50c3Schristos * dwarf2.c (scan_unit_for_symbols): Stop memory leak. 3108*ed0d50c3Schristos 3109*ed0d50c3Schristos * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails. 3110*ed0d50c3Schristos 3111*ed0d50c3Schristos2011-03-03 H.J. Lu <hongjiu.lu@intel.com> 3112*ed0d50c3Schristos 3113*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS 3114*ed0d50c3Schristos x32 IE->LE transition. 3115*ed0d50c3Schristos (elf_x86_64_relocate_section): Likewise. 3116*ed0d50c3Schristos 3117*ed0d50c3Schristos2011-03-02 Bernd Schmidt <bernds@codesourcery.com> 3118*ed0d50c3Schristos 3119*ed0d50c3Schristos * elflink.c (is_reloc_section): Remove function. 3120*ed0d50c3Schristos (get_dynamic_reloc_section_name): Construct string manually. 3121*ed0d50c3Schristos 3122*ed0d50c3Schristos2011-02-28 Kai Tietz <kai.tietz@onevision.com> 3123*ed0d50c3Schristos 3124*ed0d50c3Schristos * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp. 3125*ed0d50c3Schristos (adjust_relative_path): Likewise. 3126*ed0d50c3Schristos (_bfd_construct_extended_name_table): Likewise. 3127*ed0d50c3Schristos * corefile.c (generic_core_file_matches_executable_p): Likewise. 3128*ed0d50c3Schristos * elf32-bfin.c (bfinfdpic_relocate_section): Likewise. 3129*ed0d50c3Schristos * elf32-frv.c (elf32_frv_relocate_section): Likewise. 3130*ed0d50c3Schristos * elf32-spu.c (sort_bfds): Likewise. 3131*ed0d50c3Schristos (spu_elf_auto_overlay): Likewise. 3132*ed0d50c3Schristos * syms.c (_bfd_stab_section_find_nearest_line): Likewise. 3133*ed0d50c3Schristos * xcofflink.c (xcoff_set_import_path): Likewise. 3134*ed0d50c3Schristos * xtensa-isa.c (xtensa_regfile_lookup): Likewise. 3135*ed0d50c3Schristos (xtensa_regfile_lookup_shortname): Likewise. 3136*ed0d50c3Schristos 3137*ed0d50c3Schristos2011-02-28 Alan Modra <amodra@gmail.com> 3138*ed0d50c3Schristos 3139*ed0d50c3Schristos PR 12513 3140*ed0d50c3Schristos * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and 3141*ed0d50c3Schristos stringsize. Properly sanity check symdef_count. Remove redundant 3142*ed0d50c3Schristos bfd_release. 3143*ed0d50c3Schristos 3144*ed0d50c3Schristos2011-02-25 Rafael Ávila de Espíndola <respindola@mozilla.com> 3145*ed0d50c3Schristos 3146*ed0d50c3Schristos * plugin.c (bfd_plugin_object_p): Correctly set the filesize 3147*ed0d50c3Schristos and handle claim_file seeking. Only try to load the plugin once. 3148*ed0d50c3Schristos 3149*ed0d50c3Schristos2011-02-22 Andreas Schwab <schwab@redhat.com> 3150*ed0d50c3Schristos 3151*ed0d50c3Schristos * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD 3152*ed0d50c3Schristos relocation read the value from the second GOT slot. 3153*ed0d50c3Schristos 3154*ed0d50c3Schristos2011-02-15 Tristan Gingold <gingold@adacore.com> 3155*ed0d50c3Schristos 3156*ed0d50c3Schristos * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment. 3157*ed0d50c3Schristos 3158*ed0d50c3Schristos2011-02-15 Alan Modra <amodra@gmail.com> 3159*ed0d50c3Schristos 3160*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of 3161*ed0d50c3Schristos toc relocs. Fuss over free(NULL). 3162*ed0d50c3Schristos 3163*ed0d50c3Schristos2011-02-14 Mike Frysinger <vapier@gentoo.org> 3164*ed0d50c3Schristos 3165*ed0d50c3Schristos * elflink.c (bfd_elf_size_dynamic_sections): Add 3166*ed0d50c3Schristos bfd_get_symbol_leading_char to the start of newname. 3167*ed0d50c3Schristos 3168*ed0d50c3Schristos2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3169*ed0d50c3Schristos 3170*ed0d50c3Schristos * configure: Regenerate. 3171*ed0d50c3Schristos 3172*ed0d50c3Schristos2011-02-09 Alan Modra <amodra@gmail.com> 3173*ed0d50c3Schristos 3174*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until 3175*ed0d50c3Schristos we are done. When optimising large toc, check that a global 3176*ed0d50c3Schristos symbol on a toc reloc is defined in a kept section. 3177*ed0d50c3Schristos 3178*ed0d50c3Schristos2011-02-08 Nick Clifton <nickc@redhat.com> 3179*ed0d50c3Schristos 3180*ed0d50c3Schristos PR binutils/12467 3181*ed0d50c3Schristos * elf.c (assign_file_positions_for_load_sections): Set the program 3182*ed0d50c3Schristos header offset and entry size to zero if there are no program 3183*ed0d50c3Schristos headers. 3184*ed0d50c3Schristos 3185*ed0d50c3Schristos2011-02-08 Alan Modra <amodra@gmail.com> 3186*ed0d50c3Schristos 3187*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL 3188*ed0d50c3Schristos local_syms when looking for local symbols in .toc. 3189*ed0d50c3Schristos 3190*ed0d50c3Schristos2011-02-01 Alan Modra <amodra@gmail.com> 3191*ed0d50c3Schristos 3192*ed0d50c3Schristos * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value 3193*ed0d50c3Schristos for toc pointer on any section having makes_toc_func_call set. 3194*ed0d50c3Schristos (check_pasted_section): Ensure pasted .init/.fini fragments use 3195*ed0d50c3Schristos the same toc if any has makes_toc_func_call set. 3196*ed0d50c3Schristos 3197*ed0d50c3Schristos2011-01-28 Joseph Myers <joseph@codesourcery.com> 3198*ed0d50c3Schristos 3199*ed0d50c3Schristos * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs 3200*ed0d50c3Schristos field. 3201*ed0d50c3Schristos 3202*ed0d50c3Schristos2011-01-22 Richard Sandiford <rdsandiford@googlemail.com> 3203*ed0d50c3Schristos 3204*ed0d50c3Schristos * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore 3205*ed0d50c3Schristos common sections too. 3206*ed0d50c3Schristos 3207*ed0d50c3Schristos2011-01-18 H.J. Lu <hongjiu.lu@intel.com> 3208*ed0d50c3Schristos 3209*ed0d50c3Schristos * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after 3210*ed0d50c3Schristos Solaris target. 3211*ed0d50c3Schristos 3212*ed0d50c3Schristos2011-01-18 Pierre Muller <muller@ics.u-strasbg.fr> 3213*ed0d50c3Schristos 3214*ed0d50c3Schristos Fix compilation for mingw64. 3215*ed0d50c3Schristos * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate 3216*ed0d50c3Schristos typecast to avoid warning. 3217*ed0d50c3Schristos * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type 3218*ed0d50c3Schristos usage. 3219*ed0d50c3Schristos * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead 3220*ed0d50c3Schristos of long for pointer to avoid warning. 3221*ed0d50c3Schristos (elfNN_ia64_relax_brl): Idem. 3222*ed0d50c3Schristos (elfNN_ia64_install_value): Idem. 3223*ed0d50c3Schristos * vms-alpha.c (_bfd_vms_slurp_etir): Idem. 3224*ed0d50c3Schristos 3225*ed0d50c3Schristos2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> 3226*ed0d50c3Schristos 3227*ed0d50c3Schristos * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than 3228*ed0d50c3Schristos h->needs_plt when deciding whether to record a possible dynamic reloc. 3229*ed0d50c3Schristos 3230*ed0d50c3Schristos2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> 3231*ed0d50c3Schristos 3232*ed0d50c3Schristos * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered 3233*ed0d50c3Schristos dynamic relocs for the removed section. 3234*ed0d50c3Schristos 3235*ed0d50c3Schristos2011-01-15 H.J. Lu <hongjiu.lu@intel.com> 3236*ed0d50c3Schristos 3237*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32 3238*ed0d50c3Schristos relocations. 3239*ed0d50c3Schristos 3240*ed0d50c3Schristos2011-01-14 H.J. Lu <hongjiu.lu@intel.com> 3241*ed0d50c3Schristos 3242*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type. 3243*ed0d50c3Schristos (elf_x86_64_link_hash_table_create): Set pointer_r_type. 3244*ed0d50c3Schristos (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64 3245*ed0d50c3Schristos for ILP32. Remove ABI_64_P PIC check for R_X86_64_8, 3246*ed0d50c3Schristos R_X86_64_16, R_X86_64_32 and R_X86_64_32S. 3247*ed0d50c3Schristos (elf_x86_64_relocate_section): Handle R_X86_64_32 like R_X86_64_64 3248*ed0d50c3Schristos for ILP32. 3249*ed0d50c3Schristos 3250*ed0d50c3Schristos2011-01-14 Alan Modra <amodra@gmail.com> 3251*ed0d50c3Schristos 3252*ed0d50c3Schristos * bfd.c (bfd_perror): Flush stdout before and stderr after printing 3253*ed0d50c3Schristos error. 3254*ed0d50c3Schristos (_bfd_default_error_handler): Likewise. 3255*ed0d50c3Schristos * elf.c (print_segment_map): Likewise. 3256*ed0d50c3Schristos * libbfd.c (warn_deprecated): Likewise. 3257*ed0d50c3Schristos * som.c (som_sizeof_headers): No need to do so here. 3258*ed0d50c3Schristos * coff-i860.c: Replace use of printf for error messages with 3259*ed0d50c3Schristos _bfd_error_handler. 3260*ed0d50c3Schristos * coff-ppc.c: Likewise. 3261*ed0d50c3Schristos * coff-sh.c: Likewise. 3262*ed0d50c3Schristos * elf32-bfin.c: Likewise. 3263*ed0d50c3Schristos * elf32-dlx.c: Likewise. 3264*ed0d50c3Schristos * elf32-mep.c: Likewise. 3265*ed0d50c3Schristos * elf32-v850.c: Likewise. 3266*ed0d50c3Schristos * mach-o.c: Likewise. 3267*ed0d50c3Schristos * pef.c: Likewise. 3268*ed0d50c3Schristos 3269*ed0d50c3Schristos2011-01-13 H.J. Lu <hongjiu.lu@intel.com> 3270*ed0d50c3Schristos 3271*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove 3272*ed0d50c3Schristos swap_reloca_out. 3273*ed0d50c3Schristos (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out. 3274*ed0d50c3Schristos (elf_x86_64_check_relocs): Align relocation section to 4 byte 3275*ed0d50c3Schristos for 32bit. 3276*ed0d50c3Schristos (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with 3277*ed0d50c3Schristos ELF_ST_TYPE. 3278*ed0d50c3Schristos (elf_x86_64_finish_dynamic_symbol): Updated. 3279*ed0d50c3Schristos (elf_x86_64_finish_dynamic_sections): Don't use 3280*ed0d50c3Schristos Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor 3281*ed0d50c3Schristos bfd_elf64_swap_dyn_out. 3282*ed0d50c3Schristos 3283*ed0d50c3Schristos2011-01-14 J. Park <grassman@gmail.com> 3284*ed0d50c3Schristos 3285*ed0d50c3Schristos PR ld/12339 3286*ed0d50c3Schristos * elf32-arm.c (allocate_dynrelocs): Don't set up eh before 3287*ed0d50c3Schristos following bfd_link_hash_warning symbol link. 3288*ed0d50c3Schristos 3289*ed0d50c3Schristos2011-01-10 Nathan Sidwell <nathan@codesourcery.com> 3290*ed0d50c3Schristos Glauber de Oliveira Costa <glommer@gmail.com> 3291*ed0d50c3Schristos 3292*ed0d50c3Schristos * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL, 3293*ed0d50c3Schristos BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ, 3294*ed0d50c3Schristos BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New 3295*ed0d50c3Schristos relocations. 3296*ed0d50c3Schristos * libbfd.h: Rebuilt. 3297*ed0d50c3Schristos * bfd-in2.h: Rebuilt. 3298*ed0d50c3Schristos * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations. 3299*ed0d50c3Schristos (elf32_arm_reloc_map): Likewise. 3300*ed0d50c3Schristos (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates. 3301*ed0d50c3Schristos (elf32_arm_stub_long_branch_any_tls_pic, 3302*ed0d50c3Schristos elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates. 3303*ed0d50c3Schristos (DEF_STUBS): Add new stubs. 3304*ed0d50c3Schristos (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field. 3305*ed0d50c3Schristos (elf32_arm_local_tlsdesc_gotent): New. 3306*ed0d50c3Schristos (GOT_TLS_GDESC): New mask. 3307*ed0d50c3Schristos (GOT_TLS_GD_ANY): Define. 3308*ed0d50c3Schristos (struct elf32_arm_link_hash_entry): Add tlsdesc_got field. 3309*ed0d50c3Schristos (elf32_arm_compute_jump_table_size): New. 3310*ed0d50c3Schristos (struct elf32_arm_link_hash_table): Add next_tls_desc_index, 3311*ed0d50c3Schristos num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline, 3312*ed0d50c3Schristos sgotplt_jump_table_size fields. 3313*ed0d50c3Schristos (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field. 3314*ed0d50c3Schristos (elf32_arm_link_hash_table_create): Initialize new fields. 3315*ed0d50c3Schristos (arm_type_of_stub): Check TLS desc relocs too. 3316*ed0d50c3Schristos (elf32_arm_stub_name): TLS desc relocs can be shared. 3317*ed0d50c3Schristos (elf32_arm_tls_transition): Determine relaxation. 3318*ed0d50c3Schristos (arm_stub_required_alignment): Add tls stubs. 3319*ed0d50c3Schristos (elf32_arm_size_stubs): Likewise. 3320*ed0d50c3Schristos (elf32_arm_tls_relax): Perform TLS relaxing. 3321*ed0d50c3Schristos (elf32_arm_final_link_relocate): Process TLS DESC relocations. 3322*ed0d50c3Schristos (IS_ARM_TLS_GNU_RELOC): New. 3323*ed0d50c3Schristos (IS_ARM_TLS_RELOC): Use it. 3324*ed0d50c3Schristos (elf32_arm_relocate_section): Perform TLS relaxing. 3325*ed0d50c3Schristos (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls 3326*ed0d50c3Schristos desc relocations. 3327*ed0d50c3Schristos (allocate_dynrelocs): Allocate tls desc relcoations. 3328*ed0d50c3Schristos (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping 3329*ed0d50c3Schristos symbols. 3330*ed0d50c3Schristos (elf32_arm_size_dynamic_sections): Allocate tls trampolines and 3331*ed0d50c3Schristos got slots. 3332*ed0d50c3Schristos (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE 3333*ed0d50c3Schristos symbol. 3334*ed0d50c3Schristos (elf32_arm_finish_dynamic_symbol): Adjust. 3335*ed0d50c3Schristos (arm_put_trampoline): New. 3336*ed0d50c3Schristos (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls 3337*ed0d50c3Schristos trampolines. 3338*ed0d50c3Schristos (elf_backend_always_size_sections): Define. 3339*ed0d50c3Schristos 3340*ed0d50c3Schristos2011-01-06 H.J. Lu <hongjiu.lu@intel.com> 3341*ed0d50c3Schristos 3342*ed0d50c3Schristos * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized. 3343*ed0d50c3Schristos 3344*ed0d50c3Schristos2011-01-06 H.J. Lu <hongjiu.lu@intel.com> 3345*ed0d50c3Schristos 3346*ed0d50c3Schristos PR ld/12366 3347*ed0d50c3Schristos PR ld/12371 3348*ed0d50c3Schristos * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly 3349*ed0d50c3Schristos handle symbols marked with regular reference, but not non-GOT 3350*ed0d50c3Schristos reference when building shared library. 3351*ed0d50c3Schristos 3352*ed0d50c3Schristos * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle 3353*ed0d50c3Schristos local and global STT_GNU_IFUNC symols when building shared 3354*ed0d50c3Schristos library. 3355*ed0d50c3Schristos * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise. 3356*ed0d50c3Schristos 3357*ed0d50c3Schristos2011-01-05 DJ Delorie <dj@redhat.com> 3358*ed0d50c3Schristos 3359*ed0d50c3Schristos * reloc.c: Add BFD_RELOC_RX_OP_NEG. 3360*ed0d50c3Schristos * libbfd.h: Regenerate. 3361*ed0d50c3Schristos * bfd-in2.h: Regenerate. 3362*ed0d50c3Schristos * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg. 3363*ed0d50c3Schristos 3364*ed0d50c3Schristos2011-01-03 H.J. Lu <hongjiu.lu@intel.com> 3365*ed0d50c3Schristos 3366*ed0d50c3Schristos * cpu-i386.c (bfd_i386_compatible): New. 3367*ed0d50c3Schristos (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible 3368*ed0d50c3Schristos with bfd_i386_compatible. 3369*ed0d50c3Schristos (bfd_x86_64_arch_intel_syntax): Likewise. 3370*ed0d50c3Schristos (bfd_i386_arch_intel_syntax): Likewise. 3371*ed0d50c3Schristos (i8086_arch): Likewise. 3372*ed0d50c3Schristos (bfd_x64_32_arch): Likewise. 3373*ed0d50c3Schristos (bfd_x86_64_arch): Likewise. 3374*ed0d50c3Schristos (bfd_i386_arch): Likewise. 3375*ed0d50c3Schristos 3376*ed0d50c3SchristosFor older changes see ChangeLog-2010 3377*ed0d50c3Schristos 3378*ed0d50c3SchristosCopyright (C) 2011 Free Software Foundation, Inc. 3379*ed0d50c3Schristos 3380*ed0d50c3SchristosCopying and distribution of this file, with or without modification, 3381*ed0d50c3Schristosare permitted in any medium without royalty provided the copyright 3382*ed0d50c3Schristosnotice and this notice are preserved. 3383*ed0d50c3Schristos 3384*ed0d50c3SchristosLocal Variables: 3385*ed0d50c3Schristosmode: change-log 3386*ed0d50c3Schristosleft-margin: 8 3387*ed0d50c3Schristosfill-column: 74 3388*ed0d50c3Schristosversion-control: never 3389*ed0d50c3SchristosEnd: 3390