ChangeLog-2006 revision 214634
12006-12-31 H.J. Lu <hongjiu.lu@intel.com> 2 3 * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc 4 to allocate elf_segment_map. 5 62006-12-29 H.J. Lu <hongjiu.lu@intel.com> 7 8 * elflink.c (elf_link_add_object_symbols): Remember the symbol 9 size only if it is defined. 10 112006-12-25 Kazu Hirata <kazu@codesourcery.com> 12 13 * archures.c (bfd_mach_cpu32_fido): New. 14 (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_a, 15 bfd_mach_mcf_isa_a_mac, bfd_mach_mcf_isa_a_emac, 16 bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac, 17 bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_b_nousp, 18 bfd_mach_mcf_isa_b_nousp_mac, bfd_mach_mcf_isa_b_nousp_emac, 19 bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, 20 bfd_mach_mcf_isa_b_emac, bfd_mach_mcf_isa_b_float, 21 bfd_mach_mcf_isa_b_float_mac, bfd_mach_mcf_isa_b_float_emac): 22 Increment the defined values. 23 * bfd-in2.h: Regenerate. 24 * cpu-m68k.c (arch_info_struct): Add en entry for 25 bfd_mach_cpu32_fido. 26 * elf32-m68k.c (elf32_m68k_object_p): Handle 27 EF_M68K_CPU32_FIDO_A. 28 (elf32_m68k_merge_private_bfd_data): Use EF_M68K_CPU32_MASK. 29 (elf32_m68k_print_private_bfd_data): Handle 30 EF_M68K_CPU32_FIDO_A. 31 322006-12-25 Mei Ligang <ligang@sunnorth.com.cn> 33 34 * elf32-score.c (score_elf_got_lo16_reloc): Change some variables 35 type from unsigned to signed. 36 (score_elf_final_link_relocate): Fix bugs of handling relocation 37 type R_SCORE_GOT15, R_SCORE_GOT_LO16, and R_SCORE_REL32. 38 (_bfd_score_elf_relocate_section): Handle R_SCORE_GOT_LO16 39 specially. 40 412006-12-23 Jakub Jelinek <jakub@redhat.com> 42 43 * elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook. 44 * elfxx-target.h (elf_backend_as_needed_cleanup): Define. 45 (elfNN_bed): Add as_needed_cleanup hook. 46 * elflink.c (elf_link_add_object_symbols): Call it when reverting 47 hash table changes for unneeded --as-needed input. 48 * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define. 49 (ppc64_elf_as_needed_cleanup): New function. 50 512006-12-19 Kazu Hirata <kazu@codesourcery.com> 52 53 * elf32-m68k.c (elf32_m68k_object_p, 54 elf32_m68k_print_private_bfd_data): Use EF_M68K_ARCH_MASK to 55 extract architecture mask. 56 572006-12-19 Nathan Sidwell <nathan@codesourcery.com> 58 59 * elf.c (assign_file_positions_for_load_sections): Adjust p_vaddr 60 by p_vaddr_offset. Copy alignment & use if it is valid. 61 (rewrite_elf_program_headers): Cope with leading padding in a 62 segment that does not contain file or program headers. 63 (copy_elf_program_header): Likewise. 64 652006-12-15 Mark Kettenis <kettenis@gnu.org> 66 67 * config.bfd: (sh*-*-openbsd*): Add target. 68 * configure.in (sh*-*-openbsd*): Set COREFILE to netbsd-core.lo. 69 * configure: Regenerate. 70 712006-12-15 Alan Modra <amodra@bigpond.net.au> 72 73 * opncls.c (bfd_openr_iovec): Add "stat" parameter. 74 (struct opncls): Add "stat" field. 75 (opncls_bstat): Call vec->stat. 76 * bfd-in2.h: Regenerate. 77 * elf32-spu.c (spu_elf_open_builtin_lib): Adjust. 78 792006-12-14 Alan Modra <amodra@bigpond.net.au> 80 81 * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group 82 and next_in_group usage. 83 842006-12-14 Alan Modra <amodra@bigpond.net.au> 85 86 PR 3704 87 * bfdio.c (bfd_bread): Don't read past end of archive elements. 88 892006-12-12 Daniel Jacobowitz <dan@codesourcery.com> 90 91 * doc/Makefile.am (bfd_TEXINFOS): Set. 92 (bfd.info bfd.dvi bfd.html): Delete rule. 93 * doc/Makefile.in: Regenerated. 94 952006-12-11 Daniel Jacobowitz <dan@codesourcery.com> 96 97 * configure.in: Define GENINSRC_NEVER. 98 * doc/Makefile.am (bfd.info): Remove srcdir prefix. 99 (MAINTAINERCLEANFILES): Add info file. 100 (DISTCLEANFILES): Pretend to add info file. 101 * po/Make-in (.po.gmo): Put gmo files in objdir. 102 * configure, Makefile.in, doc/Makefile.in: Regenerated. 103 1042006-12-11 Eric Botcazou <ebotcazou@adacore.com> 105 106 * elflink.c (bfd_elf_gc_sections): Also search for corresponding 107 sections with .gnu.linkonce.t. prefix. 108 1092006-12-07 Kazu Hirata <kazu@codesourcery.com> 110 111 * elf32-m68k.c: Update uses of EF_M68K_*. 112 1132006-12-07 H.J. Lu <hjl@gnu.org> 114 115 PR ld/3666 116 * elflink.c (elf_link_add_object_symbols): Keep symbol 117 visibility for symbols from discarded section. 118 1192006-12-06 Alan Modra <amodra@bigpond.net.au> 120 121 * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function. 122 (elf_backend_merge_symbol_attribute): Define. 123 1242006-12-04 Jan Beulich <jbeulich@novell.com> 125 126 * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create 127 .eh_frame_hdr section from here anymore. 128 (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr 129 a little earlier. 130 1312006-12-01 H.J. Lu <hongjiu.lu@intel.com> 132 133 PR binutils/3609 134 * elf.c (rewrite_elf_program_header): Preserve segment physical 135 address in the output segment if the first section in the 136 corresponding input segment is null. 137 1382006-12-01 Nick Clifton <nickc@redhat.com> 139 140 PR 3609 141 * elf.c (rewrite_elf_program_header): Do not use the first_section 142 pointer if it is null. 143 1442006-11-29 Paul Brook <paul@codesourcery.com> 145 146 * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output 147 section is present. 148 (allocate_dynrelocs): Only add export stub for symbols defined in 149 this object. 150 1512006-11-29 Paul Brook <paul@codesourcery.com> 152 153 * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output 154 section is present. 155 (allocate_dynrelocs): Only add export stub for symbols defined in 156 this object. 157 1582006-11-29 Paul Brook <paul@codesourcery.com> 159 Julian Brown <julian@codesourcery.com> 160 161 * elf32-arm.c (copy_eabi_attributes): Correct starting offset. 162 (elf32_arm_merge_eabi_attributes): Mark output as initialized. 163 Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute 164 is present. 165 1662006-11-27 Bob Wilson <bob.wilson@acm.org> 167 168 * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info. 169 1702006-11-24 H.J. Lu <hongjiu.lu@intel.com> 171 172 * elf.c (IS_SECTION_IN_INPUT_SEGMENT): New. 173 (INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT. 174 (rewrite_elf_program_header): Don't preserve segment physical 175 address in the output segment if the first section in the 176 corresponding input segment is removed. 177 1782006-11-22 Alan Modra <amodra@bigpond.net.au> 179 180 * pef.c (bfd_pef_make_empty_symbol): Delete function. Define instead. 181 * xsym.c (bfd_sym_make_empty_symbol): Likewise. 182 * xsym.h (bfd_sym_make_empty_symbol): Delete. 183 1842006-11-21 Greg McGary <greg@mcgary.org> 185 186 * elf32-ppc.c (ppc_elf_relocate_section): Fixup D field 187 at proper offset in little-endian mode. 188 * elf64-ppc.c (ppc_elf_relocate_section): Likewise. 189 1902006-11-21 Jakub Jelinek <jakub@redhat.com> 191 192 * elf-eh-frame.c (struct cie): New type. 193 (cie_compare): Removed. 194 (cie_eq, cie_hash, cie_compute_hash): New functions. 195 (_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs 196 pointing only to last CIE and allow merging of any duplicate CIEs, 197 not just duplicate consecutive CIEs. 198 (_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table. 199 * elf-bfd.h (struct cie_header, struct cie): Removed. 200 (struct eh_frame_sec_info): Remove alloced field. 201 (struct eh_frame_hdr_info): Remove last_cie, last_cie_sec 202 and last_cie_inf fields. Add cies field. 203 2042006-11-20 Alan Modra <amodra@bigpond.net.au> 205 206 * bfd-in.h (struct stat): Don't typedef. 207 * bfdio.c (bfd_get_size): Return a file_ptr. 208 * cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread. 209 * mmo.c (mmo_scan): Use file_ptr for curpos. 210 * trad-core.c (trad_unix_core): Don't cast statbuf.st_size to 211 unsigned long. 212 * bfd-in2.h: Regenerate. 213 2142006-11-20 Alan Modra <amodra@bigpond.net.au> 215 216 PR 3532 217 * bfd-in.h (struct bfd_hash_table): Reorganize. Add "frozen". 218 * hash.c (bfd_hash_table_init_n): Init frozen. 219 (bfd_hash_lookup): Don't grow if frozen. 220 (bfd_hash_traverse): Freeze hash table during traversal. 221 * bfd-in2.h: Regenerate. 222 2232006-11-18 Alan Modra <amodra@bigpond.net.au> 224 225 * elflink.c (_bfd_elf_check_kept_section): Test for kept group 226 section. Save result of checks in kept_section. 227 (_bfd_elf_section_already_linked): Tidy. Correct comments. 228 Ignore all group member sections. Handle special matching of 229 single-member groups against linkonce sections via their group 230 section. When such a match is found, set kept_section to the 231 group member section rather than to the group. 232 2332006-11-14 Phil Lello <phil.lello@homecall.co.uk> 234 235 * peXXigen.c: Updates for PE/COFF V8.0, and clarification 236 (dir_names): Added CLR Runtime Header to dir_names[]. 237 (_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX 238 subsystem names 239 (_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out) 240 (pe_print_idata, pe_print_edata) 241 (_bfd_XX_bfd_copy_private_bfd_data_common) 242 (_bfd_XXi_final_link_postscript): Use #DEFINEs for index into 243 DataDirectory. 244 2452006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 246 247 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update 248 prototype. 249 (bfd_elf32_arm_set_byteswap_code): New prototype. 250 * bfd-in2.h: Regenerate. 251 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take 252 byteswap_code as an argument. Revert 2006-11-01 change. 253 (bfd_elf32_arm_set_byteswap_code): New. 254 (elf32_arm_size_dynamic_sections): Call 255 bfd_elf32_arm_process_before_allocation. 256 2572006-11-10 Thiemo Seufer <ths@mips.com> 258 259 * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support 260 for SDE configs. 261 2622006-11-10 Nick Clifton <nickc@redhat.com> 263 264 * config.bfd: Move previously obsoleted targets to the REMOVED 265 list. 266 Add maxq-*-coff to the obsolete list. 267 2682006-11-10 Pedro Alves <pedro_alves@portugalmail.pt> 269 270 * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".". 271 * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise. 272 * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before. 273 2742006-11-07 Daniel Jacobowitz <dan@codesourcery.com> 275 276 * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it 277 on error. 278 (find_arm_glue): Likewise. 279 (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub) 280 (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add 281 ERROR_MESSAGE argument and pass it through. 282 (elf32_arm_to_thumb_export_stub): Update. 283 (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous. 284 2852006-11-07 Alan Modra <amodra@bigpond.net.au> 286 287 * elf64-ppc.c (enum _ppc64_sec_type): New. 288 (struct _ppc64_elf_section_data): Move "t_symndx" into opd union, 289 and rename fields. Add sec_type and has_14bit_branch. 290 (struct ppc_link_hash_table): Remove has_14bit_branch. 291 (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust. 292 (ppc64_elf_relocate_section): Likewise. 293 (ppc64_elf_check_relocs): Likewise. Set per-section has_14bit_branch. 294 (ppc64_elf_size_stubs): Don't set default group size here. 295 (group_sections): Instead do so here, and group sections using 296 their individual requirements. 297 2982006-11-07 Alan Modra <amodra@bigpond.net.au> 299 300 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym" 301 and union. 302 (struct ppc_link_hash_entry): Add "next_dot_sym". 303 (struct ppc_link_hash_table): Add "dot_syms". 304 (link_hash_newfunc): Make list of syms starting with a dot. 305 (ppc_get_stub_entry, adjust_opd_syms): Adjust. 306 (ppc64_elf_add_symbol_hook): Don't set has_dotsym. 307 (struct add_symbol_adjust_data): Delete. 308 (add_symbol_adjust): Simplify params and return. 309 (ppc64_elf_check_directives): Just process the "dot_syms" lists, 310 not all syms. 311 3122006-11-02 Daniel Jacobowitz <dan@codesourcery.com> 313 314 * libbfd-in.h (_bfd_clear_contents): New prototype. 315 * reloc.c (_bfd_clear_contents): New. 316 * libbfd.h: Regenerated. 317 318 * elf32-arm.c (elf32_arm_final_link_relocate): Use 319 _bfd_clear_contents. 320 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 321 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 322 * elf32-i386.c (elf_i386_relocate_section): Likewise. 323 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 324 * elf32-s390.c (elf_s390_relocate_section): Likewise. 325 * elf32-sh.c (sh_elf_relocate_section): Likewise. 326 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 327 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 328 * elf64-s390.c (elf_s390_relocate_section): Likewise. 329 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 330 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 331 332 * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to 333 zero for discarded symbols. 334 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 335 3362006-11-01 Thiemo Seufer <ths@mips.com> 337 David Ung <davidu@mips.com> 338 339 * elf-bfd.h (local_call_stubs): New member. 340 * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros. 341 (mips_elf_calculate_relocation): Handle local mips16 call stubs. 342 (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use 343 the new stub macros. 344 (_bfd_mips_elf_check_relocs): Handle call stubs for code which 345 mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark 346 used stubs with SEC_KEEP. Use the new stub macros. 347 3482006-11-01 Alan Modra <amodra@bigpond.net.au> 349 350 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct 351 check for PLT usage. 352 3532006-11-01 Daniel Jacobowitz <dan@codesourcery.com> 354 355 * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt. 356 3572006-10-31 Alan Modra <amodra@bigpond.net.au> 358 359 * elf.c (elfcore_write_note): Pad note descriptor to 4-byte 360 boundary. Tidy. Comment. 361 3622006-10-30 H.J. Lu <hongjiu.lu@intel.com> 363 364 PR ld/3111 365 * elf-bfd.h (elf_obj_tdata): Add symbuf. 366 (_bfd_elf_section_already_linked): Add struct bfd_link_info *. 367 (_bfd_elf_check_kept_section): Likewise. 368 (bfd_elf_match_symbols_in_sections): Likewise. 369 370 * elf.c (assign_section_numbers): Updated to add 371 struct bfd_link_info *. 372 (bfd_elf_match_symbols_in_sections): Updated. Cache symbol 373 buffer if info->reduce_memory_overheads is false. 374 375 * elflink.c (match_group_member): Updated to add 376 struct bfd_link_info *. 377 (_bfd_elf_check_kept_section): Likewise. 378 (elf_link_input_bfd): Likewise. 379 (_bfd_elf_section_already_linked): Likewise. 380 (bfd_elf_final_link): Free symbol buffer if 381 info->reduce_memory_overheads is false. 382 383 * libbfd-in.h (_bfd_nolink_section_already_linked): Add 384 struct bfd_link_info *. 385 (_bfd_generic_section_already_linked): Likewise. 386 * libbfd.h: Regenerated. 387 388 * linker.c (bfd_section_already_linked): Add 389 struct bfd_link_info *. 390 (_bfd_generic_section_already_linked): Likewise. 391 * targets.c (bfd_target): Add struct bfd_link_info * to 392 _section_already_linked. 393 * bfd-in2.h: Regenerated. 394 3952006-10-30 Alan Modra <amodra@bigpond.net.au> 396 397 * bfd.c (bfd_error_type): Add bfd_error_on_input. 398 (input_bfd, input_error): New static vars. 399 (bfd_set_error): Handle bfd_error_on_input. 400 (bfd_errmsg): Likewise. 401 (bfd_perror): Simplify. 402 * archive.c (_bfd_write_archive_contents): Report errors on input. 403 * bfd-in2.h: Regenerate. 404 4052006-10-30 Alan Modra <amodra@bigpond.net.au> 406 407 * elf.c (elfcore_write_note): Pad to 4-byte boundary. 408 4092006-10-28 Richard Sandiford <richard@codesourcery.com> 410 411 * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT. 412 * elfn32-mips.c (elf_mips_howto_table_rel): Likewise. 413 (elf_mips_howto_table_rela): Likewise. 414 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise. 415 (mips_elf64_howto_table_rela): Likewise. 416 4172006-10-26 H.J. Lu <hongjiu.lu@intel.com> 418 419 * elf.c (_bfd_elf_init_private_section_data): Assert output 420 section ELF type instead of check if it is SHT_NULL. Copy 421 OS/PROC specific flags from input section to output section. 422 4232006-10-27 Alan Modra <amodra@bigpond.net.au> 424 425 * section.c (SEC_KEEP): Update comment. 426 * bfd-in2.h: Regenerate. 427 * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections. 428 * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections. 429 * stabs.c (_bfd_discard_section_stabs): Likewise. 430 (_bfd_link_section_stabs): Likewise. Simplify abs_section check. 431 4322006-10-26 Ben Elliston <bje@au.ibm.com> 433 434 * reloc.c (_bfd_relocate_contents): Remove explicit case 0. 435 436 * elf.c (bfd_section_from_shdr): Remove extraneous breaks. 437 * targets.c (find_target): Remove extraneous break. 438 4392006-10-26 Ben Elliston <bje@au.ibm.com> 440 441 * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'. 442 (struct maxq_reloc_map): Unused; remove. 443 (maxq_reloc_map): Likewise. 444 (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map. 445 4462006-10-26 Ben Elliston <bje@au.ibm.com> 447 448 * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type 449 from int to enum dynamic_lib_link_class lib_class. 450 * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise. 451 * bfd-in2.h: Regenerate. 452 4532006-10-25 Alan Modra <amodra@bigpond.net.au> 454 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> 455 Yukishige Shibata <shibata@rd.scei.sony.co.jp> 456 Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp> 457 Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp> 458 459 * cpu-spu.c: New file. 460 * elf32-spu.c: New file. 461 * elf32-spu.h: New file. 462 * archures.c: Add SPU support. 463 * config.bfd: Likewise. 464 * configure.in: Likewise. 465 * reloc.c: Likewise. 466 * targets.c: Likewise. 467 * Makefile.am: Likewise. Run "make dep-am". 468 * libbfd.h: Regenerate. 469 * bfd-in2.h: Regenerate. 470 * Makefile.in: Regenerate. 471 * configure: Regenerate. 472 * po/SRC-POTFILES.in: Regenerate. 473 4742006-10-23 Alan Modra <amodra@bigpond.net.au> 475 476 * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment. 477 4782006-10-23 Alan Modra <amodra@bigpond.net.au> 479 480 * elf32-score.c: Formatting. 481 (elf_backend_omit_section_dynsym): Define. 482 (score_elf_create_dynamic_relocation): Remove code copied from mips. 483 Don't use section syms in dynamic relocs. Remove unused param. 484 (score_elf_final_link_relocate): Remove unused param. 485 4862006-10-23 Alan Modra <amodra@bigpond.net.au> 487 488 * linker.c (fix_syms): Choose best of previous and next 489 section based on section flags and vma. 490 4912006-10-21 Kaz Kojima <kkojima@rr.iij4u.or.jp> 492 493 * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging 494 only when the non visibility part of st_other is non-zero. 495 * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise. 496 4972006-10-20 Richard Sandiford <richard@codesourcery.com> 498 499 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend 500 PT_DYNAMIC on GNU/Linux targets. 501 5022006-10-20 Richard Sandiford <richard@codesourcery.com> 503 504 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the 505 size of .rel.dyn reflect the value of DT_RELSZ. 506 5072006-10-20 Richard Sandiford <richard@codesourcery.com> 508 509 * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate 510 a PT_NULL header for dynamic objects. 511 (_bfd_mips_elf_modify_segment_map): Add it. 512 5132006-10-19 Mei Ligang <ligang@sunnorth.com.cn> 514 515 * elf32-score.c (score_elf_rel_dyn_section): Replace 516 bfd_make_section with bfd_make_section_with_flags. 517 (_bfd_score_elf_create_dynamic_sections): Ditto. 518 (score_elf_create_got_section): Ditto. 519 (score_elf_final_link_relocate): Delete referrence to 520 EF_SCORE_HASENTRY. 521 5222006-10-19 Richard Sandiford <richard@codesourcery.com> 523 524 * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the 525 same symbol by increasing r_offset. 526 (sort_dynamic_relocs_64): Likewise. Fix comparisons between very 527 large and very small symbol indexes. 528 5292006-10-19 Richard Sandiford <richard@codesourcery.com> 530 531 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG 532 and DT_MIPS_RLD_MAP tags for position-independent executables. 533 Do not add DT_DEBUG to shared libraries for any MIPS target. 534 5352006-10-18 H.J. Lu <hongjiu.lu@intel.com> 536 537 PR ld/3290 538 * elflink.c (elf_link_add_object_symbols): Hide definitions in 539 debug sections. 540 5412006-10-19 Alan Modra <amodra@bigpond.net.au> 542 543 * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check, 544 don't set, glue section size. 545 (record_arm_to_thumb_glue): Set glue section size here. 546 (record_thumb_to_arm_glue): Likewise. 547 (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting. 548 (bfd_elf32_arm_process_before_allocation): Ignore exluded sections. 549 5502006-10-18 Roy Marples <uberlord@gentoo.org> 551 552 * elf64-sparc.c: Add FreeBSD support. 553 (elf64_sparc_fbsd_post_process_headers): New function. 554 * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec. 555 * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec. 556 * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec. 557 * configure: Regenerate. 558 5592006-10-17 Mark Shinwell <shinwell@codesourcery.com> 560 561 * elf32-arm.c (elf32_arm_final_link_relocate): Add support for 562 R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL, 563 R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and 564 R_ARM_THM_MOVT_BREL relocations. 565 5662006-10-17 Mark Shinwell <shinwell@codesourcery.com> 567 568 * elf32-arm.c (elf32_arm_howto_table_1): Change offset for 569 R_THM_CALL to 25 and remove FIXME comment. 570 (using_thumb2): New function. 571 (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding. 572 5732006-10-17 Mark Shinwell <shinwell@codesourcery.com> 574 575 * elf32-arm.c (elf32_arm_final_link_relocate): Add cases 576 for R_ARM_ABS32_NOI and R_ARM_REL32_NOI. 577 (elf32_arm_gc_sweep_hook): Likewise. 578 (elf32_arm_check_relocs): Likewise. 579 (allocate_dynrelocs): Likewise. 580 5812006-10-17 Alan Modra <amodra@bigpond.net.au> 582 583 * elf-bfd.h (struct elf_link_hash_table): Reorder. Add 584 text_index_section and data_index_section. 585 (struct elf_backend_data): Add elf_backend_init_index_section. 586 (_bfd_elf_init_1_index_section): Declare. 587 (_bfd_elf_init_2_index_sections): Declare. 588 * elfxx-target.h (elf_backend_init_index_section): Define. 589 (elfNN_bed): Init new field. 590 * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls 591 section and text_index_section plus data_index_section. 592 (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections. 593 (_bfd_elf_init_1_index_section): New function. 594 (_bfd_elf_init_2_index_sections): New function. 595 (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section. 596 (elf_link_input_bfd): When emitting relocs, use text_index_section 597 and data_index_section for removed sections. 598 * elf-m10300.c (elf_backend_omit_section_dynsym): Define. 599 * elf32-i386.c: Likewise. 600 * elf32-m32r.c: Likewise. 601 * elf32-sh.c: Likewise. 602 * elf32-xstormy16.c: Likewise. 603 * elf32-xtensa.c: Likewise. 604 * elf64-alpha.c: Likewise. 605 * elf64-hppa.c: Likewise. 606 * elf64-mmix.c: Likewise. 607 * elf64-sh64.c: Likewise. 608 * elfxx-ia64.c: Likewise. 609 * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section 610 and data_index_section sym for relocs against sections with no dynamic 611 section sym. 612 (elf_backend_init_index_section): Define. 613 * elf32-cris.c: Similarly. 614 * elf32-hppa.c: Similarly. 615 * elf32-i370.c: Similarly. 616 * elf32-m68k.c: Similarly. 617 * elf32-mips.c: Similarly. 618 * elf32-ppc.c: Similarly. 619 * elf32-s390.c: Similarly. 620 * elf32-sparc.c: Similarly. 621 * elf32-vax.c: Similarly. 622 * elf64-mips.c: Similarly. 623 * elf64-ppc.c: Similarly. 624 * elf64-s390.c: Similarly. 625 * elf64-sparc.c: Similarly. 626 * elf64-x86-64.c: Similarly. 627 * elfn32-mips.c: Similarly. 628 * elfxx-mips.c: Similarly. 629 * elfxx-sparc.c: Similarly. 630 * linker.c (fix_syms): Base symbols in removed sections on 631 previous section in preference to using absolute section. 632 6332006-10-16 Andreas Schwab <schwab@suse.de> 634 635 * elfxx-ia64.c (addend_compare): Properly compute return value. 636 6372006-10-15 H.J. Lu <hongjiu.lu@intel.com> 638 639 PR ld/3314 640 * elf.c (assign_file_positions_for_non_load_sections): Don't 641 page align empty SHF_ALLOC sections. 642 6432006-10-13 Jakub Jelinek <jakub@redhat.com> 644 645 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set 646 .plt sh_entsize to 0 if plt header size isn't multiple of 647 plt entry size or for 32-bit which adds a nop insn at the 648 end of the .plt section. 649 6502006-10-12 Bob Wilson <bob.wilson@acm.org> 651 652 * elf32-xtensa.c (elf_xtensa_action_discarded): New. 653 (elf_backend_action_discarded): Define. 654 6552006-10-11 Bob Wilson <bob.wilson@acm.org> 656 657 * elf32-xtensa.c (elf_xtensa_relocate_section): Return after 658 unresolvable relocation error. 659 (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak 660 symbols to zero. 661 6622006-10-10 Bob Wilson <bob.wilson@acm.org> 663 664 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG 665 for PIE executables. 666 6672006-10-03 Jakub Jelinek <jakub@redhat.com> 668 669 * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer. 670 * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc. 671 Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save, 672 DW_CFA_val_{offset{,_sf},expression}. 673 (skip_non_nops): Record number of DW_CFA_set_loc ops. 674 (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes 675 all ops. If there are any DW_CFA_set_loc ops and they are pcrel 676 or going to be pcrel, compute set_loc array. 677 (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations 678 against DW_CFA_set_loc operands. 679 (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting. 680 6812006-10-02 Daniel Jacobowitz <dan@codesourcery.com> 682 683 * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS 684 symbols from the --just-syms file. 685 6862006-10-01 Alan Modra <amodra@bigpond.net.au> 687 688 * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for 689 existence of PLT. 690 6912006-09-29 H.J. Lu <hongjiu.lu@intel.com> 692 693 PR ld/3283 694 * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore 695 relocation overflow on branches to undefweaks. 696 6972006-09-29 Alan Modra <amodra@bigpond.net.au> 698 699 * po/BLD-POTFILES.in: Regenerate. 700 * po/SRC-POTFILES.in: Regenerate. 701 7022006-09-29 Danny Smith <dannysmith@users.sourceforge.net> 703 704 PR 3276 705 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte 706 alignment for .data$, .rdata$ and .text$ sections so that sse 707 and sse2 code will work for linkonce sections too. 708 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. 709 7102006-09-28 Alan Modra <amodra@bigpond.net.au> 711 712 * elflink.c (_bfd_elf_gc_mark_hook): New function. 713 * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare. 714 * elfxx-target.h (elf_backend_gc_mark_hook): Default to above. 715 * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 716 * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise. 717 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. 718 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. 719 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. 720 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. 721 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. 722 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. 723 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. 724 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. 725 * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise. 726 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. 727 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise. 728 * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise. 729 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. 730 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. 731 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. 732 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. 733 * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise. 734 * elf32-bfin.c (bfin_gc_mark_hook): Likewise. 735 (bfinfdpic_gc_sweep_hook): Delete. 736 (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic. 737 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 738 (elf32_d10v_gc_sweep_hook): Delete. 739 (elf_backend_gc_sweep_hook): Don't define. 740 * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 741 (fr30_elf_gc_sweep_hook): Delete. 742 (elf_backend_gc_sweep_hook): Don't define. 743 * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 744 (elf32_frv_gc_sweep_hook): Delete. 745 (elf_backend_gc_sweep_hook): Don't define. 746 * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 747 (iq2000_elf_gc_sweep_hook): Delete. 748 (elf_backend_gc_sweep_hook): Don't define. 749 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use 750 _bfd_elf_gc_mark_hook. 751 (openrisc_elf_gc_sweep_hook): Delete. 752 (elf_backend_gc_sweep_hook): Don't define. 753 * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 754 (v850_elf_gc_sweep_hook): Delete. 755 (elf_backend_gc_sweep_hook): Don't define. 756 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use 757 _bfd_elf_gc_mark_hook. 758 (xstormy16_elf_gc_sweep_hook): Delete. 759 (elf_backend_gc_sweep_hook): Don't define. 760 * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 761 (sh_elf64_gc_sweep_hook): Delete. 762 (elf_backend_gc_sweep_hook): Don't define. 763 * elf32-avr.c (elf32_avr_gc_mark_hook): Delete. 764 (elf32_avr_gc_sweep_hook): Delete. 765 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 766 * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete. 767 (elf32_cr16c_gc_sweep_hook): Delete. 768 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 769 * elf32-crx.c (elf32_crx_gc_mark_hook): Delete. 770 (elf32_crx_gc_sweep_hook): Delete. 771 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 772 * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete. 773 (elf32_h8_gc_sweep_hook): Delete. 774 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 775 * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete. 776 (ip2k_elf_gc_sweep_hook): Delete. 777 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 778 * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete. 779 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 780 * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define. 781 (elf_backend_gc_sweep_hook): Don't define. 782 * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define. 783 (elf_backend_gc_sweep_hook): Don't define. 784 * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete. 785 (elf32_m68hc11_gc_sweep_hook): Delete. 786 * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete. 787 (elf32_m68hc11_gc_sweep_hook): Delete. 788 * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete. 789 (elf32_msp430_gc_sweep_hook): Delete. 790 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 791 * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete. 792 (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 793 7942006-09-25 Pedro Alves <pedro_alves@portugalmail.pt> 795 796 * bfd-in.h (CONST_STRNCPY) : Delete. 797 (LITSTRCPY) : New. 798 (LITMEMCPY) : New. 799 * bfd-in2.h : Regenerate. 800 * elflink.c (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually 801 calculate string lengths. 802 * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY. 803 8042006-09-26 H.J. Lu <hongjiu.lu@intel.com> 805 806 PR ld/3223 807 PR ld/3267 808 * elf.c (assign_file_positions_for_non_load_sections): Don't 809 warn zero size allocated sections. 810 8112006-09-27 Alan Modra <amodra@bigpond.net.au> 812 813 * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment 814 to "name" so that compiler realizes it is never uninitialized. 815 Use bfd_elf_sym_name. 816 8172006-09-26 H.J. Lu <hongjiu.lu@intel.com> 818 819 PR binutils/3262 820 * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of 821 bfd_alloc to allocate segment map. 822 (copy_elf_program_header): Likewise. 823 8242006-09-26 Mark Shinwell <shinwell@codesourcery.com> 825 Joseph Myers <joseph@codesourcery.com> 826 Ian Lance Taylor <ian@wasabisystems.com> 827 Ben Elliston <bje@wasabisystems.com> 828 829 * archures.c: Add definition for bfd_mach_arm_iWMMXt2. 830 * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2. 831 (arch_info_struct, bfd_arm_update_notes): Likewise. 832 (architectures): Likewise. 833 (bfd_arm_merge_machines): Check for iWMMXt2. 834 * bfd-in2.h: Rebuild. 835 8362006-09-24 H.J. Lu <hongjiu.lu@intel.com> 837 838 * configure: Regenerated. 839 8402006-09-22 Alan Modra <amodra@bigpond.net.au> 841 842 * elfcode.h (elf_swap_symbol_in): Return bfd_boolean. Don't abort 843 on error. 844 * elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl. 845 (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise. 846 * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in, 847 and report error. 848 * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean. 849 8502006-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> 851 852 * elf32-s390.c (elf_s390_relocate_section): Remove check for code 853 section in LD to LE linker relaxation for R_390_TLS_LDO32. 854 * elf64-s390.c (elf_s390_relocate_section): Likewise for 855 R_390_TLS_LDO64. 856 8572006-09-20 Kai Tietz <Kai.Tietz@onevision.com> 858 859 * configure.in: Added new target-vectors x86_64coff_vec, 860 x86_64pe_vec, and x86_64pei_vec. 861 * configure: Regenerate. 862 * config.bfd: Adjusted x86_64 target architecture detection. 863 * bfd.c: Add for new target "coff-x86-64" 864 (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64. 865 * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support. 866 * libpei.h: Adjustments for COFF_WITH_pex64. 867 * coffcode.h: Add for new target machine, architecture, signature, and internal 868 signature handler. 869 * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c 870 * Makefile.in: Regenerate. 871 * pe-x86_64.c: Add for new target "pe-x86-64". 872 * pei-x86_64.c: Add for new target "pei-x86-64". 873 * peicode.h: Adjusts for new targets. 874 (coff_swap_filehdr_out): Set for this target to 875 _bfd_pex64_only_swap_filehdr_out. 876 (SIZEOF_IDATA4): Define it as 8 byte size for this target. 877 (SIZEOF_IDATA5): Define it as 8 byte size for this target. 878 (jump_table jtab): Add for AMD64MAGIC. 879 (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5. 880 (pe_ILF_object_p): Add coff image-file signature to internal 881 signature translation. 882 * peXXigen.c: Adjust proper include of target coff-header and 883 introduced target specific code 884 (COFF_WITH_pex64): New macro for this target. 885 (pe_print_idata): New dumping method for import section of PE+ files. 886 * targets.c: Add new target vectors declarations for x86_64 coff targets. 887 * coffcode.h: Support code to support the x86_64 PE magic number. 888 * coff-x86_64.c: New file. 889 8902006-09-17 Hans-Peter Nilsson <hp@axis.com> 891 892 * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change 893 for .stabstr entry, explain why. 894 8952006-09-17 Anton Blanchard <anton@samba.org> 896 Alan Modra <amodra@bigpond.net.au> 897 898 * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table 899 entry isn't absolute. 900 9012006-09-17 Mei Ligang <ligang@sunnorth.com.cn> 902 903 * cpu-score.c: New file. 904 * elf32-score.c: New file. 905 * config.bfd: Add Score target. 906 * Makefile.am: Add Score files. 907 * Makefile.in: Regenerate. 908 * archures.c: Add Score architecture. 909 * reloc.c: Add Score relocs. 910 * targets.c: Add Score target vectors. 911 * bfd-in2.h: Regenerate. 912 * libbfd.h: Regenerate. 913 * configure.in: Add Score target. 914 * configure: Regenerate. 915 9162006-09-16 Nick Clifton <nickc@redhat.com> 917 Pedro Alves <pedro_alves@portugalmail.pt> 918 919 * bfd-in.h (STRING_COMMA_LEN): New macro. Takes one constant 920 string as its argument and emits the string followed by a comma 921 and then the length of the string. 922 (CONST_STRNEQ): New macro. Checks to see if a variable string 923 has a constant string as its initial characters. 924 (CONST_STRNCPY): New macro. Copies a constant string to the start 925 of a variable string. 926 * bfd-in2.h: Regenerate. 927 * archive.c: Make use of the new macros. 928 * archive64.c: Likewise. 929 * bfd.c: Likewise. 930 * coff-ppc.c: Likewise. 931 * coff-stgo32.c: Likewise. 932 * coffcode.h: Likewise. 933 * cofflink.c: Likewise. 934 * cpu-i960.c: Likewise. 935 * dwarf2.c: Likewise. 936 * ecoff.c: Likewise. 937 * elf-m10300.c: Likewise. 938 * elf.c: Likewise. 939 * elf32-arm.c: Likewise. 940 * elf32-bfin.c: Likewise. 941 * elf32-cris.c: Likewise. 942 * elf32-hppa.c: Likewise. 943 * elf32-i370.c: Likewise. 944 * elf32-i386.c: Likewise. 945 * elf32-iq2000.c: Likewise. 946 * elf32-m32r.c: Likewise. 947 * elf32-m68hc11.c: Likewise. 948 * elf32-m68hc12.c: Likewise. 949 * elf32-m68k.c: Likewise. 950 * elf32-mcore.c: Likewise. 951 * elf32-ppc.c: Likewise. 952 * elf32-s390.c: Likewise. 953 * elf32-sh-symbian.c: Likewise. 954 * elf32-sh.c: Likewise. 955 * elf32-sh64.c: Likewise. 956 * elf32-v850.c: Likewise. 957 * elf32-vax.c: Likewise. 958 * elf32-xtensa.c: Likewise. 959 * elf64-alpha.c: Likewise. 960 * elf64-hppa.c: Likewise. 961 * elf64-mmix.c: Likewise. 962 * elf64-ppc.c: Likewise. 963 * elf64-s390.c: Likewise. 964 * elf64-sh64.c: Likewise. 965 * elf64-x86-64.c: Likewise. 966 * elflink.c: Likewise. 967 * elfxx-ia64.c: Likewise. 968 * elfxx-mips.c: Likewise. 969 * elfxx-sparc.c: Likewise. 970 * hpux-core.c: Likewise. 971 * i386linux.c: Likewise. 972 * ieee.c: Likewise. 973 * libpei.h: Likewise. 974 * linker.c: Likewise. 975 * m68klinux.c: Likewise. 976 * mmo.c: Likewise. 977 * nlmcode.h: Likewise. 978 * osf-core.c: Likewise. 979 * pef.c: Likewise. 980 * som.c: Likewise. 981 * sparclinux.c: Likewise. 982 * vms-hdr.c: Likewise. 983 9842006-09-14 Alan Modra <amodra@bigpond.net.au> 985 986 PR 3181 987 * elf.c (_bfd_elf_copy_private_header_data): Fix group members 988 that have had their SHT_GROUP section removed. 989 9902006-09-12 H.J. Lu <hongjiu.lu@intel.com> 991 992 PR ld/3197 993 * elflink.c (elf_link_output_extsym): Compute bucket only if 994 needed. 995 9962006-09-10 H.J. Lu <hongjiu.lu@intel.com> 997 998 PR binutils/3186 999 * elf.c (_bfd_elf_make_section_from_shdr): Correct length of 1000 "gnu.linkonce.wi.". 1001 10022006-09-08 Vladimir Prus <vladimir@codesourcery.com> 1003 1004 * elf32-arm.c (elf32_arm_swap_symbol_out): Remove 1005 unconditional setting of low bit for Thumb symbol 1006 mistakenly left behind after check for external 1007 symbols was added. Fix comment typo. 1008 10092006-09-07 H.J. Lu <hongjiu.lu@intel.com> 1010 1011 * elf-bfd.h (elf_link_hash_entry): Add a dynamic field. 1012 (bfd_elf_link_mark_dynamic_symbol): New. 1013 (SYMBOLIC_BIND): New. 1014 1015 * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic 1016 with SYMBOLIC_BIND (info, h). 1017 (elf_i386_relocate_section): Likewise. 1018 * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. 1019 (elf64_x86_64_relocate_section): Likewise. 1020 * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise. 1021 1022 * elflink.c (bfd_elf_link_mark_dynamic_symbol): New. 1023 (bfd_elf_record_link_assignment): Call 1024 bfd_elf_link_mark_dynamic_symbol on new entry. 1025 (_bfd_elf_merge_symbol): Likewise. 1026 (_bfd_elf_export_symbol): Return if the symbol isn't exported. 1027 (_bfd_elf_fix_symbol_flags): Replace info->symbolic with 1028 SYMBOLIC_BIND (info, h). 1029 (_bfd_elf_dynamic_symbol_p): Likewise. 1030 (_bfd_elf_symbol_refs_local_p): Likewise. 1031 (bfd_elf_size_dynamic_sections): Updated. 1032 10332006-09-05 Bibo Mao <bibo.mao@intel.com> 1034 1035 PR binutils/3171 1036 * coffcode.h (coff_write_object_contents): Set the optional 1037 header magic number to PE32PMAGIC instead of ZMAGIC for ia64. 1038 10392006-09-04 Mark Shinwell <shinwell@codesourcery.com> 1040 1041 * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for 1042 R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations. 1043 (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0 1044 and R_ARM_THM_PC12 relocations. 1045 10462006-08-24 Bob Wilson <bob.wilson@acm.org> 1047 1048 * elf32-xtensa.c (xtensa_get_property_section_name): Delete. 1049 (xtensa_get_property_section): New. 1050 (xtensa_read_table_entries): Use xtensa_get_property_section. 1051 (relax_property_section, xtensa_get_property_predef_flags): Handle 1052 group name suffixes in property section names. 1053 (match_section_group): New. 1054 10552006-08-23 Frediano Ziglio <Frediano.Ziglio@vodafone.com> 1056 1057 * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt" 1058 variable. 1059 10602006-08-22 Daniel Jacobowitz <dan@codesourcery.com> 1061 1062 * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy 1063 plt_thumb_refcount from indirect symbols. 1064 10652006-08-22 Alan Modra <amodra@bigpond.net.au> 1066 1067 * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA 1068 reloc handling. 1069 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 1070 10712006-08-21 Mark Shinwell <shinwell@codesourcery.com> 1072 1073 * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in 1074 comment for target1_is_rel. 1075 10762006-08-21 Pedro Alves <pedro_alves@portugalmail.pt> 1077 1078 * Makefile.am: Add rules to build pe-arm-wince.lo 1079 and pei-arm-wince.lo objects. 1080 * Makefile.in: Regenerate. 1081 * pe-arm-wince.c: New file. 1082 * pei-arm-wince.c: New file. 1083 * pei-arm.c: Remove ARM_WINCE block. 1084 * pe-arm.c: Remove ARM_WINCE block. Rename 1085 bfd_arm_pe_allocate_interworking_sections, 1086 bfd_arm_pe_get_bfd_for_interworking, and 1087 bfd_arm_pe_process_before_allocation to 1088 bfd_armpe_allocate_interworking_sections, 1089 bfd_armpe_get_bfd_for_interworking, and 1090 bfd_armpe_process_before_allocation. Move them before 1091 including bfd.h. 1092 * bfd.c: ARM wince bfd format names were renamed. Adjust. 1093 * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up 1094 with unexpected/conflicting relocs. 1095 * targets.c: The arm-wince-pe target got its own new vector. 1096 Adjust. 1097 * config.bfd: Likewise. 1098 * configure.in: Likewise. 1099 * configure: Regenerate. 1100 11012006-08-18 Paul Brook <paul@codesourcery.com> 1102 1103 * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue. 1104 (elf32_arm_link_hash_newfunc): Initialize export_glue. 1105 (record_arm_to_thumb_glue): Return stub symbol. 1106 (elf32_arm_create_thumb_stub): New function. 1107 (elf32_arm_to_thumb_stub): Use it. 1108 (elf32_arm_to_thumb_export_stub): New function. 1109 (elf32_arm_begin_write_processing): New function. 1110 (allocate_dynrelocs): Allocate Arm stubs. 1111 (elf_backend_begin_write_processing): Define. 1112 (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED. 1113 Call elf32_arm_begin_write_processing. 1114 11152006-08-17 Alan Modra <amodra@bigpond.net.au> 1116 1117 * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes. 1118 (ppc64_elf_build_stubs): Use new lazy linking stub. 1119 11202006-08-17 Alan Modra <amodra@bigpond.net.au> 1121 1122 * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections. 1123 11242006-08-16 H.J. Lu <hongjiu.lu@intel.com> 1125 1126 PR ld/3015 1127 * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment 1128 only if there is a PT_DYNAMIC segment. 1129 (_bfd_elf_map_sections_to_segments): Likewise. 1130 (assign_file_positions_for_load_sections): Set PT_GNU_RELRO 1131 segment alignment to 1. 1132 11332006-08-15 Thiemo Seufer <ths@mips.com> 1134 Nigel Stephens <nigel@mips.com> 1135 1136 * elf32-mips.c, elf64-mips.c, elfn32-mips.c 1137 (elf_backend_merge_symbol_attribute): Define. 1138 * elflink.c (elf_link_add_object_symbols): Merge only the ELF 1139 visibility flags. 1140 * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function. 1141 11422006-08-15 Thiemo Seufer <ths@mips.com> 1143 Nigel Stephens <nigel@mips.com> 1144 David Ung <davidu@mips.com> 1145 1146 * config.bfd: Add configurations for mips*el-sde-elf* and 1147 mips*-sde-elf*. 1148 11492006-08-14 DJ Delorie <dj@redhat.com> 1150 1151 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value. 1152 (elf32_mn10300_count_hash_table_entries): New. 1153 (elf32_mn10300_list_hash_table_entries): New. 1154 (sort_by_value): New. 1155 (mn10300_elf_relax_section): Don't skip data sections; restrict 1156 code-specific tests to code-specific areas so that potential 1157 indirect calls can be detected. Check for multiple local symbols 1158 at the same address and merge their flags. 1159 (elf32_mn10300_link_hash_newfunc): Initialize value. 1160 11612006-08-14 Thiemo Seufer <ths@mips.com> 1162 1163 * elfxx-mips.c (_bfd_mips_elf_symbol_processing, 1164 _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS 1165 symbols in .scommon. 1166 11672006-08-11 Thiemo Seufer <ths@mips.com> 1168 1169 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set 1170 sh_entsize only when sgot was already initialized. 1171 11722006-08-08 DJ Delorie <dj@redhat.com> 1173 1174 * elf32-sh.c (sh_elf_relax_section): Allow for branches across 1175 non-moving .align directives. Preserve any DIR32 offset when 1176 converting bsr's to jsr's. 1177 11782006-08-08 Alan Modra <amodra@bigpond.net.au> 1179 1180 * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count 1181 after stubs have been built. 1182 11832006-08-07 Nick Clifton <nickc@redhat.com> 1184 1185 * elf32-sh.c (vxworks_object_p): Only check for vxworks target 1186 vectors if they are going to be created. 1187 11882006-08-07 Nick Clifton <nickc@redhat.com> 1189 1190 * configure.in (bfd_elf32_shnbsd_vec): Fix typo. 1191 * configure: Regenerate. 1192 11932006-08-07 Nick Clifton <nickc@redhat.com> 1194 1195 * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL 1196 relocation types if the target is ARM_WINCE. 1197 11982006-08-05 Pedro Alves <pedro_alves@portugalmail.pt> 1199 1200 * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little 1201 and pei-arm-little. 1202 * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle 1203 ARM_SECREL. 1204 (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to 1205 ARM_SECREL. 1206 * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. 1207 * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in 1208 pe-arm.c. 1209 [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. 1210 12112006-08-04 Marcelo Tosatti <marcelo@kvack.org> 1212 1213 * elflink.c (elf_gc_sweep): If info.print_gc_sections is true, 1214 list removed sections to stderr. 1215 12162006-08-04 Richard Sandiford <richard@codesourcery.com> 1217 Kazu Hirata <kazu@codesourcery.com> 1218 Phil Edwards <phil@codesourcery.com> 1219 Nathan Sidwell <nathan@codesourcery.com> 1220 1221 * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and 1222 bfd_elf32_shlvxworks_vec. 1223 * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo. 1224 (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise. 1225 (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise. 1226 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise. 1227 (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise. 1228 (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise. 1229 (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise. 1230 (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas. 1231 * configure: Regenerate. 1232 * Makefile.am: Regenerate dependencies. 1233 * Makefile.in: Regenerate. 1234 * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function. 1235 (elf_vxworks_add_symbol_hook): Use it. 1236 (elf_vxworks_link_output_symbol_hook): Likewise. Use the hash 1237 table entry to check for weak undefined symbols and to obtain 1238 the original bfd. 1239 (elf_vxworks_emit_relocs): Use target_index instead of this_idx. 1240 * elf32-sh-relocs.h: New file, split from elf32-sh.c. 1241 (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field, 1242 SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the 1243 special_function field. 1244 (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too. 1245 (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise. 1246 (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise. 1247 (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise. 1248 (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise. 1249 (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise. 1250 (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file. 1251 * elf32-sh.c: Include elf32-vxworks.h. 1252 (MINUS_ONE): Define. 1253 (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32 1254 set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set 1255 to sh_elf_reloc. 1256 (sh_vxworks_howto_table): New variable. Include elf32-sh-relocs.h 1257 with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and 1258 SH_ELF_RELOC set to bfd_elf_generic_reloc. 1259 (vxworks_object_p, get_howto_table): New functions. 1260 (sh_elf_reloc_type_lookup): Fix typo. Use get_howto_table. 1261 (sh_elf_info_to_howto): Use get_howto_table. 1262 (sh_elf_relax_section): Honor the partial_inplace field of the 1263 R_SH_DIR32 howto. 1264 (sh_elf_relax_delete_bytes): Likewise. 1265 (elf_sh_plt_info): New structure. 1266 (PLT_ENTRY_SIZE): Replace both definitions with... 1267 (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for 1268 INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1269 (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly. 1270 (elf_sh_plt0_entry_le): Likewise. 1271 (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise. 1272 (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise. 1273 (elf_sh_plts): New structure, with separate definitions for 1274 INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1275 (elf_sh_plt0_entry): Delete both definitions. 1276 (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise. 1277 (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise. 1278 (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise. 1279 (elf_sh_plt_reloc_offset): Likewise. 1280 (movi_shori_putval): Delete in favor of... 1281 (install_plt_field): ...this new function, with separate definitions 1282 for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1283 (get_plt_info): New function, with separate definitions 1284 for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1285 (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete. 1286 (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros. 1287 (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants. 1288 (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise. 1289 (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise. 1290 (get_plt_index, get_plt_offset): New functions. 1291 (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields. 1292 (sh_elf_link_hash_table_create): Initialize them. 1293 (sh_elf_create_dynamic_sections): Call 1294 elf_vxworks_create_dynamic_sections for VxWorks. 1295 (allocate_dynrelocs): Use htab->plt_info to get the size of PLT 1296 entries. Allocate relocation entries in .rela.plt.unloaded if 1297 generating a VxWorks executable. 1298 (sh_elf_always_size_sections): New function. 1299 (sh_elf_size_dynamic_sections): Extend .rela.plt handling to 1300 .rela.plt.unloaded. 1301 (sh_elf_relocate_section): Use get_howto_table. Honor 1302 partial_inplace when calculating the addend for dynamic 1303 relocations. Use get_plt_index. 1304 (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field 1305 and htab->plt_info. Fill in the bra .plt offset for VxWorks 1306 executables. Populate .rela.plt.unloaded. Do not make 1307 _GLOBAL_OFFSET_TABLE_ absolute on VxWorks. 1308 (sh_elf_finish_dynamic_sections): Use install_plt_field and 1309 htab->plt_info. Handle cases where there is no special PLT header. 1310 Populate the first relocation in .rela.plt.unloaded and fix up 1311 the remaining entries. 1312 (sh_elf_plt_sym_val): Use get_plt_info. 1313 (elf_backend_always_size_sections): Define. 1314 (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks. 1315 (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise. 1316 (elf32_bed, elf_backend_want_plt_sym): Likewise. 1317 (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise. 1318 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise. 1319 (elf_backend_add_symbol_hook): Likewise. 1320 (elf_backend_link_output_symbol_hook): Likewise. 1321 (elf_backend_emit_relocs): Likewise. 1322 (elf_backend_final_write_processing): Likewise. 1323 (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise. 1324 * targets.c (bfd_elf32_shlvxworks_vec): Declare. 1325 (bfd_elf32_shvxworks_vec): Likewise. 1326 (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and 1327 bfd_elf32_shvxworks_vec. 1328 13292006-08-02 Mark Kettenis <kettenis@gnu.org> 1330 1331 * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo. 1332 * configure: Regenerate. 1333 13342006-08-02 Petr Salinger <Petr.Salinger@seznam.cz> 1335 1336 PR binutils/2983 1337 * elf64-x86-64.c: Add FreeBSD support. 1338 (elf64_x86_64_fbsd_post_process_headers): New function. 1339 * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec. 1340 * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec 1341 to the targ_selvecs. 1342 * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec. 1343 * configure: Regenerate. 1344 13452006-07-26 Andreas Schwab <schwab@suse.de> 1346 1347 * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set. 1348 13492006-07-26 Alan Modra <amodra@bigpond.net.au> 1350 1351 * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments. 1352 * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete. 1353 (define elf_backend_modify_segment_map): Don't define. 1354 13552006-07-25 Thiemo Seufer <ths@networkno.de> 1356 1357 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow 1358 linking of objects for compatible machine types. 1359 13602006-07-25 Thiemo Seufer <ths@networkno.de> 1361 1362 * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test 1363 also for same symbol. 1364 13652006-07-25 Thiemo Seufer <ths@mips.com> 1366 1367 * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant. 1368 13692006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com> 1370 1371 * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific 1372 sections only if the SHF_OS_NONCONFORMING flag is present. 1373 13742006-07-24 Nick Clifton <nickc@redhat.com> 1375 1376 PR ld/2729 1377 * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the 1378 existance of output sections before putting their entries into the 1379 DataDictionary. 1380 13812006-07-20 Thiemo Seufer <ths@mips.com> 1382 1383 * elf32-mips.c (mips16_jump_reloc): Remove function. 1384 (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc 1385 instead of mips16_jump_reloc. 1386 * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function. 1387 (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use 1388 _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc. 1389 13902006-07-19 Alan Modra <amodra@bigpond.net.au> 1391 1392 * bfd-in.h (enum notice_asneeded_action): Define. 1393 * bfd-in2.h: Regenerate. 1394 * elflink.c (elf_link_add_object_symbols): Call linker "notice" 1395 function with NULL name for as-needed handling. 1396 13972006-07-18 Paul Brook <paul@codesourcery.com> 1398 1399 * bfd-in2.h: Regenerate. 1400 * libbfd.h: Regenerate. 1401 * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. 1402 14032006-07-18 Nick Clifton <nickc@redhat.com> 1404 1405 * elfxx-mips.c (_bfd_mips_elf_common_definition): New function. 1406 Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common 1407 sections. 1408 * elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype. 1409 14102006-07-14 Jakub Jelinek <jakub@redhat.com> 1411 1412 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value. 1413 14142006-07-14 Mark Kettenis <kettenis@gnu.org> 1415 1416 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations 1417 to the start of a block. 1418 14192006-07-13 Nick Clifton <nickc@redhat.com> 1420 1421 * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() 1422 returning a NULL value. 1423 14242006-07-12 H.J. Lu <hongjiu.lu@intel.com> 1425 1426 PR ld/2884 1427 * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from 1428 the old versioned dynamic definition to the new one with 1429 non-default visibility. Hide the symbol if it is hidden or 1430 internal. 1431 14322006-07-12 Matthew R. Dempsky <mrd@alkemio.org> 1433 1434 * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32. 1435 14362006-07-10 Jakub Jelinek <jakub@redhat.com> 1437 1438 * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH. 1439 (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers): 1440 Handle SHT_GNU_HASH. 1441 (special_sections_g): Include .gnu.hash section. 1442 (bfd_elf_gnu_hash): New function. 1443 * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes. 1444 (struct elf_backend_data): Add elf_hash_symbol method. 1445 * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash 1446 only if info->emit_hash, create .gnu.hash section if 1447 info->emit_gnu_hash. 1448 (struct collect_gnu_hash_codes): New type. 1449 (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms, 1450 _bfd_elf_hash_symbol): New functions. 1451 (compute_bucket_count): Don't compute HASHCODES array, instead add 1452 that and NSYMS as arguments. Use bed->s->sizeof_hash_entry 1453 instead of bed->s->arch_size / 8. Fix .hash size estimation. 1454 When not optimizing, use the number of hashed symbols rather than 1455 dynsymcount. 1456 (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash, 1457 and ADD DT_GNU_HASH if info->emit_gnu_hash. 1458 (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash, 1459 adjust compute_bucket_count caller. Create and populate .gnu.hash 1460 section if info->emit_gnu_hash. 1461 (elf_link_output_extsym): Only populate .hash section if 1462 finfo->hash_sec != NULL. 1463 (bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH. 1464 * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined. 1465 (elfNN_bed): Add elf_backend_hash_symbol. 1466 * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function. 1467 (elf_backend_hash_symbol): Define. 1468 * elf32-i386.c (elf_i386_hash_symbol): New function. 1469 (elf_backend_hash_symbol): Define. 1470 14712006-07-05 Nick Clifton <nickc@redhat.com> 1472 1473 PR ld/2659 1474 * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux 1475 entry when multiple definitions of a symbol are encountered. 1476 14772006-06-30 H.J. Lu <hongjiu.lu@intel.com> 1478 1479 * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax 1480 instead of 2 nops. 1481 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 1482 (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops. 1483 14842006-06-29 Jakub Jelinek <jakub@redhat.com> 1485 1486 PR ld/2513 1487 * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD, 1488 GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert 1489 2006-04-08 changes. 1490 (elf_i386_relocate_section): Likewise. For GD->IE transition 1491 change subl into addl whenever tls_type is GOT_TLS_IE_POS. 1492 14932006-06-23 Alan Modra <amodra@bigpond.net.au> 1494 1495 PR ld/2754 1496 * elf.c (bfd_elf_mkobject): Don't alloc if already done. Set 1497 program_header_size to -1. 1498 (_bfd_elf_map_sections_to_segments): Adjust program_header_size check. 1499 (assign_file_positions_for_load_sections ): Likewise. 1500 (_bfd_elf_sizeof_headers): Use saved program_header_size if 1501 available. 1502 * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't 1503 alloc if already done. 1504 * elf32-i386.c (elf_i386_mkobject): Likewise. 1505 * elf32-ppc.c (ppc_elf_mkobject): Likewise. 1506 * elf32-s390.c (elf_s390_mkobject): Likewise. 1507 * elf32-sh.c (sh_elf_mkobject): Likewise. 1508 * elf64-alpha.c (elf64_alpha_mkobject): Likewise. 1509 * elf64-ppc.c (ppc64_elf_mkobject): Likewise. 1510 * elf64-s390.c (elf_s390_mkobject): Likewise. 1511 * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise. 1512 * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise. 1513 15142006-06-20 Jakub Jelinek <jakub@redhat.com> 1515 1516 * elflink.c (elf_link_add_object_symbols): Don't create .tcommon 1517 section for relocatable link. 1518 15192006-06-21 Alan Modra <amodra@bigpond.net.au> 1520 1521 * elf-bfd.h (struct elf_backend_data): Add 1522 elf_backend_modify_program_headers. 1523 * elfxx-target.h (elf_backend_modify_program_headers): Define. 1524 (elfNN_bed): Init new field. 1525 * elf.c (elf_modify_segment_map): Remove comment. 1526 (assign_file_positions_for_load_sections): Only call 1527 elf_modify_segment_map for objcopy/strip. 1528 (assign_file_positions_except_relocs): Call 1529 elf_backend_modify_program_headers. 1530 * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make 1531 .stack section. 1532 (elf32_frvfdpic_modify_segment_map): Delete. 1533 (elf32_frvfdpic_modify_program_headers): New. 1534 (elf_backend_modify_segment_map): Don't define. 1535 (elf_backend_modify_program_headers): Define. 1536 * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make 1537 .stack section. 1538 (elf32_bfinfdpic_modify_segment_map): Delete. 1539 (elf32_bfinfdpic_modify_program_headers): New. 1540 (elf_backend_modify_segment_map): Don't define. 1541 (elf_backend_modify_program_headers): Define. 1542 * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function. 1543 Split out from.. 1544 (elfNN_ia64_modify_segment_map): ..here. 1545 (elf_backend_modify_program_headers): Define. 1546 15472006-06-20 Jakub Jelinek <jakub@redhat.com> 1548 1549 * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields. 1550 * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field. 1551 15522006-06-20 Alan Modra <amodra@bigpond.net.au> 1553 1554 * elf-bfd.h: Formatting. 1555 (_bfd_elf_map_sections_to_segments): Declare. 1556 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't 1557 clear program_header_size. 1558 * elf.c (get_program_header_size): Move. Don't use or set saved 1559 program_header_size here. 1560 (elf_modify_segment_map): New function. Split out from.. 1561 (assign_file_positions_for_load_sections): ..here. Assert 1562 header size is correct. Remove dead code. 1563 (_bfd_elf_map_sections_to_segments): Rename from 1564 map_sections_to_segments. Make global. Use get_program_header_size 1565 when we need estimate of header size. Call elf_modify_segment_map. 1566 Set program_header_size. 1567 (print_segment_map): Delete. 1568 (_bfd_elf_sizeof_headers): If segment_map available, get the 1569 actual size. 1570 * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe 1571 for calling more than once. 1572 * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise. 1573 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise. 1574 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise. 1575 * elf32-i370.c (elf_backend_add_symbol_hook): Delete. 1576 (elf_backend_additional_program_headers): Delete. 1577 (elf_backend_modify_segment_map): Delete. 1578 * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C. 1579 * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise. 1580 * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties. 1581 15822006-06-19 Vladimir Prus <vladimir@codesourcery.com> 1583 1584 * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low 1585 bit for undefined symbols. 1586 15872006-06-19 Alan Modra <amodra@bigpond.net.au> 1588 1589 * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer 1590 parameter. 1591 (_bfd_elf_sizeof_headers): Replace bfd_boolean param with 1592 bfd_link_info pointer. 1593 * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise. 1594 * bfd.c (bfd_sizeof_headers): Tweak param name. 1595 * aout-adobe.c (aout_adobe_sizeof_headers): Adjust. 1596 * aoutx.h (NAME (aout, sizeof_headers)): Adjust. 1597 * binary.c (binary_sizeof_headers): Adjust. 1598 * bout.c (b_out_sizeof_headers): Adjust. 1599 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust. 1600 * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust. 1601 * coffgen.c (coff_sizeof_headers): Adjust. 1602 * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust. 1603 (ecoff_compute_section_file_positions): Adjust. 1604 (_bfd_ecoff_write_object_contents): Adjust. 1605 * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust. 1606 * elf32-arm.c (elf32_arm_additional_program_headers): Adjust. 1607 * elf32-i370.c (elf_backend_additional_program_headers): Adjust. 1608 * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust. 1609 * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust. 1610 * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust. 1611 * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust. 1612 * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust. 1613 * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust. 1614 * i386msdos.c: Convert to ISO C. 1615 (msdos_sizeof_headers): Adjust. 1616 * i386os9k.c: Convert to ISO C. 1617 (os9k_sizeof_headers): Adjust. 1618 * ieee.c (ieee_sizeof_headers): Adjust. 1619 * ihex.c (ihex_sizeof_headers): Adjust. 1620 * libaout.h (NAME (aout, sizeof_headers)): Adjust. 1621 * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust. 1622 * libcoff-in.h (coff_sizeof_headers): Adjust. 1623 * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust. 1624 * mach-o.c (bfd_mach_o_sizeof_headers): Adjust. 1625 * mmo.c (mmo_sizeof_headers): Adjust. 1626 * oasys.c (oasys_sizeof_headers): Adjust. 1627 * pdp11.c (NAME (aout, sizeof_headers)): Adjust. 1628 * pef.c (bfd_pef_sizeof_headers): Adjust. 1629 * ppcboot.c (ppcboot_sizeof_headers): Adjust. 1630 * som.c (som_sizeof_headers): Adjust. 1631 * srec.c (srec_sizeof_headers): Adjust. 1632 * tekhex.c (tekhex_sizeof_headers): Adjust. 1633 * versados.c (versados_sizeof_headers): Adjust. 1634 * vms.c (vms_sizeof_headers): Adjust. 1635 * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust. 1636 * xsym.c (bfd_sym_sizeof_headers): Adjust. 1637 * xsym.h (bfd_sym_sizeof_headers): Adjust. 1638 * bfd-in2.h: Regenerate. 1639 * libbfd.h: Regenerate. 1640 * libcoff.h: Regenerate. 1641 16422006-06-15 Mark Shinwell <shinwell@codesourcery.com> 1643 1644 * bfd-in2.h: Regenerate. 1645 * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0, 1646 R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2, 1647 R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0, 1648 R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0, 1649 R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC, 1650 R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1, 1651 R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1, 1652 R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1, 1653 R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1, 1654 R_ARM_LDC_SB_G2): New relocation types. 1655 (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and 1656 adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1 1657 and friends. 1658 (elf32_arm_howto_table_3): Delete; contents merged into 1659 elf32_arm_howto_table_2. 1660 (elf32_arm_howto_from_type): Adjust correspondingly. 1661 (elf32_arm_reloc_map): Extend with the above relocations. 1662 (calculate_group_reloc_mask): New function. 1663 (identify_add_or_sub): New function. 1664 (elf32_arm_final_link_relocate): Support for the above 1665 relocations. 1666 * reloc.c: Add enumeration entries for BFD_RELOC_ARM_... 1667 codes to correspond to the above relocations. 1668 16692006-06-14 Richard Sandiford <richard@codesourcery.com> 1670 1671 * elf32-m68k.c (elf_m68k_plt_info): New structure. 1672 (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends. 1673 (elf_m68k_plt_entry): Likewise. 1674 (elf_m68k_plt_info): New table. 1675 (CFV4E_PLT_ENTRY_SIZE): Rename to... 1676 (ISAB_PLT_ENTRY_SIZE): ...this. 1677 (CFV4E_FLAG): Delete. 1678 (elf_cfv4e_plt0_entry): Rename to... 1679 (elf_isab_plt0_entry): ...this. Adjust comments. Use (-6,%pc,%d0) 1680 for the second instruction too. 1681 (elf_cfv4e_plt_entry): Rename to... 1682 (elf_isab_plt_entry): ...this. Adjust comments and use (-6,%pc,%d0). 1683 (elf_isab_plt_info): New table. 1684 (CPU32_FLAG): Delete. 1685 (PLT_CPU32_ENTRY_SIZE): Rename to... 1686 (CPU32_PLT_ENTRY_SIZE): ...this. 1687 (elf_cpu32_plt0_entry): Update bounds accordingly. Add R_68K_PC32- 1688 style in-place addends. 1689 (elf_cpu32_plt_entry): Likewise. 1690 (elf_cpu32_plt_info): New table. 1691 (elf_m68k_link_hash_table): Add a plt_info field. 1692 (elf_m68k_link_hash_table_create): Initialize it. 1693 (elf_m68k_get_plt_info): New function. 1694 (elf_m68k_always_size_sections): Likewise. 1695 (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field. 1696 (elf_m68k_install_pc32): New function. 1697 (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and 1698 elf_m68k_install_pc32. 1699 (elf_m68k_finish_dynamic_sections): Likewise. 1700 (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info. 1701 (elf_backend_always_size_sections): Define. 1702 17032006-06-14 Alan Modra <amodra@bigpond.net.au> 1704 1705 * elflink.c (elf_link_add_object_symbols): Save and restore 1706 struct bfd_hash_table table, size and count fields for 1707 as-needed libs. 1708 17092006-06-12 Thiemo Seufer <ths@mips.com> 1710 1711 * elf32-mips.c: Expand comment about ABI-mandated pagesize values. 1712 (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way. 1713 * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6. 1714 Delete old comments. 1715 (ELF_COMMONPAGESIZE): Define in a more obvious way. 1716 17172006-06-12 Nick Clifton <nickc@redhat.com> 1718 1719 PR binutils/2735 1720 * elflink.c (elf_link_add_object_symbols): Fix the warning message 1721 about mismatched alignments to allow for the case where the common 1722 alignment has been deduced from the section alignment. 1723 * bfd.c (_bfd_default_error_handler): Update comment to explain 1724 why bfd and asection varargs are out of order. Explicitly catch 1725 and abort on NULL bfd and asection arguments. 1726 17272006-06-11 Richard Sandiford <richard@codesourcery.com> 1728 Thiemo Seufer <ths@mips.com> 1729 1730 * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size. 1731 (STUB_ORI): New macro. 1732 (STUB_LI16U): Fix formatting. 1733 (MIPS_FUNCTION_STUB_SIZE): Delete. 1734 (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise. 1735 (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro. 1736 (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise. 1737 (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size 1738 instead of MIPS_FUNCTION_STUB_SIZE. 1739 (count_section_dynsyms): New function, split out from 1740 _bfd_mips_elf_final_link. 1741 (_bfd_mips_elf_always_size_sections): Get a worst-case estimate 1742 of the number of dynamic symbols needed and use it to set up 1743 function_stub_size. Use function_stub_size rather than 1744 MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section. 1745 Use 16-byte stubs for 0x10000 dynamic symbols. 1746 (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size 1747 instead of MIPS_FUNCTION_STUB_SIZE. Fix formatting. 1748 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Change the 1749 size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to 1750 MIPS_FUNCTION_STUB_BIG_SIZE. Tweak the check for unhandled dynindxes. 1751 Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20. 1752 Use STUB_ORI rather than STUB_LI16U for big stubs. 1753 (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size. 1754 (_bfd_mips_elf_final_link): Use count_section_dynsyms. 1755 17562006-06-09 David Ung <davidu@mips.com> 1757 1758 * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub 1759 calling relocations. 1760 17612006-06-08 David Daney <ddaney@avtrex.com> 1762 1763 * elfxx-mips.c (STUB_LI16): Removed. 1764 (STUB_LUI): New macro. 1765 (STUB_LI16U): Ditto. 1766 (STUB_LI16S): Ditto. 1767 (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter. 1768 (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to 1769 MIPS_FUNCTION_STUB_SIZE. 1770 (_bfd_mips_elf_always_size_sections): Ditto. 1771 (_bfd_mips_elf_size_dynamic_sections): Ditto. 1772 (_bfd_mips_elf_finish_dynamic_sections): Ditto. 1773 (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation 1774 to allow larger symbol table indexes. 1775 17762006-06-07 Joseph S. Myers <joseph@codesourcery.com> 1777 1778 * po/Make-in (pdf, ps): New dummy targets. 1779 17802006-06-06 Alan Modra <amodra@bigpond.net.au> 1781 1782 * hash.c (bfd_hash_lookup): Correct stray line. 1783 1784 * elf.c (_bfd_elf_init_private_section_data): Comment typo. 1785 (elfcore_grok_nto_status): Use long instead of pid_t. 1786 (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise. 1787 17882006-06-05 Daniel Jacobowitz <dan@codesourcery.com> 1789 1790 * po/Make-in (top_builddir): Define. 1791 17922006-06-05 Alan Modra <amodra@bigpond.net.au> 1793 1794 * Makefile.am: Run "make dep-am". 1795 * Makefile.in: Regenerate. 1796 * config.in: Regenerate. 1797 17982006-06-02 Alan Modra <amodra@bigpond.net.au> 1799 H.J. Lu <hongjiu.lu@intel.com> 1800 1801 PR ld/2723 1802 * elflink.c (bfd_elf_final_link): Don't output section symbols 1803 for special ELF sections. 1804 18052006-06-01 Alan Modra <amodra@bigpond.net.au> 1806 1807 * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags 1808 instead of bfd_make_section*. 1809 * aix386-core.c: Likewise. 1810 * aix5ppc-core.c: Likewise. 1811 * aout-adobe.c: Likewise. 1812 * aoutf1.h: Likewise. 1813 * binary.c: Likewise. 1814 * cisco-core.c: Likewise. 1815 * coff-arm.c: Likewise. 1816 * coff-h8300.c: Likewise. 1817 * elf.c: Likewise. 1818 * elf32-bfin.c: Likewise. 1819 * elf32-m32c.c: Likewise. 1820 * hppabsd-core.c: Likewise. 1821 * hpux-core.c: Likewise. 1822 * i386linux.c: Likewise. 1823 * ieee.c: Likewise. 1824 * ihex.c: Likewise. 1825 * irix-core.c: Likewise. 1826 * lynx-core.c: Likewise. 1827 * m68klinux.c: Likewise. 1828 * mach-o.c: Likewise. 1829 * netbsd-core.c: Likewise. 1830 * nlmcode.h: Likewise. 1831 * opncls.c: Likewise. 1832 * osf-core.c: Likewise. 1833 * peXXigen.c: Likewise. 1834 * ppcboot.c: Likewise. 1835 * ptrace-core.c: Likewise. 1836 * rs6000-core.c: Likewise. 1837 * sco5-core.c: Likewise. 1838 * sparclinux.c: Likewise. 1839 * srec.c: Likewise. 1840 * sunos.c: Likewise. 1841 * trad-core.c: Likewise. 1842 * xcofflink.c: Likewise. 1843 * xsym.c: Likewise. 1844 18452006-05-31 Daniel Jacobowitz <dan@codesourcery.com> 1846 1847 * Makefile.am (INCLUDES): Use @INCINTL@. 1848 * acinclude.m4: Include new gettext macros. 1849 * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS. 1850 Manually substitute POFILES and GMOFILES. 1851 * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated. 1852 18532006-05-30 H.J. Lu <hongjiu.lu@intel.com> 1854 1855 * bfd.c (bfd_emul_get_maxpagesize): New. 1856 (bfd_elf_set_pagesize): Likewise. 1857 (bfd_emul_set_maxpagesize): Likewise. 1858 (bfd_emul_get_commonpagesize): Likewise. 1859 (bfd_emul_set_commonpagesize): Likewise. 1860 * bfd-in2.h: Regenerated. 1861 1862 * elf-bfd.h (elf_backend_data): Add commonpagesize. 1863 (xvec_get_elf_backend_data): New. 1864 (get_elf_backend_data): Use xvec_get_elf_backend_data. 1865 1866 * elf32-arm.c (elf32_arm_vxworks_bed): Remove const. 1867 * elfxx-target.h (elfNN_bed): Likewise. 1868 1869 * elf32-arm.c (ELF_COMMONPAGESIZE): Defined. 1870 * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise. 1871 * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise. 1872 * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise. 1873 * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise. 1874 * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise. 1875 * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise. 1876 * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. 1877 * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise. 1878 * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise. 1879 * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise. 1880 * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise. 1881 1882 * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined. 1883 (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE. 1884 1885 * targets.c (bfd_find_target): Support NULL abfd. 1886 18872006-05-30 Nick Clifton <nickc@redhat.com> 1888 1889 * po/es.po: Updated Spanish translation. 1890 18912006-05-27 Alan Modra <amodra@bigpond.net.au> 1892 H.J. Lu <hongjiu.lu@intel.com> 1893 1894 * elf.c (assign_file_positions_for_load_sections): Retrieve 1895 maxpagesize from m->p_align if it is valid. Set p_vaddr, 1896 p_paddr and p_align earlier. Revert 2006-05-19 change to p_align. 1897 (copy_elf_program_header): Copy p_align. Set p_align_valid. 1898 18992006-05-26 H.J. Lu <hongjiu.lu@intel.com> 1900 1901 * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000. 1902 19032006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1904 1905 * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000. 1906 19072006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1908 1909 * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000. 1910 19112006-05-26 Alan Modra <amodra@bigpond.net.au> 1912 1913 * elf.c (sym_is_global): Return a bfd_boolean. 1914 (ignore_section_sym): New function. 1915 (elf_map_symbols): Use ignore_section_sym to discard some syms. 1916 (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to 1917 bfd before using elf_section_syms. 1918 19192006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1920 1921 * config.bfd: (sh-*-linux*): Treat as 64bit target. 1922 (sh*l*-*-netbsdelf*): Likewise. 1923 (sh-*-netbsdelf*): Likewise. 1924 (shl*-*-elf*): Likewise. 1925 (sh[1234]l*-*-elf*): Likewise. 1926 (sh3el*-*-elf*): Likewise. 1927 (shl*-*-kaos*): Likewise. 1928 (sh-*-elf*): Likewise. 1929 (sh[1234]*-elf*): Likewise. 1930 (sh-*-rtems*): Likewise. 1931 (sh-*-kaos*): Likewise. 1932 19332006-05-24 H.J. Lu <hongjiu.lu@intel.com> 1934 1935 PR ld/1485 1936 * config.bfd: Set want64 to true if 64bit bfd is used. 1937 (sh-*-linux*): Use targ64_selvecs for 64bit targets. 1938 (sh*l*-*-netbsdelf*): Likewise. 1939 (sh-*-netbsdelf*): Likewise. 1940 (shl*-*-elf*): Likewise. 1941 (sh[1234]l*-*-elf*): Likewise. 1942 (sh3el*-*-elf*): Likewise. 1943 (shl*-*-kaos*): Likewise. 1944 (sh-*-elf*): Likewise. 1945 (sh[1234]*-elf*): Likewise. 1946 (sh-*-rtems*): Likewise. 1947 (sh-*-kaos*): Likewise. 1948 19492006-05-24 Paul Brook <paul@codesourcery.com> 1950 1951 * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms 1952 * elf32-arm.c (output_arch_syminfo): Define. 1953 (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map, 1954 elf32_arm_output_arch_local_syms): New functions. 1955 (elf_backend_output_arch_local_syms): Define. 1956 * elflink.c (bfd_elf_final_link): Call 1957 elf_backend_output_arch_local_syms. 1958 * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default 1959 definition. 1960 (elfNN_bed): Add elf_backend_output_arch_local_syms. 1961 19622006-05-24 Paul Brook <paul@codesourcery.com> 1963 1964 * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions. 1965 (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub, 1966 elf32_arm_finish_dynamic_symbol): Use them. 1967 19682006-05-24 Carlos O'Donell <carlos@systemhalted.org> 1969 Randolph Chung <tausq@debian.org> 1970 1971 * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for 1972 TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations. 1973 Add handling for TLS relocations. 1974 (elf_hpp_reloc_final_type): Handle TLS relocs. 1975 * elf32-hppa.c: Add authors for cleanup and TLS support. 1976 (hppa_elf_local_got_tls_type, hh_name, eh_name): Define. 1977 (elf32_hppa_link_hash_entry): Add tls_type. 1978 (elf32_hppa_link_hash_table): Add tld_ldm_got. 1979 (hppa_link_has_newfunc): Set tls_type. 1980 (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount. 1981 (hppa_stub_name): Use hh_name macro. 1982 (elf32_hppa_copy_indirect_symbol): Copy TLS information. 1983 (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc. 1984 Handle TLS relocs. 1985 (elf32_hppa_gc_sweep_hook): Likewise. 1986 (allocate_dynrelocs): Handle TLS relocs. 1987 (elf32_hppa_size_dynamic_sections): Count space required by TLS 1988 relocs. Use hh_name macro. 1989 (dtpoff_base): New function. 1990 (tpoff): Likewise. 1991 (elf32_hppa_optimized_tls_reloc): Likewise. 1992 (final_link_relocate): Handle TLS relocs. 1993 (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name 1994 and hh_name macros. 1995 (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use 1996 hh_name and eh_name macros. 1997 (elf32_hppa_reloc_type_clas): Handle TLS relocs. 1998 19992006-05-24 Bjoern Haase <bjoern.m.haase@web.de> 2000 2001 * archures.c: Add bfd_mach_avr6. 2002 * cpu-avr.c: Likewise. 2003 * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS): 2004 New relocations. 2005 * libbfd.h: Regenerate. 2006 * bfd-in2.h:Regenerate. 2007 * elf32-avr.h: New file. Protoypes for functions accessed from ld. 2008 * elf32-avr.c: Add elf32-avr.h to include list. 2009 (elf32_avr_stub_hash_entry): New function. 2010 (elf32_avr_link_hash_table): New struct. 2011 (avr_link_hash_table): Likewise. 2012 (avr_stub_hash_entry): Likewise. 2013 (avr_stub_hash_lookup): New function. 2014 (stub_hash_newfunc): New function. 2015 (elf32_avr_link_hash_table_create): New function. 2016 (elf32_avr_link_hash_table_free): New function. 2017 (avr_get_stub_addr): New function. 2018 (debug_relax, debug_stubs): Add new global variables controlling 2019 debugging printout to stdout. 2020 (avr_pc_wrap_around): Change the type to bfd_vma. 2021 (avr_replace_call_ret_sequences): Add a new variable controling 2022 linkrelax optimizations. 2023 (avr_stub_is_required_for_16_bit_reloc): New function. 2024 (avr_final_link_relocate): 2025 Add linker hash table to parameter list. Use stub addr. if necessary. 2026 (elf32_avr_relocate_section): 2027 Add linker hashtable to parameter list of avr_final_link_relocate. 2028 (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6. 2029 (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6. 2030 (elf32_avr_relax_delete_bytes): 2031 Iterate over all sections of a bfd when adjusting relocs addends. 2032 (elf32_avr_relax_section): 2033 Evaluate avr_replace_call_ret_sequences and recalculate the size of 2034 stub section. 2035 (avr_stub_name): New function. 2036 (avr_get_stub_entry): New function. 2037 (avr_add_stub): New function. 2038 (avr_build_one_stub): New function. 2039 (avr_size_one_stub): New function. 2040 (elf32_avr_setup_params): New function. 2041 (elf32_avr_setup_section_lists): New function. 2042 (get_local_syms): New function. 2043 (elf32_avr_size_stubs): New function. 2044 (bfd_elf32_bfd_link_hash_table_create): New function. 2045 (bfd_elf32_bfd_link_hash_table_free): New function. 2046 20472006-05-23 H.J. Lu <hongjiu.lu@intel.com> 2048 2049 PR ld/2655 2050 PR ld/2657 2051 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly 2052 update CIE/FDE length. Don't pad to the section alignment. 2053 20542006-05-23 Jie Zhang <jie.zhang@analog.com> 2055 2056 * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for 2057 deteted entries in .eh_frame section. 2058 20592006-05-23 Jie Zhang <jie.zhang@analog.com> 2060 2061 * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_ 2062 instead of _GLOBAL_OFFSET_TABLE_. 2063 (bfin_relocate_section): Ditto. 2064 (_bfin_create_got_section): Ditto. 2065 (elf32_bfinfdpic_create_dynamic_sections): Use 2066 __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_. 2067 (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC. 2068 20692006-05-23 Alan Modra <amodra@bigpond.net.au> 2070 2071 * elf64-ppc.c (compare_symbols): Prefer strong dynamic global 2072 function syms over other syms. 2073 20742006-05-22 Daniel Jacobowitz <dan@codesourcery.com> 2075 2076 * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL 2077 check. 2078 (bfd_elf_final_link): Add a late DT_TEXTREL check. 2079 * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define. 2080 (mips_elf_create_dynamic_relocation): Set DF_TEXTREL. 2081 (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION. 2082 Use MIPS_ELF_READONLY_SECTION. 2083 (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after 2084 creating DT_TEXTREL. 2085 (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers 2086 if no text relocations were generated. 2087 20882006-05-19 H.J. Lu <hongjiu.lu@intel.com> 2089 2090 * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment. 2091 20922006-05-19 Alan Modra <amodra@bigpond.net.au> 2093 2094 * elf.c (elf_fake_sections): Formatting. 2095 (assign_file_positions_for_load_sections): Only add SEC_ALLOC 2096 sections to p_memsz. Remove hack for PT_NOTE sections. Allow 2097 section alignment to increase p_align for PT_LOAD. 2098 (assign_file_positions_for_non_load_sections): Remove ARM BPABI 2099 hack for PT_DYNAMIC. Instead, set p_filesz for all segments 2100 other than PT_LOAD, and PT_NOTE in core. 2101 21022006-05-17 Alan Modra <amodra@bigpond.net.au> 2103 2104 * elf.c (assign_file_positions_for_segments): Split into.. 2105 (assign_file_positions_for_load_sections): ..this, and.. 2106 (assign_file_positions_for_non_load_sections): ..this new function,.. 2107 (assign_file_positions_except_relocs): ..writing program headers here. 2108 21092006-05-17 Alan Modra <amodra@bigpond.net.au> 2110 2111 * elflink.c (elf_gc_sweep): Don't specially keep non-alloc, 2112 non-load sections if they have relocs. 2113 21142006-05-15 Paul Brook <paul@codesourcery.com> 2115 2116 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ... 2117 (bfd_is_arm_special_symbol_name): ... to this. Add type argument. 2118 Check symbol name is of specified type. 2119 * elf32-arm.c (elf32_arm_is_target_special_symbol, 2120 arm_elf_find_function, elf32_arm_output_symbol_hook): Use 2121 bfd_is_arm_special_symbol_name. 2122 * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP, 2123 BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER, 2124 BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define. 2125 (bfd_is_arm_mapping_symbol_name): Remove prototype. 2126 (bfd_is_arm_special_symbol_name): Add prototype. 2127 * bfd-in2.h: Regenerate. 2128 21292006-05-15 David Heine <dlheine@tensilica.com> 2130 Bob Wilson <bob.wilson@acm.org> 2131 2132 * elf32-xtensa.c (check_loop_aligned): Fix reversed check for 2133 undefined opcode. Clean up assertions. 2134 (narrow_instruction, widen_instruction): Remove "do_it" parameters. 2135 Factor most of the code into separate functions.... 2136 (can_narrow_instruction, can_widen_instruction): New. 2137 (prev_instr_is_a_loop): New. 2138 (compute_ebb_proposed_actions): Combine error handling code for 2139 decode errors. Replace call to insn_decode_len with inline code. 2140 Use can_narrow_instruction and can_widen_instruction. Handle errors 2141 from call to xtensa_opcode_is_loop. 2142 (relax_section): Adjust calls to narrow_instruction and 2143 widen_instruction. 2144 21452006-05-15 Alan Modra <amodra@bigpond.net.au> 2146 2147 PR 2658 2148 * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic 2149 -shared link. 2150 21512006-05-11 Michael Matz <matz@suse.de> 2152 2153 * elflink.c (match_group_member): Correctly iterate group 2154 members. 2155 21562006-05-11 Paul Brook <paul@codesourcery.com> 2157 2158 * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs. 2159 (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs. 2160 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto. 2161 * reloc.c: Ditto. 2162 * bfd-in2.h: Regenerate. 2163 * libbfd.h: Regenerate. 2164 * libcoff.h: Regenerate. 2165 21662006-05-11 Mike Bland <mbland@google.com> 2167 2168 * elf.c (_bfd_elf_init_private_section_data): Don't change 2169 section type if already set. 2170 21712006-05-10 Nick Clifton <nickc@redhat.com> 2172 2173 PR ld/2607 2174 * elfcode.h (valid_section_index_p): New function: Checks for a 2175 valid section index. Allows indicies in the range SHN_LOPROC to 2176 SHN_HIOS. 2177 (elf_object_p): Use valid_section_index_p. 2178 21792006-05-11 Pedro Alves <pedro_alves@portugalmail.pt> 2180 2181 * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION, 2182 ARM_SECREL): Mark WinCE versions of these relocs as partial 2183 inplace. 2184 (coff_arm_relocate_section): Adjust addend for WinCE. 2185 21862006-05-10 Alan Modra <amodra@bigpond.net.au> 2187 2188 PR 2342 2189 * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16. 2190 21912006-05-09 Nick Clifton <nickc@redhat.com> 2192 2193 * coffcode.h (coff_write_relocs): Produce an error message if a an 2194 out-of-range symbol index is detected in a reloc. 2195 21962006-05-09 Ben Elliston <bje@au.ibm.com> 2197 2198 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused 2199 local variable `dynobj'. 2200 22012006-05-05 Bjoern Haase <bjoern.m.haase@web.de> 2202 2203 * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all 2204 of the bfd's sections for the reloc-addend adjustments. 2205 22062006-05-05 Martin Schwidefsky <schwidefsky@de.ibm.com> 2207 2208 * elf32-s390.c (invalid_tls_insn): Call bfd_set_error. 2209 (elf_s390_relocate_section): Add code to do the GD->LE and 2210 LD->LE TLS linker optimizations if a brasl instruction is used 2211 for the __tls_get_offset function call. 2212 * elf64-s390.c (invalid_tls_insn): Call bfd_set_error. 2213 22142006-05-05 Alan Modra <amodra@bigpond.net.au> 2215 2216 * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize 2217 R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in 2218 the .toc and referenced by a TLS code sequence. 2219 (ppc64_elf_edit_toc): Cater for the unlikely situation that 2220 .toc is the first section in a file. 2221 22222006-05-04 Andreas Schwab <schwab@suse.de> 2223 2224 * aoutf1.h (struct external_sparc_core): Declare c_regs as struct 2225 regs instead of an array of int. 2226 (struct external_solaris_bcp_core): Likewise. 2227 (swapcore_sun3): Use offsetof instead of computing the offset 2228 manually. 2229 (swapcore_sparc): Likewise. Simplify reference to c_regs. 2230 (swapcore_solaris_bcp): Likewise. 2231 22322006-05-04 Daniel Jacobowitz <dan@codesourcery.com> 2233 2234 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling 2235 for missing GOTs. 2236 22372006-05-04 Daniel Jacobowitz <dan@codesourcery.com> 2238 2239 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more 2240 mapping symbols. 2241 22422006-05-04 Ben Elliston <bje@au.ibm.com> 2243 2244 * coff-or32.c (bfd_section_from_shdr): Remove unused local 2245 variable `ptr'. 2246 * cofflink.c (process_embedded_commands): Remove unused local 2247 variables `had_read' and `had_shared'. 2248 * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local 2249 variable `fdr_adr'. 2250 * ihex.c (ihex_read_section): Remove unused local variable `addr'. 2251 22522006-05-03 Alan Modra <amodra@bigpond.net.au> 2253 2254 * libbfd-in.h (_bfd_generic_new_section_hook): Declare. 2255 * section.c (bfd_abs_symbol, bfd_com_symbol): Delete. 2256 (bfd_und_symbol, bfd_ind_symbol): Delete. 2257 (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to 2258 &SEC.symbol. 2259 (STD_SECTION): Adjust. 2260 (_bfd_generic_new_section_hook): New function, extracted from.. 2261 (bfd_section_init): ..here. 2262 (bfd_make_section_old_way): Call new_section_hook for abs, com, 2263 und and ind sections. 2264 * elf.c (_bfd_elf_large_com_section): Adjust. 2265 * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook. 2266 * pdp11.c (new_section_hook): Likewise. 2267 * coffcode.h (coff_new_section_hook): Likewise. 2268 * ecoff.c (_bfd_ecoff_new_section_hook): Likewise. 2269 * elf.c (_bfd_elf_new_section_hook): Likewise. 2270 * vms.c (vms_new_section_hook): Likwise. 2271 * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't 2272 already set. 2273 * elf32-sh64.c (sh64_elf_new_section_hook): Likewise. 2274 * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise. 2275 * elf64-mmix.c (mmix_elf_new_section_hook): Likewise. 2276 * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise. 2277 * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise. 2278 * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise. 2279 * ieee.c (ieee_new_section_hook): Likewise. Call 2280 _bfd_generic_new_section_hook too. 2281 * mmo.c (mmo_new_section_hook): Likewise. 2282 * oasys.c (oasys_new_section_hook): Likewise. 2283 * som.c (som_new_section_hook): Likewise. 2284 * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol. 2285 * bfd-in2.h: Regenerate. 2286 * libbfd.h: Regenerate. 2287 22882006-05-03 Alan Modra <amodra@bigpond.net.au> 2289 2290 * hash.c (DEFAULT_SIZE): Revert last change. 2291 (higher_prime_number): Correct test for no larger prime. Don't 2292 abort on error, instead return 0. Depopulate primes[]. 2293 (bfd_hash_lookup): If we overflow size, refuse to grow table. 2294 22952006-05-02 Paul Brook <paul@codesourcery.com> 2296 2297 * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit 2298 for R_ARM_REL32. 2299 23002006-05-02 Ben Elliston <bje@au.ibm.com> 2301 2302 * archive.c (bfd_generic_archive_p): Remove unused local variable 2303 `fail'. 2304 * dwarf2.c (decode_line_info): Remove unused local variable 2305 `basic_block'. 2306 * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused 2307 local variable `s'. 2308 * tekhex.c (tekhex_write_object_contents): Remove unused local 2309 variable `bytes_written'. 2310 * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local 2311 variable `r_addend'. 2312 * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns. 2313 * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns. 2314 (_bfd_ns32k_relocate_contents): Remove break after return. 2315 * elf.c (bfd_section_from_shdr): Remove breaks after returns. 2316 23172006-05-02 Nick Clifton <nickc@redhat.com> 2318 2319 * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG 2320 in order to avoid conflicts with the global DEBUG define. 2321 23222006-05-02 Alan Modra <amodra@bigpond.net.au> 2323 2324 * dwarf2.c: Formatting. 2325 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify 2326 output section check. 2327 * elf32-i370.c: Warning fixes inside #ifdef DEBUG. 2328 * elf32-m32c.c: Similarly. 2329 * elf32-ppc.c: Similarly. 2330 * elf32-v850.c: Similarly. 2331 * nlm32-sparc.c: Similarly. 2332 * elfcode.h: Similarly. 2333 (elf_symbol_flags): Delete. 2334 * elflink.c (elf_link_input_bfd): Comment typo. 2335 23362006-05-01 DJ Delorie <dj@redhat.com> 2337 2338 * bfd-in.h (bfd_hash_table): Add count field. 2339 * bfd-in2.h: Regenerate. 2340 * hash.c (higher_prime_number): New. 2341 (bfd_hash_table_inint_n): Init count field. 2342 (bfd_hash_lookup): Grow table as needed. 2343 23442006-04-27 Kaz Kojima <kkojima@rr.iij4u.or.jp> 2345 2346 PR binutils/2584 2347 * tekhex.c (getvalue): Change return type to bfd_boolean and 2348 add the new parameter. Return false if the unexpected character 2349 is found. 2350 (getsym): Likewise. 2351 (first_phase): Change return type to bfd_boolean and return 2352 false if the unexpected character is found. Replace abort 2353 with returning false. 2354 (pass_over): Change return type to bfd_boolean and the type of 2355 the second argument to bfd_boolean (*) (bfd *, int, char *). 2356 Return false if FUNC returns false. 2357 (tekhex_object_p): Return NULL if pass_over fails. 2358 23592006-04-27 Alan Modra <amodra@bigpond.net.au> 2360 2361 * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix. 2362 23632006-04-26 H.J. Lu <hongjiu.lu@intel.com> 2364 2365 PR binutils/2593 2366 * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type 2367 and flags if its BFD flags have been set. 2368 (_bfd_elf_init_private_section_data): Don't copy the output ELF 2369 section type from input if it has been set to something 2370 different. 2371 23722006-04-25 H.J. Lu <hongjiu.lu@intel.com> 2373 2374 PR binutils/2467 2375 * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd) 2376 is NULL first. 2377 2378 * elf32-arm.c (elf32_arm_close_and_cleanup): Check if 2379 abfd->sections is NULL. 2380 (elf32_arm_bfd_free_cached_info): New. 2381 (bfd_elf32_bfd_free_cached_info): Defined. 2382 2383 * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it 2384 to _bfd_free_cached_info. 2385 2386 * libbfd-in.h (_bfd_free_cached_info): New. 2387 * libbfd: Regenerated. 2388 2389 * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL. 2390 (_bfd_free_cached_info): New. 2391 23922006-04-21 Alan Modra <amodra@bigpond.net.au> 2393 2394 * elf.c (assign_file_positions_except_relocs): Move code setting 2395 file position of non-loaded sections.. 2396 (assign_file_positions_for_segments): ..to here. 2397 23982006-04-20 H.J. Lu <hongjiu.lu@intel.com> 2399 2400 PR ld/2537 2401 * elf.c (bfd_section_from_shdr): Allow sections reserved for 2402 applications. Issue an error on sections we don't know how 2403 to handle. 2404 24052006-04-19 Alan Modra <amodra@bigpond.net.au> 2406 2407 * Makefile.am: Run "make dep-am". 2408 * Makefile.in: Regenerate. 2409 24102006-04-19 Alan Modra <amodra@bigpond.net.au> 2411 2412 * warning.m4 (--enable-werror): Format help message. 2413 (--enable-build-warnings): Likewise. 2414 * configure: Regenerate. 2415 24162006-04-18 Nick Clifton <nickc@redhat.com> 2417 2418 PR 2257 2419 * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx 2420 fields to still be handled as ELF files. 2421 24222006-04-16 Daniel Jacobowitz <dan@codesourcery.com> 2423 2424 * po/SRC-POTFILES.in: Regenerated. 2425 24262006-04-16 Daniel Jacobowitz <dan@codesourcery.com> 2427 2428 * configure.in: Update version to 2.17.50. 2429 * configure: Regenerated. 2430 24312006-04-14 David Heine <dlheine@tensilica.com> 2432 2433 * elf32-xtensa.c (build_reloc_opcodes): New. 2434 (compute_text_actions): Use it to decode opcodes outside inner loop. 2435 (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if 2436 it is set, use it to get the opcodes for relocations. 2437 (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit. 2438 24392006-04-08 H.J. Lu <hongjiu.lu@intel.com> 2440 2441 PR ld/2513 2442 * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type. 2443 (GOT_TLS_IE_IE): Likewise. 2444 (GOT_TLS_IE_GD): Likewise. 2445 (GOT_TLS_IE_MASK): Likewise. 2446 (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD 2447 and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE 2448 respectively. 2449 (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD 2450 are set, treat tls_type as GOT_TLS_IE_BOTH. 2451 (elf_i386_relocate_section): Likewise. 2452 24532006-04-07 Randolph Chung <tausq@debian.org> 2454 2455 * elf64-hppa.c (elf64_hppa_grok_prstatus): New function. 2456 (elf64_hppa_grok_psinfo): Likewise. 2457 (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define. 2458 24592006-04-06 DJ Delorie <dj@redhat.com> 2460 2461 * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for 2462 each plt entry we create. 2463 24642006-04-06 Carlos O'Donell <carlos@codesourcery.com> 2465 2466 * po/Make-in: Add install-html target. 2467 * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir 2468 htmldir. Add install-html and install-html-recursive targets. 2469 * Makefile.in: Regenerate. 2470 * configure.in: AC_SUBST for datarootdir, docdir and htmldir. 2471 * configure: Regenerate. 2472 24732006-04-06 H.J. Lu <hongjiu.lu@intel.com> 2474 2475 * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes 2476 with the skip_relax_pass_0 and skip_relax_pass_1 bits in the 2477 section structure. 2478 24792006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> 2480 2481 * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to 2482 eliminate warnings. 2483 24842006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2485 James E Wilson <wilson@specifixinc.com> 2486 2487 PR ld/2442 2488 * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next. 2489 (elfNN_ia64_local_hash_entry): Add count, sorted_count and 2490 size. 2491 (elfNN_ia64_link_hash_entry): Likewise. 2492 (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count 2493 and size. 2494 (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info 2495 processing. 2496 (elfNN_ia64_hash_hide_symbol): Likewise. 2497 (elfNN_ia64_global_dyn_sym_thunk): Likewise. 2498 (elfNN_ia64_local_dyn_sym_thunk): Likewise. 2499 (elfNN_ia64_global_dyn_info_free): New function. 2500 (elfNN_ia64_local_dyn_info_free): Likewise. 2501 (elfNN_ia64_hash_table_free): Free local and global 2502 elfNN_ia64_dyn_sym_info. 2503 (addend_compare): New function. 2504 (sort_dyn_sym_info): Likewise. 2505 (get_dyn_sym_info): Updated to use binary search for addend. 2506 (elfNN_ia64_check_relocs): Scan relocations to create dynamic 2507 relocation arrays first. 2508 25092006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> 2510 2511 * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp 2512 symbol. 2513 25142006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2515 2516 PR ld/2411 2517 * elflink.c (check_dynsym): New. 2518 (elf_link_output_extsym): Use it. 2519 (bfd_elf_final_link): Likewise. 2520 25212006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2522 2523 PR ld/2404 2524 * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect 2525 symbol from the dynamic definition with the default version if 2526 its type and the type of existing regular definition mismatch. 2527 25282006-04-05 Richard Sandiford <richard@codesourcery.com> 2529 Daniel Jacobowitz <dan@codesourcery.com> 2530 2531 * config.bfd (sparc-*-vxworks*): New stanza. 2532 * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza. 2533 (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo. 2534 * configure: Regenerate. 2535 * elf32-sparc.c: Include elf-vxworks.h. 2536 (elf32_sparc_vxworks_link_hash_table_create: New. 2537 (elf32_sparc_vxworks_final_write_processing): New. 2538 (TARGET_BIG_SYM): Override for VxWorks. 2539 (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise. 2540 (bfd_elf32_bfd_link_hash_table_create): Likewise. 2541 (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise. 2542 (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise. 2543 (elf_backend_link_output_symbol_hook): Likewise. 2544 (elf_backend_emit_relocs): Likewise. 2545 (elf_backend_final_write_processing, elf32_bed): Likewise. 2546 * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h. 2547 (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New. 2548 (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New. 2549 (_bfd_sparc_elf_link_hash_table_create): Don't initialize 2550 build_plt_entry here. 2551 (create_got_section): Initialize sgotplt for VxWorks. 2552 (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry, 2553 plt_header_size and plt_entry_size, with new VxWorks-specific settings. 2554 Call elf_vxworks_create_dynamic_sections for VxWorks. 2555 (allocate_dynrelocs): Use plt_header_size and plt_entry_size. 2556 Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks. 2557 (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt 2558 for VxWorks. Check for the .got.plt section. 2559 (sparc_vxworks_build_plt_entry): New function. 2560 (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs. 2561 Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_ 2562 absolute on VxWorks. 2563 (sparc32_finish_dyn): Add special handling for DT_RELASZ 2564 and DT_PLTGOT on VxWorks. 2565 (sparc_vxworks_finish_exec_plt): New. 2566 (sparc_vxworks_finish_shared_plt): New. 2567 (_bfd_sparc_elf_finish_dynamic_sections): Call them. 2568 Use plt_header_size and plt_entry_size. 2569 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks, 2570 srelplt2, sgotplt, plt_header_size and plt_entry_size fields. 2571 * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h. 2572 (elf32-sparc.lo): Likewise. 2573 * Makefile.in: Regenerate. 2574 * targets.c (bfd_elf32_sparc_vxworks_vec): Declare. 2575 (_bfd_target_vector): Add a pointer to it. 2576 25772006-03-30 Ben Elliston <bje@au.ibm.com> 2578 2579 PR ld/2267 2580 * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a 2581 special section number that exceeds the number of ELF sections 2582 (eg. SHN_MIPS_SCOMMON). 2583 25842006-03-27 Richard Sandiford <richard@codesourcery.com> 2585 2586 * elfxx-mips.c (mips_got_entry): Add more commentary. 2587 (mips_elf_local_got_index): Use the hash table entry to record 2588 the GOT index of forced-local symbols. 2589 (mips_elf_initialize_tls_index): Rearrange code. Store the index 2590 in either the hash table entry or the mips_got_entry, not both. 2591 Add more commentary. 2592 (mips_elf_multi_got): Make sure the g->next is nonnull when calling 2593 mips_elf_initialize_tls_index. 2594 25952006-03-25 Bernd Schmidt <bernd.schmidt@analog.com> 2596 2597 * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc, 2598 RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty, 2599 reloc_stack_push, reloc_stack_pop, reloc_stack_operate, 2600 bfin_areloc_howto_table): Delete. All 2601 uses deleted as well. 2602 (bfin_reloc_map): Delete all stack relocs. 2603 (bfin_info_to_howto, bfin_bfd_reloc_type_lookup, 2604 bfin_reloc_type_lookup): Don't support them. 2605 (bfin_relocate_section): Don't try to handle them. 2606 2607 * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec. 2608 * configure.in: Likewise. 2609 * configure: Regenerate. 2610 * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h". 2611 (BFIN_RELOC_MAX): Now 0x21. 2612 (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs. 2613 (bfd_elf32_bfinfdpic_vec): Declare. 2614 (IS_FDPIC): New macro. 2615 (struct bfinfdpic_elf_link_hash_table): New struct. 2616 (bfinfdpic_hash_table, bfinfdpic_got_section, 2617 bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section, 2618 bfinfdpic_plt_setion, bfinfdpic_pltrel_section, 2619 bfinfdpic_relocs_info, bfinfdpic_got_initial_offset, 2620 bfinfdpic_plt_initial_offset): Accessor macros for it. 2621 (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros. 2622 (struct bfinfdpic_relocs_info): New struct. 2623 (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES, 2624 BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC, 2625 DEFAULT_STACK_SIZE): New macros. 2626 (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash, 2627 bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find, 2628 bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local, 2629 bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc, 2630 _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment, 2631 _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section, 2632 bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook, 2633 _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section, 2634 elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry, 2635 _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry, 2636 _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries, 2637 _bfinfdpic_resolve_final_relocs_info, 2638 elf32_bfinfdpic_size_dynamic_sections, 2639 elf32_bfinfdpic_always_size_sections, 2640 elf32_bfinfdpic_modify_segment_map, 2641 _bfinfdpic_count_got_plt_entries, 2642 elf32_bfinfdpic_finish_dynamic_sections, 2643 elf32_bfinfdpic_adjust_dynamic_symbol, 2644 elf32_bfinfdpic_finish_dynamic_symbol, 2645 elf32_bfinfdpic_elf_use_relative_eh_frame, 2646 elf32_bfinfdpic_elf_encode_eh_address, 2647 elf32_bfin_object_p, bfin_elf_copy_private_bfd_data, 2648 elf32_bfinfdpic_copy_private_bfd_data, 2649 (struct _bfinfdpic_dynamic_got_info, 2650 struct _bfinfdpic_dynamic_got_plt_info): New structs. 2651 (elf32_bfin_print_private_bfd_data): Print PIC flags. 2652 (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC. 2653 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed, 2654 elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create, 2655 elf_backend_always_size_sectinos, elf_backend_modify_segment_map, 2656 bfd_elf32_bfd_copy_private_bfd_data, 2657 elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol, 2658 elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol, 2659 elf_backend_finish_dynamic_sections, elf_backend_relocate_section, 2660 elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs, 2661 elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p, 2662 elf_backend_may_use_rela_p, elf_backend_default_use_rela_p, 2663 elf_backend_omit_section_dynsym): Redefine these macros and include 2664 "elf32-target.h" again to create the elf32-bfinfdpic target. 2665 * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI, 2666 BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC, 2667 BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI, 2668 BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE, 2669 BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, 2670 BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI, 2671 BFD_RELOC_BFIN_GOTOFFLO): New. 2672 * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target. 2673 (_bfd_target_vector): Add it. 2674 * bfd-in2.h: Regenerate. 2675 * libbfd.h: Regenerate. 2676 26772006-03-25 Richard Sandiford <richard@codesourcery.com> 2678 2679 * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as 2680 incompatible. Likewise MAC and EMAC code. 2681 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use 2682 bfd_get_compatible to set the new bfd architecture. Rely on it 2683 to detect incompatibilities. 2684 26852006-03-23 Michael Matz <matz@suse.de> 2686 2687 * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64, 2688 BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64, 2689 BFD_RELOC_X86_64_PLTOFF64. 2690 * bfd-in2.h: Regenerated. 2691 * libbfd.h: Regenerated. 2692 * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment. 2693 Add howtos for above relocs. 2694 (x86_64_reloc_map): Add mappings for new relocs. 2695 (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64, 2696 R_X86_64_GOTPLT64 need a got entry. R_X86_64_GOTPLT64 also a PLT 2697 entry. R_X86_64_GOTPC64 needs a .got section. R_X86_64_PLTOFF64 2698 needs a PLT entry. 2699 (elf64_x86_64_gc_sweep_hook): Reflect changes from 2700 elf64_x86_64_check_relocs for the new relocs. 2701 (elf64_x86_64_relocate_section): Handle new relocs. 2702 27032006-03-22 Bob Wilson <bob.wilson@acm.org> 2704 2705 * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that 2706 rel->r_addend is zero. 2707 27082006-03-22 Richard Sandiford <richard@codesourcery.com> 2709 2710 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type 2711 of "loc". 2712 27132006-03-22 Richard Sandiford <richard@codesourcery.com> 2714 Daniel Jacobowitz <dan@codesourcery.com> 2715 Phil Edwards <phil@codesourcery.com> 2716 Zack Weinberg <zack@codesourcery.com> 2717 Mark Mitchell <mark@codesourcery.com> 2718 Nathan Sidwell <nathan@codesourcery.com> 2719 2720 * bfd-in2.h: Regenerate. 2721 * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas. 2722 * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza. 2723 (bfd_elf32_littlemips_vxworks_vec): Likewise. 2724 (bfd_elf32_bigmips_vec): Add elf-vxworks.lo. 2725 (bfd_elf32_littlemips_vec): Likewise. 2726 (bfd_elf32_nbigmips_vec): Likewise. 2727 (bfd_elf32_nlittlemips_vec): Likewise. 2728 (bfd_elf32_ntradbigmips_vec): Likewise. 2729 (bfd_elf32_ntradlittlemips_vec): Likewise. 2730 (bfd_elf32_tradbigmips_vec): Likewise. 2731 (bfd_elf32_tradlittlemips_vec): Likewise. 2732 (bfd_elf64_bigmips_vec): Likewise. 2733 (bfd_elf64_littlemips_vec): Likewise. 2734 (bfd_elf64_tradbigmips_vec): Likewise. 2735 (bfd_elf64_tradlittlemips_vec): Likewise. 2736 * elf32-mips.c: Include elf-vxworks.h. 2737 (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto 2738 instead of calling mips_elf32_rtype_to_howto directly. 2739 (mips_vxworks_copy_howto_rela): New reloc howto. 2740 (mips_vxworks_jump_slot_howto_rela): Likewise. 2741 (mips_vxworks_bfd_reloc_type_lookup): New function. 2742 (mips_vxworks_rtype_to_howto): Likewise. 2743 (mips_vxworks_final_write_processing): Likewise. 2744 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks. 2745 (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise. 2746 (elf_backend_want_got_plt): Likewise. 2747 (elf_backend_want_plt_sym): Likewise. 2748 (elf_backend_got_symbol_offset): Likewise. 2749 (elf_backend_want_dynbss): Likewise. 2750 (elf_backend_may_use_rel_p): Likewise. 2751 (elf_backend_may_use_rela_p): Likewise. 2752 (elf_backend_default_use_rela_p): Likewise. 2753 (elf_backend_got_header_size: Likewise. 2754 (elf_backend_plt_readonly): Likewise. 2755 (bfd_elf32_bfd_reloc_type_lookup): Likewise. 2756 (elf_backend_mips_rtype_to_howto): Likewise. 2757 (elf_backend_adjust_dynamic_symbol): Likewise. 2758 (elf_backend_finish_dynamic_symbol): Likewise. 2759 (bfd_elf32_bfd_link_hash_table_create): Likewise. 2760 (elf_backend_add_symbol_hook): Likewise. 2761 (elf_backend_link_output_symbol_hook): Likewise. 2762 (elf_backend_emit_relocs): Likewise. 2763 (elf_backend_final_write_processing: Likewise. 2764 (elf_backend_additional_program_headers): Likewise. 2765 (elf_backend_modify_segment_map): Likewise. 2766 (elf_backend_symbol_processing): Likewise. 2767 * elfxx-mips.c: Include elf-vxworks.h. 2768 (mips_elf_link_hash_entry): Add is_relocation_target and 2769 is_branch_target fields. 2770 (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt, 2771 srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields. 2772 (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros. 2773 (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument. 2774 Return 3 for VxWorks. 2775 (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a 2776 mips_elf_link_hash_table. Return 0 for VxWorks. 2777 (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a 2778 mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET. 2779 (mips_vxworks_exec_plt0_entry): New variable. 2780 (mips_vxworks_exec_plt_entry): Likewise. 2781 (mips_vxworks_shared_plt0_entry): Likewise. 2782 (mips_vxworks_shared_plt_entry): Likewise. 2783 (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields. 2784 (mips_elf_rel_dyn_section): Change the bfd argument to a 2785 mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get 2786 the name of the section. 2787 (mips_elf_initialize_tls_slots): Update the call to 2788 mips_elf_rel_dyn_section. 2789 (mips_elf_gotplt_index): New function. 2790 (mips_elf_local_got_index): Add an input_section argument. 2791 Update the call to mips_elf_create_local_got_entry. 2792 (mips_elf_got_page): Likewise. 2793 (mips_elf_got16_entry): Likewise. 2794 (mips_elf_create_local_got_entry): Add bfd_link_info and input_section 2795 arguments. Create dynamic relocations for each entry on VxWorks. 2796 (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE. 2797 (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE 2798 and MIPS_RESERVED_GOTNO. 2799 (mips_elf_create_got_section): Update the uses of 2800 MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks. 2801 (is_gott_symbol): New function. 2802 (mips_elf_calculate_relocation): Use a dynobj local variable. 2803 Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and 2804 mips_elf_got_page_entry. Set G to the .got.plt entry when calculating 2805 VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT 2806 relocations on VxWorks. Add dynamic relocations for references 2807 to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't 2808 create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 2809 in VxWorks executables. 2810 (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument. 2811 Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry. 2812 Don't allocate a null entry on VxWorks. 2813 (mips_elf_create_dynamic_relocation): Update the call to 2814 mips_elf_rel_dyn_section. Use absolute rather than relative 2815 relocations for VxWorks, and make them RELA rather than REL. 2816 (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic 2817 read-only on VxWorks. Update the call to mips_elf_rel_dyn_section. 2818 Create the .plt, .rela.plt, .dynbss and .rela.bss sections on 2819 VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol. 2820 Call elf_vxworks_create_dynamic_sections for VxWorks and 2821 initialize the plt_header_size and plt_entry_size fields. 2822 (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be 2823 used in VxWorks executables. Don't allocate dynamic relocations 2824 for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables. 2825 Set is_relocation_target for each symbol referenced by a relocation. 2826 Allocate .rela.dyn entries for relocations against the special 2827 VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT 2828 entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate 2829 a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*, 2830 R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls 2831 to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations. 2832 Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26 2833 relocations. Don't set no_fn_stub on VxWorks. 2834 (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to 2835 mips_elf_allocate_dynamic_relocations. 2836 (_bfd_mips_vxworks_adjust_dynamic_symbol): New function. 2837 (_bfd_mips_elf_always_size_sections): Do not allocate GOT page 2838 entries for VxWorks, and do not create multiple GOTs. 2839 (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME. 2840 Handle .got specially for VxWorks. Update the uses of 2841 MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations. 2842 Check for sgotplt and splt. Allocate the .rel(a).dyn contents last, 2843 once its final size is known. Set DF_TEXTREL for VxWorks. Add 2844 DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL 2845 tags on VxWorks. Do not add the MIPS-specific tags for VxWorks. 2846 (_bfd_mips_vxworks_finish_dynamic_symbol): New function. 2847 (mips_vxworks_finish_exec_plt): Likewise. 2848 (mips_vxworks_finish_shared_plt): Likewise. 2849 (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call 2850 to mips_elf_rel_dyn_section. Use a VxWorks-specific value of 2851 DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, 2852 DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO 2853 and mips_elf_rel_dyn_section. Use a different GOT header for 2854 VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks. 2855 (_bfd_mips_elf_link_hash_table_create): Initialize the new 2856 mips_elf_link_hash_table fields. 2857 (_bfd_mips_vxworks_link_hash_table_create): New function. 2858 (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_ 2859 on VxWorks. Update the call to ELF_MIPS_GP_OFFSET. 2860 * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare. 2861 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 2862 (_bfd_mips_vxworks_link_hash_table_create): Likewise. 2863 * libbfd.h: Regenerate. 2864 * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h. 2865 (elf32-mips.lo): Likewise. 2866 * Makefile.in: Regenerate. 2867 * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare. 2868 * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare. 2869 (bfd_elf32_littlemips_vxworks_vec): Likewise. 2870 (_bfd_target_vector): Add entries for them. 2871 28722006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2873 2874 * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss 2875 section from SHF_PARISC_WEAKORDER to SHF_HP_TLS. 2876 (elf_backend_special_sections): Remove #undef. 2877 28782006-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2879 2880 * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry 2881 for undefined weak symbols. 2882 28832006-03-17 Daniel Jacobowitz <dan@codesourcery.com> 2884 2885 PR ld/2462 2886 * elflink.c (bfd_elf_final_link): Remove 2887 bed->elf_backend_emit_relocs from emit_relocs. 2888 28892006-03-17 Alexandre Oliva <aoliva@redhat.com> 2890 2891 * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from 2892 first relocation to the second when relaxing TLS GD to LE; 2893 zero it out when relaxing to IE. 2894 28952006-03-17 Alan Modra <amodra@bigpond.net.au> 2896 2897 PR 2434 2898 * elflink.c (elf_link_add_object_symbols): Save and restore 2899 warning sym's linked sym. 2900 29012006-03-16 Alan Modra <amodra@bigpond.net.au> 2902 2903 PR 2434 2904 * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete. 2905 (elf_link_add_object_symbols): Delete unnecessary locals. Rename 2906 hash_table -> htab. Formatting. Save entire symbol table 2907 before loading as-needed syms, and restore afterwards if lib not 2908 needed. Use bfd_hash_allocate rather than bfd_alloc for sym 2909 name. Free some buffers earlier. 2910 * bfd-in.h (struct bfd_hash_table): Add entsize. 2911 (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype. 2912 * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise 2913 * hash.c (bfd_hash_table_init_n): Add entsize param, save to 2914 hash table. 2915 (bfd_hash_table_init): Add param, adjust calls. 2916 * aoutx.h: Adjust all hash_table_init functions and calls. 2917 * bfd.c: Likewise. 2918 * coff-arm.c: Likewise. 2919 * coff-h8300.c: Likewise. 2920 * coff-ppc.c: Likewise. 2921 * cofflink.c: Likewise. 2922 * ecoff.c: Likewise. 2923 * ecofflink.c: Likewise. 2924 * elf-m10300.c: Likewise. 2925 * elf-strtab.c: Likewise. 2926 * elf.c: Likewise. 2927 * elf32-arm.c: Likewise. 2928 * elf32-bfin.c: Likewise. 2929 * elf32-cris.c: Likewise. 2930 * elf32-frv.c: Likewise. 2931 * elf32-hppa.c: Likewise. 2932 * elf32-i386.c: Likewise. 2933 * elf32-m32r.c: Likewise. 2934 * elf32-m68hc1x.c: Likewise. 2935 * elf32-m68k.c: Likewise. 2936 * elf32-ppc.c: Likewise. 2937 * elf32-s390.c: Likewise. 2938 * elf32-sh.c: Likewise. 2939 * elf32-vax.c: Likewise. 2940 * elf64-alpha.c: Likewise. 2941 * elf64-hppa.c: Likewise. 2942 * elf64-ppc.c: Likewise. 2943 * elf64-s390.c: Likewise. 2944 * elf64-sh64.c: Likewise. 2945 * elf64-x86-64.c: Likewise. 2946 * elfxx-ia64.c: Likewise. 2947 * elfxx-mips.c: Likewise. 2948 * elfxx-sparc.c: Likewise. 2949 * i386linux.c: Likewise. 2950 * libaout.h: Likewise. 2951 * libbfd-in.h: Likewise. 2952 * libcoff-in.h: Likewise. 2953 * linker.c: Likewise. 2954 * m68klinux.c: Likewise. 2955 * merge.c: Likewise. 2956 * opncls.c: Likewise. 2957 * pdp11.c: Likewise. 2958 * sparclinux.c: Likewise. 2959 * stabs.c: Likewise. 2960 * sunos.c: Likewise. 2961 * vms.c: Likewise. 2962 * xcofflink.c: Likewise. 2963 * section.c (struct section_hash_entry): Move to.. 2964 * libbfd-in.h: ..here. 2965 * Makefile.am: Run "make dep-am" 2966 * Makefile.in: Regenerate. 2967 * bfd-in2.h: Regenerate. 2968 * libbfd.h: Regenerate. 2969 * libcoff.h: Regenerate. 2970 29712006-03-16 Alan Modra <amodra@bigpond.net.au> 2972 2973 * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs 2974 against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak 2975 last change to REL32 relocs so that they are counted as 2976 possibly dynamic as per REL24 and REL14. 2977 29782006-03-16 Alan Modra <amodra@bigpond.net.au> 2979 2980 * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24 2981 checks from REL32. 2982 29832006-03-15 Ben Elliston <bje@au.ibm.com> 2984 2985 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all 2986 in_list elements, not just the first. 2987 29882006-03-14 Richard Sandiford <richard@codesourcery.com> 2989 2990 * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split 2991 out from... 2992 (_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend 2993 for final links too. 2994 29952006-03-13 Richard Sandiford <richard@codesourcery.com> 2996 2997 * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot. 2998 29992006-03-11 H.J. Lu <hongjiu.lu@intel.com> 3000 3001 PR ld/2443 3002 * dwarf2.c (concat_filename): Don't issue an error if file is 0. 3003 30042006-03-10 Paul Brook <paul@codesourcery.com> 3005 3006 * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5. 3007 (elf32_arm_print_private_bfd_data): Ditto. 3008 30092006-03-09 Paul Brook <paul@codesourcery.com> 3010 3011 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional 3012 mapping symbols. 3013 30142006-03-09 Khem Raj <khem@mvista.com> 3015 3016 * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned 3017 char type. 3018 30192006-03-08 H.J. Lu <hongjiu.lu@intel.com> 3020 3021 * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp. 3022 30232006-03-07 Richard Sandiford <richard@codesourcery.com> 3024 Daniel Jacobowitz <dan@codesourcery.com> 3025 Zack Weinberg <zack@codesourcery.com> 3026 Nathan Sidwell <nathan@codesourcery.com> 3027 Paul Brook <paul@codesourcery.com> 3028 Ricardo Anguiano <anguiano@codesourcery.com> 3029 Phil Edwards <phil@codesourcery.com> 3030 3031 * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo. 3032 (bfd_elf32_bigarm_symbian_vec): Likewise. 3033 (bfd_elf32_bigarm_vxworks_vec): Likewise. 3034 (bfd_elf32_littlearm_vec): Likewise. 3035 (bfd_elf32_littlearm_symbian_vec): Likewise. 3036 (bfd_elf32_littlearm_vxworks_vec): Likewise. 3037 * configure: Regenerate. 3038 * elf32-arm.c: Include libiberty.h and elf-vxworks.h. 3039 (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros. 3040 (elf32_arm_vxworks_bed): Add forward declaration. 3041 (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12. 3042 (elf32_arm_vxworks_exec_plt0_entry): New table. 3043 (elf32_arm_vxworks_exec_plt_entry): Likewise. 3044 (elf32_arm_vxworks_shared_plt_entry): Likewise. 3045 (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields. 3046 (reloc_section_p): New function. 3047 (create_got_section): Use RELOC_SECTION. 3048 (elf32_arm_create_dynamic_sections): Likewise. Call 3049 elf_vxworks_create_dynamic_sections for VxWorks targets. 3050 Choose between the two possible values of plt_header_size 3051 and plt_entry_size. 3052 (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2. 3053 (elf32_arm_abs12_reloc): New function. 3054 (elf32_arm_final_link_relocate): Call it. Allow the creation of 3055 dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p, 3056 RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the 3057 r_addend fields of relocs. On rela targets, skip any code that 3058 adjusts in-place addends. When using _bfd_link_final_relocate 3059 to perform a final relocation, pass rel->r_addend as the addend 3060 argument. 3061 (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks 3062 object, ignore flags that are not standard on VxWorks. 3063 (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12 3064 relocs on VxWorks. Use reloc_section_p. 3065 (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE. 3066 (allocate_dynrelocs): Use RELOC_SIZE. Account for the size of 3067 .rela.plt.unloaded relocs on VxWorks targets. 3068 (elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for 3069 .rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags 3070 instead of DT_REL* tags on RELA targets. 3071 (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE 3072 and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks 3073 PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks. 3074 (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE 3075 and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ 3076 like DT_RELSZ. Handle the VxWorks form of initial PLT entry. 3077 Correct the .rela.plt.unreloaded symbol indexes. 3078 (elf32_arm_output_symbol_hook): Call the VxWorks version of this 3079 hook on VxWorks targets. 3080 (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true. 3081 Minor formatting tweak. 3082 (elf32_arm_vxworks_final_write_processing): New function. 3083 (elf_backend_add_symbol_hook): Override for VxWorks and reset 3084 for Symbian. 3085 (elf_backend_final_write_processing): Likewise. 3086 (elf_backend_emit_relocs): Likewise. 3087 (elf_backend_want_plt_sym): Likewise. 3088 (ELF_MAXPAGESIZE): Likewise. 3089 (elf_backend_may_use_rel_p): Minor formatting tweak. 3090 (elf_backend_may_use_rela_p): Likewise. 3091 (elf_backend_default_use_rela_p): Likewise. 3092 (elf_backend_rela_normal): Likewise. 3093 * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h. 3094 30952006-03-06 Nathan Sidwell <nathan@codesourcery.com> 3096 3097 * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp): 3098 New. Adjust other variants. 3099 (bfd_default_scan): Update. 3100 * bfd-in2.h: Rebuilt. 3101 * cpu-m68k.c: Adjust. 3102 (bfd_m68k_compatible): New. Use it for architectures. 3103 * elf32-m68k.c (elf32_m68k_object_p): Adjust. 3104 (elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b 3105 mismatch. 3106 (elf32_m68k_print_private_bfd_data): Adjust. 3107 * ieee.c (ieee_write_processor): Adjust. 3108 31092006-03-06 Alan Modra <amodra@bigpond.net.au> 3110 3111 * dwarf2.c: Formatting. 3112 (add_line_info): Remove outer loop. 3113 31142006-03-05 H.J. Lu <hongjiu.lu@intel.com> 3115 Alan Modra <amodra@bigpond.net.au> 3116 3117 PR binutils/2338 3118 * dwarf2.c (loadable_section): New struct. 3119 (dwarf2_debug): Add loadable_section_count and 3120 loadable_sections. 3121 (new_line_sorts_after): New. 3122 (add_line_info): Use new_line_sorts_after to compare line 3123 addresses. 3124 (check_function_name): Removed. 3125 (unset_sections): New. 3126 (place_sections): New. 3127 (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections 3128 and unset_sections on relocatable files. 3129 (_bfd_dwarf2_find_line): Likewise. 3130 31312006-03-03 Nick Clifton <nickc@redhat.com> 3132 3133 * cpu-avr.c: Update to ISO-C90 formatting. 3134 * elf32-avr.c: Likewise. 3135 31362006-03-03 Bjoern Haase <bjoern.m.haase@web.de> 3137 3138 * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI 3139 and R_AVR_MS8_LDI 3140 (bfd_elf_avr_final_write_processing): Set 3141 EF_AVR_LINKRELAX_PREPARED in e_flags field. 3142 (elf32_avr_relax_section): New function. 3143 (elf32_avr_relax_delete_bytes): New function. 3144 (elf32_avr_get_relocated_section_contents): New function. 3145 (avr_pc_wrap_around): New function. 3146 (avr_relative_distance_considering_wrap_around): New function. 3147 (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI. 3148 * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG 3149 * libbfd.h: Regenerate. 3150 * bfd-in2.h: Regenerate. 3151 31522006-03-02 DJ Delorie <dj@redhat.com> 3153 3154 * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol 3155 calculations. 3156 31572006-03-02 Richard Sandiford <richard@codesourcery.com> 3158 3159 * elf32-ppc.c (is_ppc_elf_target): Return true if the target is 3160 bfd_elf32_powerpc_vxworks_vec. 3161 31622006-03-02 Nick Clifton <nickc@redhat.com> 3163 3164 * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'. 3165 31662006-03-02 Richard Sandiford <richard@codesourcery.com> 3167 3168 * elf32-i386.c (elf_i386_create_dynamic_sections): Use 3169 elf_vxworks_create_dynamic_sections. 3170 (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT 3171 symbol handling. 3172 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use 3173 elf_vxworks_create_dynamic_sections. 3174 (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT 3175 symbol handling. 3176 * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function. 3177 * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare. 3178 31792006-03-02 Richard Sandiford <richard@codesourcery.com> 3180 3181 * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete. 3182 (elf_backend_link_output_symbol_hook): Use 3183 elf_vxworks_link_output_symbol_hook instead. 3184 * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete. 3185 (elf_backend_link_output_symbol_hook): Use 3186 elf_vxworks_link_output_symbol_hook instead. 3187 * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the 3188 same interface as elf_backend_link_output_symbol_hook. 3189 * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update 3190 prototype accordingly. 3191 31922006-03-02 Richard Sandiford <richard@codesourcery.com> 3193 3194 * elf32-ppc.c (ppc_elf_plt_type): New enumeration. 3195 (ppc_elf_link_hash_table): Replace old_got and new_got with 3196 plt_type and can_use_new_plt. 3197 (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS, 3198 SEC_LOAD and SEC_READONLY to the VxWorks .plt flags. 3199 (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt. 3200 Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt. 3201 (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to 3202 either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that 3203 this function should not be called for VxWorks targets. 3204 (ppc_elf_tls_setup): Use plt_type instead of old_got. 3205 (allocate_got): Likewise. Rearrange so that max_before_header 3206 is only used for PLT_OLD and PLT_NEW. 3207 (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks. 3208 (ppc_elf_size_dynamic_sections): Likewise. 3209 (ppc_elf_relax_section): Likewise. 3210 (ppc_elf_relocate_section): Likewise. 3211 (ppc_elf_finish_dynamic_symbol): Likewise. 3212 (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type. 3213 32142006-02-28 Richard Sandiford <richard@codesourcery.com> 3215 3216 * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index. 3217 (elf_i386_link_hash_table_create): Initialize it. 3218 (elf_i386_compute_jump_table_size): Use it instead of 3219 srelplt->reloc_count. 3220 (allocate_dynrelocs): Likewise. 3221 (elf_i386_size_dynamic_sections): Likewise. 3222 (elf_i386_relocate_section): Likewise. 3223 32242006-02-27 Jakub Jelinek <jakub@redhat.com> 3225 3226 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag. 3227 (_bfd_elf_write_section_eh_frame): Likewise. 3228 32292006-02-27 Carlos O'Donell <carlos@codesourcery.com> 3230 3231 * po/Make-in: Add html target. 3232 32332006-02-27 Richard Sandiford <richard@codesourcery.com> 3234 3235 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the 3236 cached hgot entry to check for _GLOBAL_OFFSET_TABLE_. 3237 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise. 3238 * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise. 3239 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 3240 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise. 3241 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise. 3242 * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise. 3243 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise. 3244 * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise. 3245 * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise. 3246 * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise. 3247 * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise. 3248 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise. 3249 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise. 3250 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use 3251 the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_. 3252 * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise. 3253 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 3254 * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise. 3255 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 3256 32572006-02-25 Richard Sandiford <richard@codesourcery.com> 3258 3259 * elf-bfd.h (elf_link_hash_table): Add hplt field. 3260 * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it. 3261 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. 3262 * elf32-frv.c (_frv_create_got_section): Likewise. 3263 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise. 3264 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise. 3265 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise. 3266 * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise. 3267 * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt. 3268 (elf_i386_link_hash_table_create): Don't initialize them. 3269 (elf_i386_size_dynamic_sections): Use the generic ELF hplt and 3270 hgot fields. 3271 (elf_i386_finish_dynamic_symbol): Likewise. 3272 * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt. 3273 (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields. 3274 (ppc_elf_finish_dynamic_symbol): Likewise. 3275 32762006-02-24 DJ Delorie <dj@redhat.com> 3277 3278 * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs. 3279 (m32c_elf_relocate_section): Don't relocate them. 3280 (compare_reloc): New. 3281 (relax_reloc): Remove. 3282 (m32c_offset_for_reloc): New. 3283 (m16c_addr_encodings): New. 3284 (m16c_jmpaddr_encodings): New. 3285 (m32c_addr_encodings): New. 3286 (m32c_elf_relax_section): Relax jumps and address displacements. 3287 (m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up 3288 short jumps. 3289 3290 * reloc.c: Add m32c relax relocs. 3291 * libbfd.h: Regenerate. 3292 * bfd-in2.h: Regenerate. 3293 32942006-02-24 H.J. Lu <hongjiu.lu@intel.com> 3295 3296 PR ld/2218 3297 * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol. 3298 (_bfd_elf_link_hash_fixup_symbol): New. 3299 3300 * elflink.c (_bfd_elf_link_hash_fixup_symbol): New. 3301 (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if 3302 it isn't NULL. 3303 3304 * elfxx-ia64.c (elf_backend_fixup_symbol): Defined. 3305 3306 * elfxx-target.h (elf_backend_fixup_symbol): New. 3307 (elfNN_bed): Initialize elf_backend_fixup_symbol. 3308 33092006-02-23 H.J. Lu <hongjiu.lu@intel.com> 3310 3311 * cpu-ia64-opc.c (ins_immu5b): New. 3312 (ext_immu5b): Likewise. 3313 (elf64_ia64_operands): Add IMMU5b. 3314 33152006-02-21 Alan Modra <amodra@bigpond.net.au> 3316 3317 PR ld/2218 3318 * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie 3319 is dynamic. 3320 * elf32-hppa.c (allocate_dynrelocs): Likewise. 3321 * elf32-i386.c (allocate_dynrelocs): Likewise. 3322 * elf32-s390.c (allocate_dynrelocs): Likewise. 3323 * elf32-sh.c (allocate_dynrelocs): Likewise. 3324 * elf64-s390.c (allocate_dynrelocs): Likewise. 3325 * elf64-x86-64.c (allocate_dynrelocs): Likewise. 3326 * elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs 3327 on undef weak with non-default visibility too. 3328 * elfxx-sparc.c (allocate_dynrelocs): Ditto. 3329 33302006-02-21 Alan Modra <amodra@bigpond.net.au> 3331 3332 * bfd.c: (_bfd_default_error_handler): Don't call abort on 3333 error, instead call _exit. 3334 (_bfd_abort): Call _exit not xexit. 3335 33362006-02-17 Kevin Buettner <kevinb@redhat.com> 3337 3338 * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo): 3339 New functions. 3340 * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define. 3341 33422006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com> 3343 Anil Paranjape <anilp1@kpitcummins.com> 3344 Shilin Shakti <shilins@kpitcummins.com> 3345 3346 * Makefile.am: Add xc16x related entry 3347 * Makefile.in: Regenerate 3348 * archures.c: Add bfd_xc16x_arch 3349 * bfd-in2.h: Regenerate 3350 * config.bfd: Add xc16x-*-elf 3351 * configure.in: Add bfd_elf32_xc16x_vec 3352 * configure: Regenerate. 3353 * targets.c: Added xc16x related information 3354 * cpu-xc16x.c: New file 3355 * reloc.c: Add new relocations specific to xc16x: 3356 BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG, 3357 BFD_RELOC_XC16X_SOF 3358 * elf32-xc16x.c: New file. 3359 33602006-02-17 Alan Modra <amodra@bigpond.net.au> 3361 3362 * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling. 3363 * elf64-ppc.c (allocate_dynrelocs): Likewise. 3364 33652006-02-17 Alan Modra <amodra@bigpond.net.au> 3366 3367 PR ld/2218 3368 * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is 3369 dynamic. 3370 (ppc64_elf_relocate_section): Check output reloc section size. 3371 * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test. 3372 33732006-02-16 H.J. Lu <hongjiu.lu@intel.com> 3374 3375 PR ld/2322 3376 * elf.c (get_segment_type): New function. 3377 (_bfd_elf_print_private_bfd_data): Use it. 3378 (print_segment_map): New function. 3379 (assign_file_positions_for_segments): Call print_segment_map 3380 when there are not enough room for program headers. 3381 33822006-02-16 Nick Hudson <nick.hudson@dsl.pipex.com> 3383 3384 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use 3385 traditional MIPS ELF targets. 3386 33872006-02-15 H.J. Lu <hongjiu.lu@intel.com> 3388 3389 PR binutils/2338 3390 * dwarf2.c (check_function_name): New function. 3391 (_bfd_dwarf2_find_nearest_line): Use check_function_name to 3392 check if function is correct. 3393 33942006-02-16 Alan Modra <amodra@bigpond.net.au> 3395 3396 * elflink.c (_bfd_elf_default_action_discarded): Return 0 for 3397 debug sections. 3398 (elf_link_input_bfd): Adjust comments. 3399 34002006-02-10 H.J. Lu <hongjiu.lu@intel.com> 3401 3402 * elf.c (copy_private_bfd_data): Minor update. 3403 34042006-02-10 H.J. Lu <hongjiu.lu@intel.com> 3405 3406 PR binutils/2258 3407 * elf.c (copy_private_bfd_data): Renamed to ... 3408 (rewrite_elf_program_header): This. 3409 (copy_elf_program_header): New function. 3410 (copy_private_bfd_data): Likewise. 3411 34122006-02-07 Nathan Sidwell <nathan@codesourcery.com> 3413 3414 * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e, 3415 bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x, 3416 bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249, 3417 bfd_mach_mcf547x, bfd_mach_mcf548x): Remove. 3418 (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div, 3419 bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac, 3420 bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac, 3421 bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp, 3422 bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac, 3423 bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac, 3424 bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac, 3425 bfd_mach_mcf_isa_b_usp_float_emac): New. 3426 (bfd_default_scan): Update coldfire mapping. 3427 * bfd-in.h (bfd_m68k_mach_to_features, 3428 bfd_m68k_features_to_mach): Declare. 3429 * bfd-in2.h: Rebuilt. 3430 * cpu-m68k.c (arch_info_struct): Add new coldfire machines, 3431 adjust legacy names. 3432 (m68k_arch_features): New. 3433 (bfd_m68k_mach_to_features, 3434 bfd_m68k_features_to_mach): Define. 3435 * elf32-m68k.c (elf32_m68k_object_p): New. 3436 (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags. 3437 (elf32_m68k_print_private_bfd_data): Print the CF EF flags. 3438 (elf_backend_object_p): Define. 3439 * ieee.c (ieee_write_processor): Update coldfire machines. 3440 * libbfd.h: Rebuilt. 3441 34422006-02-06 Steve Ellcey <sje@cup.hp.com> 3443 3444 * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS 3445 if SHF_TLS is set. 3446 34472006-02-05 Arnold Metselaar <arnold.metselaar@planet.nl> 3448 3449 * coff-z80.c (r_imm24): New howto. 3450 (rtype2howto): New case R_IMM24. 3451 (coff_z80_reloc_type_lookup): New case BFD_RELOC_24. 3452 (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24. 3453 34542006-02-04 Richard Sandiford <richard@codesourcery.com> 3455 3456 * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol 3457 has already been assigned a GOT index, copy that index to the 3458 current hash table entry. 3459 34602006-02-01 Eric Botcazou <ebotcazou@libertysurf.fr> 3461 3462 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3463 for call-to-undefweak reloc overflow. 3464 34652006-01-31 Eric Botcazou <ebotcazou@libertysurf.fr> 3466 3467 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3468 for 32-bit relocs overflow. 3469 34702006-01-27 Paul Brook <paul@codesourcery.com> 3471 3472 * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb 3473 objects. 3474 34752006-01-18 Alexandre Oliva <aoliva@redhat.com> 3476 3477 Introduce TLS descriptors for i386 and x86_64. 3478 * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC, 3479 BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC, 3480 BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New. 3481 * libbfd.h, bfd-in2.h: Rebuilt. 3482 * elf32-i386.c (elf_howto_table): New relocations. 3483 (R_386_tls): Adjust. 3484 (elf_i386_reloc_type_lookup): Map new relocations. 3485 (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. 3486 (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. 3487 (struct elf_i386_link_hash_entry): Add tlsdesc_got field. 3488 (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field. 3489 (elf_i386_local_tlsdesc_gotent): New macro. 3490 (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size. 3491 (elf_i386_compute_jump_table_size): New macro. 3492 (link_hash_newfunc): Initialize tlsdesc_got. 3493 (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size. 3494 (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and 3495 R_386_TLS_DESC_CALL. 3496 (elf_i386_check_relocs): Likewise. Allocate space for 3497 local_tlsdesc_gotent. 3498 (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and 3499 R_386_TLS_DESC_CALL. 3500 (allocate_dynrelocs): Count function PLT relocations. Reserve 3501 space for TLS descriptors and relocations. 3502 (elf_i386_size_dynamic_sections): Reserve space for TLS 3503 descriptors and relocations. Set up sgotplt_jump_table_size. 3504 Don't zero reloc_count in srelplt. 3505 (elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_. 3506 (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and 3507 R_386_TLS_DESC_CALL. 3508 (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. 3509 (elf_backend_always_size_sections): Define. 3510 * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC, 3511 R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL. 3512 (R_X86_64_standard): Adjust. 3513 (x86_64_reloc_map): Map new relocs. 3514 (elf64_x86_64_rtype_to_howto): New, split out of... 3515 (elf64_x86_64_info_to_howto): ... this function, and... 3516 (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val. 3517 (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. 3518 (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. 3519 (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field. 3520 (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field. 3521 (elf64_x86_64_local_tlsdesc_gotent): New macro. 3522 (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt, 3523 tlsdesc_got and sgotplt_jump_table_size fields. 3524 (elf64_x86_64_compute_jump_table_size): New macro. 3525 (link_hash_newfunc): Initialize tlsdesc_got. 3526 (elf64_x86_64_link_hash_table_create): Initialize new fields. 3527 (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and 3528 R_X86_64_TLSDESC_CALL. 3529 (elf64_x86_64_check_relocs): Likewise. Allocate space for 3530 local_tlsdesc_gotent. 3531 (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and 3532 R_X86_64_TLSDESC_CALL. 3533 (allocate_dynrelocs): Count function PLT relocations. Reserve 3534 space for TLS descriptors and relocations. 3535 (elf64_x86_64_size_dynamic_sections): Reserve space for TLS 3536 descriptors and relocations. Set up sgotplt_jump_table_size, 3537 tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero 3538 reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT 3539 and DT_TLSDESC_GOT. 3540 (elf64_x86_64_always_size_sections): New. Set up 3541 _TLS_MODULE_BASE_. 3542 (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and 3543 R_386_TLS_DESC_CALL. 3544 (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. 3545 (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and 3546 DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry. 3547 (elf_backend_always_size_sections): Define. 3548 35492006-01-17 H.J. Lu <hongjiu.lu@intel.com> 3550 3551 PR binutils/2096 3552 * dwarf2.c (comp_unit_contains_address): Update comment. 3553 (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of 3554 lma. Return TRUE only if both comp_unit_contains_address and 3555 comp_unit_find_nearest_line return TRUE. 3556 (_bfd_dwarf2_find_line): Use section's vma, instead of lma. 3557 35582006-01-18 Alan Modra <amodra@bigpond.net.au> 3559 3560 * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref. 3561 (bfd_elf_gc_mark_dynamic_ref_symbol): Declare. 3562 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from 3563 elf_gc_mark_dynamic_ref_symbol. Make global. 3564 (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref. 3565 * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define. 3566 (elfNN_bed): Init new field. 3567 * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define. 3568 (ppc64_elf_gc_mark_dynamic_ref): New function. 3569 35702006-01-17 Alan Modra <amodra@bigpond.net.au> 3571 3572 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop. 3573 35742006-01-17 Nick Clifton <nickc@redhat.com> 3575 3576 PR binutils/2159 3577 * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused 3578 parameters. 3579 35802006-01-11 Nick Clifton <nickc@redhat.com> 3581 3582 * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry 3583 into the newly (re)allocated map array. 3584 35852006-01-09 Alexis Wilke <alexis_wilke@yahoo.com> 3586 3587 * peXXigen.c (tbl): Add comma after "HIGH3ADJ". 3588 35892006-01-01 Jakub Jelinek <jakub@redhat.com> 3590 3591 * elf64-ppc.c (ppc64_elf_action_discarded): Return 0 3592 for .toc1 section. 3593 3594For older changes see ChangeLog-2005 3595 3596Local Variables: 3597mode: change-log 3598left-margin: 8 3599fill-column: 74 3600version-control: never 3601End: 3602