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