1 2006-12-31 H.J. Lu <hongjiu.lu (a] intel.com> 2 3 * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc 4 to allocate elf_segment_map. 5 6 2006-12-29 H.J. Lu <hongjiu.lu (a] intel.com> 7 8 * elflink.c (elf_link_add_object_symbols): Remember the symbol 9 size only if it is defined. 10 11 2006-12-25 Kazu Hirata <kazu (a] 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 32 2006-12-25 Mei Ligang <ligang (a] 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 41 2006-12-23 Jakub Jelinek <jakub (a] 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 51 2006-12-19 Kazu Hirata <kazu (a] 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 57 2006-12-19 Nathan Sidwell <nathan (a] 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 65 2006-12-15 Mark Kettenis <kettenis (a] 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 71 2006-12-15 Alan Modra <amodra (a] 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 79 2006-12-14 Alan Modra <amodra (a] bigpond.net.au> 80 81 * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group 82 and next_in_group usage. 83 84 2006-12-14 Alan Modra <amodra (a] bigpond.net.au> 85 86 PR 3704 87 * bfdio.c (bfd_bread): Don't read past end of archive elements. 88 89 2006-12-12 Daniel Jacobowitz <dan (a] 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 95 2006-12-11 Daniel Jacobowitz <dan (a] 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 104 2006-12-11 Eric Botcazou <ebotcazou (a] adacore.com> 105 106 * elflink.c (bfd_elf_gc_sections): Also search for corresponding 107 sections with .gnu.linkonce.t. prefix. 108 109 2006-12-07 Kazu Hirata <kazu (a] codesourcery.com> 110 111 * elf32-m68k.c: Update uses of EF_M68K_*. 112 113 2006-12-07 H.J. Lu <hjl (a] 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 119 2006-12-06 Alan Modra <amodra (a] bigpond.net.au> 120 121 * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function. 122 (elf_backend_merge_symbol_attribute): Define. 123 124 2006-12-04 Jan Beulich <jbeulich (a] 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 131 2006-12-01 H.J. Lu <hongjiu.lu (a] 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 138 2006-12-01 Nick Clifton <nickc (a] 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 144 2006-11-29 Paul Brook <paul (a] 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 151 2006-11-29 Paul Brook <paul (a] 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 158 2006-11-29 Paul Brook <paul (a] codesourcery.com> 159 Julian Brown <julian (a] 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 166 2006-11-27 Bob Wilson <bob.wilson (a] acm.org> 167 168 * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info. 169 170 2006-11-24 H.J. Lu <hongjiu.lu (a] 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 178 2006-11-22 Alan Modra <amodra (a] 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 184 2006-11-21 Greg McGary <greg (a] 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 190 2006-11-21 Jakub Jelinek <jakub (a] 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 204 2006-11-20 Alan Modra <amodra (a] 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 214 2006-11-20 Alan Modra <amodra (a] 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 223 2006-11-18 Alan Modra <amodra (a] 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 233 2006-11-14 Phil Lello <phil.lello (a] 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 245 2006-11-13 Daniel Jacobowitz <dan (a] 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 257 2006-11-10 Thiemo Seufer <ths (a] mips.com> 258 259 * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support 260 for SDE configs. 261 262 2006-11-10 Nick Clifton <nickc (a] redhat.com> 263 264 * config.bfd: Move previously obsoleted targets to the REMOVED 265 list. 266 Add maxq-*-coff to the obsolete list. 267 268 2006-11-10 Pedro Alves <pedro_alves (a] 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 274 2006-11-07 Daniel Jacobowitz <dan (a] 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 285 2006-11-07 Alan Modra <amodra (a] 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 298 2006-11-07 Alan Modra <amodra (a] 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 312 2006-11-02 Daniel Jacobowitz <dan (a] 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 336 2006-11-01 Thiemo Seufer <ths (a] mips.com> 337 David Ung <davidu (a] 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 348 2006-11-01 Alan Modra <amodra (a] bigpond.net.au> 349 350 * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct 351 check for PLT usage. 352 353 2006-11-01 Daniel Jacobowitz <dan (a] codesourcery.com> 354 355 * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt. 356 357 2006-10-31 Alan Modra <amodra (a] bigpond.net.au> 358 359 * elf.c (elfcore_write_note): Pad note descriptor to 4-byte 360 boundary. Tidy. Comment. 361 362 2006-10-30 H.J. Lu <hongjiu.lu (a] 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 395 2006-10-30 Alan Modra <amodra (a] 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 405 2006-10-30 Alan Modra <amodra (a] bigpond.net.au> 406 407 * elf.c (elfcore_write_note): Pad to 4-byte boundary. 408 409 2006-10-28 Richard Sandiford <richard (a] 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 417 2006-10-26 H.J. Lu <hongjiu.lu (a] 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 423 2006-10-27 Alan Modra <amodra (a] 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 432 2006-10-26 Ben Elliston <bje (a] 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 439 2006-10-26 Ben Elliston <bje (a] 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 446 2006-10-26 Ben Elliston <bje (a] 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 453 2006-10-25 Alan Modra <amodra (a] bigpond.net.au> 454 Trevor Smigiel <Trevor_Smigiel (a] playstation.sony.com> 455 Yukishige Shibata <shibata (a] rd.scei.sony.co.jp> 456 Nobuhisa Fujinami <fnami (a] rd.scei.sony.co.jp> 457 Takeaki Fukuoka <fukuoka (a] 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 474 2006-10-23 Alan Modra <amodra (a] bigpond.net.au> 475 476 * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment. 477 478 2006-10-23 Alan Modra <amodra (a] 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 486 2006-10-23 Alan Modra <amodra (a] bigpond.net.au> 487 488 * linker.c (fix_syms): Choose best of previous and next 489 section based on section flags and vma. 490 491 2006-10-21 Kaz Kojima <kkojima (a] 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 497 2006-10-20 Richard Sandiford <richard (a] codesourcery.com> 498 499 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend 500 PT_DYNAMIC on GNU/Linux targets. 501 502 2006-10-20 Richard Sandiford <richard (a] 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 507 2006-10-20 Richard Sandiford <richard (a] 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 513 2006-10-19 Mei Ligang <ligang (a] 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 522 2006-10-19 Richard Sandiford <richard (a] 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 529 2006-10-19 Richard Sandiford <richard (a] 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 535 2006-10-18 H.J. Lu <hongjiu.lu (a] intel.com> 536 537 PR ld/3290 538 * elflink.c (elf_link_add_object_symbols): Hide definitions in 539 debug sections. 540 541 2006-10-19 Alan Modra <amodra (a] 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 550 2006-10-18 Roy Marples <uberlord (a] 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 559 2006-10-17 Mark Shinwell <shinwell (a] 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 566 2006-10-17 Mark Shinwell <shinwell (a] 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 573 2006-10-17 Mark Shinwell <shinwell (a] 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 581 2006-10-17 Alan Modra <amodra (a] 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 633 2006-10-16 Andreas Schwab <schwab (a] suse.de> 634 635 * elfxx-ia64.c (addend_compare): Properly compute return value. 636 637 2006-10-15 H.J. Lu <hongjiu.lu (a] 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 643 2006-10-13 Jakub Jelinek <jakub (a] 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 650 2006-10-12 Bob Wilson <bob.wilson (a] acm.org> 651 652 * elf32-xtensa.c (elf_xtensa_action_discarded): New. 653 (elf_backend_action_discarded): Define. 654 655 2006-10-11 Bob Wilson <bob.wilson (a] 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 662 2006-10-10 Bob Wilson <bob.wilson (a] acm.org> 663 664 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG 665 for PIE executables. 666 667 2006-10-03 Jakub Jelinek <jakub (a] 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 681 2006-10-02 Daniel Jacobowitz <dan (a] codesourcery.com> 682 683 * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS 684 symbols from the --just-syms file. 685 686 2006-10-01 Alan Modra <amodra (a] bigpond.net.au> 687 688 * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for 689 existence of PLT. 690 691 2006-09-29 H.J. Lu <hongjiu.lu (a] 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 697 2006-09-29 Alan Modra <amodra (a] bigpond.net.au> 698 699 * po/BLD-POTFILES.in: Regenerate. 700 * po/SRC-POTFILES.in: Regenerate. 701 702 2006-09-29 Danny Smith <dannysmith (a] 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 710 2006-09-28 Alan Modra <amodra (a] 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 794 2006-09-25 Pedro Alves <pedro_alves (a] 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 804 2006-09-26 H.J. Lu <hongjiu.lu (a] 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 811 2006-09-27 Alan Modra <amodra (a] 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 817 2006-09-26 H.J. Lu <hongjiu.lu (a] 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 824 2006-09-26 Mark Shinwell <shinwell (a] codesourcery.com> 825 Joseph Myers <joseph (a] codesourcery.com> 826 Ian Lance Taylor <ian (a] wasabisystems.com> 827 Ben Elliston <bje (a] 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 836 2006-09-24 H.J. Lu <hongjiu.lu (a] intel.com> 837 838 * configure: Regenerated. 839 840 2006-09-22 Alan Modra <amodra (a] 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 850 2006-09-20 Martin Schwidefsky <schwidefsky (a] 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 857 2006-09-20 Kai Tietz <Kai.Tietz (a] 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 890 2006-09-17 Hans-Peter Nilsson <hp (a] axis.com> 891 892 * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change 893 for .stabstr entry, explain why. 894 895 2006-09-17 Anton Blanchard <anton (a] samba.org> 896 Alan Modra <amodra (a] bigpond.net.au> 897 898 * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table 899 entry isn't absolute. 900 901 2006-09-17 Mei Ligang <ligang (a] 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 916 2006-09-16 Nick Clifton <nickc (a] redhat.com> 917 Pedro Alves <pedro_alves (a] 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 984 2006-09-14 Alan Modra <amodra (a] 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 990 2006-09-12 H.J. Lu <hongjiu.lu (a] intel.com> 991 992 PR ld/3197 993 * elflink.c (elf_link_output_extsym): Compute bucket only if 994 needed. 995 996 2006-09-10 H.J. Lu <hongjiu.lu (a] intel.com> 997 998 PR binutils/3186 999 * elf.c (_bfd_elf_make_section_from_shdr): Correct length of 1000 "gnu.linkonce.wi.". 1001 1002 2006-09-08 Vladimir Prus <vladimir (a] 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 1009 2006-09-07 H.J. Lu <hongjiu.lu (a] 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 1033 2006-09-05 Bibo Mao <bibo.mao (a] 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 1039 2006-09-04 Mark Shinwell <shinwell (a] 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 1046 2006-08-24 Bob Wilson <bob.wilson (a] 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 1055 2006-08-23 Frediano Ziglio <Frediano.Ziglio (a] vodafone.com> 1056 1057 * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt" 1058 variable. 1059 1060 2006-08-22 Daniel Jacobowitz <dan (a] codesourcery.com> 1061 1062 * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy 1063 plt_thumb_refcount from indirect symbols. 1064 1065 2006-08-22 Alan Modra <amodra (a] 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 1071 2006-08-21 Mark Shinwell <shinwell (a] codesourcery.com> 1072 1073 * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in 1074 comment for target1_is_rel. 1075 1076 2006-08-21 Pedro Alves <pedro_alves (a] 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 1101 2006-08-18 Paul Brook <paul (a] 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 1115 2006-08-17 Alan Modra <amodra (a] 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 1120 2006-08-17 Alan Modra <amodra (a] bigpond.net.au> 1121 1122 * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections. 1123 1124 2006-08-16 H.J. Lu <hongjiu.lu (a] 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 1133 2006-08-15 Thiemo Seufer <ths (a] mips.com> 1134 Nigel Stephens <nigel (a] 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 1142 2006-08-15 Thiemo Seufer <ths (a] mips.com> 1143 Nigel Stephens <nigel (a] mips.com> 1144 David Ung <davidu (a] mips.com> 1145 1146 * config.bfd: Add configurations for mips*el-sde-elf* and 1147 mips*-sde-elf*. 1148 1149 2006-08-14 DJ Delorie <dj (a] 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 1161 2006-08-14 Thiemo Seufer <ths (a] 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 1167 2006-08-11 Thiemo Seufer <ths (a] mips.com> 1168 1169 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set 1170 sh_entsize only when sgot was already initialized. 1171 1172 2006-08-08 DJ Delorie <dj (a] 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 1178 2006-08-08 Alan Modra <amodra (a] bigpond.net.au> 1179 1180 * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count 1181 after stubs have been built. 1182 1183 2006-08-07 Nick Clifton <nickc (a] 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 1188 2006-08-07 Nick Clifton <nickc (a] redhat.com> 1189 1190 * configure.in (bfd_elf32_shnbsd_vec): Fix typo. 1191 * configure: Regenerate. 1192 1193 2006-08-07 Nick Clifton <nickc (a] 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 1198 2006-08-05 Pedro Alves <pedro_alves (a] 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 1211 2006-08-04 Marcelo Tosatti <marcelo (a] kvack.org> 1212 1213 * elflink.c (elf_gc_sweep): If info.print_gc_sections is true, 1214 list removed sections to stderr. 1215 1216 2006-08-04 Richard Sandiford <richard (a] codesourcery.com> 1217 Kazu Hirata <kazu (a] codesourcery.com> 1218 Phil Edwards <phil (a] codesourcery.com> 1219 Nathan Sidwell <nathan (a] 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 1329 2006-08-02 Mark Kettenis <kettenis (a] gnu.org> 1330 1331 * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo. 1332 * configure: Regenerate. 1333 1334 2006-08-02 Petr Salinger <Petr.Salinger (a] 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 1345 2006-07-26 Andreas Schwab <schwab (a] suse.de> 1346 1347 * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set. 1348 1349 2006-07-26 Alan Modra <amodra (a] 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 1355 2006-07-25 Thiemo Seufer <ths (a] networkno.de> 1356 1357 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow 1358 linking of objects for compatible machine types. 1359 1360 2006-07-25 Thiemo Seufer <ths (a] networkno.de> 1361 1362 * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test 1363 also for same symbol. 1364 1365 2006-07-25 Thiemo Seufer <ths (a] mips.com> 1366 1367 * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant. 1368 1369 2006-07-24 Michael Wetherell <mike.wetherell (a] 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 1374 2006-07-24 Nick Clifton <nickc (a] 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 1381 2006-07-20 Thiemo Seufer <ths (a] 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 1390 2006-07-19 Alan Modra <amodra (a] 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 1397 2006-07-18 Paul Brook <paul (a] codesourcery.com> 1398 1399 * bfd-in2.h: Regenerate. 1400 * libbfd.h: Regenerate. 1401 * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. 1402 1403 2006-07-18 Nick Clifton <nickc (a] 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 1410 2006-07-14 Jakub Jelinek <jakub (a] redhat.com> 1411 1412 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value. 1413 1414 2006-07-14 Mark Kettenis <kettenis (a] gnu.org> 1415 1416 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations 1417 to the start of a block. 1418 1419 2006-07-13 Nick Clifton <nickc (a] redhat.com> 1420 1421 * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() 1422 returning a NULL value. 1423 1424 2006-07-12 H.J. Lu <hongjiu.lu (a] 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 1432 2006-07-12 Matthew R. Dempsky <mrd (a] alkemio.org> 1433 1434 * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32. 1435 1436 2006-07-10 Jakub Jelinek <jakub (a] 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 1471 2006-07-05 Nick Clifton <nickc (a] 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 1477 2006-06-30 H.J. Lu <hongjiu.lu (a] 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 1484 2006-06-29 Jakub Jelinek <jakub (a] 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 1493 2006-06-23 Alan Modra <amodra (a] 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 1514 2006-06-20 Jakub Jelinek <jakub (a] redhat.com> 1515 1516 * elflink.c (elf_link_add_object_symbols): Don't create .tcommon 1517 section for relocatable link. 1518 1519 2006-06-21 Alan Modra <amodra (a] 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 1547 2006-06-20 Jakub Jelinek <jakub (a] 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 1552 2006-06-20 Alan Modra <amodra (a] 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 1582 2006-06-19 Vladimir Prus <vladimir (a] codesourcery.com> 1583 1584 * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low 1585 bit for undefined symbols. 1586 1587 2006-06-19 Alan Modra <amodra (a] 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 1642 2006-06-15 Mark Shinwell <shinwell (a] 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 1669 2006-06-14 Richard Sandiford <richard (a] 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 1703 2006-06-14 Alan Modra <amodra (a] 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 1709 2006-06-12 Thiemo Seufer <ths (a] 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 1717 2006-06-12 Nick Clifton <nickc (a] 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 1727 2006-06-11 Richard Sandiford <richard (a] codesourcery.com> 1728 Thiemo Seufer <ths (a] 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 1756 2006-06-09 David Ung <davidu (a] mips.com> 1757 1758 * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub 1759 calling relocations. 1760 1761 2006-06-08 David Daney <ddaney (a] 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 1776 2006-06-07 Joseph S. Myers <joseph (a] codesourcery.com> 1777 1778 * po/Make-in (pdf, ps): New dummy targets. 1779 1780 2006-06-06 Alan Modra <amodra (a] 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 1788 2006-06-05 Daniel Jacobowitz <dan (a] codesourcery.com> 1789 1790 * po/Make-in (top_builddir): Define. 1791 1792 2006-06-05 Alan Modra <amodra (a] bigpond.net.au> 1793 1794 * Makefile.am: Run "make dep-am". 1795 * Makefile.in: Regenerate. 1796 * config.in: Regenerate. 1797 1798 2006-06-02 Alan Modra <amodra (a] bigpond.net.au> 1799 H.J. Lu <hongjiu.lu (a] 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 1805 2006-06-01 Alan Modra <amodra (a] 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 1845 2006-05-31 Daniel Jacobowitz <dan (a] 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 1853 2006-05-30 H.J. Lu <hongjiu.lu (a] 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 1887 2006-05-30 Nick Clifton <nickc (a] redhat.com> 1888 1889 * po/es.po: Updated Spanish translation. 1890 1891 2006-05-27 Alan Modra <amodra (a] bigpond.net.au> 1892 H.J. Lu <hongjiu.lu (a] 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 1899 2006-05-26 H.J. Lu <hongjiu.lu (a] intel.com> 1900 1901 * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000. 1902 1903 2006-05-25 H.J. Lu <hongjiu.lu (a] intel.com> 1904 1905 * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000. 1906 1907 2006-05-25 H.J. Lu <hongjiu.lu (a] intel.com> 1908 1909 * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000. 1910 1911 2006-05-26 Alan Modra <amodra (a] 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 1919 2006-05-25 H.J. Lu <hongjiu.lu (a] 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 1933 2006-05-24 H.J. Lu <hongjiu.lu (a] 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 1949 2006-05-24 Paul Brook <paul (a] 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 1962 2006-05-24 Paul Brook <paul (a] 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 1968 2006-05-24 Carlos O'Donell <carlos (a] systemhalted.org> 1969 Randolph Chung <tausq (a] 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 1999 2006-05-24 Bjoern Haase <bjoern.m.haase (a] 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 2047 2006-05-23 H.J. Lu <hongjiu.lu (a] 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 2054 2006-05-23 Jie Zhang <jie.zhang (a] analog.com> 2055 2056 * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for 2057 deteted entries in .eh_frame section. 2058 2059 2006-05-23 Jie Zhang <jie.zhang (a] 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 2069 2006-05-23 Alan Modra <amodra (a] bigpond.net.au> 2070 2071 * elf64-ppc.c (compare_symbols): Prefer strong dynamic global 2072 function syms over other syms. 2073 2074 2006-05-22 Daniel Jacobowitz <dan (a] 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 2088 2006-05-19 H.J. Lu <hongjiu.lu (a] intel.com> 2089 2090 * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment. 2091 2092 2006-05-19 Alan Modra <amodra (a] 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 2102 2006-05-17 Alan Modra <amodra (a] 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 2109 2006-05-17 Alan Modra <amodra (a] 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 2114 2006-05-15 Paul Brook <paul (a] 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 2129 2006-05-15 David Heine <dlheine (a] tensilica.com> 2130 Bob Wilson <bob.wilson (a] 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 2145 2006-05-15 Alan Modra <amodra (a] 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 2151 2006-05-11 Michael Matz <matz (a] suse.de> 2152 2153 * elflink.c (match_group_member): Correctly iterate group 2154 members. 2155 2156 2006-05-11 Paul Brook <paul (a] 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 2166 2006-05-11 Mike Bland <mbland (a] google.com> 2167 2168 * elf.c (_bfd_elf_init_private_section_data): Don't change 2169 section type if already set. 2170 2171 2006-05-10 Nick Clifton <nickc (a] 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 2179 2006-05-11 Pedro Alves <pedro_alves (a] 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 2186 2006-05-10 Alan Modra <amodra (a] bigpond.net.au> 2187 2188 PR 2342 2189 * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16. 2190 2191 2006-05-09 Nick Clifton <nickc (a] 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 2196 2006-05-09 Ben Elliston <bje (a] au.ibm.com> 2197 2198 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused 2199 local variable `dynobj'. 2200 2201 2006-05-05 Bjoern Haase <bjoern.m.haase (a] 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 2206 2006-05-05 Martin Schwidefsky <schwidefsky (a] 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 2214 2006-05-05 Alan Modra <amodra (a] 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 2222 2006-05-04 Andreas Schwab <schwab (a] 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 2232 2006-05-04 Daniel Jacobowitz <dan (a] codesourcery.com> 2233 2234 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling 2235 for missing GOTs. 2236 2237 2006-05-04 Daniel Jacobowitz <dan (a] codesourcery.com> 2238 2239 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more 2240 mapping symbols. 2241 2242 2006-05-04 Ben Elliston <bje (a] 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 2252 2006-05-03 Alan Modra <amodra (a] 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 2288 2006-05-03 Alan Modra <amodra (a] 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 2295 2006-05-02 Paul Brook <paul (a] codesourcery.com> 2296 2297 * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit 2298 for R_ARM_REL32. 2299 2300 2006-05-02 Ben Elliston <bje (a] 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 2317 2006-05-02 Nick Clifton <nickc (a] 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 2322 2006-05-02 Alan Modra <amodra (a] 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 2336 2006-05-01 DJ Delorie <dj (a] 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 2344 2006-04-27 Kaz Kojima <kkojima (a] 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 2359 2006-04-27 Alan Modra <amodra (a] bigpond.net.au> 2360 2361 * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix. 2362 2363 2006-04-26 H.J. Lu <hongjiu.lu (a] 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 2372 2006-04-25 H.J. Lu <hongjiu.lu (a] 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 2392 2006-04-21 Alan Modra <amodra (a] 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 2398 2006-04-20 H.J. Lu <hongjiu.lu (a] 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 2405 2006-04-19 Alan Modra <amodra (a] bigpond.net.au> 2406 2407 * Makefile.am: Run "make dep-am". 2408 * Makefile.in: Regenerate. 2409 2410 2006-04-19 Alan Modra <amodra (a] bigpond.net.au> 2411 2412 * warning.m4 (--enable-werror): Format help message. 2413 (--enable-build-warnings): Likewise. 2414 * configure: Regenerate. 2415 2416 2006-04-18 Nick Clifton <nickc (a] 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 2422 2006-04-16 Daniel Jacobowitz <dan (a] codesourcery.com> 2423 2424 * po/SRC-POTFILES.in: Regenerated. 2425 2426 2006-04-16 Daniel Jacobowitz <dan (a] codesourcery.com> 2427 2428 * configure.in: Update version to 2.17.50. 2429 * configure: Regenerated. 2430 2431 2006-04-14 David Heine <dlheine (a] 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 2439 2006-04-08 H.J. Lu <hongjiu.lu (a] 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 2453 2006-04-07 Randolph Chung <tausq (a] 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 2459 2006-04-06 DJ Delorie <dj (a] redhat.com> 2460 2461 * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for 2462 each plt entry we create. 2463 2464 2006-04-06 Carlos O'Donell <carlos (a] 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 2473 2006-04-06 H.J. Lu <hongjiu.lu (a] 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 2479 2006-04-05 Bernd Schmidt <bernd.schmidt (a] analog.com> 2480 2481 * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to 2482 eliminate warnings. 2483 2484 2006-04-05 H.J. Lu <hongjiu.lu (a] intel.com> 2485 James E Wilson <wilson (a] 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 2509 2006-04-05 Bernd Schmidt <bernd.schmidt (a] analog.com> 2510 2511 * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp 2512 symbol. 2513 2514 2006-04-05 H.J. Lu <hongjiu.lu (a] 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 2521 2006-04-05 H.J. Lu <hongjiu.lu (a] 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 2528 2006-04-05 Richard Sandiford <richard (a] codesourcery.com> 2529 Daniel Jacobowitz <dan (a] 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 2577 2006-03-30 Ben Elliston <bje (a] 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 2584 2006-03-27 Richard Sandiford <richard (a] 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 2595 2006-03-25 Bernd Schmidt <bernd.schmidt (a] 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 2677 2006-03-25 Richard Sandiford <richard (a] 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 2685 2006-03-23 Michael Matz <matz (a] 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 2703 2006-03-22 Bob Wilson <bob.wilson (a] acm.org> 2704 2705 * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that 2706 rel->r_addend is zero. 2707 2708 2006-03-22 Richard Sandiford <richard (a] codesourcery.com> 2709 2710 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type 2711 of "loc". 2712 2713 2006-03-22 Richard Sandiford <richard (a] codesourcery.com> 2714 Daniel Jacobowitz <dan (a] codesourcery.com> 2715 Phil Edwards <phil (a] codesourcery.com> 2716 Zack Weinberg <zack (a] codesourcery.com> 2717 Mark Mitchell <mark (a] codesourcery.com> 2718 Nathan Sidwell <nathan (a] 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 2872 2006-03-19 John David Anglin <dave.anglin (a] 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 2878 2006-03-18 John David Anglin <dave.anglin (a] 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 2883 2006-03-17 Daniel Jacobowitz <dan (a] 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 2889 2006-03-17 Alexandre Oliva <aoliva (a] 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 2895 2006-03-17 Alan Modra <amodra (a] 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 2901 2006-03-16 Alan Modra <amodra (a] 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 2971 2006-03-16 Alan Modra <amodra (a] 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 2978 2006-03-16 Alan Modra <amodra (a] bigpond.net.au> 2979 2980 * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24 2981 checks from REL32. 2982 2983 2006-03-15 Ben Elliston <bje (a] 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 2988 2006-03-14 Richard Sandiford <richard (a] 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 2995 2006-03-13 Richard Sandiford <richard (a] codesourcery.com> 2996 2997 * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot. 2998 2999 2006-03-11 H.J. Lu <hongjiu.lu (a] intel.com> 3000 3001 PR ld/2443 3002 * dwarf2.c (concat_filename): Don't issue an error if file is 0. 3003 3004 2006-03-10 Paul Brook <paul (a] codesourcery.com> 3005 3006 * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5. 3007 (elf32_arm_print_private_bfd_data): Ditto. 3008 3009 2006-03-09 Paul Brook <paul (a] codesourcery.com> 3010 3011 * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional 3012 mapping symbols. 3013 3014 2006-03-09 Khem Raj <khem (a] mvista.com> 3015 3016 * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned 3017 char type. 3018 3019 2006-03-08 H.J. Lu <hongjiu.lu (a] intel.com> 3020 3021 * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp. 3022 3023 2006-03-07 Richard Sandiford <richard (a] codesourcery.com> 3024 Daniel Jacobowitz <dan (a] codesourcery.com> 3025 Zack Weinberg <zack (a] codesourcery.com> 3026 Nathan Sidwell <nathan (a] codesourcery.com> 3027 Paul Brook <paul (a] codesourcery.com> 3028 Ricardo Anguiano <anguiano (a] codesourcery.com> 3029 Phil Edwards <phil (a] 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 3095 2006-03-06 Nathan Sidwell <nathan (a] 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 3109 2006-03-06 Alan Modra <amodra (a] bigpond.net.au> 3110 3111 * dwarf2.c: Formatting. 3112 (add_line_info): Remove outer loop. 3113 3114 2006-03-05 H.J. Lu <hongjiu.lu (a] intel.com> 3115 Alan Modra <amodra (a] 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 3131 2006-03-03 Nick Clifton <nickc (a] redhat.com> 3132 3133 * cpu-avr.c: Update to ISO-C90 formatting. 3134 * elf32-avr.c: Likewise. 3135 3136 2006-03-03 Bjoern Haase <bjoern.m.haase (a] 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 3152 2006-03-02 DJ Delorie <dj (a] redhat.com> 3153 3154 * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol 3155 calculations. 3156 3157 2006-03-02 Richard Sandiford <richard (a] codesourcery.com> 3158 3159 * elf32-ppc.c (is_ppc_elf_target): Return true if the target is 3160 bfd_elf32_powerpc_vxworks_vec. 3161 3162 2006-03-02 Nick Clifton <nickc (a] redhat.com> 3163 3164 * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'. 3165 3166 2006-03-02 Richard Sandiford <richard (a] 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 3179 2006-03-02 Richard Sandiford <richard (a] 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 3192 2006-03-02 Richard Sandiford <richard (a] 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 3214 2006-02-28 Richard Sandiford <richard (a] 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 3224 2006-02-27 Jakub Jelinek <jakub (a] 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 3229 2006-02-27 Carlos O'Donell <carlos (a] codesourcery.com> 3230 3231 * po/Make-in: Add html target. 3232 3233 2006-02-27 Richard Sandiford <richard (a] 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 3257 2006-02-25 Richard Sandiford <richard (a] 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 3276 2006-02-24 DJ Delorie <dj (a] 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 3294 2006-02-24 H.J. Lu <hongjiu.lu (a] 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 3309 2006-02-23 H.J. Lu <hongjiu.lu (a] intel.com> 3310 3311 * cpu-ia64-opc.c (ins_immu5b): New. 3312 (ext_immu5b): Likewise. 3313 (elf64_ia64_operands): Add IMMU5b. 3314 3315 2006-02-21 Alan Modra <amodra (a] 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 3330 2006-02-21 Alan Modra <amodra (a] 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 3336 2006-02-17 Kevin Buettner <kevinb (a] 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 3342 2006-02-17 Shrirang Khisti <shrirangk (a] kpitcummins.com> 3343 Anil Paranjape <anilp1 (a] kpitcummins.com> 3344 Shilin Shakti <shilins (a] 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 3360 2006-02-17 Alan Modra <amodra (a] bigpond.net.au> 3361 3362 * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling. 3363 * elf64-ppc.c (allocate_dynrelocs): Likewise. 3364 3365 2006-02-17 Alan Modra <amodra (a] 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 3373 2006-02-16 H.J. Lu <hongjiu.lu (a] 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 3382 2006-02-16 Nick Hudson <nick.hudson (a] dsl.pipex.com> 3383 3384 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use 3385 traditional MIPS ELF targets. 3386 3387 2006-02-15 H.J. Lu <hongjiu.lu (a] 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 3394 2006-02-16 Alan Modra <amodra (a] 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 3400 2006-02-10 H.J. Lu <hongjiu.lu (a] intel.com> 3401 3402 * elf.c (copy_private_bfd_data): Minor update. 3403 3404 2006-02-10 H.J. Lu <hongjiu.lu (a] 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 3412 2006-02-07 Nathan Sidwell <nathan (a] 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 3442 2006-02-06 Steve Ellcey <sje (a] 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 3447 2006-02-05 Arnold Metselaar <arnold.metselaar (a] 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 3454 2006-02-04 Richard Sandiford <richard (a] 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 3460 2006-02-01 Eric Botcazou <ebotcazou (a] libertysurf.fr> 3461 3462 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3463 for call-to-undefweak reloc overflow. 3464 3465 2006-01-31 Eric Botcazou <ebotcazou (a] libertysurf.fr> 3466 3467 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3468 for 32-bit relocs overflow. 3469 3470 2006-01-27 Paul Brook <paul (a] codesourcery.com> 3471 3472 * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb 3473 objects. 3474 3475 2006-01-18 Alexandre Oliva <aoliva (a] 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 3549 2006-01-17 H.J. Lu <hongjiu.lu (a] 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 3558 2006-01-18 Alan Modra <amodra (a] 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 3570 2006-01-17 Alan Modra <amodra (a] bigpond.net.au> 3571 3572 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop. 3573 3574 2006-01-17 Nick Clifton <nickc (a] redhat.com> 3575 3576 PR binutils/2159 3577 * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused 3578 parameters. 3579 3580 2006-01-11 Nick Clifton <nickc (a] redhat.com> 3581 3582 * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry 3583 into the newly (re)allocated map array. 3584 3585 2006-01-09 Alexis Wilke <alexis_wilke (a] yahoo.com> 3586 3587 * peXXigen.c (tbl): Add comma after "HIGH3ADJ". 3588 3589 2006-01-01 Jakub Jelinek <jakub (a] redhat.com> 3590 3591 * elf64-ppc.c (ppc64_elf_action_discarded): Return 0 3592 for .toc1 section. 3593 3594 For older changes see ChangeLog-2005 3595 3597 Copyright (C) 2006 Free Software Foundation, Inc. 3598 3599 Copying and distribution of this file, with or without modification, 3600 are permitted in any medium without royalty provided the copyright 3601 notice and this notice are preserved. 3602 3603 Local Variables: 3604 mode: change-log 3605 left-margin: 8 3606 fill-column: 74 3607 version-control: never 3608 End: 3609