Home | History | Annotate | Line # | Download | only in bfd
ChangeLog-2006 revision 1.1
      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 Local Variables:
   3598 mode: change-log
   3599 left-margin: 8
   3600 fill-column: 74
   3601 version-control: never
   3602 End:
   3603