Home | History | Annotate | Download | only in bfd
      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