12010-12-31  Robert Millan  <rmh@gnu.org>
2
3	* config.bfd: Recognize mips-freebsd and mips-kfreebsd-gnu.
4	* configure.host: Likewise.
5	* configure.in: Support for `bfd_elf32_ntradbigmips_freebsd_vec',
6	`bfd_elf32_ntradlittlemips_freebsd_vec',
7	`bfd_elf32_tradbigmips_freebsd_vec',
8	`bfd_elf32_tradlittlemips_freebsd_vec',
9	`bfd_elf64_tradbigmips_freebsd_vec' and
10	`bfd_elf64_tradlittlemips_freebsd_vec'.
11	* configure: Regenerate.
12	* elf32-mips.c: New target for FreeBSD support
13	(same as traditional MIPS but overrides ELF_OSABI
14	with ELFOSABI_FREEBSD).
15	* elf64-mips.c: Likewise.
16	* elfn32-mips.c: Likewise.
17	* targets.c (_bfd_target_vector): Add
18	`bfd_elf32_ntradbigmips_freebsd_vec',
19	`bfd_elf32_ntradlittlemips_freebsd_vec',
20	`bfd_elf32_tradbigmips_freebsd_vec',
21	`bfd_elf32_tradlittlemips_freebsd_vec',
22	`bfd_elf64_tradbigmips_freebsd_vec' and
23	`bfd_elf64_tradlittlemips_freebsd_vec'.
24
252010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
26
27	* elfcode.h (NAME(elf,r_info)): New.
28	(NAME(elf,r_sym)): Likewise.
29
30	* elflink.c (elf64_r_info): Removed.
31	(elf32_r_info): Likewise.
32	(elf64_r_sym): Likewise.
33	(elf32_r_sym): Likewise.
34
352010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
36
37	* elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
38	(elf_backend_relocs_compatible): Defined to
39	elf_x86_64_relocs_compatible.
40
412010-12-30  H.J. Lu  <hongjiu.lu@intel.com>
42
43	* archures.c (bfd_mach_x64_32): New.
44	(bfd_mach_x64_32_intel_syntax): Likewise.
45	* bfd-in2.h: Regenerated.
46
47	* config.bfd (targ64_selvecs): Add bfd_elf32_x86_64_vec for
48	i[3-7]86-*-linux-*.
49	(targ_selvecs): Add bfd_elf32_x86_64_vec for x86_64-*-linux-*.
50
51	* configure.in: Support bfd_elf32_x86_64_vec.
52	* configure: Regenerated.
53
54	* cpu-i386.c (bfd_x64_32_arch_intel_syntax): New.
55	(bfd_x64_32_arch): Likewise.
56
57	* elf-bfd.h (elf_append_rela): New prototype.
58	(elf_append_rel): Likewise.
59	(elf64_r_info): Likewise.
60	(elf32_r_info): Likewise.
61	(elf64_r_sym): Likewise.
62	(elf32_r_sym): Likewise.
63
64	* elf64-x86-64.c (ABI_64_P): New.
65	(elf_x86_64_info_to_howto): Replace ELF64_R_TYPE with
66	ELF32_R_TYPE.  Replace ELF64_ST_TYPE with ELF_ST_TYPE.
67	(elf_x86_64_check_tls_transition):Likewise.
68	(elf_x86_64_check_relocs): Likewise.
69	(elf_x86_64_gc_mark_hook):Likewise.
70	(elf_x86_64_gc_sweep_hook): Likewise.
71	(elf_x86_64_relocate_section): Likewise.
72	(elf_x86_64_reloc_type_class): Likewise.
73	(ELF_DYNAMIC_INTERPRETER): Renamed to ...
74	(ELF64_DYNAMIC_INTERPRETER): This.
75	(ELF32_DYNAMIC_INTERPRETER): New.
76	(elf_x86_64_link_hash_table): Add r_info, r_sym, swap_reloca_out,
77	dynamic_interpreter and dynamic_interpreter_size.
78	(elf_x86_64_get_local_sym_hash): Replace ELF64_R_SYM with
79	htab->r_sym.  Replace ELF64_R_INFO with htab->r_info.
80	(elf_x86_64_get_local_sym_hash): Likewise.
81	(elf_x86_64_check_tls_transition):Likewise.
82	(elf_x86_64_check_relocs): Likewise.
83	(elf_x86_64_gc_mark_hook):Likewise.
84	(elf_x86_64_gc_sweep_hook): Likewise.
85	(elf_x86_64_relocate_section): Likewise.
86	(elf_x86_64_finish_dynamic_symbol): Likewise.
87	(elf_x86_64_finish_local_dynamic_symbol): Likewise.
88	(elf_x86_64_link_hash_table_create): Initialize r_info, r_sym,
89	swap_reloca_out, dynamic_interpreter and dynamic_interpreter_size.
90	(elf_x86_64_check_relocs): Check ABI_64_P when requesting for
91	PIC.
92	(elf_x86_64_relocate_section): Likewise.
93	(elf64_x86_64_adjust_dynamic_symbol): Replace sizeof
94	(Elf64_External_Rela) with bed->s->sizeof_rela.
95	(elf64_x86_64_allocate_dynrelocs): Likewise.
96	(elf64_x86_64_size_dynamic_sections): Likewise.
97	(elf64_x86_64_finish_dynamic_symbol): Likewise.
98	(elf64_x86_64_append_rela): Removed.
99	(elf32_x86_64_elf_object_p): New.
100	Add bfd_elf32_x86_64_vec.
101
102	* elf64-x86-64.c (elf64_x86_64_xxx): Renamed to ...
103	(elf_x86_64_xxx): This.
104
105	* elflink.c (bfd_elf_final_link): Check ELF file class on error.
106	(elf_append_rela): New.
107	(elf_append_rel): Likewise.
108	(elf64_r_info): Likewise.
109	(elf32_r_info): Likewise.
110	(elf64_r_sym): Likewise.
111	(elf32_r_sym): Likewise.
112
113	* targets.c (bfd_elf32_x86_64_vec): New.
114	(_bfd_target_vector): Add bfd_elf32_x86_64_vec.
115
1162010-12-24  Alan Modra  <amodra@gmail.com>
117
118	* compress.c (decompress_contents): Style.
119	(bfd_get_full_section_contents): Do not decompress directly into
120	caller buffer or directly return cached section contents.
121	Check malloc return for compressed_buffer.
122
1232010-12-21  Kai Tietz  <kai.tietz@onevision.com>
124
125	* peXXigen.c (_bfd_XXi_final_link_postscript): Use
126	bfd_get_symbol_leading_char to determine "_tls_used" name.
127
1282010-12-21  Pierre Muller  <muller@ics.u-strasbg.fr>
129
130	* peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size
131	for windows 64-bit TLS table size.
132
1332010-12-16  DJ Delorie  <dj@redhat.com>
134
135	* reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
136	(BFD_RELOC_RX_ABS32_REV): Add.
137	* bfd-in2.h: Regenerate.
138	* libbfd.h: Regenerate.
139	* elf32-rx.c (rx_reloc_map): Add them.
140
1412010-12-15  H.J. Lu  <hongjiu.lu@intel.com>
142
143	* elf.c (_bfd_elf_new_section_hook): Special handling for
144	.init_array/.fini_array output sections.
145
1462010-12-13  Alan Modra  <amodra@gmail.com>
147
148	* aoutx.h (aout_link_check_ar_symbols): Formatting.
149	* cofflink.c (coff_link_check_ar_symbols): Likewise.
150	* elflink.c (elf_link_add_archive_symbols): Likewise.
151	* pdp11.c (aout_link_check_ar_symbols): Likewise.
152	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
153	xcoff_link_check_dynamic_ar_symbols): Likewise.
154
155	* aoutx.h (aout_link_check_archive_element): Simplify code dealing
156	with add_archive_element substitute BFD.
157	* cofflink.c (coff_link_check_archive_element): Likewise.
158	* ecoff.c (ecoff_link_check_archive_element): Likewise.
159	(ecoff_link_add_archive_symbols): Likewise.
160	* linker.c (generic_link_check_archive_element): Likewise.
161	* pdp11.c (aout_link_check_archive_element): Likewise.
162	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
163	* xcofflink.c (xcoff_link_check_archive_element): Likewise.
164
165	* aoutx.h (aout_link_check_archive_element): Free symbols from old
166	bfd if !keep_memory.
167	* cofflink.c (coff_link_check_archive_element): Likewise.
168	* pdp11.c (aout_link_check_archive_element): Likewise.
169	* xcofflink.c (xcoff_link_check_archive_element): Likewise.
170
1712010-12-13  Alan Modra  <amodra@gmail.com>
172
173	* plugin.c (bfd_plugin_mkobject): Delete.
174	(plugin_vec): Use bfd_false instead.
175
1762010-12-12  H.J. Lu  <hongjiu.lu@intel.com>
177
178	* elflink.c (elf_link_add_archive_symbols): Remove subsbfd.
179
1802010-12-12  H.J. Lu  <hongjiu.lu@intel.com>
181
182	* elf.c (special_sections_g): Add ".gnu.lto_".
183
1842010-12-10  Alan Modra  <amodra@gmail.com>
185
186	* config.bfd: Configure rs6000-*-aix* as for powerpc-*-aix*.
187	Add aix5coff64_vec to powerpc ELF entries.
188
1892010-12-09  Mike Frysinger  <vapier@gentoo.org>
190
191	* .gitignore: New file.
192
1932010-12-06  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
194
195	PR ld/12288
196	* plugin.c (message): Add putchar for the trailing `\n'.
197
1982010-12-04  Mike Frysinger  <vapier@gentoo.org>
199
200	* Makefile.am (!INSTALL_LIBBFD/bfdinclude_HEADERS): Set to nothing.
201	(PLUGINS/bfdinclude_HEADERS): Append plugin-api.h.
202	* Makefile.in: Regenerated.
203
2042010-12-04  Alan Modra  <amodra@gmail.com>
205
206	PR ld/12277
207	* elflink.c (elf_link_output_extsym): Set bfd_error on symbol
208	and section errors.  Allow better translation of error messages.
209
2102010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>
211
212	* elf32-arm.c (elf32_arm_link_hash_table): Remove sgot, sgotplt,
213	srelgot, splt, srelplt.
214	(create_got_section, elf32_arm_link_hash_table_create): Don't set them.
215	(elf32_arm_create_dynamic_sections): Likewise.  Use htab->root
216	fields instead.
217	(arm_type_of_stub): Use the root fields instead of the removed ones.
218	(cortex_a8_erratum_scan, elf32_arm_size_stubs): Likewise.
219	(bfd_elf32_arm_process_before_allocation): Likewise.
220	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
221	(elf32_arm_size_dynamic_sections): Likewise.
222	(elf32_arm_output_arch_local_syms): Likewise.
223	(elf32_arm_final_link_relocate): Set sgot, splt and srelgot from the
224	htab fields instead of looking them up by name.  Consistently use
225	these local variables instead of htab fields.
226	(elf32_arm_finish_dynamic_symbol): Likewise sgot, splt and srel.
227	Use srelbss instead of looking it up by name.
228	(elf32_arm_finish_dynamic_sections): Use sgotplt, splt and srelplt
229	instead of looking up the symbols by name.  Use the root fields
230	instead of the removed ones.
231
2322010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>
233
234	* elf32-arm.c (elf32_arm_relocs_copied): Delete.
235	(elf32_arm_link_hash_entry): Replace relocs_copied with dyn_relocs.
236	(elf32_arm_link_hash_newfunc): Update accordingly.
237	(elf32_arm_copy_indirect_symbol, elf32_arm_gc_sweep_hook): Likewise.
238	(elf32_arm_check_relocs, allocate_dynrelocs): Likewise.
239	(elf32_arm_readonly_dynrelocs): Likewise.
240	(elf32_arm_size_dynamic_sections): Likewise.
241
2422010-12-02  Paul Koning  <ni1d@arrl.net>
243
244	* pdp11.c (aout_link_add_symbols): Ignore debug symbols.
245
2462010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>
247
248	* config.bfd: Add sparc64-rtems.
249
2502010-11-25  Alan Modra  <amodra@gmail.com>
251
252	* po/es.po: Update.
253	* po/fi.po: Update.
254	* po/fr.po: Update.
255	* po/ja.po: Update.
256	* po/zh_CN.po: Update.
257
2582010-11-24  Joel Brobecker  <brobecker@adacore.com>
259
260	* Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
261	(OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
262	* Makefile.in: Regenerate.
263
2642010-11-24  Alan Modra  <amodra@gmail.com>
265
266	PR ld/12253
267	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
268	DW_EH_PE_datarel handling.  Truncate .eh_frame_hdr address to
269	ptr_size.
270
2712010-11-23  Mingming Sun  <mingm.sun@gmail.com>
272
273	* elfxx-mips.c (mips_set_isa_flags): Move bfd_mach_loongson_3a
274	after bfd_mach_mips_sb1.
275
2762010-11-17  Tristan Gingold  <gingold@adacore.com>
277
278	* vms-lib.c (vms_write_index): Add comments.
279	Partially revert previous patch.  Free blocks later.
280
2812010-11-17  Nick Clifton  <nickc@redhat.com>
282
283	PR ld/12161
284	* elf32-avr.c (elf32_avr_check_relocs): Delete.
285	(elf_backend_check_relocs): Delete.
286
2872010-11-16  Jie Zhang  <jie.zhang@analog.com>
288
289	* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
290	(elf32_bfin_data_in_l1): New variable.
291	(elf32_bfin_final_write_processing): New.
292	(elf_backend_final_write_processing): Define.
293
2942010-11-15  Mike Frysinger  <vapier@gentoo.org>
295
296	PR binutils/12177
297	* elf32-bfin.c (_bfin_create_got_section): Drop unused flags code.
298
2992010-11-12  H.J. Lu  <hongjiu.lu@intel.com>
300
301	* archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS and
302	BFD_DECOMPRESS.
303	(bfd_openr_next_archived_file): Revert the last change.
304
3052010-11-11  Mingming Sun  <mingm.sun@gmail.com>
306
307	* archures.c (bfd_mach_mips_loongson_3a): Defined.
308	* bfd-in2.h (bfd_mach_mips_loongson_3a): Defined.
309	* cpu-mips.c (I_loongson_3a): New add.
310	(arch_info_struct): Add loongson_3a.
311	* elfxx-mips.c (_bfd_elf_mips_mach): Add loongson_3a.
312	(mips_set_isa_flags): Add loongson_3a.
313	(mips_mach_extensions): Add loongson_3a in MIPS64 extensions.
314
3152010-11-10  Richard Sandiford  <richard.sandiford@linaro.org>
316
317	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove unused
318	variables.
319
3202010-11-10  Nick Clifton  <nickc@redhat.com>
321
322	* po/ja.po: Updated Japanese translation.
323	* po/ru.po: Updated Russian translation.
324
3252010-11-08  Nick Clifton  <nickc@redhat.com>
326
327	* po/ja.po: Updated Japanese translation.
328
3292010-11-08  Alan Modra  <amodra@gmail.com>
330
331	* hash.c (bfd_hash_hash): Extract from..
332	(bfd_hash_lookup): ..here.
333	(bfd_hash_rename): New function.
334	* section.c (bfd_rename_section): New function.
335	* bfd-in.h (bfd_hash_rename): Declare.
336	* bfd-in2.h: Regenerate.
337	* elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
338	when compressing or decompressing.  Don't assert name match.
339	* elf64-hppa.c (get_reloc_section): Don't assert name match.
340	* elfxx-ia64.c (get_reloc_section): Likewise.
341
3422010-11-05  Joseph Myers  <joseph@codesourcery.com>
343
344	* elf32-tic6x.c (elf32_tic6x_obj_attrs_handle_unknown): New.
345	(elf32_tic6x_merge_attributes): Use
346	_bfd_elf_merge_unknown_attribute_low and
347	_bfd_elf_merge_unknown_attribute_list.
348	(elf_backend_obj_attrs_handle_unknown): Define.
349
3502010-11-05  Joseph Myers  <joseph@codesourcery.com>
351
352	* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
353	_bfd_elf_merge_unknown_attribute_list): Correct test for matching
354	string attributes.
355
3562010-11-05  Tristan Gingold  <gingold@adacore.com>
357
358	* po/bfd.pot: Regenerate
359
3602010-11-05  Tristan Gingold  <gingold@adacore.com>
361
362	* configure.in: Bump version to 2.21.51
363	* configure: Regenerate.
364
3652010-11-04  Maciej W. Rozycki  <macro@codesourcery.com>
366
367	PR ld/10144
368	* elfxx-mips.c (_bfd_mips_elf_check_relocs)
369	[R_MIPS_32, R_MIPS_REL32, R_MIPS_64]: Ignore relocs from
370	SEC_DEBUGGING sections.
371
3722010-11-04  Tristan Gingold  <gingold@adacore.com>
373
374	* vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
375	Use bfd_zmalloc instead of bfd_malloc.  Fix comment.
376
3772010-11-04  Kai Tietz  <kai.tietz@onevision.com>
378
379	* coffcode.h (GNU_LINKONCE_WT): New.
380	(sec_to_styp_flags): Add handling of new debug
381	section.
382	(styp_to_sec_flags): Likewise.
383
3842010-11-04  Tristan Gingold  <gingold@adacore.com>
385
386	* makefile.vms (CFLAGS): Make badalias warnings informational.
387	* vms-lib.c (vms_lib_bread): Avoid arithmetic on void pointer.
388
3892010-11-04  Joseph Myers  <joseph@codesourcery.com>
390
391	* elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
392	_bfd_elf_merge_unknown_attribute_list): New.
393	* elf-bfd.h (struct elf_backend_data): Add
394	obj_attrs_handle_unknown.
395	(_bfd_elf_merge_unknown_attribute_low,
396	_bfd_elf_merge_unknown_attribute_list): Declare.
397	* elf32-arm.c (elf32_arm_obj_attrs_handle_unknown): New.  Split
398	out from elf32_arm_merge_eabi_attributes.
399	(elf32_arm_merge_eabi_attributes): Use
400	_bfd_elf_merge_unknown_attribute_low and
401	_bfd_elf_merge_unknown_attribute_list.
402	(elf_backend_obj_attrs_handle_unknown): Define.
403	* elfxx-target.h (elf_backend_obj_attrs_handle_unknown): Define.
404	(elfNN_bed): Update initializer.
405
4062010-11-02  H.J. Lu  <hongjiu.lu@intel.com>
407
408	* bfd.c (BFD_FLAGS_FOR_BFD_USE_MASK): New.
409	* bfd-in2.h: Regenerated.
410
4112010-11-02  Joseph Myers  <joseph@codesourcery.com>
412
413	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Except for
414	Tag_ABI_compatibility, treat odd tags as strings and even ones as
415	integers.
416	(elf32_tic6x_obj_attrs_order, elf32_tic6x_tag_to_array_alignment,
417	elf32_tic6x_array_alignment_to_tag): New.
418	(elf32_tic6x_merge_attributes): Handle more attributes.  Set type
419	for merged attributes.
420	(elf_backend_obj_attrs_order): Define.
421
4222010-10-29  Maciej W. Rozycki  <macro@codesourcery.com>
423
424	* elfxx-mips.c (mips_elf_calculate_relocation): Fix a typo.
425
4262010-10-29  Pawel Sikora  <pluto@pld-linux.org>
427
428	PR binutils/12075
429	* compress.c (bfd_compress_section_contents): Use uLong on
430	compressed_size.
431
4322010-10-29  Joseph Myers  <joseph@codesourcery.com>
433
434	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type): Check
435	Tag_ABI_compatibility not Tag_compatibility.
436	(elf32_tic6x_merge_attributes): Update compatibility attribute
437	name in comment.  Return FALSE if merging common attributes fails.
438
4392010-10-29  Nick Clifton  <nickc@redhat.com>
440
441	PR bintils/6962
442	* coffcode.h (handle_COMDAT): Only check the base type when
443	looking for a section symbol.
444
4452010-10-29  H.J. Lu  <hongjiu.lu@intel.com>
446	    Cary Coutant  <ccoutant@google.com>
447
448	* archive.c (bfd_openr_next_archived_file): Copy BFD_COMPRESS
449	and BFD_DECOMPRESS.
450
451	* bfd.c (BFD_COMPRESS): New.
452	(BFD_DECOMPRESS): Likewise.
453	(BFD_FLAGS_SAVED): Likewise.
454	(bfd_preserve_save): Replace BFD_IN_MEMORY with BFD_FLAGS_SAVED.
455
456	* compress.c (bfd_uncompress_section_contents): Removed.
457	(get_uncompressed_size): New.
458	(decompress_contents): Likewise.
459	(bfd_compress_section_contents): Likewise.
460	(bfd_get_full_section_contents): Likewise.
461	(bfd_is_section_compressed): Likewise.
462	(bfd_init_section_decompress_status): Likewise.
463	(bfd_init_section_compress_status): Likewise.
464
465	* dwarf2.c (dwarf_debug_sections): New.
466	(dwarf_debug_section_enum): Likewise.
467	(read_section): Remove section_name and compressed_section_name.
468	Add dwarf_debug_section_enum.  Try compressed debug section.
469	(read_indirect_string): Updated.
470	(read_abbrevs): Likewise.
471	(decode_line_info): Likewise.
472	(read_debug_ranges): Likewise.
473	(find_line): Updated.
474
475	* ecoff.c (bfd_debug_section): Add compress_status and
476	compressed_size.
477
478	* elf.c (_bfd_elf_make_section_from_shdr): Call
479	bfd_is_section_compressed to check if a DWARF debug section is
480	compressed.  Call bfd_init_section_compress_status or
481	bfd_init_section_decompress_status if needed.
482
483	* elflink.c (elf_link_input_bfd): Replace bfd_get_section_contents
484	with bfd_get_full_section_contents.
485	* merge.c (_bfd_add_merge_section): Likewise.
486	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
487	* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
488
489	* elfxx-target.h (TARGET_BIG_SYM): Allow BFD_COMPRESS and
490	BFD_DECOMPRESS.
491	(TARGET_LITTLE_SYM): Likewise.
492
493	* libbfd-in.h (dwarf_debug_section): New.
494	(dwarf_debug_sections): Likewise.
495
496	* libbfd.c (_bfd_generic_get_section_contents): Issue an error
497	when getting contents on compressed/decompressed section.
498
499	* section.c (COMPRESS_SECTION_NONE): New.
500	(COMPRESS_SECTION_DONE): Likewise.
501	(DECOMPRESS_SECTION_SIZED): Likewise.
502	(BFD_FAKE_SECTION): Add compress_status and compressed_size.
503	(bfd_malloc_and_get_section): Replace bfd_get_section_contents
504	with bfd_get_full_section_contents.
505
506	* bfd-in2.h: Regenerated.
507	* libbfd.h: Likewise.
508
5092010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
510	    Joseph Myers  <joseph@codesourcery.com>
511
512	* elf32-tic6x.c (elf32_tic6x_merge_attributes): Check for mismatch
513	of DSBT attributes.
514
5152010-10-25  Daniel Jacobowitz  <dan@codesourcery.com>
516
517	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Always call
518	_bfd_clear_contents.  Pass it the input section.
519	* libbfd-in.h (_bfd_clear_contents): Add input_section argument.
520	* libbfd.h: Regenerate.
521	* reloc.c (_bfd_clear_contents): Take input_section argument.
522	Use non-zero for .debug_ranges.
523	(bfd_generic_get_relocated_section_conten): Update _bfd_clear_contents
524	call.
525
526	* elf32-arm.c (elf32_arm_relocate_section): Use
527	RELOC_AGAINST_DISCARDED_SECTION.
528	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
529	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
530	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
531	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
532	* elf32-bfin.c (bfin_relocate_section): Likewise.
533	(bfinfdpic_relocate_section): Likewise.
534	* elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
535	* elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
536	* elf32-cris.c (cris_elf_relocate_section): Likewise.
537	* elf32-crx.c (elf32_crx_relocate_section): Likewise.
538	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
539	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
540	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
541	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
542	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
543	* elf32-i370.c (i370_elf_relocate_section): Likewise.
544	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
545	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
546	* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
547	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
548	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
549	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
550	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
551	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
552	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
553	* elf32-mep.c (mep_elf_relocate_section): Likewise.
554	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
555	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
556	* elf32-mt.c (mt_elf_relocate_section): Likewise.
557	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
558	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
559	* elf32-rx.c (rx_elf_relocate_section): Likewise.
560	* elf32-s390.c (elf_s390_relocate_section): Likewise.
561	* elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
562	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
563	* elf32-sh.c (sh_elf_relocate_section): Likewise.
564	* elf32-spu.c (spu_elf_relocate_section): Likewise.
565	* elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
566	* elf32-v850.c (v850_elf_relocate_section): Likewise.
567	* elf32-vax.c (elf_vax_relocate_section): Likewise.
568	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
569	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
570	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
571	* elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
572	(elf64_alpha_relocate_section): Likewise.
573	* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
574	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
575	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
576	* elf64-s390.c (elf_s390_relocate_section): Likewise.
577	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
578	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
579	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
580	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
581
5822010-10-25  Nathan Sidwell  <nathan@codesourcery.com>
583
584	* elf32-tic6x.c: Add attribution.
585
5862010-10-25  Alan Modra  <amodra@gmail.com>
587
588	* elf32-arm.c (find_stub_size_and_template): Avoid uninitialized
589	var warning at -O3.
590
5912010-10-25  Alan Modra  <amodra@gmail.com>
592
593	* opncls.c (bfd_alloc, bfd_zalloc): Don't mark internal.
594	* libbfd-in.h (bfd_alloc, bfd_zalloc): Don't declare here.
595	* libbfd.h: Regenerate
596	* bfd-in2.h: Regenerate.
597
5982010-10-25  Alan Modra  <amodra@gmail.com>
599
600	* opncls.c (_bfd_id_counter): Rename to bfd_id_counter.
601	(bfd_reserved_id_counter, bfd_use_reserved_id): New vars.
602	(_bfd_new_bfd): Use negative id when bfd_use_reserved_id.
603	(bfd_create): Doc fix.
604	* bfd-in2.h: Regenerate.
605
6062010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
607
608	* elfxx-sparc.c (tpoff): Define bed, static_tls_size.
609	Consider static_tls_alignment.
610
611	* elf32-sparc.c (TARGET_BIG_SYM): Redefine to
612	bfd_elf32_sparc_sol2_vec.
613	(TARGET_BIG_NAME): Redefine to elf32-sparc-sol2.
614	(elf32_bed): Redefine to elf32_sparc_sol2_bed.
615	(elf_backend_static_tls_alignment): Redefine to 8.
616	Include elf32-target.h.
617	(elf_backend_static_tls_alignment): Undef again for VxWorks.
618
619	* elf64-sparc.c (TARGET_BIG_SYM): Redefine to
620	bfd_elf64_sparc_sol2_vec.
621	(TARGET_BIG_NAME): Redefine to elf64-sparc-sol2.
622	(ELF_OSABI): Undef.
623	(elf64_bed): Redefine to elf64_sparc_sol2_bed.
624	(elf_backend_static_tls_alignment): Redefine to 16.
625	Include elf64-target.h.
626
627	* config.bfd (sparc-*-solaris2.[0-6]): Split from sparc-*-elf*.
628	Set targ_defvec to bfd_elf32_sparc_sol2_vec.
629	[BFD64] (sparc-*-solaris2*): Set targ_defvec to
630	bfd_elf32_sparc_sol2_vec.
631	Replace bfd_elf64_sparc_vec by bfd_elf64_sparc_sol2_vec in
632	targ_selvecs.
633
634	* configure.in: Handle bfd_elf32_sparc_sol2_vec,
635	bfd_elf64_sparc_sol2_vec.
636	* configure: Regenerate.
637
638	* targets.c (bfd_elf32_sparc_sol2_vec): Declare.
639	(bfd_elf64_sparc_sol2_vec): Declare.
640	(_bfd_target_vector): Add bfd_elf32_sparc_sol2_vec,
641	bfd_elf64_sparc_sol2_vec.
642
6432010-10-21  Joseph Myers  <joseph@codesourcery.com>
644
645	* elf32-tic6x.c (elf32_tic6x_merge_arch_attributes): Update for
646	attribute renaming.
647	(elf_backend_obj_attrs_section): Change to ".c6xabi.attributes".
648
6492010-10-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
650
651	* elf-bfd.h (struct elf_backend_data): New member
652	static_tls_alignment.
653	* elfxx-target.h (elf_backend_static_tls_alignment): Provide
654	default.
655	(elfNN_bed): Initialize static_tls_alignment.
656	* elflink.c (bfd_elf_final_link): Don't round end of TLS section
657	if static TLS has special alignment requirements.
658	* elf32-i386.c (elf_i386_tpoff): Define bed, static_tls_size.
659	Consider static_tls_alignment.
660	(elf_backend_static_tls_alignment): Redefine for Solaris 2.
661	Undef again for VxWorks.
662	* elf64-x86-64.c (elf64_x86_64_tpoff):  Define bed,
663	static_tls_size.
664	Consider static_tls_alignment.
665	(elf_backend_static_tls_alignment): Redefine for Solaris 2.
666	Undef again for Intel L1OM.
667
6682010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
669
670	Apply LD plugin patch series (part 6/6).
671	* aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
672	parameter and pass it when invoking add_archive_element callback.
673	(aout_link_check_archive_element): Handle substitute bfd if it
674	was set during add_archive_element callback in the above.
675	* cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
676	parameter and pass it when invoking add_archive_element callback.
677	(coff_link_check_archive_element): Handle substitute bfd if it
678	was set during add_archive_element callback in the above.
679	* ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
680	code factored-out from ecoff_link_check_archive_element.
681	(reread_ext_syms_and_strs): Clear old symbols and call it.
682	(ecoff_link_check_archive_element):  Use the above.  Handle substitute
683	BFD if one is set by add_archive_element callback.
684	(ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
685	* elflink.c (elf_link_add_archive_symbols): Likewise.
686	* linker.c (generic_link_check_archive_element): Likewise.
687	* pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
688	parameter and pass it when invoking add_archive_element callback.
689	(aout_link_check_archive_element): Handle substitute bfd if it was
690	set during add_archive_element callback in the above.
691	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
692	BFD if one is set by add_archive_element callback.
693	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
694	reference parameter and pass it when invoking add_archive_element
695	callback.
696	(xcoff_link_check_ar_symbols): Likewise.
697	(xcoff_link_check_archive_element): Handle bfd substitution if it was
698	set by callback in the above.
699
7002010-10-11  Alan Modra  <amodra@gmail.com>
701
702	* elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
703	(elf32_frvfdpic_finish_dynamic_sections): Don't crash on
704	__ROFIXUP_END__ defined in shared lib.
705
7062010-10-11  Thomas Schwinge  <thomas@codesourcery.com>
707
708	* elf32-arm.c (elf32_arm_final_link_relocate)
709	(elf32_arm_relocate_section): Handle relocations against STN_UNDEF.
710
7112010-10-11  Dave Korn  <dave.korn.cygwin@gmail.com>
712
713	* elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
714	"output_rel_hdr".
715
7162010-10-09  John Tytgat  <john@bass-software.com>
717
718	* reloc.c (BFD_RELOC_ARM_HVC): Add.
719	* libbfd.h: Regenerate.
720
7212010-10-08  Kai Tietz  <kai.tietz@onevision.com>
722
723	* pei-x86_64.c (find_next_xdata_or_end): Removed.
724	(pex64_dump_xdata): Remove arguments stop, onaline,
725	and pdata. New argument endx.  Print term "none"
726	instead of misleading "CFA".
727	(sort_xdata_arr): New function.
728	(pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs
729	instead of searching quadratic.
730
7312010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>
732	    Alan Modra  <amodra@gmail.com>
733
734	Fix build with -DDEBUG=7
735	* elf.c (_bfd_elf_symbol_from_bfd_symbol): Remove call
736	to deleted function elf_symbol_flags.  Add typecast to avoid warning.
737	* elf32-rx.c (dump_symbol) : Rename to..
738	(rx_dump_symbol): ..this to avoid link errors.
739	* elflink.c (elf_link_input_bfd): Add typecast to avoid warnings.
740	(bfd_elf_perform_complex_relocation): Likewise.
741	* elf32-xtensa.c (print_action_list): Likewise.
742
7432010-10-06  Nathan Sidwell  <nathan@codesourcery.com>
744
745	* elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic,
746	elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for
747	ip/r12.
748	(arm_type_of_stub): Remove superfluous braces.
749
7502010-10-04  Bernd Schmidt  <bernds@codesourcery.com>
751
752	* elf-bfd.h (struct bfd_elf_section_reloc_data): New structure.
753	(struct bfd_elf_section_data): New members REL and RELA; delete
754	members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX,
755	REL_IDX2, REL_HASHES.
756	(_bfd_elf_init_reloc_shdr): Adjust declaration.
757	(_bfd_elf_single_rel_hdr): Declare.
758	(RELOC_AGAINST_DISCARDED_SECTION): Use it.
759	* elf.c (bfd_section_from_shdr): Adjusted to match changes in
760	data structures.
761	(_bfd_elf_init_reloc_shdr): New arg RELDATA.  Remove arg REL_HDR.
762	All callers changed.  Allocate memory for the Elf_Internal_Shdr
763	structure.
764	(_bfd_elf_single_rel_hdr): New function.
765	(struct fake_section_arg): New structure.
766	(elf_fake_section): Expect to see a pointer to it in the third
767	argument.  If doing a relocatable link, allocate both REL and RELA
768	sections as needed.
769	(assign_section_numbers): Adjusted to match changes in
770	data structures.
771	(_bfd_elf_compute_section_file_positions): Call elf_fake_sections
772	with a struct fake_section_args argument.
773	* elfcode.h (elf_write_relocs): Adjusted to match changes in
774	data structures.
775	(elf_slurp_reloc_table): Likewise.
776	* elflink.c (_bfd_elf_link_read_relocs): Likewise.
777	(_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with
778	RELDATA.  Remove argument O.  All callers changed.  Remove code to
779	discover the right rel_hdr and count.
780	(_bfd_elf_link_output_relocs): Adjusted to match changes in
781	data structures.
782	(elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH;
783	replace with RELDATA.  All callers changed.
784	(elf_link_input_bfd): Correctly generate rel_hash data when both
785	REL and RELA sections are present.
786	(elf_reloc_link_order): Adjusted to match changes in
787	data structures.
788	(bfd_elf_final_link): Simplify code to count relocs.  Free the
789	hashes array for both REL and RELA.
790	(get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr
791	* elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections):
792	Delete.
793	* elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections):
794	Delete.
795	(elf32_tic6x_rel_relocation_p): Adjusted to match changes in
796	data structures.
797	* elf32-microblaze.c (microblaze_elf_check_relocs): Use
798	_bfd_elf_single_rel_hdr.
799	* elf32-ppc.c (ppc_elf_relax_section): Likewise.
800	* elf32-spu.c (spu_elf_relocate_section): Likewise.
801	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
802	* elf64-hppa.c (get_reloc_section): Likewise.
803	* elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match
804	changes in data structures.
805	(mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr.
806	* elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
807	(ppc64_elf_edit_toc): Likewise.
808	(get_relocs): Adjusted to match changes in data structures.
809	Allocate an Elf_Internal_Shdr structure if necessary.
810	(ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr.
811	* elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match
812	changes in data structures.
813	* elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr.
814	* elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro.
815	(mips_elf_rel_relocation_p): Adjusted to match changes in data
816	structures.
817	(_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather
818	than MIPS_RELOC_RELOCA_P.
819	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use
820	_bfd_elf_single_rel_hdr.
821	(_bfd_sparc_elf_relocate_section): Likewise.
822
8232010-10-01  Thomas Schwinge  <thomas@codesourcery.com>
824
825	* elf32-arm.c (elf32_arm_size_stubs): Don't choke on local symbols in
826	SHN_UNDEF, SHN_ABS, SHN_COMMON.
827
8282010-09-30  H.J. Lu  <hongjiu.lu@intel.com>
829
830	PR ld/11812
831	* elf32-i386.c (elf_i386_size_dynamic_sections): Don't
832	 allocate .got.plt section if there are no GOT nor PLT
833	 entries and there is no refeence to _GLOBAL_OFFSET_TABLE_.
834	 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Li.kewise.
835
836	* elflink.c (_bfd_elf_define_linkage_sym): Clear non_elf.
837
8382010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
839
840	* configure: Regenerate.
841
8422010-09-24  Thomas Schwinge  <thomas@codesourcery.com>
843
844	* elf32-arm.c, elf32-cris.c, elf32-hppa.c, elf32-i370.c, elf32-m32r.c,
845	elf32-m68k.c, elf32-microblaze.c, elf32-ppc.c, elf32-score.c,
846	elf32-score7.c, elf32-sh.c, elf32-vax.c, elf32-xtensa.c, elf64-alpha.c,
847	elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-sparc.c, elfcode.h,
848	elflink.c, elfxx-ia64.c, elfxx-mips.c: Use STN_UNDEF when referring to
849	the zero symbol index.
850
851	* elflink.c (bfd_elf_reloc_symbol_deleted_p): Compare the symbol index
852	to STN_UNDEF, not SHN_UNDEF.
853
8542010-09-23  Bernd Schmidt  <bernds@codesourcery.com>
855
856	* elf32-tic6x.c (elf32_tic6x_fake_sections): New function.
857	(elf_backend_fake_sections): Define.
858
8592010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
860
861	* bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value.
862
8632010-09-23  Alan Modra  <amodra@gmail.com>
864
865	* cpu-d10v.c: Make bits_per_address 18 for all arch_info entries.
866
8672010-09-23  Alan Modra  <amodra@gmail.com>
868
869	* elf.c (_bfd_elf_init_private_section_data): Allow for SEC_RELOC
870	difference between input and output section.
871
8722010-09-22  Kai Tietz  <kai.tietz@onevision.com>
873
874	* coffcode.h (sec_to_styp_flags): Adjust debug
875	sections to be conform to pe-coff specification
876	and avoid marking them as excluded.
877	(styp_to_sec_flags): Doing reverse mapping.
878
879	* peXXigen.c (_bfd_XXi_final_link_postscript): Add handling for
880	setting IAT directory entry.
881
8822010-09-20  Richard Henderson  <rth@redhat.com>
883
884	* elf64-alpha.c (elf64_alpha_howto_table): Use bfd_elf_generic_reloc.
885
8862010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
887
888	* elfxx-mips.c (mips_elf_link_hash_entry): Add got_only_for_calls.
889	(mips_elf_link_hash_newfunc): Initialize it.
890	(mips_elf_record_global_got_symbol): Add a for_call parameter.
891	(mips_elf_count_got_symbols): Check SYMBOL_CALLS_LOCAL rather
892	than SYMBOL_REFERENCES_LOCAL if the GOT entry is only used for calls.
893	Try to remove .got entries in favour of .got.plt entries on VxWorks.
894	(_bfd_mips_elf_check_relocs): Do not try to avoid allocating
895	a global GOT entry for VxWorks calls.  Update uses of
896	mips_elf_record_global_got_symbol.
897	(allocate_dynrelocs): Set got_only_for_calls to false if the GOT
898	entry is used for dynamic relocations.
899
9002010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
901
902	* elfxx-mips.c (mips_got_entry): Adjust commentary.
903	(mips_elf_create_local_got_entry): If given a symbol, check that it
904	has been assigned to the local part of the GOT.
905	(mips_elf_count_got_symbols): Take the bfd_link_info as argument
906	instead of the master GOT.  Put all locally-binding symbols in
907	the local area.
908	(mips_elf_make_got_per_bfd): Use global_got_area to decide whether
909	a symbol lives in the local or global area.
910	(mips_elf_local_relocation_p): Remove check_forced argument and
911	retain only the !check_forced behavior.
912	(mips_elf_calculate_relocation): Adjust call accordingly.
913	Use global_got_area to decide whether an output relocation
914	should be local or global.  Explicitly decay R_MIPS_GOT_PAGE
915	into R_MIPS_GOT_DISP where appropriate.  Fix selection of
916	local vs. global semantics for R_MIPS*_26.  Remove redundant
917	reevaluation of what is stored in was_local_p.
918	(mips_elf_create_dynamic_relocation): Use global_got_area to decide
919	whether the relocation should be against a global or local symbol.
920	(mips_elf_lay_out_got): Update the GOT traversal after the above
921	change to mips_elf_count_got_symbols.
922	(mips_elf_adjust_addend): Adjust call to mips_elf_local_relocation_p.
923	(_bfd_mips_elf_relocate_section): Likewise.
924	(_bfd_mips_elf_finish_dynamic_symbol): Use global_got_area to decide
925	whether the symbol has a global got entry.
926	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
927
9282010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
929
930	* elfxx-mips.c (allocate_dynrelocs): Don't add relocation symbols
931	to the global GOT on VxWorks.
932
9332010-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
934
935	* elfxx-mips.c (_bfd_mips_elf_check_relocs): On VxWorks,
936	exclude __GOTT_BASE__ and __GOTT_INDEX__ from the warning
937	about HI/LO relocations in shared objects.
938
9392010-09-16  Alan Modra  <amodra@gmail.com>
940
941	* elf32-spu.c (spu_elf_size_sections): Omit fixups for non-alloc
942	sections.
943	(spu_elf_create_sections): Mark .fixup with SEC_LINKER_CREATED and
944	set dynobj.
945	(spu_elf_finish_dynamic_sections): New function.
946	(elf_backend_finish_dynamic_sections): Define.
947
9482010-09-16  Alan Modra  <amodra@gmail.com>
949
950	* elf.c (bfd_elf_get_default_section_type): Don't test SEC_NEVER_LOAD.
951	* elflink.c (elf_link_input_bfd): Likewise.
952
9532010-09-15  Kai Tietz  <kai.tietz@onevision.com>
954
955	* pei-x86_64.c (pex64_get_unwind_info): Reorgnized.
956	(pex64_get_scope_entry): Removed.
957	(find_next_xdata_or_end): New helper.
958	(pex64_dump_xdata): Reworked.
959	(pex64_bfd_print_pdata): Add checking for
960	valid pdata sorting and values. Reworked
961	output.
962
9632010-09-15  H.J. Lu  <hongjiu.lu@intel.com>
964
965	PR binutils/12004
966	* plugin.c (bfd_plugin_object_p): Handle NULL iostream.
967
9682010-09-14  Kai Tietz  <kai.tietz@onevision.com>
969
970	* pe-x86_64.c (COFF_SECTION_ALIGNMENT_ENTRIES): Make
971	.rdata, .data, and .text partial matched section names.
972	* pei-x86_64.c: Likewise.
973
974	* peXXigen.c (sort_x64_pdata): New helper.
975	(_bfd_XXi_final_link_postscript): Do pdata sorting.
976
9772010-09-09  H.J. Lu  <hongjiu.lu@intel.com>
978
979	PR ld/11998
980	* elf.c (assign_file_positions_for_load_sections): Don't warn
981	zero LMA adjustment.
982
9832010-09-09  Bernd Schmidt  <bernds@codesourcery.com>
984
985	* elflink.c (bfd_elf_final_link): Correct calculation of
986	max_external_reloc_size.
987
9882010-09-07  Alan Modra  <amodra@gmail.com>
989	    Marcus Brinkmann  <marcus.brinkmann@ruhr-uni-bochum.de>
990
991	* peXXigen.c: Whitespace.
992	(pe_print_idata): Correct section limit calculations.  Tidy array
993	indexing.
994	(_bfd_XX_print_ce_compressed_pdata): Don't leak memory.
995
9962010-09-02  Richard Henderson  <rth@redhat.com>
997
998	* config.bfd (x86_64-*-mingw*): Select 32-bit pei vectors too.
999
10002010-09-01  Pedro Alves  <pedro@codesourcery.com>
1001
1002	* netbsd-core.c (netbsd_core_core_file_pid): Renamed to ...
1003	(netbsd_core_file_pid): ... this.
1004
10052010-09-01  Tristan Gingold  <gingold@adacore.com>
1006
1007	* coffcode.h (coff_slurp_line_table): Add a cast.
1008	(coff_slurp_reloc_table): Ditto.
1009
10102010-08-30  Gunther Nikl  <gnikl@users.sourceforge.net>
1011
1012	* cisco-core.c (cisco_core_file_pid): Define.
1013
10142010-08-30  Alan Modra  <amodra@gmail.com>
1015
1016	PR binutils/11953
1017	* elf.c (copy_elf_program_header): Calculate map->header_size
1018	from lowest_section, not first_section.  Validate program
1019	header p_paddr against section lma.  Find lowest_section in
1020	second loop over headers.
1021
10222010-08-28  Alan Modra  <amodra@gmail.com>
1023
1024	* elflink.c (_bfd_elf_dynamic_symbol_p): Rename param.  Make
1025	common syms local.
1026	(_bfd_elf_symbol_refs_local_p): Expand comment.
1027	(elf_link_output_extsym): Fix style nit.
1028
10292010-08-26  Nathan Sidwell  <nathan@codesourcery.com>
1030
1031	* elf32-arm.c (elf32_arm_final_link): Process stub sections
1032	exactly once.
1033
10342010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
1035
1036	PR ld/11939
1037	* elflink.c (elf_link_add_object_symbols): Don't set
1038	unique_global for non-ELF hash link table.
1039
10402010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
1041
1042	PR ld/11944
1043	* elf-bfd.h (elf_backend_data): Add target_id.
1044	(bfd_elf_make_generic_object): Renamed to ...
1045	(bfd_elf_make_object): This.
1046
1047	* elf.c (bfd_elf_make_generic_object): Removed.
1048	(bfd_elf_make_object): New.
1049	(bfd_elf_mkcorefile): Really treat it as an object file.
1050
1051	* elf-m10300.c (ELF_TARGET_ID): New.
1052	* elf32-arm.c (ELF_TARGET_ID): Likewise.
1053	* elf32-bfin.c (ELF_TARGET_ID): Likewise.
1054	* elf32-cris.c (ELF_TARGET_ID): Likewise.
1055	* elf32-frv.c (ELF_TARGET_ID): Likewise.
1056	* elf32-i386.c (ELF_TARGET_ID): Likewise.
1057	* elf32-lm32.c (ELF_TARGET_ID): Likewise.
1058	* elf32-m32r.c (ELF_TARGET_ID): Likewise.
1059	* elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
1060	* elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
1061	* elf32-m68k.c (ELF_TARGET_ID): Likewise.
1062	* elf32-microblaze.c (ELF_TARGET_ID): Likewise.
1063	* elf32-ppc.c (ELF_TARGET_ID): Likewise.
1064	* elf32-s390.c (ELF_TARGET_ID): Likewise.
1065	* elf32-sh.c (ELF_TARGET_ID): Likewise.
1066	* elf32-sparc.c (ELF_TARGET_ID): Likewise.
1067	* elf32-spu.c (ELF_TARGET_ID): Likewise.
1068	* elf32-tic6x.c (ELF_TARGET_ID): Likewise.
1069	* elf32-xtensa.c (ELF_TARGET_ID): Likewise.
1070	* elf64-alpha.c (ELF_TARGET_ID): Likewise.
1071	* elf64-hppa.c (ELF_TARGET_ID): Likewise.
1072	* elf64-ppc.c (ELF_TARGET_ID): Likewise.
1073	* elf64-s390.c (ELF_TARGET_ID): Likewise.
1074	* elf64-x86-64.c (ELF_TARGET_ID): Likewise.
1075	* elfxx-ia64.c (ELF_TARGET_ID): Likewise.
1076
1077	* elf32-hppa.c (elf32_hppa_mkobject): Removed.
1078	(bfd_elf32_mkobject): Likewise.
1079	(ELF_TARGET_ID): New.
1080
1081	* elf32-mips.c (ELF_TARGET_ID): New.
1082	(bfd_elf32_mkobject): Removed.
1083
1084	* elf64-mips.c (ELF_TARGET_ID): New.
1085	(bfd_elf64_mkobject): Removed.
1086
1087	* elfn32-mips.c (ELF_TARGET_ID): New.
1088	(bfd_elf32_mkobject): Removed.
1089
1090	* elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
1091	* elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.
1092
1093	* elfxx-target.h (bfd_elfNN_mkobject): Default to
1094	bfd_elf_make_object.
1095	(ELF_TARGET_ID): New.  Default to GENERIC_ELF_DATA.
1096	(elfNN_bed): Initialize target_id.
1097
10982010-08-25  Julian Brown  <julian@codesourcery.com>
1099
1100	* elf32-arm.c (arm_stub_required_alignment): New.
1101	(arm_build_one_stub): Use above to partition stubs.
1102	(make_branch_to_a8_stub): Use arm_stub_a8_veneer_lwm not
1103	arm_stub_a8_veneer_b_cond.
1104
11052010-08-25  Alan Modra  <amodra@gmail.com>
1106
1107	* aout-arm.c (MY(bfd_reloc_type_lookup)): Use bfd_arch_bits_per_address.
1108	* aout-ns32k.c (MY(bfd_reloc_type_lookup)): Likewise.
1109	* aoutx.h (NAME(aout,reloc_type_lookup)): Likewise.
1110	* coff-arm.c (coff_arm_reloc_type_lookup): Likewise.
1111	* elf-hppa.h (elf_hppa_reloc_final_type): Likewise.
1112	* reloc.c (bfd_default_reloc_type_lookup): Likewise.
1113	* riscix.c (riscix_reloc_type_lookup): Likewise.
1114
11152010-08-25  Alan Modra  <amodra@gmail.com>
1116
1117	* elf.c (_bfd_elf_map_sections_to_segments): Don't load program
1118	headers if any loaded section wraps the address space.  Simplify
1119	~(m-1) to -m.  Use lma rather than vma when determining whether
1120	note sections are adjacent.
1121
11222010-08-22  H.J. Lu  <hongjiu.lu@intel.com>
1123
1124	PR ld/11933
1125	* elflink.c (elf_link_add_object_symbols): Don't check relocation
1126	if input ELF object ID doesn't match output.
1127
11282010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1129
1130	* configure: Regenerate.
1131
11322010-08-20  H.J. Lu  <hongjiu.lu@intel.com>
1133
1134	* merge.c (sec_merge_emit): Revert the last checkin.
1135
11362010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
1137
1138	* elf32-sh.c (sh_elf_relocate_section): Handle non-ELF output
1139	BFD.
1140
11412010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>
1142
1143	* elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
1144	options unless an m68k hash table has been found.
1145
11462010-08-20  Nick Clifton  <nickc@redhat.com>
1147
1148	* merge.c (sec_merge_emit): Do not zero pad sections that do not
1149	have an alignment.
1150
11512010-08-18  Pedro Alves  <pedro@codesourcery.com>
1152
1153	PR corefile/8210
1154
1155	* bfd-in2.h: Regenerate.
1156	* corefile.c (bfd_core_file_pid): New.
1157
1158	* targets.c (BFD_JUMP_TABLE_CORE): Add NAME##_core_file_pid.
1159	(struct bfd_target) <_core_file_pid>: New.
1160
1161	* libbfd-in.h (_bfd_nocore_core_file_pid): Declare.
1162	* libbfd.c (_bfd_nocore_core_file_pid): New.
1163
1164	* elf-bfd.h (bfd_elf32_core_file_pid, bfd_elf64_core_file_pid):
1165	Declare.
1166	* elfcode.h (elf_core_file_pid): New define.
1167	* elfcore.h (elf_core_file_pid): New function.
1168
1169	* elf.c (elfcore_make_pid): Rewrite.
1170	(elfcore_grok_prstatus): Only set core_pid if not set yet.
1171	(elfcore_grok_prstatus) [!HAVE_PRSTATUS_T_PR_WHO]: Fallback to
1172	getting the lwpid from prstat.pr_pid.
1173
1174	* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Write the LWPID to
1175	elf_tdata's core_lwpid instead of to core_pid.
1176	(elf64_x86_64_grok_psinfo): Extract the main process's PID,
1177	and store it in elf_tdata's core_pid field.
1178	* elf32-i386.c (elf_i386_grok_prstatus): Write the LWPID to
1179	elf_tdata's core_lwpid instead of to core_pid.
1180	(elf_i386_grok_psinfo): Extract the main process's PID, and
1181	store it in elf_tdata's core_pid field.
1182
1183	* elf32-am33lin.c (elf32_am33lin_grok_prstatus): Write the LWPID
1184	to elf_tdata's core_lwpid instead of to core_pid.
1185	* elf32-arm.c (elf32_arm_nabi_grok_prstatus): Write the LWPID to
1186	elf_tdata's core_lwpid instead of to core_pid.
1187	* elf32-cris.c (cris_elf_grok_prstatus): Write the LWPID to
1188	elf_tdata's core_lwpid instead of to core_pid.
1189	* elf32-frv.c (elf32_frv_grok_prstatus): Write the LWPID to
1190	elf_tdata's core_lwpid instead of to core_pid.
1191	* elf32-hppa.c (elf32_hppa_grok_prstatus): Write the LWPID to
1192	elf_tdata's core_lwpid instead of to core_pid.
1193	* elf32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1194	elf_tdata's core_lwpid instead of to core_pid.
1195	* elf32-ppc.c (ppc_elf_grok_prstatus): Write the LWPID to
1196	elf_tdata's core_lwpid instead of to core_pid.
1197	* elf32-s390.c (elf_s390_grok_prstatus): Write the LWPID to
1198	elf_tdata's core_lwpid instead of to core_pid.
1199	* elf32-score.c (s3_bfd_score_elf_grok_prstatus): Write the LWPID
1200	to elf_tdata's core_lwpid instead of to core_pid.
1201	* elf32-score7.c (s7_bfd_score_elf_grok_prstatus): Write the LWPID
1202	to elf_tdata's core_lwpid instead of to core_pid.
1203	* elf32-sh.c (elf32_shlin_grok_prstatus): Write the LWPID to
1204	elf_tdata's core_lwpid instead of to core_pid.
1205	* elf32-xtensa.c (elf_xtensa_grok_prstatus): Write the LWPID to
1206	elf_tdata's core_lwpid instead of to core_pid.
1207	* elf64-hppa.c (elf64_hppa_grok_prstatus): Write the LWPID to
1208	elf_tdata's core_lwpid instead of to core_pid.
1209	* elf64-mips.c (elf64_mips_grok_prstatus): Write the LWPID to
1210	elf_tdata's core_lwpid instead of to core_pid.
1211	* elf64-ppc.c (ppc64_elf_grok_prstatus): Write the LWPID to
1212	elf_tdata's core_lwpid instead of to core_pid.
1213	* elfn32-mips.c (elf32_mips_grok_prstatus): Write the LWPID to
1214	elf_tdata's core_lwpid instead of to core_pid.
1215
1216	* plugin.c (bfd_plugin_core_file_pid): New function.
1217	* aout-target.h (MY_core_file_pid): Define.
1218	* aout-tic30.c (MY_core_file_pid, MY_core_file_p): New defines.
1219	* coff-rs6000.c (coff_core_file_pid): New define.
1220	(rs6000coff_vec, pmac_xcoff_vec): Use BFD_JUMP_TABLE_CORE.
1221	* coff64-rs6000.c (coff_core_file_pid): New define.
1222	(rs6000coff64_vec): Use BFD_JUMP_TABLE_CORE.
1223	(xcoff64_core_file_pid): New define.
1224	(aix5coff64_vec): Use BFD_JUMP_TABLE_CORE.
1225	* mach-o-target.c (bfd_mach_o_core_file_pid): New define.
1226	* aix386-core.c (aix386_core_file_pid): New define.
1227	* hppabsd-core.c (hppabsd_core_core_file_pid): New define.
1228	* hpux-core.c (hpux_core_core_file_pid): New define.
1229	* irix-core.c (irix_core_core_file_pid): New define.
1230	* lynx-core.c (lynx_core_file_pid): New define.
1231	* osf-core.c (osf_core_core_file_pid): New define.
1232	* ptrace-core.c (ptrace_unix_core_file_pid): New define.
1233	* sco5-core.c (sco5_core_file_pid): New define.
1234	* xcoff-target.h (coff_core_file_pid): New define.
1235	* netbsd-core.c (netbsd_core_core_file_pid): New define.
1236
12372010-08-13  H.J. Lu  <hongjiu.lu@intel.com>
1238
1239	PR ld/11913
1240	* elf32-i386.c (elf_i386_finish_dynamic_sections): Check if
1241	 .got.plt section is discarded.
1242	 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Likewise.
1243
12442010-08-13  Nathan Sidwell  <nathan@codesourcery.com>
1245
1246	* elf32-m69k.c (elf32_m68k_print_private_bfd_data): Detect EMAC_B
1247	variant.
1248
12492010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
1250
1251	PR binutils/11909
1252	* Makefile.am (coff-tic4x.lo): New.  Disable -Werror.
1253	(coff-tic54x.lo): Likewise.
1254	* Makefile.in: Regenerated.
1255
12562010-08-12  Todd Veldhuizen  <todd.veldhuizen@logicblox.com>
1257
1258	PR ld/11843
1259	* elflink.c (compute_bucket_count): Avoid futile long searches for
1260	the best bucket size.
1261
12622010-08-09  Richard Henderson  <rth@redhat.com>
1263
1264	PR ld/11891
1265	* elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Disallow relaxing
1266	to tlshi/lo until pos0 and pos1 are adjacent.  Use the destination
1267	register from the tldgd insn.
1268
12692010-08-09  Catherine Moore  <clm@codesourcery.com>
1270
1271	* elfxx-mips.c (mips_elf_perform_relocation): Improve
1272	interlinking error message.
1273
12742010-08-06  Alan Modra  <amodra@gmail.com>
1275
1276	* elf64-ppc.c (ha_reloc_match): Allow matches to other than r2.
1277	(ppc64_elf_relocate_section): Nop out high part insn of large toc
1278	code sequence when the high part of offset is zero.
1279
12802010-08-04  Tristan Gingold  <gingold@adacore.com>
1281
1282	* vms-alpha.c (alpha_vms_build_fixups): Write the EICP.
1283	(alpha_vms_bfd_final_link): Explicitly forbid relocatable links.
1284	Clear the SEC_RELOC flag.
1285
12862010-08-04  Tristan Gingold  <gingold@adacore.com>
1287
1288	* vms-alpha.c (alpha_vms_create_eisd_for_section): Make writable
1289	sections with relocs.
1290	(alpha_vms_add_fixup_lp): Set SEC_RELOC flag.
1291	(alpha_vms_add_fixup_ca): Ditto.
1292	(alpha_vms_add_fixup_qr): Ditto.
1293	Add comments.
1294
12952010-08-04  Tristan Gingold  <gingold@adacore.com>
1296
1297	* vms-alpha.c (alpha_vms_create_eisd_for_section): Do not make
1298	CODE sections writable.
1299
13002010-08-04  Tristan Gingold  <gingold@adacore.com>
1301
1302	* vms-alpha.c (alpha_vms_add_lw_fixup): Renamed to ...
1303	(alpha_vms_add_fixup_lr): ... this for consistency.
1304	(alpha_vms_add_qw_fixup): Removed.
1305	Fix some comments.
1306	(vms_get_symbol_info): Adjust type for unknown sections.
1307
13082010-08-04  Tristan Gingold  <gingold@adacore.com>
1309
1310	* vms-alpha.c (_bfd_vms_slurp_egsd): Use the canonical absolute
1311	section for any absolute section.  Remove some debugging code.
1312
13132010-08-03  DJ Delorie  <dj@redhat.com>
1314
1315	* elf32-m32c.c (ELF_MAXPAGESIZE): Change page size to 256 bytes.
1316
13172010-08-03  Tristan Gingold  <gingold@adacore.com>
1318
1319	* vms-misc.c (vms_convert_to_var): Make it static.
1320	(_bfd_vms_convert_to_var_unix_filename): Make it public.
1321
13222010-08-03  Tristan Gingold  <gingold@adacore.com>
1323
1324	* makefile.vms (OBJS): Update list.
1325
13262010-08-03  Tristan Gingold  <gingold@adacore.com>
1327
1328	* vms-alpha.c (_bfd_vms_slurp_egsd): Do not set SEC_HAS_CONTENTS
1329	nor SEC_RELOC for empty sections.
1330
13312010-08-03  Tristan Gingold  <gingold@adacore.com>
1332
1333	* vms-alpha.c (evax_section_flags): Fix flags for absolute
1334	section.  Remove useless parenthesis.
1335
13362010-08-03  Tristan Gingold  <gingold@adacore.com>
1337
1338	* vms-lib.c (vms_lib_bread_raw): Change type of BUF argument.
1339	(vms_lib_bread, vms_lib_bopen): Adjust.
1340
13412010-08-02  Alan Modra  <amodra@gmail.com>
1342
1343	PR 11866
1344	* elf.c (assign_file_positions_for_load_sections): Use p_vaddr to
1345	calculate off_adjust rather than first section vma.
1346
13472010-07-30  H.J. Lu  <hongjiu.lu@intel.com>
1348
1349	* elflink.c (compute_bucket_count): Add ATTRIBUTE_UNUSED to info.
1350
13512010-07-30  Anthony Green  <green@moxielogic.com>
1352
1353	* config.bfd (targ_cpu): Add moxie-*-rtems support.
1354
13552010-07-29  Alan Modra  <amodra@gmail.com>
1356
1357	* elf64-ppc.c (ppc64_elf_edit_toc): Always adjust local syms in
1358	.toc section, even when none are used in relocs.
1359
13602010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
1361
1362	* elfxx-mips.h: Include "elf/mips.h".
1363	(gprel16_reloc_p): New static inline function.
1364	* elfxx-mips.c (_bfd_mips_elf_check_relocs)
1365	[R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]:
1366	Use got16_reloc_p.
1367	(_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use
1368	gprel16_reloc_p.
1369	* elf32-mips.c (mips_info_to_howto_rel): Likewise.
1370	* elfn32-mips.c (mips_info_to_howto_rel): Likewise.
1371
13722010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>
1373
1374	* elf64-mips.c (mips_elf64_howto_table_rela)
1375	[R_MIPS_TLS_DTPMOD64]: Clear partial_inplace.
1376	[R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1377	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1378	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise.
1379	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1380	* elfn32-mips.c (elf_mips_howto_table_rela)
1381	[R_MIPS_TLS_DTPMOD32]: Likewise.
1382	[R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise.
1383	[R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise.
1384	[R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise.
1385	[R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise.
1386
13872010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
1388	    Ina Pandit  <ina.pandit@kpitcummins.com>
1389
1390	* archures.c (DESCRIPTION): Define bfd_mach_v850e2 and
1391	bfd_mach_v850e2v3.
1392	* reloc.c (bfd_architecture): Define bfd_mach_v850e2 and
1393	bfd_mach_v850e2v3.
1394	(BFD_RELOC_V850_16_PCREL, BFD_RELOC_V850_17_PCREL,
1395	BFD_RELOC_V850_22_PCREL, BFD_RELOC_V850_23,
1396	BFD_RELOC_V850_32_PCREL, BFD_RELOC_V850_32_ABS,
1397	BFD_RELOC_V850_16_SPLIT_OFFSET, BFD_RELOC_V850_16_S1,
1398	BFD_RELOC_V850_LO16_SPLIT_OFFSET, BFD_RELOC_V850_SDA_15_16_OFFSET,
1399	BFD_RELOC_V850_ZDA_16_16_OFFSET, BFD_RELOC_V850_CALLT_15_16_OFFSET,
1400	BFD_RELOC_V850_32_GOTPCREL, BFD_RELOC_V850_16_GOT,
1401	BFD_RELOC_V850_32_GOT, BFD_RELOC_V850_22_PLT_PCREL,
1402	BFD_RELOC_V850_32_PLT_PCREL, BFD_RELOC_V850_COPY,
1403	BFD_RELOC_V850_GLOB_DAT, BFD_RELOC_V850_JMP_SLOT,
1404	BFD_RELOC_V850_RELATIVE, BFD_RELOC_V850_16_GOTOFF,
1405	BFD_RELOC_V850_32_GOTOFF, BFD_RELOC_V850_CODE,
1406	BFD_RELOC_V850_DATA): New relocations for V850 target.
1407	* config.bfd: Match all v850 targets.
1408	* cpu-v850.c (arch_info_struct): Define V850e2 and V850e2v3.
1409	* elf32-v850.c (v850_elf_check_relocs): Check the newly added
1410	relocations.
1411	(v850_elf_perform_relocation ): Update the newly added
1412	relocations.
1413	(v850_elf_howto_t): Update the specifications of added
1414	relocations.
1415	(v850_elf_reloc_map): Update the relocation mappings.
1416	(v850_elf_final_link_relocate): Maps added relocation into the
1417	appropriate howto structure.
1418	(v850_elf_object_p): Add support for V850E2 and V850E2V3.
1419	(v850_elf_final_write_processing): Likewise.
1420	(v850_elf_merge_private_bfd_data): Likewise.
1421	(v850_elf_print_private_bfd_data): Likewise.
1422	* libbfd.h: Regenerate.
1423	* bfd-in2.h: Regenerate.
1424
14252010-07-23  Alan Modra  <amodra@gmail.com>
1426
1427	* archive.c (_bfd_archive_bsd44_construct_extended_name_table):
1428	Correct format specifier.
1429
14302010-07-22  Alan Modra  <amodra@gmail.com>
1431
1432	* ecoff.c: Don't include aout/ranlib.h.
1433	(_bfd_ecoff_slurp_armap): Use correct struct for ardata->symdefs.
1434	(_bfd_ecoff_write_armap): Output ar_date and ar_size using
1435	_bfd_ar_spacepad.
1436
14372010-07-22  Alan Modra  <amodra@gmail.com>
1438
1439	* aoutx.h (some_aout_object_p): Don't set EXEC_P for files with
1440	relocs.
1441
14422010-07-20  Alan Modra  <amodra@gmail.com>
1443
1444	* elf.c (assign_file_positions_for_load_sections): Check that
1445	zero size sections are allocated in segments too.
1446	(assign_file_positions_for_non_load_sections): Warn if zero
1447	size alloc sections are found here.
1448	(copy_elf_program_header): Don't drop zero size sections from
1449	segment map.
1450	(copy_private_bfd_data): Check for changes in zero size sections.
1451
14522010-07-17  Alan Modra  <amodra@gmail.com>
1453
1454	* elf.c (_bfd_elf_map_sections_to_segments): Force new segment
1455	for sections with overlapping LMAs.
1456	(assign_file_positions_for_load_sections): Catch overlap for
1457	sections that wrap around the address space.  Replace a
1458	warning that duplicates ld's --check-sections error with a
1459	warning that lma has been adjusted for overlapping sections.
1460
14612010-07-14  Cary Coutant  <ccoutant@google.com>
1462
1463	PR ld/11817
1464	* dwarf2.c (read_section): Revert patch for compressed debug sections.
1465	(find_line): Likewise.
1466	(read_and_uncompress_section): Remove.
1467
14682010-07-13  H.J. Lu  <hongjiu.lu@intel.com>
1469
1470	PR ld/11812
1471	* elf32-i386.c (elf_i386_size_dynamic_sections): Don't
1472	 allocate .got.plt section if there are no GOT nor PLT
1473	 entries.
1474	 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
1475
14762010-07-13  H.J. Lu  <hongjiu.lu@intel.com>
1477
1478	PR ld/11791
1479	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support
1480	garbage collection against STT_GNU_IFUNC symbols.
1481
1482	* elf32-i386.c (elf_i386_get_local_sym_hash): Don't set
1483	elf.plt.offset/elf.got.offset to -1.
1484	(elf_i386_tls_transition): Skip TLS transition for functions.
1485	(elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1486
1487	* elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set
1488	elf.plt.offset/elf.got.offset to -1.
1489	(elf64_x86_64_tls_transition): Skip TLS transition for functions.
1490	(elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
1491
14922010-07-12  H.J. Lu  <hongjiu.lu@intel.com>
1493
1494	* elf32-i386.c (elf_i386_check_relocs): Re-indent.
1495	(elf_i386_relocate_section): Likewise.
1496
14972010-07-06  H.J. Lu  <hongjiu.lu@intel.com>
1498
1499	* dwarf2.c (add_line_info): Initialize prev_line.
1500
15012010-07-06  Alan Modra  <amodra@gmail.com>
1502
1503	* elf32-ppc.c (ppc_elf_relax_section): Insert branch around
1504	trampolines only for .init and .fini sections.
1505
15062010-07-05  Alan Modra  <amodra@gmail.com>
1507
1508	* elf32-ppc.c: Formatting.
1509	(ppc_elf_finish_dynamic_sections): Don't make plt_entry var static.
1510
15112010-07-03  Cary Coutant  <ccoutant@google.com>
1512
1513	* compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED.
1514	* dwarf2.c (read_and_uncompress_section): New function.
1515	(read_section): Call it.
1516	(find_line): Likewise.
1517
15182010-07-01  Alan Modra  <amodra@gmail.com>
1519
1520	* elf64-ppc.c (ppc64_elf_edit_toc): Use SYMBOL_CALLS_LOCAL rather
1521	than SYMBOL_REFERENCES_LOCAL.
1522	(ppc64_elf_relocate_section): Likewise.
1523
15242010-07-01  Alan Modra  <amodra@gmail.com>
1525
1526	* elf64-ppc.c (ppc64_elf_edit_toc): Keep toc entries for ifuncs.
1527
15282010-06-29  Alan Modra  <amodra@gmail.com>
1529
1530	* cpu-maxq.c: Delete file.
1531	* coff-maxq.c: Delete file.
1532	* Makefile.am: Remove references to maxq.
1533	* archures.c: Likewise.
1534	* coffcode.h: Likewise.
1535	* configure.in: Likewise.
1536	* targets.c: Likewise.
1537	* config.bfd: Move maxq from obsolete to removed.
1538	* Makefile.in: Regenerate.
1539	* bfd-in2.h: Regenerate.
1540	* configure: Regenerate.
1541	* libbfd.h: Regenerate.
1542	* po/SRC-POTFILES.in: Regenerate.
1543
15442010-06-28  Alan Modra  <amodra@gmail.com>
1545
1546	* compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED
1547	to silence gcc warning.
1548
15492010-06-27  Alan Modra  <amodra@gmail.com>
1550
1551	* elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.
1552	(group_sections): Likewise.
1553
15542010-06-27  Alan Modra  <amodra@gmail.com>
1555
1556	* bout.c (aligncode): Delete set but unused variables.
1557	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
1558	* coff-ppc.c (ppc_record_toc_entry): Likewise.
1559	(coff_ppc_relocate_section): Likewise.
1560	* coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Likewise.
1561	* elf-m10200.c (mn10200_elf_relax_delete_bytes): Likewise.
1562	* elf-m10300.c (mn10300_elf_final_link_relocate): Likewise.
1563	(mn10300_elf_relax_section): Likewise.
1564	* elf32-arm.c (arm_build_one_stub, arm_size_one_stub): Likewise.
1565	(record_vfp11_erratum_veneer): Likewise.
1566	(bfd_elf32_arm_vfp11_erratum_scan): Likewise.
1567	(elf32_arm_final_link_relocate): Likewise.
1568	(elf32_arm_check_relocs, arm_map_one_stub): Likewise.
1569	* elf32-avr.c (elf32_avr_relax_delete_bytes): Likewise.
1570	(elf32_avr_relax_section): Likewise.
1571	(avr_mark_stub_not_to_be_necessary): Likewise.
1572	* elf32-bfin.c (_bfin_create_got_section): Likewise.
1573	* elf32-cr16.c (cr16_elf_final_link_relocate): Likewise.
1574	(elf32_cr16_relax_delete_bytes): Likewise.
1575	* elf32-cr16c.c (cr16c_elf_final_link_relocate): Likewise.
1576	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
1577	* elf32-crx.c (elf32_crx_relax_delete_bytes): Likewise.
1578	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
1579	(elf32_h8_relax_delete_bytes): Likewise.
1580	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1581	* elf32-i370.c (i370_elf_check_relocs): Likewise.
1582	(elf_relocate_section): Likewise.
1583	* elf32-ip2k.c (adjust_all_relocations): Likewise.
1584	(ip2k_elf_relax_section): Likewise.
1585	* elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1586	(lm32_elf_check_relocs): Likewise.
1587	(lm32_elf_finish_dynamic_sections): Likewise.
1588	(lm32_elf_finish_dynamic_symbol): Likewise.
1589	* elf32-m32c.c (m32c_offset_for_reloc): Likewise.
1590	(m32c_elf_relax_delete_bytes): Likewise.
1591	* elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise.
1592	(m32r_elf_finish_dynamic_sections): Likewise.
1593	(m32r_elf_check_relocs, m32r_elf_fake_sections): Likewise.
1594	* elf32-m68hc11.c (m68hc11_elf_relax_section): Likewise.
1595	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1596	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
1597	* elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1598	(microblaze_elf_check_relocs): Likewise.
1599	(microblaze_elf_finish_dynamic_symbol): Likewise.
1600	* elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
1601	* elf32-ppc.c (ppc_elf_tls_optimize): Likewise.
1602	* elf32-rx.c (rx_elf_relocate_section): Likewise.
1603	(elf32_rx_relax_delete_bytes, rx_offset_for_reloc): Likewise.
1604	(elf32_rx_relax_section): Likewise.
1605	* elf32-score.c (score_elf_got_offset_from_index): Likewise.
1606	(score_elf_final_link_relocate): Likewise.
1607	(s3_bfd_score_elf_relocate_section): Likewise.
1608	* elf32-score7.c (score_elf_got_offset_from_index): Likewise.
1609	(s7_bfd_score_elf_relocate_section): Likewise.
1610	* elf32-sh.c (sh_elf_check_relocs): Likewise.
1611	* elf32-spu.c (spu_elf_relocate_section): Likewise.
1612	* elf32-v850.c (v850_elf_check_relocs): Likewise.
1613	(find_remembered_hi16s_reloc): Likewise.
1614	* elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
1615	(elf_vax_relocate_section): Likewise.
1616	* elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1617	* elf32-xtensa.c (xlate_offset_with_removed_text): Likewise.
1618	(move_literal): Likewise.
1619	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
1620	(elf64_hppa_check_relocs): Likewise.
1621	(elf64_hppa_finish_dynamic_symbol): Likewise.
1622	(elf64_hppa_relocate_section): Likewise.
1623	* elf64-mmix.c (mmix_elf_reloc, mmix_elf_relax_section): Likewise.
1624	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1625	(ppc64_elf_edit_opd, ppc64_elf_edit_toc): Likewise.
1626	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
1627	(elfNN_vms_section_from_shdr): Likewise.
1628	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1629	(_bfd_sparc_elf_relocate_section): Likewise.
1630	* hp300hpux.c (slurp_symbol_table): Likewise.
1631	* i386lynx.c (swap_std_reloc_out, swap_std_reloc_in): Likewise.
1632	* mach-o.c (bfd_mach_o_write_thread): Likewise.
1633	* mmo.c (mmo_scan, mmo_write_symbols_and_terminator): Likewise.
1634	* nlm32-sparc.c (nlm_sparc_read_reloc): Likewise.
1635	* pdp11.c (pdp11_aout_link_input_section): Likewise.
1636	(aout_link_input_section, aout_link_input_bfd): Likewise.
1637	* pe-mips.c (mips_swap_reloc_out): Likewise.
1638	(coff_pe_mips_relocate_section): Likewise.
1639	* som.c (som_bfd_ar_write_symbol_stuff): Likewise.
1640	* vms-alpha.c (_bfd_vms_slurp_egsd): Likewise.
1641	* xsym.c (bfd_sym_fetch_type_information_table_ent): Likewise.
1642
1643	* coff-i860.c (i860_reloc_processing): Avoid set but unused warning.
1644	* coffcode.h (coff_compute_section_file_positions): Likewise.
1645	(coff_slurp_reloc_table): Likewise.
1646	* cpu-arm.c (arm_check_note): Likewise.
1647	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Likewise.
1648	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
1649	* elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
1650	* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1651	* elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1652	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1653	* elf32-sh64.c (_bfd_sh_align_load_span): Likewise.
1654	* ieee.c (parse_expression): Likewise.
1655	(ieee_slurp_external_symbols, drop_int): Likewise.
1656	* peXXigen.c (pe_print_pdata): Likewise.
1657	* versados.c (process_esd): Likewise.
1658
16592010-06-25  Tristan Gingold  <gingold@adacore.com>
1660
1661	* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
1662	its flags.  Create an absolute section if needed.
1663
16642010-06-25  Tristan Gingold  <gingold@adacore.com>
1665
1666	* vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of
1667	sections.  Mark .vmsdebug section as SEC_DEBUGGING.  Do not create
1668	dummy psect anymore.  Adjust.
1669	(_bfd_vms_write_eeom): Adjust (use target_index instead of index)
1670	(_bfd_vms_write_etir): Ditto.
1671	(start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of
1672	section name.  Adjust.
1673
16742010-06-25  Tristan Gingold  <gingold@adacore.com>
1675
1676	* vms-alpha.c (alpha_vms_write_exec): Set linktime field.
1677
16782010-06-25  Alan Modra  <amodra@gmail.com>
1679
1680	* elf64-ppc.c (toc_skip_enum): Define.
1681	(ppc64_elf_edit_toc): Use two low bits of skip array as markers.
1682	Optimize largetoc sequences.
1683	(adjust_toc_syms): Update for skip array change.
1684	(ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT.
1685
16862010-06-25  Alan Modra  <amodra@gmail.com>
1687
1688	* elf64-ppc.c (is_static_defined): New function.
1689	(get_tls_mask, ppc_type_of_stub): Use it here.
1690	(ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input.
1691	(ppc64_elf_tls_setup): Typo fix.
1692	(adjust_toc_syms): Correctly handle symbols defined past the end
1693	of the toc.  Move syms on removed entries to next entry rather
1694	than to start of toc.
1695	(ppc64_elf_edit_toc): Likewise.  Ensure we only attempt to
1696	edit ppc64 input.  Allocate one extra word in skip array.
1697	Honour info->keep_memory when reading relocs if we can.
1698	Adjust toc relocs after adjusting symbols.
1699
17002010-06-23  Nathan Sidwell  <nathan@codesourcery.com>
1701
1702	* archive64.c (bfd_elf64_archive_write_armap): Fix buffer overrun
1703	when scaning map.
1704
17052010-06-17  Tristan Gingold  <gingold@adacore.com>
1706
1707	* Makefile.am (BFD32_BACKENDS_CFILES): Move vms-alpha.c to ...
1708	(BFD64_BACKENDS_CFILES): ... here.
1709	(BFD32_BACKENDS): Move vms-alpha.lo to ...
1710	(BFD64_BACKENDS): ... here.
1711	* Makefile.in: Regenerate.
1712
17132010-06-15  Joseph Myers  <joseph@codesourcery.com>
1714
1715	* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Decrease to 2.
1716	* elf32-tic6x.c (elf32_tic6x_obj_attrs_arg_type,
1717	elf32_tic6x_merge_arch_attributes, elf32_tic6x_merge_attributes,
1718	elf32_tic6x_merge_private_bfd_data): New.
1719	(bfd_elf32_bfd_merge_private_bfd_data,
1720	elf_backend_obj_attrs_arg_type, elf_backend_obj_attrs_section,
1721	elf_backend_obj_attrs_section_type, elf_backend_obj_attrs_vendor):
1722	Define.
1723	* elf32-tic6x.h (elf32_tic6x_merge_arch_attributes): Declare.
1724
17252010-06-15  Joseph Myers  <joseph@codesourcery.com>
1726
1727	* elf-bfd.h (LEAST_KNOWN_OBJ_ATTRIBUTE): Define.
1728	(struct elf_backend_data): Update comment on obj_attrs_order.
1729	* elf-attrs.c (vendor_obj_attr_size, vendor_set_obj_attr_contents,
1730	_bfd_elf_copy_obj_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1731	instead of hardcoded 4.
1732	* elf32-arm.c (elf32_arm_obj_attrs_order): Use
1733	LEAST_KNOWN_OBJ_ATTRIBUTE and LEAST_KNOWN_OBJ_ATTRIBUTE + 1
1734	instead of hardcoded 4 and 5.
1735	(elf32_arm_merge_eabi_attributes): Use LEAST_KNOWN_OBJ_ATTRIBUTE
1736	instead of hardcoded 4.
1737
17382010-06-14  Kevin Buettner  <kevinb@redhat.com>
1739
1740	* elf32-h8300.c (elf_symbol_leading_char): Define.
1741
17422010-06-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
1743
1744	* vms-alpha.c (_bfd_vms_write_egsd): Make sname const.
1745
17462010-06-11  Tristan Gingold  <gingold@adacore.com>
1747
1748	* vms-alpha.c (_bfd_vms_slurp_egsd): Always set vma of absolute
1749	sections to 0.
1750
17512010-06-11  Tristan Gingold  <gingold@adacore.com>
1752
1753	* vms-alpha.c (evax_bfd_print_etir): Handle ETIR__C_STO_GBL_LW.
1754
17552010-06-11  Tristan Gingold  <gingold@adacore.com>
1756
1757	* vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const.
1758	Adjust cast.
1759	(_bfd_vms_output_dump): Make DATA argument const, adjust cast.
1760	* vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust.
1761	* vms-alpha.c (evax_section_flags): Make it const.
1762	(vms_secflag_by_name): Remove unused ABFD argument.
1763	Make SECTION_FLAGS and NAME arguments const. Clarify comment.
1764	(vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const.
1765	(_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name.
1766	(_bfd_vms_write_egsd): Remove useless cast.
1767
17682010-06-10  Tristan Gingold  <gingold@adacore.com>
1769
1770	* config.bfd: Remove #if/#endif so that som can be compiled on any
1771	host.
1772	* targets.c (_bfd_target_vector): Remove #if/#endif so that som
1773	can be used on any host.
1774
17752010-06-10  Tristan Gingold  <gingold@adacore.com>
1776
1777	* som.c: Can now be compiled on any host.
1778	Include bfd headers instead of system one.
1779	(som_compute_checksum): Parameter is now a pointer to a
1780	som_external_header structure.  Adjust.
1781	(struct section_to_type): Field section is now const.
1782	(R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Removed conditional
1783	definition.
1784	(R_LONG_PCREL_MODE, R_N0SEL, R_N1SEL, R_LINETAB): Ditto.
1785	(R_LINETAB_ESC, R_LTP_OVERRIDE, R_COMMENT): Ditto.
1786	(som_swap_clock_in, som_swap_clock_out): New functions.
1787	(som_swap_header_in, som_swap_header_out): Likewise.
1788	(som_swap_space_dictionary_in): Likewise.
1789	(som_swap_space_dictionary_out): Likewise.
1790	(som_swap_subspace_dictionary_in): Likewise.
1791	(som_swap_subspace_dictionary_record_out): Likewise.
1792	(som_swap_aux_id_in, som_swap_aux_id_out): Likewise.
1793	(som_swap_string_auxhdr_out): Likewise.
1794	(som_swap_compilation_unit_out): Likewise.
1795	(som_swap_exec_auxhdr_in): Likewise.
1796	(som_swap_exec_auxhdr_out): Likewise.
1797	(som_swap_lst_header_in): Likewise.
1798	(som_object_setup): Adjust parameter type using bfd types.
1799	(setup_sections): Likewise.  Ditto for object file types.
1800	Use intermediate variables for external representation and use the
1801	swap functions to convert.
1802	(som_object_p): Ditto.  Remove #ifdef/#endif on always defined
1803	macros.
1804	(som_prep_headers): Likewise.
1805	(som_write_symbol_strings): Likewise.
1806	(som_begin_writing): Likewise.
1807	(som_finish_writing): Likewise.
1808	(som_build_and_write_symbol_table): Likewise.
1809	(bfd_section_from_som_symbol): Likewise.
1810	(som_slurp_symbol_table): Likewise.
1811	(som_bfd_print_private_bfd_data): Likewise.
1812	(bfd_som_attach_aux_hdr): Likewise.  Clear the padding.
1813	(bfd_som_attach_compilation_unit): Likewise.
1814	(som_bfd_count_ar_symbols): Likewise.
1815	(som_bfd_fill_in_ar_symbols): Likewise.
1816	(som_slurp_armap): Likewise.
1817	(som_bfd_ar_write_symbol_stuff): Likewise.
1818	(som_write_armap): Likewise.  Use _bfd_ar_spacepad instead of
1819	sprintf to write header fields.
1820	* som.h: Include bfd headers instead of system one.
1821	(FILE_HDR_SIZE, AUX_HDR_SIZE): Removed.
1822	(struct somdata): Use bfd structures instead of system ones.
1823	(struct som_section_data_struct): Likewise.
1824	(struct som_subspace_dictionary_record): Removed (now in
1825	include/som/internal.h)
1826
18272010-06-10  Tristan Gingold  <gingold@adacore.com>
1828
1829	* targets.c (bfd_target_list): Remove hp/ux compiler work-around
1830	as bfd requires an ANSI-C compiler.
1831
18322010-06-09 Tristan Gingold  <gingold@adacore.com>
1833
1834	* bfdio.c (bfd_bread): Fix the code to prevent reading past the
1835	end of archive members.
1836
18372010-06-08  Tristan Gingold  <gingold@adacore.com>
1838
1839	* som.c (som_bfd_free_cached_info): Do not free relocations as
1840	they were allocated with bfd_zalloc.
1841
18422010-06-08  Tristan Gingold  <gingold@adacore.com>
1843
1844	* vms-lib.c (_bfd_vms_lib_write_archive_contents): Increment
1845	for the first block.
1846
18472010-06-08  Tristan Gingold  <gingold@adacore.com>
1848
1849	* vms-lib.c (_bfd_vms_lib_ia64_mkarchive): New function.
1850	* libbfd-in.h (_bfd_vms_lib_ia64_mkarchive): Declare.
1851	* libbfd.h: Regenerate.
1852	* elfxx-ia64.c (bfd_elfNN_write_archive_contents): Redefine for VMS.
1853	(bfd_elfNN_mkarchive): Ditto.
1854
18552010-06-02  Tristan Gingold  <gingold@adacore.com>
1856
1857	* vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
1858
18592010-06-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1860
1861	* configure: Regenerate.
1862
18632010-06-01  Tristan Gingold  <gingold@adacore.com>
1864
1865	* vms-alpha.c (struct vms_private_data_struct): Add
1866	transfer_address field.  Remove unused dst_info field.
1867	(alpha_vms_write_exec): Use transfer_address.
1868	(_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
1869	(alpha_vms_bfd_final_link): Set transfer_address.
1870
18712010-05-31  Tristan Gingold  <gingold@adacore.com>
1872
1873	* vms-lib.c (credat_lo, credat_hi): New fields.
1874	(vms_read_block): Adjust comments.
1875	(vms_write_block): New function.
1876	(_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
1877	hard-coded values with constants.  Set credat_lo and credat_hi.
1878	(_bfd_vms_lib_mkarchive): Add argument kind.
1879	Set ver, mhd_size and type according to kind.
1880	(_bfd_vms_lib_alpha_mkarchive): New function.
1881	(struct lib_index): Renamed from struct vms_index
1882	(lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
1883	(get_idxlen): Type of idx argument adjusted.  Add is_elfidx
1884	argument and handle it.
1885	(vms_write_index): Adjust argument idx.  Handle elf indexes.
1886	(_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
1887	(_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
1888	use it.  Handle elf indexes.  Set credat.
1889	* libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
1890	(_bfd_vms_lib_alpha_mkarchive): ... this.
1891	* libbfd.h: Regenerated.
1892	* vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
1893
18942010-05-28  Sterling Augustine  <sterling@tensilica.com>
1895
1896	* elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
1897	of code to change the bits in the instructions to match the changes
1898	in the relocations.  Declare dest_addr and sym_sec to help.
1899
19002010-05-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
1901
1902	Workaround GCC PR middle-end/4210.
1903	* vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
1904	and val[3].
1905
19062010-05-27  Tristan Gingold  <gingold@adacore.com>
1907
1908	* vms-misc.c: Define __NEW_STARLET.  Remove trailing spaces.
1909	(VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
1910	(vms_time_to_time_t): Use them instead of local const.
1911	(vms_time_t_to_vms_time): New function.
1912	(vms_get_time): Likewise.
1913	(vms_raw_get_time): Likewise.
1914	* vms.h	(vms_time_t_to_vms_time): New declaration.
1915	(vms_get_time): Likewise.
1916	(vms_raw_get_time): Likewise.
1917
19182010-05-26  Tristan Gingold  <gingold@adacore.com>
1919
1920	* vms-alpha.c: Update comments.
1921	(alpha_vms_write_exec): Set lnkflags.  Write the GST.
1922	(alpha_vms_link_output_symbol): New function.
1923	(alpha_vms_bfd_final_link): Generate the VMS symbol table.
1924	Set dst_section private field.
1925	(alpha_vms_bfd_final_link): Remove code that set dst_section.
1926
19272010-05-26  Tristan Gingold  <gingold@adacore.com>
1928
1929	* bfdio.c: Declare and define _bfd_memory_iovec.
1930	(bfd_bread): Move code for BFD_IN_MEMORY...
1931	(bfd_bwrite): ... Ditto ...
1932	(bfd_tell): ... Ditto ...
1933	(bfd_flush): ... Ditto ...
1934	(bfd_stat): ... Ditto ...
1935	(bfd_seek): ... Ditto ...
1936	(bfd_get_size): ... Ditto ...
1937	(bfd_mmap): ... Ditto ...
1938	(memory_bread): ... to these new functions.
1939	(memory_bwrite): Ditto.
1940	(memory_btell): Ditto.
1941	(memory_bseek): Ditto.
1942	(memory_bflush): Ditto.
1943	(memory_bstat): Ditto.
1944	(memory_bmmap): Ditto.
1945	(memory_bclose): New function.
1946	* peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
1947	* xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
1948	* opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
1949	(bfd_make_writable): Use _bfd_memory_iovec.
1950	* elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
1951	* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
1952	_bfd_memory_iovec.
1953	(alpha_ecoff_openr_next_archived_file): Use proxy_origin
1954	instead of origin.
1955	* libbfd.h: Regenerate.
1956
19572010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
1958	    Joseph Myers  <joseph@codesourcery.com>
1959	    Andrew Stubbs  <ams@codesourcery.com>
1960
1961	* config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
1962	bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
1963	* configure.in: Handle FDPIC vectors.
1964	* elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
1965	* elf32-sh.c (DEFAULT_STACK_SIZE): Define.
1966	(SYMBOL_FUNCDESC_LOCAL): Define.  Use it instead of
1967	SYMBOL_REFERENCES_LOCAL for function descriptors.
1968	(fdpic_object_p): New.
1969	(sh_reloc_map): Add FDPIC and movi20 relocations.
1970	(sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
1971	range.
1972	(struct elf_sh_plt_info): Add got20 and short_plt.  Update all
1973	definitions.
1974	(FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
1975	(fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
1976	(FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
1977	(fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
1978	(fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
1979	New.
1980	(get_plt_info): Handle FDPIC.
1981	(MAX_SHORT_PLT): Define.
1982	(get_plt_index, get_plt_offset): Handle short_plt.
1983	(union gotref): New.
1984	(struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
1985	got_type and adjust all uses.  Add GOT_FUNCDESC.
1986	(struct sh_elf_obj_tdata): Add local_funcdesc.	Rename
1987	local_got_tls_type to local_got_type.
1988	(sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type.  All
1989	users changed.
1990	(sh_elf_local_funcdesc): Define.
1991	(struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
1992	and srofixup.
1993	(sh_elf_link_hash_newfunc): Initialize new fields.
1994	(sh_elf_link_hash_table_create): Set fdpic_p.
1995	(sh_elf_omit_section_dynsym): New.
1996	(create_got_section): Create .got.funcdesc, .rela.got.funcdesc
1997	and .rofixup.
1998	(allocate_dynrelocs): Allocate local function descriptors and space
1999	for R_SH_FUNCDESC-related relocations, and for rofixups.
2000	Handle GOT_FUNCDESC.  Create fixups.  Handle GOT entries which
2001	require function descriptors.
2002	(sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
2003	(sh_elf_modify_program_headers): New.
2004	(sh_elf_size_dynamic_sections): Allocate function descriptors for
2005	local symbols.  Allocate .got.funcdesc contents.  Allocate rofixups.
2006	Handle local GOT entries of type GOT_FUNCDESC.	Create fixups for
2007	local GOT entries.  Ensure that FDPIC libraries always have a PLTGOT
2008	entry in the .dynamic section.
2009	(sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
2010	(sh_elf_add_rofixup, sh_elf_osec_to_segment)
2011	(sh_elf_osec_readonly_p, install_movi20_field): New functions.
2012	(sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
2013	R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC.  Use sh_elf_got_offset
2014	and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_.	Add rofixup
2015	read-only section warnings.  Handle undefined weak symbols.  Generate
2016	fixups for R_SH_DIR32 and GOT entries.	Check for cross-segment
2017	relocations and clear EF_SH_PIC.  Handle 20-bit relocations.
2018	Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2019	(sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
2020	R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
2021	Handle 20-bit relocations.
2022	(sh_elf_copy_indirect_symbol): Copy function descriptor reference
2023	counts.
2024	(sh_elf_check_relocs): Handle new relocations.  Make symbols
2025	dynamic for FDPIC relocs.  Account for rofixups.  Error for FDPIC
2026	symbol mismatches.  Allocate a GOT for R_SH_DIR32. Allocate fixups
2027	for R_SH_DIR32.
2028	(sh_elf_copy_private_data): Copy PT_GNU_STACK size.
2029	(sh_elf_merge_private_data): Copy initial flags.  Do not clobber
2030	non-mach flags.  Set EF_SH_PIC for FDPIC.  Reject FDPIC mismatches.
2031	(sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
2032	here.  Rename sgot to sgotplt and srel to srelplt.  Handle short_plt,
2033	FDPIC descriptors, and got20.  Create R_SH_FUNCDESC_VALUE for FDPIC.
2034	Use install_movi20_field.  Rename srel to srelgot.  Always generate
2035	R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
2036	(sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
2037	Do not fill in reserved GOT entries for FDPIC.	Correct DT_PLTGOT.
2038	Rename sgot to sgotplt.  Assert that the right number of rofixups
2039	and dynamic relocations were allocated.
2040	(sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
2041	(elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
2042	(elf_backend_can_make_relative_eh_frame)
2043	(elf_backend_can_make_lsda_relative_eh_frame)
2044	(elf_backend_encode_eh_address): Define.
2045	(TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
2046	(TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
2047	Redefine for FDPIC vector.
2048	* reloc.c: Add SH FDPIC and movi20 relocations.
2049	* targets.c (_bfd_target_vector): Add FDPIC vectors.
2050	* configure, bfd-in2.h, libbfd.h: Regenerated.
2051
20522010-05-25  Jay Krell  <jay.krell@cornell.edu>
2053
2054	PR ld/11624
2055	* archive.c (_bfd_calloc_wrapper): New function.
2056	(_bfd_add_bfd_to_archive_cache): Use it.
2057
2058	* configure.in: Add alpha*-*-*vms* to list of natives.
2059	* configure: Regenerate.
2060
2061	* vms-misc.c: Define globalref if necessary.
2062	(vms_convert_to_var_unix_filename): Rename to
2063	_bfd_vms_convert_to_var_unix_filename and export.
2064	* vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
2065	* vms-alpha.c (vms_close_and_cleanup): Update invocation of
2066	vms_convert_to_var_unix_filename.
2067
20682010-05-24  Tristan Gingold  <gingold@adacore.com>
2069
2070	* vms-alpha.c (add_symbol_entry): New function extrated from ...
2071	(add_symbol): ... adjusted.
2072
20732010-05-24  Tristan Gingold  <gingold@adacore.com>
2074
2075	* vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation.
2076	(alpha_vms_write_exec): Add a comment.
2077	(_bfd_vms_write_egsd): Ditto.
2078	(alpha_vms_convert_symbol): Remove a blank line.
2079
20802010-05-21  Tristan Gingold  <gingold@adacore.com>
2081
2082	* vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section
2083	for the GST.
2084
20852010-05-21  Tristan Gingold  <gingold@adacore.com>
2086
2087	* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
2088	SEC_LOAD if isect has data.
2089	(vms_get_symbol_info): Refine the condition for 'T' type.
2090
20912010-05-18  Tristan Gingold  <gingold@adacore.com>
2092
2093	* vms-alpha.c (_bfd_vms_write_emh): New function.
2094	(_bfd_vms_write_lmn): New function.
2095	(_bfd_vms_write_eeom): Moved.
2096	(hash_string): Likewise.
2097	(_bfd_vms_length_hash_symbol): Likewise.
2098	(_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh
2099	and _bfd_vms_write_lmn, and call these functions.
2100
21012010-05-18  Tristan Gingold  <gingold@adacore.com>
2102
2103	* vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
2104	Add details in the messages.
2105	(evax_bfd_print_image): Change message.
2106
21072010-05-18  H.J. Lu  <hongjiu.lu@intel.com>
2108
2109	PR gas/11600
2110	* elf.c (_bfd_elf_make_section_from_shdr): Handle SHF_EXCLUDE
2111	(elf_fake_sections): Likewise.
2112
2113	* elf32-i370.c (i370_elf_section_from_shdr): Don't handle
2114	SHF_EXCLUDE here.
2115	* elf32-ppc.c (ppc_elf_fake_sections): Likewise.
2116
21172010-05-17  Tristan Gingold  <gingold@adacore.com>
2118
2119	* vms-alpha.c: Include esgps.h and eidc.h.
2120	(_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records.
2121	(evax_bfd_print_egsd_flags): New function, extracted from ...
2122	(evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags.  Handles
2123	EGSD__C_SPSC and EGSD__C_IDC.
2124
21252010-05-14  Tristan Gingold  <gingold@adacore.com>
2126
2127	* vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
2128	(_bfd_vms_get_object_record): Handle align byte only in the
2129	foreign case.
2130
21312010-05-14  Tristan Gingold  <gingold@adacore.com>
2132
2133	* vms-lib.c (_bfd_vms_lib_ia64_archive_p): New function.
2134	* libbfd-in.h (_bfd_vms_lib_ia64_archive_p): Add prototype.
2135	* libbfd.h: Regenerate.
2136	* configure.in (havevecs): Define HAVE_all_vecs when
2137	--enable-targets=all is set.  Use AC_SUBST on it.
2138	(tdefaults): Do not add havevecs.
2139	(bfd_elf64_ia64_vms_vec): Add vms-lib.lo and vms-misc.lo
2140	* configure: Regenerate.
2141	* Makefile.am (HAVEVECS): New variable.
2142	(INCLUDES): Add HAVEVECS.
2143	* Makefile.in: Regenerate.
2144	* elfxx-ia64.c (INCLUDE_IA64_VMS): New macro, defined if vms
2145	target is selected.  Add #ifdef/#endif around vms specific code.
2146	(bfd_elfNN_archive_p, bfd_elfNN_archive_slurp_armap,
2147	bfd_elfNN_archive_slurp_extended_name_table,
2148	bfd_elfNN_archive_construct_extended_name_table,
2149	bfd_elfNN_archive_truncate_arname,
2150	bfd_elfNN_archive_write_armap,
2151	bfd_elfNN_archive_read_ar_hdr,
2152	bfd_elfNN_archive_write_ar_hdr,
2153	bfd_elfNN_archive_openr_next_archived_file,
2154	bfd_elfNN_archive_get_elt_at_index,
2155	bfd_elfNN_archive_generic_stat_arch_elt,
2156	bfd_elfNN_archive_update_armap_timestamp): Define to use vms archives.
2157
21582010-05-11  Jie Zhang  <jie@codesourcery.com>
2159
2160	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
2161	Tag_ABI_HardFP_use correctly.
2162
21632010-05-11  Alan Modra  <amodra@gmail.com>
2164
2165	* coffcode.h (coff_write_object_contents): Enclose all occurrences
2166	of hasdebug and is_reloc_section in #ifdef COFF_IMAGE_WITH_PE.
2167
21682010-05-07  Daniel Jacobowitz  <dan@codesourcery.com>
2169
2170	* elf32-arm.c (struct a8_erratum_reloc): Add hash member.  Move
2171	sym_name to improve packing.
2172	(cortex_a8_erratum_scan): Check for PLT entries.
2173	(elf32_arm_size_stubs): Save the target symbol for a8 relocs.
2174
21752010-05-07  Tristan Gingold  <gingold@adacore.com>
2176
2177	* Makefile.in: Regenerate with automake 1.11.1.
2178	* aclocal.m4: Ditto.
2179
21802010-05-05  Nick Clifton  <nickc@redhat.com>
2181
2182	* po/es.po: Updated Spanish translation.
2183
21842010-05-03  Tristan Gingold  <gingold@adacore.com>
2185
2186	* vms-lib.c (vms_lib_bopen): Fix the size threshold to read
2187	selective_search flag.
2188	Add comments.
2189	* vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section
2190	before output_has_begun is set.
2191
21922010-05-03  Tristan Gingold  <gingold@adacore.com>
2193
2194	* vms-alpha.c: Add comments.
2195	(struct vms_private_data_struct): Remove image_autoextend field.
2196	(dst_check_allocation): Removed.
2197	(image_write): Remove call to dst_check_allocation.
2198	(vms_slurp_debug): Do not set image_autoextend.  Adjust section
2199	size.
2200	(_bfd_vms_slurp_object_records): Remove useless new_type variable.
2201	(alpha_vms_write_exec): Use dst_section to get the dst section.
2202	Write the dmt section.
2203	(evax_bfd_print_image): Also print the dst size in hexa.  Fix typo.
2204	(alpha_vms_read_sections_content): Do not set image_autoextend.
2205	(alpha_vms_bfd_final_link): Generate the dst.
2206
22072010-05-03  Tristan Gingold  <gingold@adacore.com>
2208
2209	* vms-lib.c (_bfd_vms_lib_archive_p): Adjust for a possible empty
2210	next array.
2211	(vms_lib_dcx): Adjust for the above change.
2212
22132010-04-30  H.J. Lu  <hongjiu.lu@intel.com>
2214
2215	PR ld/11542
2216	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): New.
2217
2218	* elf32-i386.c (elf_i386_relocate_section): Use it.
2219	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2220
22212010-04-30  Tristan Gingold  <gingold@adacore.com>
2222
2223	* vms-lib.c (vms_read_block): New function.
2224	(vms_traverse_index): Use vms_read_block.  Handle long key names.
2225
22262010-04-30  Tristan Gingold  <gingold@adacore.com>
2227
2228	* vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms
2229	and syms removed.
2230	(struct carsym_mem): New structure.
2231	(vms_add_index): New function.
2232	(vms_add_indexes_from_list): New function.
2233	(vms_traverse_index): Parameter carsym changed to carsym_mem.
2234	Code adjusted to handle elfidx.
2235	(vms_lib_read_index): Adjusted for vms_traverse_index changes.
2236	Parameter NBREL is now a pointer.
2237	(_bfd_vms_lib_archive_p): Adjust for above change.  Handle ia64
2238	archives.
2239	(_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata.
2240	(_bfd_vms_lib_find_symbol): Ditto.
2241	(vms_lib_bopen): Fix two typos: return FALSE in case of error,
2242	check MHD id.
2243	(_bfd_vms_lib_get_module): New function.
2244	(_bfd_vms_lib_get_elt_at_index): Rewritten using the above
2245	function.
2246	(_bfd_vms_lib_openr_next_archived_file): Use _bfd_vms_lib_get_module.
2247	(_bfd_vms_lib_generic_stat_arch_elt): Handle ia64 archives.
2248	(vms_write_index): Adjust for structure renamed.
2249	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for
2250	changes of _bfd_vms_lib_find_symbol.
2251
22522010-04-28  Kai Tietz  <kai.tietz@onevision.com>
2253
2254	* config.bfd: Correct accidential reverted patch
2255	about vax*-*-*vms*.
2256
22572010-04-27  Kai Tietz  <kai.tietz@onevision.com>
2258
2259	* pe-x86_64.c (TARGET_UNDERSCORE): Set value dependent
2260	to USE_MINGW64_LEADING_UNDERSCORES.
2261	* pei-x86_64.c (TARGET_UNDERSCORE): Likewise.
2262	* config.bfd: Change underscoring default for x64 mingw
2263	to false.
2264	* coffcode.h (coff_write_relocs): Add check that dereferenced
2265	sym_ptr_ptr isn't NULL.
2266	* config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
2267	* configure: Regenerated.
2268	* configure.in: Add option '--enable-leading-mingw64-underscores'
2269	and define config.in variable USE_MINGW64_LEADING_UNDERSCORES.
2270
22712010-04-27  Nick Clifton  <nickc@redhat.com>
2272
2273	PR binutils/11512
2274	* coffgen.c (coff_find_nearest_line): Incldue the section address
2275	of function name symbols in address comparisons.
2276
22772010-04-27  Nick Clifton  <nickc@redhat.com>
2278
2279	* po/fr.po: Updated French translation.
2280
22812010-04-23  Alan Modra  <amodra@gmail.com>
2282
2283	* elf.c: Replace use of ELF_IS_SECTION_IN_SEGMENT and
2284	ELF_IS_SECTION_IN_SEGMENT_FILE with ELF_SECTION_IN_SEGMENT
2285	throughout file.
2286	(assign_file_positions_for_load_sections): Modify section in
2287	segment warning to ignore overlay vmas.
2288	* elf32-spu.c (spu_elf_object_p): Replace use of
2289	ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT.
2290
22912010-04-22  Nick Clifton  <nickc@redhat.com>
2292
2293	* po/bfd.pot: Updated by the Translation project.
2294	* po/vi.po: Updated Vietnamese translation.
2295
22962010-04-22  Alan Modra  <amodra@gmail.com>
2297
2298	* elf.c (assign_file_positions_for_load_sections): Revert 2008-05-29
2299	change.  Tidy.  Don't error on sections not allocated in segment.
2300
23012010-04-15  Andrew Haley  <aph@redhat.com>
2302
2303	* bfd-in.h (elf32_arm_fix_exidx_coverage): Add new flag:
2304	merge_exidx_entries.
2305	* bfd-in2.h: Likewise.
2306	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Likewise.  Use it to
2307	control merging of exidx entries.
2308
23092010-04-20  Joseph Myers  <joseph@codesourcery.com>
2310
2311	* elf32-tic6x.h: New.
2312	* elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
2313	* elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
2314	elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
2315	elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
2316	elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
2317	bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
2318	(elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
2319	elf32_tic6x_relocate_section): Handle REL relocations.
2320	(elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.
2321
23222010-04-20  Jakub Jelinek  <jakub@redhat.com>
2323
2324	* dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
2325	DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
2326
23272010-04-19  Nick Clifton  <nickc@redhat.com>
2328
2329	* archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
2330	arhdrpos variable.
2331	* elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
2332	attribute to warned variable.  Remove unused val, type and type2
2333	variables.
2334
23352010-04-16  Andreas Schwab  <schwab@redhat.com>
2336
2337	* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
2338	strict-aliasing rules.
2339
23402010-04-16  Tristan Gingold  <gingold@adacore.com>
2341
2342	* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
2343	(_bfd_vms_get_object_record): Always assume there is a pad byte
2344	for alignment.
2345
2346	* vms-lib.c: Add a few comments.
2347
23482010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2349
2350	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to
2351	attributes in v2.08 of the ABI.
2352
23532010-04-15  Alan Modra  <amodra@gmail.com>
2354
2355	* config.bfd (vax*-*-*vms*): Delete.
2356
23572010-04-14  Tristan Gingold  <gingold@adacore.com>
2358
2359	* Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
2360	vms-tir.lo, vms.lo and add vms-alpha.lo
2361	(BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
2362	vms-tir.c, vms.c and add vms-alpha.c
2363	* Makefile.in: Regenerate.
2364	* configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
2365	Remove vms_vax_vec.
2366	* configure: Regenerate.
2367	* targets.c (vms_vax_vec): Remove the declaration.
2368	(_bfd_target_vector): Remove vms_vax_vec.
2369	* vms-alpha.c: New file.
2370	* vms-gsd.c: Removed, rewritten in vms-alpha.c
2371	* vms-hdr.c: Ditto.
2372	* vms-tir.c: Ditto.
2373	* vms.c: Ditto.
2374	* vms-misc.c: Fix indentation and comments.  Replace most of
2375	#if VMS_DEBUG/vms_debug with vms_debug2.
2376	(_bfd_vms_hash_newfunc): Moved to vms-alpha.c
2377	(hash_string): Ditto.
2378	(_bfd_vms_length_hash_symbol): Ditto.
2379	(maybe_adjust_record_pointer_for_object): Ditto.
2380	(_bfd_vms_get_object_record): Ditto.
2381	(vms_get_remaining_object_record): Ditto.
2382	(_bfd_vms_push): Ditto.
2383	(_bfd_vms_pop): Ditto.
2384	(_bfd_vms_get_header_values): Removed.
2385	(_bfd_vms_get_first_record): Removed.
2386	(vms_get_remaining_image_record): Removed.
2387	(new_symbol): Removed.
2388	(_bfd_vms_enter_symbol): Removed.
2389	(_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
2390	(_bfd_vms_output_begin): Remove rechead parameter.  Replace bfd
2391	parameter with struct vms_rec_wr.
2392	(_bfd_vms_output_push): Removed and replaced by ...
2393	(_bfd_vms_output_begin_subrec): ... new function.
2394	(_bfd_vms_output_alignment): Replace bfd parameter with
2395	struct vms_rec_wr, and adjust.
2396	(_bfd_vms_output_check): Ditto
2397	(_bfd_vms_output_byte): Ditto.
2398	(_bfd_vms_output_short): Ditto.
2399	(_bfd_vms_output_long): Ditto.
2400	(_bfd_vms_output_quad): Ditto.
2401	(_bfd_vms_output_counted): Ditto.
2402	(_bfd_vms_output_dump): Ditto.
2403	(_bfd_vms_output_fill): Ditto.
2404	(_bfd_vms_output_pop): Removed and replaced by ...
2405	(_bfd_vms_output_end_subrec): ... new function.
2406	(_bfd_vms_output_flush): Removed.
2407	(_bfd_vms_output_align): New function.
2408	(_bfd_vms_output_end): Add recwr parameter.  Adjust for this new
2409	parameter.
2410	(vms_convert_to_var): New function imported from vms.c
2411	(vms_convert_to_var_1): Ditto.
2412	(vms_convert_to_var_unix_filename): Ditto.
2413	(vms_get_module_name): Ditto.
2414	(get_vms_time_string): Ditto.
2415	(vms_time_to_time_t): Ditto.
2416	(vms_rawtime_to_time_t): Ditto.
2417	* vms.h: All macros for the VMS file format are now in include/vms.
2418	Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
2419	have been removed.
2420	(struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
2421	(struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
2422	(struct funcinfo, struct vms_private_data_struct): Ditto.
2423	(struct vms_section_data_struct): Ditto.
2424	(struct vms_rec_rd, stryct vms_rec_wr): New declarations.
2425	(vms_get_module_name, get_vms_time_string): New declarations.
2426	(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2427	(_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
2428	(_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
2429	(_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
2430	(_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
2431	(_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
2432	(_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
2433	(_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
2434	(_bfd_vms_output_fill): Ditto.
2435	(bfd_vms_set_section_flags): Ditto.
2436
24372010-04-14  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2438
2439	* elflink.c (_bfd_elf_merge_symbol): Tighten up the test for early
2440	exit due to merging the same weak symbol to test that the symbols are
2441	actually weak.
2442
24432010-04-13  Alan Modra  <amodra@gmail.com>
2444
2445	* elf64-ppc.c (ppc64_elf_relocate_section): Correct NOP location
2446	when optimizing high got_tlsgd/ld insns.
2447
24482010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2449
2450	* hosts/x86-64linux.h (HAVE_PRPSINFO32_T): Undefine before
2451	define.
2452	(HAVE_PRSTATUS32_T): Likewise.
2453
24542010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2455
2456	PR corefiles/11467
2457	* configure.in (CORE_HEADER): New. Set to hosts/x86-64linux.h
2458	for x86_64-*-linux*.
2459	* config.in: Regenerated.
2460	* configure: Likewise.
2461
2462	* elf.c: Include CORE_HEADER if it is defined.
2463
24642010-04-10  H.J. Lu  <hongjiu.lu@intel.com>
2465	    Jan Kratochvil  <jan.kratochvil@redhat.com>
2466
2467	* hosts/x86-64linux.h: New.
2468
24692010-04-09  Nick Clifton  <nickc@redhat.com>
2470
2471	* aoutx.h (aout_link_input_bfd): Remove unused variable sym_count.
2472	* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Remove unused
2473	variables htab and hdr_info and mark info parameter as unused.
2474	* elf.c (prep_headers): Remove unused variable i_phdrp.
2475	(_bfd_elf_write_object_contents): Remove unused variable i_ehdrp.
2476	* elf32-i386.c (elf_i386_relocate_section): Mark variabled warned
2477	as unused.
2478	* peXXigen.c (pe_print_reloc): Remove unused variable datasize.
2479	* verilog.c (verilog_write_section): Remove unused variable
2480	address.
2481
24822010-04-07  Alan Modra  <amodra@gmail.com>
2483
2484	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wshadow for gcc-4 and above.
2485	* configure: Regenerate.
2486
24872010-04-06  H.J. Lu  <hongjiu.lu@intel.com>
2488
2489	PR ld/11434
2490	* elf-bfd.h (SYMBOLIC_BIND): Don't bind unique symbol locally.
2491
24922010-04-06  Tristan Gingold  <gingold@adacore.com>
2493
2494	* vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
2495
24962010-04-05  Jakub Jelinek  <jakub@redhat.com>
2497
2498	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Handle CIE version 4
2499	provided that it has the expected address size and zero segment
2500	length.
2501
2502	* dwarf2.c (struct line_head): Add maximum_ops_per_insn field.
2503	(struct line_info): Add op_index field, change end_sequence type to
2504	unsigned char.
2505	(new_line_sorts_after): For the same address compare op_index.
2506	(add_line_info): Add op_index argument, store it into the structure.
2507	(decode_line_info): Complain about unknown versions of .debug_line.
2508	Initialize maximum_ops_per_insn.  Add op_index state register and
2509	track it.
2510
25112010-04-01  Nathan Sidwell  <nathan@codesourcery.com>
2512
2513	* elf32-ppc.c (apuinfo_set): New static var.
2514	(ppc_elf_begin_write_processing): Set it here, always create an
2515	APUinfo section if there were any in the inputs.
2516	(ppc_elf_write_section): Check apuinfo_set.
2517	(ppc_elf_final_write_processing): Likewise.
2518
25192010-04-01  Tristan Gingold  <gingold@adacore.com>
2520
2521	* vms.h: Include time.h. Add prototypes for vms_get_module_name,
2522	vms_time_to_time_t and vms_rawtime_to_time_t.
2523	* vms.c (vms_alpha_vec): Add archives support.
2524	* vms-misc.c: Include safe-ctype.h
2525	(vms_get_module_name): New function.
2526	(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
2527	* vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the
2528	vms_get_module_name function.  Use this function.
2529	* targets.c: Declare vms_lib_txt_vec.  Add it to _bfd_target_vector.
2530	* libbfd-in.h: Add prototype for _bfd_append_relative_path.
2531	Add prototypes for vms-lib.c
2532	* libbfd.h: Regenerate.
2533	* configure.in (TDEFINES): Add an entry for vms_lib_txt_vec.  Add
2534	vms-lib.lo to vms_alpha_vec.
2535	* config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*.
2536	* configure: Regenerate.
2537	* bfd.c: Add selective_search field.
2538	* bfd-in2.h: Regenerate.
2539	* archive.c (append_relative_path): Rename to
2540	_bfd_append_relative_path and make it public.
2541	(_bfd_get_elt_at_filepos): Adjust for above renaming.
2542	* Makefile.am (BFD32_BACKENDS): Add vms-lib.lo
2543	(BFD32_BACKENDS_CFILES): Add vms-lib.c
2544	* Makefile.in: Regenerate.
2545
25462010-04-01  Jakub Jelinek  <jakub@redhat.com>
2547
2548	* dwarf2.c (read_attribute_value): Handle CU version 4
2549	for DW_FORM_ref_addr, handle DW_FORM_sec_offset, DW_FORM_exprloc
2550	and DW_FORM_flag_present.  For unknown form value return NULL.
2551	(scan_unit_for_symbols): For DW_AT_location handle DW_FORM_exprloc
2552	like DW_FORM_block.
2553	(parse_comp_unit): Allow CU version 4.
2554
25552010-04-01  Hans-Peter Nilsson  <hp@axis.com>
2556
2557	* elf32-cris.c (cris_elf_relocate_section): Correct first argument
2558	to _bfd_elf_get_dynamic_reloc_section.
2559	(elf_cris_discard_excess_dso_dynamics): Ditto.
2560
25612010-03-31  Kai Tietz  <kai.tietz@onevision.com>
2562
2563	* coff-i386.c (in_reloc_p): Check also for R_SECREL32.
2564	* coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
2565
25662010-03-31  Alan Modra  <amodra@gmail.com>
2567
2568	* elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimized
2569	TPREL16_HI and TPREL16_HA insns.
2570
25712010-03-31  Hans-Peter Nilsson  <hp@axis.com>
2572
2573	PR ld/11458
2574	* elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid
2575	assert of empty pcrel_relocs_copied on the direct symbol.  Instead
2576	of moving the list from the indirect symbol to the direct symbol,
2577	merge into any existing list.
2578	(cris_elf_check_relocs): Store the original section in the
2579	pcrel_relocs_copied list, not the relocation section.
2580	(elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find
2581	the relocation section, for reducing its size.  Change the
2582	BFD_ASSERT into a check for the section being read-only, and only
2583	emit warnings and TEXTREL marker when there's an entry for a
2584	read-only section.
2585
25862010-03-29  Daniel Jacobowitz  <dan@codesourcery.com>
2587
2588	* elf32-arm.c (using_thumb_only): Handle v6-M.
2589
25902010-03-26  Alan Modra  <amodra@gmail.com>
2591
2592	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.
2593	* bfd-in.h (elf_discarded_section): Clarify comment.
2594	* reloc.c (struct reloc_howto_struct <pc_relative>): Likewise.
2595	* bfd-in2.h: Regenerate.
2596
25972010-03-26  Matt Rice  <ratmice@gmail.com>
2598
2599	* archive.c (_bfd_compute_and_write_armap): Allow symbols flagged
2600	as unique in the armap.
2601
26022010-03-26  Alan Modra  <amodra@gmail.com>
2603
2604	PR ld/11375
2605	* elf64-ppc.c (ppc64_elf_relocate_section): Always look up a
2606	possible stub on branches.
2607
26082010-03-25  Joseph Myers  <joseph@codesourcery.com>
2609
2610	* Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo.
2611	(ALL_MACHINES_CFILES): Add cpu-tic6x.c.
2612	(BFD32_BACKENDS): Add elf32-tic6x.lo.
2613	(BFD32_BACKENDS_CFILES): Add elf32-tic6x.c.
2614	* Makefile.in: Regenerate.
2615	* archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New.
2616	(bfd_archures_list): Update.
2617	* config.bfd (tic6x-*-elf): New.
2618	* configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec):
2619	New.
2620	* configure: Regenerate.
2621	* cpu-tic6x.c, elf32-tic6x.c: New.
2622	* reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12,
2623	BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7,
2624	BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16,
2625	BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B,
2626	BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W,
2627	BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B,
2628	BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W,
2629	BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H,
2630	BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W,
2631	BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W,
2632	BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31,
2633	BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN,
2634	BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New.
2635	* targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New.
2636	(_bfd_target_vector): Update.
2637	* bfd-in2.h, libbfd.h: Regenerate.
2638
26392010-03-24  H.J. Lu  <hongjiu.lu@intel.com>
2640
2641	* aout-target.h: Update copyright year.
2642	* aout-tic30.c: Likewise.
2643	* coff-alpha.c: Likewise.
2644	* coff-rs6000.c: Likewise.
2645	* coff64-rs6000.c: Likewise.
2646	* elf64-mips.c: Likewise.
2647	* ieee.c: Likewise.
2648	* libecoff.h: Likewise.
2649	* mach-o-target.c: Likewise.
2650	* mach-o.c: Likewise.
2651	* oasys.c: Likewise.
2652	* targets.c: Likewise.
2653
26542010-03-24  H.J. Lu  <hongjiu.lu@intel.com>
2655
2656	* libbfd-in.h: Update copyright year.
2657
26582010-03-21  H.J. Lu  <hongjiu.lu@intel.com>
2659
2660	PR ld/11413
2661	* elflink.c (_bfd_elf_add_default_symbol): Check !executable
2662	instead of shared.
2663
26642010-03-19  Jie Zhang  <jie@codesourcery.com>
2665
2666	* elf32-arm.c (struct section_list): Remove.
2667	(section_list): Remove typedef.
2668	(record_section_with_arm_elf_section_data): Remove.
2669	(find_arm_elf_section_entry): Remove.
2670	(get_arm_elf_section_data): Use is_arm_elf.
2671	(unrecord_section_with_arm_elf_section_data): Remove.
2672	(elf32_arm_new_section_hook): Don't call
2673	record_section_with_arm_elf_section_data.
2674	(elf32_arm_write_section): Set mapcount to -1 when
2675	the map has been used. Don't call
2676	unrecord_section_with_arm_elf_section_data.
2677	(unrecord_section_via_map_over_sections): Remove.
2678	(elf32_arm_close_and_cleanup): Remove.
2679	(elf32_arm_bfd_free_cached_info): Remove.
2680	(bfd_elf32_close_and_cleanup): Don't define.
2681	(bfd_elf32_bfd_free_cached_info): Don't define.
2682
26832010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2684
2685	PR binutils/11396
2686	* libcoff-in.h (pe_tdata): Add dont_strip_reloc.
2687	* libcoff.h: Regenerated.
2688
2689	* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG
2690	if dont_strip_reloc is set.
2691	(_bfd_XX_bfd_copy_private_bfd_data_common): Set
2692	dont_strip_reloc on output if there is no .reloc and
2693	IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
2694
26952010-03-18  Wei Guozhi  <carrot@google.com>
2696
2697	PR gas/11323
2698	* elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to
2699	R_ARM_GOT_PREL.
2700	* reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation.
2701	* bfd-in2.h: Regenerate.
2702	* libbfd.h: Regenerate.
2703
27042010-03-17  H.J. Lu  <hongjiu.lu@intel.com>
2705
2706	* reloc.c (BFD_RELOC_SPU_PIC18): Removed.
2707	(BFD_RELOC_SPU_STUB): Likewise.
2708
27092010-03-17  Jie Zhang  <jie@codesourcery.com>
2710
2711	* elf.c (assign_file_positions_for_load_sections): Avoid
2712	overflow.
2713
27142010-03-17  Alan Modra  <amodra@gmail.com>
2715
2716	PR binutils/11382
2717	* plugin.c (bfd_plugin_object_p): Pass iostream to fileno using
2718	proper type.
2719
27202010-03-17  Alan Modra  <amodra@gmail.com>
2721
2722	* elf32-arm.c (cortex_a8_erratum_scan): Warning fix.
2723
27242010-03-16  Alan Modra  <amodra@gmail.com>
2725
2726	* elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.
2727	(ppc64_elf_edit_toc): Set it here.
2728	(ha_reloc_match): New function.
2729	(ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
2730
27312010-03-15  Alan Modra  <amodra@gmail.com>
2732
2733	* elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
2734	* elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
2735
27362010-03-14  Alan Modra  <amodra@gmail.com>
2737
2738	PR ld/11378
2739	* elf64-ppc.h (ppc64_elf_check_init_fini): Declare.
2740	* elf64-ppc.c (call_check_done): Define.
2741	(ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro.
2742	(ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise.
2743	(ppc64_elf_finish_multitoc_partition): Remove unnecessary check.
2744	(toc_adjusting_stub_needed): Use call_check_done rather than toc_off.
2745	Simplify return logic.  Iterate over all .init and .fini fragments
2746	by recursion.  Set makes_toc_func_call here..
2747	(ppc64_elf_next_input_section): ..rather than here.
2748	(check_pasted_section, ppc64_elf_check_init_fini): New functions.
2749
27502010-03-13  Alan Modra  <amodra@gmail.com>
2751
2752	PR ld/11375
2753	* elf64-ppc.c (ppc_type_of_stub): Always set *hash to the
2754	function descriptor symbol if there is one, not just for plt stubs.
2755	(ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
2756
27572010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2758
2759	* elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
2760	version twice.
2761	Skip it when constructing def.vd_next.
2762
2763	* elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
2764	bfd_elf32_i386_sol2_vec.
2765	(TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
2766	(elf32_bed): Redefine to elf32_i386_sol2_bed.
2767	(elf_backend_want_plt_sym): Redefine to 1.
2768
2769	* elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
2770	bfd_elf64_x86_64_sol2_vec.
2771	(TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
2772	(elf64_bed): Redefine to elf64_x86_64_sol2_bed.
2773	(elf_backend_want_plt_sym): Redefine to 1.
2774
2775	* config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
2776	bfd_elf32_i386_sol2_vec.
2777	Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2778	targ64_selvecs.
2779	(x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
2780	Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
2781	targ_selvecs.
2782
2783	* configure.in: Handle bfd_elf32_i386_sol2_vec,
2784	bfd_elf64_x86_64_sol2_vec.
2785	* configure: Regenerate.
2786
2787	* targets.c (bfd_elf32_i386_sol2_vec): Declare.
2788	(bfd_elf64_x86_64_sol2_vec): Declare.
2789	(_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
2790	bfd_elf64_x86_64_sol2_vec.
2791
27922010-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
2793
2794	* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
2795	sections.
2796
27972010-03-04  Alan Modra  <amodra@gmail.com>
2798
2799	PR 11302
2800	* dwarf2.c (read_abbrevs): Return NULL on alloc failures.
2801	(read_attribute_value, decode_line_info): Likewise.
2802	(add_line_info, read_rangelist): Return FALSE on alloc failures.
2803	(arange_add, sort_line_sequences): Likewise.
2804	(find_abstract_instance_name): Handle failures from called funcs.
2805	(scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
2806	(find_line): Realloc to a temp, and handle alloc fail.
2807
28082010-03-03  Daniel Jacobowitz  <dan@codesourcery.com>
2809
2810	* elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
2811	a mapping symbol to an empty section.
2812
28132010-03-02  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2814
2815	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
2816	return value from the call to _bfd_elf_merge_object_attributes.
2817
28182010-03-02  Christophe Lyon  <christophe.lyon@st.com>
2819	Alan Modra  <amodra@gmail.com>
2820
2821	* elf32-arm.c (a8_erratum_fix): Add st_type field to record the
2822	destination mode of the a8 stub.
2823	(elf32_arm_link_hash_table): Add top_id field.
2824	(elf32_arm_link_hash_table_create): Initialize top_id.
2825	(arm_type_of_stub): Update prototype, st_type can now be updated
2826	by this function. Actual destination address in case of PLT is
2827	computed here, to help factorizing code.
2828	(elf32_arm_stub_name): Update prototype, use stub_type additional
2829	parameter to build stub name.
2830	(elf32_arm_get_stub_entry): Update prototype, use stub_type
2831	additional parameter to build stub entry.
2832	(arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
2833	put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
2834	Call elf32_arm_final_link_relocate to process all in-stub
2835	relocations.
2836	(elf32_arm_setup_section_lists): Update top_id.
2837	(cortex_a8_erratum_scan): Record stub destination mode.
2838	(elf32_arm_size_stubs): Update call to arm_type_of_stub according
2839	to new prototype.
2840	(elf32_arm_final_link_relocate): Enable processing of in-stub
2841	REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
2842	needed, enabling code factorization.
2843	(elf32_arm_final_link): Process stub sections.
2844	(elf32_arm_output_map_sym): Add entry to code/data map.
2845
28462010-03-01  David S. Miller  <davem@davemloft.net>
2847
2848	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
2849	h->def_regular, set h->ref_regular.
2850	(allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
2851	and dynamic relocations if h->ref_regular.
2852
2853	* elfxx-sparc.c (struct elf_reloc_map): Delete.
2854	(sparc_reloc_map): Delete.
2855	(_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
2856	relocation type in switch statements.
2857
28582010-02-25  Alan Modra  <amodra@gmail.com>
2859
2860	PR ld/11304
2861	* elf.c (_bfd_elf_init_private_section_data): Rename need_group
2862	to final_link and invert.  For final link allow some flags to
2863	differ.  Don't specially allow flags to be all zero.
2864
28652010-02-24  Alan Modra  <amodra@gmail.com>
2866
2867	PR binutils/10858
2868	* elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise
2869	SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol
2870	table.
2871
28722010-02-23  Andrew Zabolotny  <anpaza@mail.ru>
2873
2874	PR binutils/11297
2875	* elf32-avr.c (elf_avr_howto_table): Add R_AVR_8.
2876	(avr_reloc_map): Map BFD_RELOC_8 to R_AVR_8.
2877
28782010-02-22  Alan Modra  <amodra@gmail.com>
2879
2880	* reloc.c (bfd_check_overflow): When forming addrmask, shift
2881	fieldmask left by rightshift.
2882	(_bfd_relocate_contents): Likewise.  Use rightshift addrmask in all
2883	overflow checks.
2884
28852010-02-20  H.J. Lu  <hongjiu.lu@intel.com>
2886
2887	* elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check
2888	STT_GNU_IFUNC on large common symbol.
2889
28902010-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2891
2892	* elf32-i386.c (elf_i386_add_symbol_hook): Don't set
2893	has_ifunc_symbols if the symbol comes from a shared library.
2894	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2895	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2896	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2897	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2898	* elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Likewise.
2899
29002010-02-19  Alan Modra  <amodra@gmail.com>
2901
2902	* elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
2903	(_bfd_elf_copy_private_header_data): ..here.
2904	* elflink.c (_bfd_elf_size_group_sections): New function.
2905	(bfd_elf_size_dynamic_sections): Call it.
2906	* elf-bfd.h (_bfd_elf_size_group_sections): Declare.
2907	(_bfd_elf_fixup_group_sections): Declare.
2908
29092010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2910
2911	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Add support for
2912	merging Tag_DIV_use, Tag_MPextension_use, and
2913	Tag_MPextension_use_legacy tags.
2914
29152010-02-18  Alan Modra  <amodra@gmail.com>
2916
2917	* elf.c (bfd_elf_set_group_contents): Revert accidental 2009-01-15
2918	commit.  Don't write zeros for removed group members.
2919	(_bfd_elf_copy_private_header_data): Adjust size of group section
2920	when group members are removed by objcopy.
2921
29222010-02-15  Dave Korn  <dave.korn.cygwin@gmail.com>
2923
2924	PR binutils/11280
2925	* configure.host (*-*-solaris2.11):  Add host define to select
2926	valid default code page for windres/windmc on solaris.
2927
29282010-02-15  Nick Clifton  <nickc@redhat.com>
2929
2930	* po/vi.po: Updated Vietnamese translation.
2931
29322010-02-12  Daniel Gutson  <dgutson@codesourcery.com>
2933
2934	* elf32-arm.c (elf32_arm_output_arch_local_syms): add
2935	missing mapping symbol to data only sections.
2936
29372010-02-11  David S. Miller  <davem@davemloft.net>
2938
2939	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
2940	and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
2941	symbols.
2942	(_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
2943	these relocs on global symbols.
2944	(gdopoff): New.
2945	(_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
2946	local symbol references which are not STT_GNU_IFUNC.  Handle
2947	relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
2948	and deal with negative vs. non-negative values properly.
2949
29502010-02-09  Tristan Gingold  <gingold@adacore.com>
2951
2952	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Adjust addend for
2953	non-external relocation.
2954
29552010-02-09  Alan Modra  <amodra@gmail.com>
2956
2957	* elf64-ppc.c (merge_got_entries): Move earlier in file.
2958	(allocate_dynrelocs): Merge got entries here if not doing multi-toc.
2959	(ppc64_elf_size_dynamic_sections): Similarly merge tlsld_got.
2960	(ppc64_elf_layout_multitoc): Don't resize if we have already
2961	merged got entries.
2962
29632010-02-09  Michael Holzheu  <holzheu@de.ibm.com>
2964
2965	* elf-bfd.h (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2966	elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2967	elfcore_write_s390_prefix): New.
2968	* elf.c (elfcore_write_s390_timer, elfcore_write_s390_todcmp,
2969	elfcore_write_s390_todpreg, elfcore_write_s390_ctrs,
2970	elfcore_write_s390_prefix): New.
2971	(elfcore_grok_note): Handle NT_S390_TIMER, NT_S390_TODCMP,
2972	NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.
2973	(elfcore_write_register_note): Handle .reg-s390-timer,
2974	.reg-s390-todcmp, .reg-s390-todpreg, .reg-s390-ctrs,
2975	.reg-s390-prefix section.
2976
29772010-02-09  Alan Modra  <amodra@gmail.com>
2978
2979	* elf64-ppc.c (struct got_entry): Make tls_type and is_indirect
2980	unsigned char.  Update variables and code using them throughout file.
2981	(struct ppc_link_hash_entry): Likewise for tls_mask.
2982
2983	* elf64-ppc.c (ppc64_elf_layout_multitoc): Don't merge local got ents.
2984
2985	* elf64-ppc.c (has_small_toc_reloc): Don't define.
2986	(makes_toc_func_call, call_check_in_progress): Shuffle flags.
2987	(struct ppc64_elf_obj_tdata): Add has_small_toc_reloc.  Update
2988	code setting the flag.
2989	(ppc64_elf_next_toc_section): Group big-toc sections in
2990	0x80008000 chunks.
2991
29922010-02-08  David S. Miller  <davem@davemloft.net>
2993
2994	* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Remove sgot,
2995	srelgot, splt, srelplt, and sgotplt members in favor of generic copies.
2996
2997	* elfxx-sparc.c (create_got_section): Delete.
2998	(_bfd_sparc_elf_create_dynamic_sections): Don't call, the dynamic
2999	section creator does that work for us.  Use ->elf.foo instead of
3000	->foo where applicable.
3001	(_bfd_sparc_elf_check_relocs): Use ->elf.foo instead of ->foo
3002	where applicable.
3003	(allocate_dynrelocs): Likewise.
3004	(_bfd_sparc_elf_size_dynamic_sections): Likewise.
3005	(_bfd_sparc_elf_relocate_section): Likewise.
3006	(sparc_vxworks_build_plt_entry): Likewise.
3007	(_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3008	(sparc_finish_dyn): Likewise.
3009	(sparc_vxworks_finish_exec_plt): Likewise.
3010	(sparc_vxworks_finish_shared_plt): Likewise.
3011	(_bfd_sparc_elf_finish_dynamic_sections): Likewise.
3012
3013	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use the SYMBOL_*
3014	macros for visibilty and locality checks.
3015	(_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
3016	(allocate_dynrelocs): Likewise.
3017	(_bfd_sparc_elf_relocate_section): Likewise.
3018	(_bfd_sparc_elf_finish_dynamic_symbol):Likewise.
3019
3020	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove set
3021	but never used local var 'dynobj'.
3022
3023	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Handle
3024	nocopyreloc.
3025
3026	* reloc.c (BFD_RELOC_SPARC_JMP_IREL): New.
3027	(BFD_RELOC_SPARC_IRELATIVE): Likewise.
3028	* bfd-in2.h: Regenerate.
3029	* libbfd.h: Regenerate.
3030
3031	* elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add loc_hash_table
3032	and loc_hash_memory.
3033	(_bfd_sparc_elf_link_hash_table_free): Declare.
3034	* elf32-sparc.c (elf32_sparc_add_symbol_hook): New.
3035	(elf_backend_add_symbol_hook, elf_backend_post_process_headers,
3036	bfd_elf32_bfd_link_hash_table_free): Define.
3037	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Set
3038	has_ifunc_symbols if STT_GNU_IFUNC.
3039	(bfd_elf64_bfd_link_hash_table_free): Define.
3040	(elf_backend_post_process_headers): Define always.
3041	* elfxx-sparc.c (sparc_jmp_irel_howto, sparc_irelative_howto): New.
3042	(sparc_reloc_map): Add entries for new IFUNC relocs.
3043	(_bfd_sparc_elf_reloc_type_lookup): Handle new IFUNC relocs.
3044	(_bfd_sparc_elf_info_to_howto_ptr): Likewise.
3045	(elf_sparc_local_htab_hash, elf_sparc_local_htab_eq,
3046	elf_sparc_get_local_sym_hash): New.
3047	(_bfd_sparc_elf_create_dynamic_sections): Move PLT ops initialization
3048	from here...
3049	(_bfd_sparc_elf_link_hash_table_create): ... to here.  Allocate
3050	local hash table.
3051	(_bfd_sparc_elf_link_hash_table_free): New.
3052	(create_ifunc_sections): New.
3053	(_bfd_sparc_elf_check_relocs): Unconditionally assign htab->elf.dynobj
3054	and call create_ifunc_sections().  For local STT_GNU_IFUNC symbols
3055	cons up a fake local hash table entry for it.  Unconditionally add
3056	a PLT refcount for STT_GNU_IFUNC symbols when h->def_regular.  Count
3057	dyn relocs for ifunc.
3058	(_bfd_sparc_elf_adjust_dynamic_symbol): Handle ifunc.
3059	(allocate_dynrelocs):  Unconditionally emit a PLT entry when
3060	STT_GNU_IFUNC and h->def_regular.  Count GOT dyn relocs for ifunc.
3061	(allocate_local_dynrelocs): New function.
3062	(_bfd_sparc_elf_size_dynamic_sections): Invoke it over the local hash
3063	table.  Emit dynamic relocs to irelplt when not shared.  Treat iplt
3064	like splt.
3065	(_bfd_sparc_elf_relocate_section): Handle ifunc relocations by hand.
3066	(_bfd_sparc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc
3067	plt in iplt/irelplt.
3068
30692010-02-08  Richard Sandiford  <r.sandiford@uk.ibm.com>
3070
3071	* xcofflink.c (_bfd_xcoff_bfd_final_link): When calculating
3072	max_contents_size, only consider sections whose contents must
3073	be swapped in.
3074
30752010-02-09  Alan Modra  <amodra@gmail.com>
3076
3077	* elf64-ppc.c (allocate_dynrelocs): Remove unused got structs here..
3078	(ppc64_elf_size_dynamic_sections): ..and here..
3079	(merge_got_entries): ..rather than here.
3080
30812010-02-09  Alan Modra  <amodra@gmail.com>
3082
3083	* elf64-ppc.c (struct ppc_link_hash_table): Add do_multi_toc.
3084	(has_small_toc_reloc): Define.
3085	(ppc64_elf_check_relocs): Set the above flags.
3086	(ppc64_elf_edit_opd): Delete obfd param.
3087	(ppc64_elf_tls_optimize): Likewise.
3088	(ppc64_elf_edit_toc): Likewise.
3089	(ppc64_elf_tls_setup): Likewise.  Add no_multi_toc param.
3090	* elf64-ppc.h: Update prototypes.
3091
30922010-02-08  Alan Modra  <amodra@gmail.com>
3093
3094	* section.c (struct bfd_section): Delete has_tls_reloc,
3095	has_tls_get_addr_call, has_gp_reloc, need_finalize_relax, reloc_done.
3096	Add sec_flg0 thru sec_flg5.
3097	(BFD_FAKE_SECTION): Update for changed flags.
3098	* ecoff.c (bfd_debug_section): Likewise.
3099	* elf32-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3100	* elf64-ppc.c (has_tls_reloc, has_tls_get_addr_call): Define.
3101	(has_toc_reloc, makes_toc_func_call, call_check_in_progress): Update.
3102	* elf32-xtensa.c (reloc_done): Define.
3103	* elfxx-ia64.c (skip_relax_pass_0, skip_relax_pass_1): Update.
3104	* bfd-in2.h: Regenerate.
3105
31062010-02-08  Tristan Gingold  <gingold@adacore.com>
3107
3108	* mach-o.c (bfd_mach_o_canonicalize_one_reloc): Set reloc.r_extern
3109	for non-scattered relocations.
3110
31112010-02-08  Nathan Sidwell  <nathan@codesourcery.com>
3112
3113	* elf32-ppc.c (ppc_elf_begin_write_processing): Allow empty
3114	apuinfo sections, only scan input sections once and reuse the
3115	buffer.
3116
31172010-02-08  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
3118
3119	* archures.c (bfd_mach_ppc_titan): Define.
3120	* bfd-in2.h: Regenerate.
3121	* cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
3122
31232010-02-08  Alan Modra  <amodra@gmail.com>
3124
3125	* elf32-ppc.c (ppc_elf_check_relocs): Remove dead ifunc code.
3126
31272010-02-05  Sterling Augustine  <sterling@tensilica.com>
3128
3129	* elf.c (assign_file_positions_for_load_sections) Update lma of
3130	section	if necessary.  Fixes Bugzilla 11219.
3131
31322010-02-05  H.J. Lu  <hongjiu.lu@intel.com>
3133
3134	* elf32-i386.c: Remove trailing white spaces.
3135	* elf64-x86-64.c: Likewise.
3136
31372010-02-03  Nick Clifton  <nickc@redhat.com>
3138
3139	* elf-bfd.h (emum elf_object_id): Rename to elf_target_id.  Add
3140	entries for other architectures.
3141	(struct elf_link_hash_table): Add hash_table_id field.
3142	(elf_hash_table_id): New accessor macro.
3143	* elflink.c (_bfd_elf_link_hash_table_init): Add target_id
3144	parameter.
3145	* elf-m10300.c (elf32_mn10300_hash_table): Check table id before
3146	returning cast pointer.
3147	(elf32_mn10300_link_hash_table_create): Identify new table as
3148	containing MN10300 extensions.
3149	(mn10300_elf_relax_section): Check pointer returned by
3150	elf32_mn10300_hash_table.
3151	* elf32-arm.c: Likewise, except using ARM extensions.
3152	* elf32-avr.c: Likewise, except using AVR extensions.
3153	* elf32-bfin.c: Likewise, except using BFIN extensions.
3154	* elf32-cris.c: Likewise, except using CRIS extensions.
3155	* elf32-frv.c: Likewise, except using FRV extensions.
3156	* elf32-hppa.c: Likewise, except using HPPA32 extensions.
3157	* elf32-i386.c: Likewise, except using I386 extensions.
3158	* elf32-lm32.c: Likewise, except using LM32 extensions.
3159	* elf32-m32r.c: Likewise, except using M32RM extensions.
3160	* elf32-m68hc11.c: Likewise, except using M68HC11 extensions.
3161	* elf32-m68hc1x.c: Likewise, except using M68HC11 extensions.
3162	* elf32-m68hc1x.h: Likewise, except using M68HC11 extensions.
3163	* elf32-m68k.c: Likewise, except using M68K extensions.
3164	* elf32-microblaze.c: Likewise, except using MICROBLAZE extensions.
3165	* elf32-ppc.c: Likewise, except using PPC32 extensions.
3166	* elf32-s390.c: Likewise, except using S390 extensions.
3167	* elf32-sh.c: Likewise, except using SH extensions.
3168	* elf32-spu.c: Likewise, except using SPU extensions.
3169	* elf32-xtensa.c: Likewise, except using XTENSA extensions.
3170	* elf64-alpha.c: Likewise, except using ALPHA extensions.
3171	* elf64-hppa.c: Likewise, except using HPPA64 extensions.
3172	* elf64-ppc.c: Likewise, except using PPC64 extensions.
3173	* elf64-s390.c: Likewise, except using S390 extensions.
3174	* elf64-x86-64.c: Likewise, except using X86_64 extensions.
3175	* elfxx-ia64.c: Likewise, except using IA64 extensions.
3176	* elfxx-mips.c: Likewise, except using MIPS extensions.
3177	* elfxx-sparc.c: Likewise, except using SPARC extensions.
3178	* elfxx-sparc.h: Likewise, except using SPARC extensions.
3179	* elf32-cr16.c (struct elf32_cr16_link_hash_table): Delete
3180	redundant structure.
3181	(elf32_cr16_hash_table): Delete unused macro.
3182	(elf32_cr16_link_hash_traverse): Delete unused macro.
3183	* elf32-score.c: Likewise.
3184	* elf32-score7.c: Likewise.
3185	* elf32-vax.c: Likewise.
3186	* elf64-sh64.c: Likewise.
3187
31882010-02-03  Alan Modra  <amodra@gmail.com>
3189
3190	* elf64-ppc.c (struct plt_entry): Move earlier in file.
3191	(struct got_entry): Likewise.  Add is_indirect and got.ent fields.
3192	(struct ppc64_elf_obj_tdata): Change tlsld_got to be a struct got_entry.
3193	Update all uses.
3194	(struct ppc_link_hash_table): Add got_reli_size and second_toc_pass.
3195	Remove no_multi_toc.
3196	(update_local_sym_info, ppc64_elf_check_relocs): Clear is_indirect
3197	when allocating a new struct got_entry.
3198	(allocate_got): New function, extracted from..
3199	(allocate_dynrelocs): ..here.  Abort on got entry in non-ppc64 bfd.
3200	(ppc64_elf_size_dynamic_sections): Track got relocs allocated in
3201	.reliplt by got_reli_size.  Set owner on ppc64_tlsld_got entries.
3202	(ppc64_elf_setup_section_lists): Remove output_bfd param and
3203	no_multi_toc, add add_stub_section and layout_sections_again.  Stash
3204	new params in htab.  Extract some code to..
3205	(ppc64_elf_start_multitoc_partition): ..here.  New function.
3206	(ppc64_elf_next_toc_section): Check for linker script errors.  Handle
3207	second pass toc scan.
3208	(merge_got_entries, merge_global_got, reallocate_got): New functions.
3209	(ppc64_elf_reinit_toc): Rename to..
3210	(ppc64_elf_finish_multitoc_partition): ..this.
3211	(ppc64_elf_layout_multitoc): New function.
3212	(ppc64_elf_size_stubs): Delete output_bfd, add_stub_section and
3213	layout_sections_again params.
3214	(ppc64_elf_relocate_section): Handle indirect got entries.
3215	* elf64-ppc.h: Update prototypes.  Declare new functions.
3216
32172010-02-02  H.J. Lu  <hongjiu.lu@intel.com>
3218
3219	* elf-bfd.h (elfcore_write_xstatereg): New.
3220
3221	* elf.c (elfcore_grok_xstatereg): New.
3222	(elfcore_write_xstatereg): Likewise.
3223	(elfcore_grok_note): Handle NT_X86_XSTATE.
3224	(elfcore_write_register_note): Handle .reg-xstate section.
3225
32262010-02-01  Tristan Gingold  <gingold@adacore.com>
3227
3228	* som.c (som_write_ar_hdr): Define this macro.
3229
32302010-01-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3231
3232	* elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
3233	R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
3234	linkage table pointer to use the global table pointer if not doing
3235	a shared link.
3236
32372010-01-29  Joel Brobecker  <brobecker@adacore.com>
3238
3239	* elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
3240	if it has already been set.
3241
32422010-01-27  Tristan Gingold  <gingold@adacore.com>
3243
3244	* vms.h: Remove trailing spaces.
3245	(struct hdr_struct): Remove unused hdr_c_cpr field.
3246	(enum file_format_enum): Add comments.
3247	* vms.c (vms_bfd_print_private_bfd_data): New function that
3248	replaces the macro.
3249	Remove trailing spaces.
3250	* vms-misc.c: Improve comments.
3251	(_bfd_vms_get_object_record): Also handle files without pads.
3252	* vms-hdr.c (_bfd_vms_write_dbg): Fix format string.
3253	* vms-gsd.c (struct flagdescstruct): Make name field const.
3254	(gsyflagdesc): Fix typo.
3255
32562010-01-27  Alan Modra  <amodra@gmail.com>
3257
3258	PR ld/11217
3259	* elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
3260	(ppc64_elf_setup_section_lists): Init them.
3261	(ppc64_elf_next_toc_section): Don't partition multi-toc between .got
3262	and .toc on the same input file.
3263	(ppc64_elf_relocate_section): Correct GOT entry offset.
3264
32652010-01-26  Tristan Gingold  <gingold@adacore.com>
3266
3267	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
3268	(bfd_target): Add _bfd_write_ar_hdr_fn field.
3269	* archive.c (is_bsd44_extended_name): New macro.
3270	(_bfd_generic_read_ar_hdr_mag): Use it.  Add extra_size.
3271	(bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
3272	name.
3273	(_bfd_archive_bsd44_construct_extended_name_table): New function.
3274	(_bfd_generic_write_ar_hdr): Ditto.
3275	(_bfd_bsd44_write_ar_hdr): Ditto.
3276	(_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
3277	(bsd_write_armap): Adjust firstreal computation.
3278	* libbfd-in.h (struct areltdata): Add extra_size field.
3279	(_bfd_generic_write_ar_hdr): Add prototype.
3280	(_bfd_bsd44_write_ar_hdr): Ditto.
3281	(_bfd_write_ar_hdr): Define.
3282	(_bfd_noarchive_write_ar_hdr): Ditto.
3283	(_bfd_archive_bsd_write_ar_hdr): Ditto.
3284	(_bfd_archive_coff_write_ar_hdr): Ditto.
3285	(_bfd_archive_bsd44_slurp_armap): Ditto.
3286	(_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
3287	(_bfd_archive_bsd44_construct_extended_name_table): New prototype.
3288	(_bfd_archive_bsd44_truncate_arname): Ditto.
3289	(_bfd_archive_bsd44_write_armap): Ditto.
3290	(_bfd_archive_bsd44_read_ar_hdr): Ditto.
3291	(_bfd_archive_bsd44_write_ar_hdr): Ditto.
3292	(_bfd_archive_bsd44_openr_next_archived_file): Ditto.
3293	(_bfd_archive_bsd44_get_elt_at_index): Ditto.
3294	(_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
3295	(_bfd_archive_bsd44_update_armap_timestamp): Ditto.
3296	* libbfd.h: Regenerate.
3297	* oasys.c (oasys_write_ar_hdr): Define.
3298	* libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
3299	* ieee.c (ieee_write_ar_hdr): Define.
3300	* elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
3301	* coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
3302	(bfd_pmac_xcoff_backend_data): Ditto.
3303	* coff64-rs6000.c (rs6000coff64_vec): Ditto.
3304	(bfd_xcoff_aix5_backend_data): Ditto.
3305	* coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
3306	* aout-target.h (MY_write_ar_hdr): Define it if not defined.
3307	* aout-tic30.c (MY_write_ar_hdr): Ditto.
3308	* mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
3309	(bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3310	(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3311	(bfd_mach_o_construct_extended_name_table)
3312	(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3313	(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3314	(bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
3315	* mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
3316	(bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
3317	(bfd_mach_o_construct_extended_name_table)
3318	(bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
3319	(bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
3320	(bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
3321	* bfd-in2.h: Regenerate.
3322
33232010-01-26  Alan Modra  <amodra@gmail.com>
3324	    H.J. Lu  <hongjiu.lu@intel.com>
3325
3326	PR ld/11218
3327	* elflink.c (elf_link_output_extsym): Do not ignore undefined
3328	symbols with ref_regular set when gc_sections is active.
3329
33302010-01-25  Alan Modra  <amodra@gmail.com>
3331
3332	PR ld/11217
3333	* elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
3334	with relocations against undefined weak symbols.
3335	(ppc64_elf_relocate_section): Don't optimize calls to undefined
3336	weak functions if the symbol is dynamic.
3337	(ppc64_elf_relocate_section): Edit tprel tls sequences.
3338	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3339	(_bfd_elf_ppc_at_tprel_transform): New function.
3340	* bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
3341	* bfd-in2.h: Regenerate.
3342
33432010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>
3344
3345	* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
3346	(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
3347	* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
3348	bitsize to 1.
3349	(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
3350
33512010-01-21  Nick Clifton  <nickc@redhat.com>
3352
3353	* elflink.c (elf_link_add_object_symbols): Look up name of
3354	undefined symbol both before and after versioning has been
3355	applied.  Do not bother with symbols that are weakly undefined.
3356
33572010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3358
3359	* elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
3360	(bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
3361
33622010-01-19  Cary Coutant  <ccoutant@google.com>
3363
3364	* dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
3365
33662010-01-19  Daisuke Hatayama  <d.hatayama@jp.fujitsu.com>
3367	    Alan Modra <amodra@gmail.com>
3368
3369	* elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
3370	(elf_object_p): Read e_phnum extension.
3371	(elf_write_shdrs_and_ehdr): Write e_phnum extension.
3372	* elfcore.h (elf_core_file_p): Read e_phnum extension.  Sanity check
3373	that we can read last program header.
3374
33752010-01-19  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
3376
3377	* elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
3378	R_ARM_THM_CALL entry.
3379	(elf32_arm_final_link_relocate): Correct calculation of
3380	reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
3381	or R_ARM_THM_JUMP24 relocation.
3382
33832010-01-18  Alan Modra  <amodra@gmail.com>
3384
3385	PR 11168
3386	* coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
3387	block past vars in COFF_IMAGE_WITH_PE block.  Report error on more
3388	than 32k sections.
3389
33902010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
3391
3392	Fix compilation warning on gcc-3.4.
3393	* vms-tir.c (start_etir_record, sto_imm): Rename the prototype
3394	parameter index to sec_index according to the function definition.
3395
33962010-01-13  Chao-ying Fu  <fu@mips.com>
3397
3398	* elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
3399	It is true for all CPUs.
3400	(jal_reloc_p): New function.
3401	(mips_elf_calculate_relocation): Rename require_jalxp to
3402	cross_mode_jump_p.
3403	Update comment for CROSS_MODE_JUMP_P.
3404	Set up cross_mode_jump_p based on the mode change.
3405	(mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
3406	Update comment for CROSS_MODE_JUMP_P.
3407	Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
3408	Use !cross_mode_jump_p to guard conversion.
3409	Convert "jr t9" to "b", if possible.
3410	(_bfd_mips_elf_relocate_section): Rename require_jalx to
3411	cross_mode_jump_p.
3412	Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
3413	Pass cross_mode_jump_p to call mips_elf_perform_relocation.
3414
34152010-01-13  Nick Clifton  <nickc@redhat.com>
3416
3417	* cpu-m32c.c (m32c_scan): New function.  Ensures that a scan for
3418	"m32c" returns the m32c arch_info_struct and not the m16c
3419	arch_info_struct.
3420	(arch_info_struct): Use the new scan function.
3421	(bfd_m32c_arch): Likewise.
3422
34232010-01-13  Tristan Gingold  <gingold@adacore.com>
3424
3425	* config.bfd: Remove duplicated target vector for i386-*-darwin.
3426	Appends new arch instead of overriding.
3427	Use mach_o_x86_64_vec for x86_64-*-darwin.
3428	* configure.in: Add mach_o_x86_64_vec.
3429	* configure: Regenerate.
3430	* targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
3431	* Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
3432	(BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
3433	* Makefile.in: Regenerate.
3434	* mach-o-x86-64.c: New file.
3435
34362010-01-13  Tristan Gingold  <gingold@adacore.com>
3437
3438	* reloc.c: Add MACH_O_X86_64 relocations.
3439	* bfd-in2.h: Regenerate.
3440	* libbfd.h: Regenerate.
3441
34422010-01-13  Tristan Gingold  <gingold@adacore.com>
3443
3444	* archive.c (normalize): Use lbasename.
3445	(bfd_bsd_truncate_arname): Ditto.
3446	(bfd_gnu_truncate_arname): Ditto.
3447
34482010-01-12  Tristan Gingold  <gingold@adacore.com>
3449
3450	* makefile.vms (CFLAGS): Turns warnings into informational messages.
3451
34522010-01-11  Tristan Gingold  <gingold@adacore.com>
3453
3454	* mach-o.h: Add x86-64 relocation types.
3455
34562010-01-11  Tristan Gingold  <gingold@adacore.com>
3457
3458	* mach-o.h (bfd_mach_o_backend_data): Add arch field.
3459	(bfd_mach_o_set_arch_mach): New prototype.
3460	* mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
3461	(bfd_mach_o_set_arch_mach): New function.
3462	(bfd_mach_o_gen_mkobject): New function.
3463	Set TARGET_ARCHITECTURE for the generic back-ends.
3464	* mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
3465	Check that TARGET_ARCHITECTURE is defined.
3466	Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
3467	* mach-o-i386.c (TARGET_ARCHITECTURE): Define.
3468
34692010-01-11  Tristan Gingold  <gingold@adacore.com>
3470
3471	* archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
3472
34732010-01-11  Nick Clifton  <nickc@redhat.com>
3474
3475	* elf32-v850.c (v850_elf_perform_relocation): Fix overflow
3476	handling of R_V850_HI16_S relocation.
3477
34782010-01-11  Alan Modra  <amodra@gmail.com>
3479
3480	PR 11103
3481	* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
3482
34832010-01-11  Alan Modra  <amodra@gmail.com>
3484
3485	PR 6832
3486	* dwarf2.c (struct comp_unit): Add sec_info_ptr.
3487	(find_abstract_instance_name): Use it.
3488	(parse_comp_unit): Set it.
3489
34902010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3491
3492	* Makefile.in: Regenerate.
3493	* configure: Regenerate.
3494
34952010-01-08  Tristan Gingold  <gingold@adacore.com>
3496
3497	* archive.c: Remove bfd_special_undocumented_glue.
3498
34992010-01-08  Alan Modra  <amodra@gmail.com>
3500
3501	PR ld/11133
3502	* elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
3503	* elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
3504	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
3505
35062010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3507
3508	PR ld/11138
3509	* elflink.c (elf_link_check_versioned_symbol): Don't abort if
3510	a symbol referenced by DSO is is defined in a non-shared object
3511	and forced local.
3512
35132010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3514
3515	PR ld/11133
3516	* elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
3517	undefined __start_XXX/__stop_XXX in all input files and set
3518	SEC_KEEP.
3519
35202010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3521
3522	PR ld/11143
3523	* elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
3524
35252010-01-04  Daniel Gutson  <dgutson@codesourcery.com>
3526
3527	* bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
3528	before including procfs.h.
3529	(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
3530	* configure.in: Added autoconf probe for the pr_fpreg member.
3531	* configure: Regenerated.
3532	* config.in: Regenerated.
3533	* elf.c: Define _STRUCTURE_PROC before including procfs.h.
3534
35352010-01-04  Joel Brobecker  <brobecker@adacore.com>
3536
3537	Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
3538	* dwarf2.c (concat_filename): Rename dirname with dir_name
3539	to void shadowing the dirname function.
3540	Rename subdirname with subdir_name to stay consistent with
3541	the new dir_name variable name.
3542
35432010-01-04  Edmar Wienskoski  <edmar@freescale.com>
3544
3545	* archures.c: Add bfd_mach_ppc_e500mc64.
3546	* bfd-in2.h: Regenerate.
3547	* cpu-powerpc.c (bfd_powerpc_archs): Add entry for
3548	bfd_mach_ppc_e500mc64.
3549
35502010-01-01  Joel Brobecker  <brobecker@adacore.com>
3551
3552	Fix -Wshadow warnings (seen on ppc-aix)
3553	* xcofflink.c: Replace finfo by flinfo throughout.
3554
3555For older changes see ChangeLog-2009
3556
3557Copyright (C) 2010 Free Software Foundation, Inc.
3558
3559Copying and distribution of this file, with or without modification,
3560are permitted in any medium without royalty provided the copyright
3561notice and this notice are preserved.
3562
3563Local Variables:
3564mode: change-log
3565left-margin: 8
3566fill-column: 74
3567version-control: never
3568End:
3569