xref: /netbsd-src/external/gpl3/gdb.old/dist/bfd/ChangeLog (revision 16dce51364ebe8aeafbae46bc5aa167b8115bc45)
12016-08-01  Joel Brobecker  <brobecker@adacore.com>
2
3	* development.sh (development): Set to false.
4
52016-08-01  Nick Clifton  <nickc@redhat.com>
6
7	* po/sv.po: Updated Swedish translation.
8
92016-07-27  Ozkan Sezer  <sezeroz@gmail.com>
10	    Nick Clifton  <nickc@redhat.com>
11
12	PR ld/20401
13	* coffgen.c (fini_reloc_cookie_rels): Check for the extistence
14	of the coff_section_data before using it.
15
162016-07-26  Maciej W. Rozycki  <macro@imgtec.com>
17
18	* elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
19	in PLT compression selection.
20	(_bfd_mips_elf_check_relocs): Likewise.
21
222016-07-22  Cupertino Miranda  <cmiranda@synopsys.com>
23
24	* arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
25	case where there's no elf_link_hash_entry while processing
26	GOT_NORMAL got entries.
27
282016-07-21  H.J. Lu  <hongjiu.lu@intel.com>
29
30	* version.m4 (BFD_VERSION): Set to 2.27.51.
31	* configure: Regenerated.
32
332016-07-21  Nick Clifton  <nickc@redhat.com>
34
35	* elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
36	(swap_out_syms): Return an error when not finding ELF output
37	section rather than asserting.
38
392016-07-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
40
41	* elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
42
432016-07-20  John Baldwin  <jhb@FreeBSD.org>
44
45	* elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
46	and handle pr_pid if present.
47
482016-07-20  H.J. Lu  <hongjiu.lu@intel.com>
49
50	PR ld/20376
51	* elf.c (assign_file_positions_for_load_sections): Also check
52	p_paddr for program header space.
53
542016-07-20  Alan Modra  <amodra@gmail.com>
55
56	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
57	ppc64_elf_unhandled_reloc for special_function.
58	* elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
59
602016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
61
62	* elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
63	BAL to JALX.
64	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
65	corresponding error message.
66
672016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
68
69	* elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
70	R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
71	(branch_reloc_p): New function.
72	(mips_elf_calculate_relocation): Handle ISA mode determination
73	for relocations against section symbols, against absolute
74	symbols and absolute relocations.  Also set `*cross_mode_jump_p'
75	for branches.
76	<R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
77	checks for weak undefined symbols.  Also check target alignment
78	within the same ISA mode.
79	<R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
80	in the alignment check.
81	<R_MICROMIPS_PC7_S1>: Add an alignment check.
82	<R_MICROMIPS_PC10_S1>: Likewise.
83	<R_MICROMIPS_PC16_S1>: Likewise.
84	(mips_elf_perform_relocation): Report a failure for unsupported
85	same-mode JALX instructions and cross-mode branches.
86	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
87	error messages for jumps to misaligned addresses.
88
892016-07-16  Alan Modra  <amodra@gmail.com>
90
91	* elflink.c: Include plugin-api.h.
92	* plugin.c (bfd_plugin_open_input): New function, extracted from..
93	(try_claim): ..here.
94	* plugin.h: Don't include bfd.h.
95	(bfd_plugin_open_input): Declare.
96
972016-07-16  Alan Modra  <amodra@gmail.com>
98
99	* targets.c (bfd_seach_for_target): Rename to..
100	(bfd_iterate_over_targets): ..this.  Rewrite doc.
101	* bfd-in2.h: Regenerate.
102
1032016-07-16  Alan Modra  <amodra@gmail.com>
104
105	* archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
106	* libbfd.h: Regenerate.
107	* bfd-in2.h: Regenerate.
108
1092016-07-16  Alan Modra  <amodra@gmail.com>
110
111	* libbfd-in.h (BFD_ALIGN): Move to..
112	* bfd-in.h: ..here.
113	* elf32-ppc.h (struct ppc_elf_params): Add pagesize.
114	* elf32-ppc.c (default_params): Adjust init.
115	(ppc_elf_link_params): Set pagesize_p2.
116	* libbfd.h: Regenerate.
117	* bfd-in2.h: Regenerate.
118
1192016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
120
121	* elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
122	(_bfd_elf_filter_global_symbols): Declare.
123	* elf.c (_bfd_elf_filter_global_symbols): New function.
124	* elflink.c (elf_filter_global_symbols): Likewise.
125	(elf_output_implib): Likewise.
126	(bfd_elf_final_link): Call above function, failing if it does.
127	* elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
128	default it to NULL.
129	(elf_backend_copy_indirect_symbol): Fix spacing.
130	(elf_backend_hide_symbol): Likewise.
131	(elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
132
1332016-07-15  Andrew Burgess  <andrew.burgess@embecosm.com>
134	    Nick Clifton  <nickc@redhat.com>
135
136	* elf32-arc.c (PR_DEBUG): Delete.
137	Fix printing of debug information.  Fix formatting of debug
138	statements.
139	(debug_arc_reloc): Handle symbols that are not from an input file.
140	(arc_do_relocation): Remove excessive exclamation points.
141
142	* arc-got.h: Fix formatting.  Fix printing of debug information.
143	(new_got_entry_to_list): Use xmalloc.
144	* config.bfd: use the big-endian arc vector as the default vector
145	for big-endian arc targets.
146
1472016-07-15  Alan Modra  <amodra@gmail.com>
148
149	* cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
150	from marking sym_indices.
151
1522016-07-14  Maciej W. Rozycki  <macro@imgtec.com>
153
154	* reloc.c (bfd_perform_relocation): Try the `howto' handler
155	first with relocations against absolute symbols.
156	(bfd_install_relocation): Likewise.
157
1582016-07-12  H.J. Lu  <hongjiu.lu@intel.com>
159
160	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
161	.got/.got.plt sections to 8 bytes.
162
1632016-07-12  Nick Clifton  <nickc@redhat.com>
164
165	* binary.c (binary_set_section_contents): Second grammar fix.
166
1672016-07-12  Douglas B Rupp  <rupp@adacore.com>
168
169	* binary.c (binary_set_section_contents): Fix grammar in warning
170	message.
171
1722016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
173
174	* elf32-arc.c: made PR_DEBUG always defined.
175
1762016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
177
178	* arc-got.h: Moved got related structures from elf32-arc.c to
179	this file. More precisely, tls_type_e, tls_got_entries, got_entry.
180	* (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
181	tls_type_for_reloc, symbol_has_entry_of_type,
182	get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
183	ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
184	relocate_fix_got_relocs_for_got_info,
185	create_got_dynrelocs_for_single_entry,
186	create_got_dynrelocs_for_got_info): Added to file.
187	* elf32-arc.c: Removed GOT & TLS related structs and functions to
188	arc-got.h.
189
1902016-07-08  James Bowman  <james.bowman@ftdichip.com>
191
192	* elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
193
1942016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
195
196	* elf32-arm.c (THUMB32_MOVT): New veneer macro.
197	(THUMB32_MOVW): Likewise.
198	(elf32_arm_stub_long_branch_thumb2_only_pure): New.
199	(DEF_STUBS): Define long_branch_thumb2_only_pure.
200	(arm_stub_is_thumb): Add new veneer stub.
201	(arm_type_of_stub): Use new veneer.
202	(arm_stub_required_alignment): Add new veneer.
203
2042016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
205
206	* bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
207	(SEC_ELF_PURECODE): ... this.
208	* elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
209	to SEC_ELF_NOREAD.
210	(elf32_arm_fake_sections): Likewise.
211	(elf_32_arm_section_flags): Likewise.
212	(elf_32_arm_lookup_section_flags): Likewise.
213	* section.c (SEC_ELF_NOREAD): Rename to ...
214	(SEC_ELF_PURECODE): ... this.
215
2162016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
217
218	* elf32-arm.c (using_thumb2_bl): New function.
219	(arm_type_of_stub): Declare thumb2 variable together and change type
220	to bfd_boolean.  Use using_thumb2_bl () to determine whether
221	THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
222	checked for BL range.
223	(elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
224	the bit size of BL offset.
225
2262016-06-29  Nick Clifton  <nickc@redhat.com>
227
228	* elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
229	Returns TRUE for AArch64 mapping symbols.
230	(elfNN_aarch64_backend_symbol_processing): New function.  Marks
231	mapping symbols as precious in object files so that they will not
232	be stripped.
233	(elf_backend_symbol_processing): Define.
234
235	* elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
236	for ARM mapping symbols.
237	(elf32_arm_backend_symbol_processing): Make use of the new function.
238
2392016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
240
241	PR ld/20306
242	* elflink.c (elf_link_check_versioned_symbol): Return false
243	for unreferenced undefined symbol.
244
2452016-06-28  Nick Clifton  <nickc@redhat.com>
246
247	* elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
248	is needed.
249
250	* elf32-arm.c (elf32_arm_backend_symbol_processing): New
251	function.  Marks mapping symbols in object files as precious, so
252	that strip will not remove them.
253	(elf_backend_symbol_processing): Define.
254
2552016-06-28  James Clarke  <jrtc27@jrtc27.com>
256
257	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
258	R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
259
2602016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
261
262	* elf32-mips.c (elf_mips16_howto_table_rel): Add
263	R_MIPS16_PC16_S1.
264	(mips16_reloc_map): Likewise.
265	* elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
266	(mips16_elf64_howto_table_rela): Likewise.
267	(mips16_reloc_map): Likewise.
268	* elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
269	(elf_mips16_howto_table_rela): Likewise.
270	(mips16_reloc_map): Likewise.
271	* elfxx-mips.c (mips16_branch_reloc_p): New function.
272	(mips16_reloc_p): Handle R_MIPS16_PC16_S1.
273	(b_reloc_p): Likewise.
274	(mips_elf_calculate_relocation): Likewise.
275	(_bfd_mips_elf_check_relocs): Likewise.
276	* reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
277	* bfd-in2.h: Regenerate.
278	* libbfd.h: Regenerate.
279
2802016-06-27  Alan Modra  <amodra@gmail.com>
281
282	PR ld/19264
283	* elf64-ppc.c (STUB_SHRINK_ITER): Define.
284	(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
285	if shrinking stubs.
286	(ppc64_elf_size_stubs): Adjust to suit.
287
2882016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
289
290	* elf32-dlx.h: New file.
291	* elf32-dlx.c: Adjust.
292
2932016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
294
295	* elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
296
2972016-06-24  John Baldwin  <jhb@FreeBSD.org>
298
299	* elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
300	notes.
301
3022016-06-24  John Baldwin  <jhb@FreeBSD.org>
303
304	* elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
305	FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
306	(elfcore_grok_freebsd_psinfo): New function.
307	(elfcore_grok_freebsd_prstatus): New function.
308	(elfcore_grok_freebsd_note): New function.
309	(elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
310	notes.
311
3122016-06-24  Joel Brobecker  <brobecker@adacore.com>
313
314	* elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
315	than its existance.
316
3172016-06-24  Alan Modra  <amodra@gmail.com>
318
319	* config.bfd: Delete mips vxworks patterns matched earlier.
320	Combine mips*-*-none with mips*-*-elf*.
321
3222016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
323
324	* elfxx-mips.c (mips_elf_perform_relocation): Call
325	`info->callbacks->einfo' rather than `*_bfd_error_handler' and
326	use the `%X%H' format for the cross-mode jump conversion error
327	message.  Remove the full stop from the end of the message.
328	Continue processing rather than returning failure.
329
3302016-06-21  Graham Markall  <graham.markall@embecosm.com>
331
332	* archures.c: Remove bfd_mach_arc_nps400.
333	* bfd-in2.h: Likewise.
334	* cpu-arc.c (arch_info_struct): Likewise.
335	* elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
336	Likewise.
337
3382016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
339
340	PR ld/18250
341	PR ld/20267
342	* elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
343	defined.
344	(elf_link_is_defined_archive_symbol): Call
345	bfd_link_plugin_object_p on unknown plugin object and use the
346	IR symbol table if the input is an IR object.
347	* plugin.c (bfd_link_plugin_object_p): New function.
348	* plugin.h (bfd_link_plugin_object_p): New prototype.
349
3502016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
351
352	PR ld/20276
353	* elflink.c (elf_link_add_object_symbols): Don't check alignment
354	on symbol from plugin dummy input.
355
3562016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
357
358	* bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
359	bfd_plugin_unknown.
360	* bfd-in2.h: Regenerated.
361	* plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
362	with bfd_plugin_unknown.
363
3642016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
365
366	PR ld/20253
367	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
368	bfd_boolean argument.
369	* elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
370	"shared object" with "PIC object" in comments.
371	(_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
372	"shared object" with "PIC object" in comments.  Avoid PLT if
373	requested.  Generate dynamic relocations for non-GOT references.
374	Make room for the special first entry in PLT and allocate PLT
375	entry only for PLT and PC-relative references.  Store dynamic
376	GOT relocations in .rel[a].iplt section for static executables.
377	If PLT isn't used, always use GOT for symbol value.  Don't
378	allocate GOT entry if it isn't used.
379	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
380	count only in the code section.  Allocate dynamic pointer
381	relocation against STT_GNU_IFUNC symbol in the non-code section.
382	(elf_i386_adjust_dynamic_symbol): Increment PLT reference count
383	only for PC-relative references.
384	(elf_i386_allocate_dynrelocs): Pass TRUE to
385	_bfd_elf_allocate_ifunc_dyn_relocs.
386	(elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
387	relocations against STT_GNU_IFUNC symbols without PLT.  Generate
388	dynamic pointer relocation against STT_GNU_IFUNC symbol in
389	the non-code section and store it in the proper REL section.
390	Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
391	without PLT.
392	(elf_i386_finish_dynamic_symbol): Generate dynamic
393	R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
394	STT_GNU_IFUNC symbols without PLT.
395	(elf_i386_finish_dynamic_sections): Don't handle local
396	STT_GNU_IFUNC symbols here.
397	(elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
398	symbols here.
399	(elf_backend_output_arch_local_syms): New.
400	* elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
401	count only in the code section.  Allocate dynamic pointer
402	relocation against STT_GNU_IFUNC symbol in the non-code section.
403	(elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
404	count only for PC-relative references.
405	(elf_x86_64_allocate_dynrelocs): Pass TRUE to
406	_bfd_elf_allocate_ifunc_dyn_relocs.
407	(elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
408	R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
409	R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
410	without PLT.  Generate dynamic pointer relocation against
411	STT_GNU_IFUNC symbol in the non-code section and store it in
412	the proper RELA section.  Don't allow non-pointer relocation
413	against STT_GNU_IFUNC symbol without PLT.
414	(elf_x86_64_finish_dynamic_symbol): Generate dynamic
415	R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
416	STT_GNU_IFUNC symbols without PLT.
417	(elf_x86_64_finish_dynamic_sections): Don't handle local
418	STT_GNU_IFUNC symbols here.
419	(elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
420	symbols here.
421	(elf_backend_output_arch_local_syms): New.
422	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
423	Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
424
4252016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
426	    Tony Wang  <tony.wang@arm.com>
427
428	* elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
429	sequence.
430	(stub_long_branch_thumb2_only): Define stub.
431	(arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
432	(arm_stub_long_branch_thumb2_only): Likewise.
433	(arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
434	capable targets.
435
4362016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
437
438	* archures.c (bfd_mach_sparc_v8plusc): Define.
439	(bfd_mach_sparc_v9c): Likewise.
440	(bfd_mach_sparc_v8plusd): Likewise.
441	(bfd_mach_sparc_v9d): Likewise.
442	(bfd_mach_sparc_v8pluse): Likewise.
443	(bfd_mach_sparc_v9e): Likewise.
444	(bfd_mach_sparc_v8plusv): Likewise
445	(bfd_mach_sparc_v9v): Likewise.
446	(bfd_mach_sparc_v8plusm): Likewise.
447	(bfd_mach_sparc_v9m): Likewise.
448	(bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
449	(bfd_mach_sparc_64bit_p): Likewise.
450	* bfd-in2.h: Regenerate.
451	* cpu-sparc.c (arch_info_struct): Add entries for
452	bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
453	* aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
454	and bfd_mach_sparc_v9{c,d,e,v,m}.
455	* elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
456	* elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
457
4582016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
459
460	* elf32-i386.c (elf_i386_check_relocs): Don't check undefined
461	symbols for relocations against IFUNC symbols.
462	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
463
4642016-06-16  Marcin Kościelnicki  <koriakin@0x04.net>
465
466	* elf32-s390.c (elf_s390_finish_dynamic_sections): Include
467	.rela.iplt in DT_PLTRELSZ.
468	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
469	for DT_PLTRELSZ and DT_RELASZ as well.
470
4712016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
472
473	* elf32-i386.c (elf_i386_check_relocs): Skip relocations in
474	non-loaded, non-alloced sections.
475	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
476
4772016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
478
479	* elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
480	allocating dynamic relocation.
481	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
482
4832016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
484
485	PR ld/20254
486	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
487	offsets until reloc_toaddr.
488
4892016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
490
491	* elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
492	Don't check symbol type for STN_UNDEF symbol index.
493	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
494	R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
495	index.
496
4972016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
498
499	* elf32-arm.c (using_thumb_only): Force review of arch check logic for
500	new architecture.
501	(using_thumb2): Try Tag_THUMB_ISA_use first and check
502	for exact arch value then.  Force review of arch check logic for new
503	architecture.
504	(arch_has_arm_nop): Update and fix arch check logic.  Force review of
505	that logic for new architecture.
506	(arch_has_thumb2_nop): Remove.
507	(elf32_arm_tls_relax): Use using_thumb2 instead of above function.
508	(elf32_arm_final_link_relocate): Likewise but using thumb2.
509
5102016-06-14  Alan Modra  <amodra@gmail.com>
511
512	* bfd-in.h (bfd_my_archive): Delete.
513	* bfd-in2.h: Regenerate.
514
5152016-06-14  Alan Modra  <amodra@gmail.com>
516
517	PR ld/20241
518	* archive.c (open_nested_file): Set my_archive.
519	* bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
520	for thin archives.
521	* bfdio.c (bfd_tell): Don't adjust origin for thin archives.
522	(bfd_seek): Likewise.
523	* bfdwin.c (bfd_get_file_window): Likewise.
524	* cache.c (cache_bmmap): Likewise.
525	(bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
526	* mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
527	thin archives.
528	* plugin.c (try_claim): Likewise.
529	* xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
530	file within thin archive, not the archive.
531
5322016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
533
534	PR ld/20244
535	* elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
536	section address for R_386_GOT32/R_386_GOT32X relocations against
537	IFUNC symbols if there is no base register and return error for
538	PIC.
539
5402016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
541
542	* elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
543	GOT32 adjustment for static executables.
544
5452016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
546
547	* elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
548
5492016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
550
551	* elf32-arc.c (elf_arc_relocate_section): Fixed condition.
552
5532016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
554
555	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
556
5572016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
558
559	* elf32-arc.c (arc_local_data, arc_local_data): Removed.
560	(SECTSTART): Changed.
561	(elf_arc_relocate_section): Fixed mistake in PIE related
562	condition.
563	(elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
564
5652016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
566
567	* elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
568	enable support for "-z combreloc" and DT_RELACOUNT.
569	(elf_backend_reloc_type_class): Likewise
570
5712016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
572
573	PR ld/20244
574	* elf32-i386.c (elf_i386_relocate_section): When relocating
575	R_386_GOT32, return error without a base register for PIC and
576	subtract the .got.plt section address only with a base register.
577
5782016-06-10  Alan Modra  <amodra@gmail.com>
579
580	* elf-strtab.c (struct strtab_save): Use size_t for "size".
581	(struct elf_strtab_hash): Likewise for "size" and "alloced".
582	(_bfd_elf_strtab_init): Formatting.
583	(_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
584	(_bfd_elf_strtab_addref): Take size_t idx param.
585	(_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
586	(_bfd_elf_strtab_offset): Likewise.
587	(_bfd_elf_strtab_clear_all_refs): Use size_t idx.
588	(_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
589	(_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
590	(_bfd_elf_strtab_finalize): Similarly.
591	* elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
592	(_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
593	(_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
594	* elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
595	using bfd_size_type.
596	(bfd_section_from_shdr): Delete amt.
597	(_bfd_elf_init_reloc_shdr): Likewise.
598	(_bfd_elf_link_assign_sym_version): Likewise.
599	(assign_section_numbers): Use size_t reloc_count.
600	* elflink.c (struct elf_symbuf_head): Use size_t "count".
601	(bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
602	(elf_link_is_defined_archive_symbol): Likewise.
603	(elf_add_dt_needed_tag): Likewise.
604	(elf_finalize_dynstr): Likewise.
605	(elf_link_add_object_symbols): Likewise.
606	(bfd_elf_size_dynamic_sections): Likewise.
607	(elf_create_symbuf): Similarly.
608	(bfd_elf_match_symbols_in_sections): Likewise.
609	(elf_link_swap_symbols_out): Likewise.
610	(elf_link_check_versioned_symbol): Likewise.
611	(bfd_elf_gc_record_vtinherit): Likewise.
612	(bfd_elf_gc_common_finalize_got_offsets): Likewise.
613
6142016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
615
616	PR ld/20221
617	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
618	and relocs only if shrinking occurred.
619
6202016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
621
622	* elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
623	(elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
624	(elf_i386_check_tls_transition): Check indirect call and direct
625	call with the addr32 prefix for general and local dynamic models.
626	Set the tls_get_addr feild.
627	(elf_i386_convert_load_reloc): Always use addr32 prefix for
628	indirect ___tls_get_addr call via GOT.
629	(elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
630	transitions with indirect call and direct call with the addr32
631	prefix.
632
6332016-06-07  Marcin Kościelnicki  <koriakin@0x04.net>
634
635	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
636	* elf64-s390.c (elf_s390x_plt_entry): Fix comment.
637	(elf_s390_relocate_section): Fix comment.
638	(elf_s390_finish_dynamic_sections): Fix initialization of fixed
639	.got.plt entries.
640
6412016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
642
643	* elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
644	section offset when calculation the larl operand in the first PLT
645	entry.
646
6472016-06-07  Alan Modra  <amodra@gmail.com>
648
649	* cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
650	to match other 32-bit archs.
651	* elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
652	(ppc_elf_object_p): Call it.
653	(ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
654	overlong line.
655	(APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
656	* elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
657	* bfd-in.h (_bfd_elf_ppc_at_tls_transform,
658	_bfd_elf_ppc_at_tprel_transform): Move to..
659	* elf-bfd.h: ..here.
660	(_bfd_elf_ppc_set_arch): Declare.
661	* bfd-in2.h: Regenerate.
662
6632016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
664
665	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
666	(elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
667	(elf_x86_64_check_tls_transition): Check indirect call and
668	direct call with the addr32 prefix for general and local dynamic
669	models.  Set the tls_get_addr feild.
670	(elf_x86_64_convert_load_reloc): Always use addr32 prefix for
671	indirect __tls_get_addr call via GOT.
672	(elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
673	transitions with indirect call and direct call with the addr32
674	prefix.
675
6762016-06-04  Christian Groessler  <chris@groessler.org>
677
678	* coff-z8k.c (extra_case): Fix range check for R_JR relocation.
679
6802016-06-02  Nick Clifton  <nickc@redhat.com>
681
682	PR target/20088
683	* cpu-arm.c (processors): Add "arm_any" type to match any ARM
684	architecture.
685	(arch_info_struct): Likewise.
686	(architectures): Likewise.
687
6882016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
689
690	* config.bfd: Replace -uclibc with *.
691
6922016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
693
694	* elf64-x86-64.c: Replace data32 with data16 in comments.
695
6962016-05-31  Alan Modra  <amodra@gmail.com>
697
698	PR ld/20159
699	PR ld/16467
700	* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
701	(_bfd_elf_add_default_symbol): Don't indirect to/from defined
702	symbol given a version by a script different to the version
703	of the symbol being added.
704	(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
705	_bfd_elf_strtab_restore.  Don't fudge dynstr references.
706	* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
707	(struct strtab_save): New.
708	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
709	* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
710	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
711
7122016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
713
714	* elf32-hppa.h: Add extern "C".
715	* elf32-nds32.h: Likewise.
716	* elf32-tic6x.h: Likewise.
717
7182016-06-01  Nick Clifton  <nickc@redhat.com>
719
720	* po/sr.po: New Serbian translation.
721	* configure.ac (ALL_LINGUAS): Add sr.
722	* configure: Regenerate.
723
7242016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
725
726	* elfxx-mips.c (b_reloc_p): New function.
727	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
728	branch relocations.
729
7302016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
731
732	* elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
733	<R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
734	reloc location from calculation, treat the addend as signed with
735	local non-section symbols and enable overflow detection.
736
7372016-05-28  Alan Modra  <amodra@gmail.com>
738
739	* aoutx.h: Adjust linker callback calls throughout file,
740	removing dead code.
741	* bout.c: Likewise.
742	* coff-alpha.c: Likewise.
743	* coff-arm.c: Likewise.
744	* coff-h8300.c: Likewise.
745	* coff-h8500.c: Likewise.
746	* coff-i960.c: Likewise.
747	* coff-mcore.c: Likewise.
748	* coff-mips.c: Likewise.
749	* coff-ppc.c: Likewise.
750	* coff-rs6000.c: Likewise.
751	* coff-sh.c: Likewise.
752	* coff-tic80.c: Likewise.
753	* coff-w65.c: Likewise.
754	* coff-z80.c: Likewise.
755	* coff-z8k.c: Likewise.
756	* coff64-rs6000.c: Likewise.
757	* cofflink.c: Likewise.
758	* ecoff.c: Likewise.
759	* elf-bfd.h: Likewise.
760	* elf-m10200.c: Likewise.
761	* elf-m10300.c: Likewise.
762	* elf32-arc.c: Likewise.
763	* elf32-arm.c: Likewise.
764	* elf32-avr.c: Likewise.
765	* elf32-bfin.c: Likewise.
766	* elf32-cr16.c: Likewise.
767	* elf32-cr16c.c: Likewise.
768	* elf32-cris.c: Likewise.
769	* elf32-crx.c: Likewise.
770	* elf32-d10v.c: Likewise.
771	* elf32-epiphany.c: Likewise.
772	* elf32-fr30.c: Likewise.
773	* elf32-frv.c: Likewise.
774	* elf32-ft32.c: Likewise.
775	* elf32-h8300.c: Likewise.
776	* elf32-hppa.c: Likewise.
777	* elf32-i370.c: Likewise.
778	* elf32-i386.c: Likewise.
779	* elf32-i860.c: Likewise.
780	* elf32-ip2k.c: Likewise.
781	* elf32-iq2000.c: Likewise.
782	* elf32-lm32.c: Likewise.
783	* elf32-m32c.c: Likewise.
784	* elf32-m32r.c: Likewise.
785	* elf32-m68hc1x.c: Likewise.
786	* elf32-m68k.c: Likewise.
787	* elf32-mep.c: Likewise.
788	* elf32-metag.c: Likewise.
789	* elf32-microblaze.c: Likewise.
790	* elf32-moxie.c: Likewise.
791	* elf32-msp430.c: Likewise.
792	* elf32-mt.c: Likewise.
793	* elf32-nds32.c: Likewise.
794	* elf32-nios2.c: Likewise.
795	* elf32-or1k.c: Likewise.
796	* elf32-ppc.c: Likewise.
797	* elf32-s390.c: Likewise.
798	* elf32-score.c: Likewise.
799	* elf32-score7.c: Likewise.
800	* elf32-sh.c: Likewise.
801	* elf32-sh64.c: Likewise.
802	* elf32-spu.c: Likewise.
803	* elf32-tic6x.c: Likewise.
804	* elf32-tilepro.c: Likewise.
805	* elf32-v850.c: Likewise.
806	* elf32-vax.c: Likewise.
807	* elf32-visium.c: Likewise.
808	* elf32-xstormy16.c: Likewise.
809	* elf32-xtensa.c: Likewise.
810	* elf64-alpha.c: Likewise.
811	* elf64-hppa.c: Likewise.
812	* elf64-ia64-vms.c: Likewise.
813	* elf64-mmix.c: Likewise.
814	* elf64-ppc.c: Likewise.
815	* elf64-s390.c: Likewise.
816	* elf64-sh64.c: Likewise.
817	* elf64-x86-64.c: Likewise.
818	* elflink.c: Likewise.
819	* elfnn-aarch64.c: Likewise.
820	* elfnn-ia64.c: Likewise.
821	* elfxx-mips.c: Likewise.
822	* elfxx-sparc.c: Likewise.
823	* elfxx-tilegx.c: Likewise.
824	* linker.c: Likewise.
825	* pdp11.c: Likewise.
826	* pe-mips.c: Likewise.
827	* reloc.c: Likewise.
828	* reloc16.c: Likewise.
829	* simple.c: Likewise.
830	* vms-alpha.c: Likewise.
831	* xcofflink.c: Likewise.
832	* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
833	status param.  Adjust calls to these and linker callbacks throughout.
834	* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
835	get_ramstart): Delete status param.  Adjust calls to these and
836	linker callbacks throughout.
837
8382016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
839
840	* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
841	<R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
842	target alignment verification.
843
8442016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
845
846	* elfxx-mips.c (mips_elf_calculate_relocation): Also use the
847	section name if `bfd_elf_string_from_elf_section' returns an
848	empty string.
849
8502016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
851
852	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
853	<bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
854	for message.  Continue processing rather than returning failure.
855
8562016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
857
858	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
859	<bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
860	Call `bfd_set_error'.
861
8622016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
863
864	PR binutils/14625
865	* archive.c (bfd_slurp_armap): Replace
866	bfd_elf64_archive_slurp_armap with
867	_bfd_archive_64_bit_slurp_armap.
868	(bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
869	BFD64 is defined and the archive is too big.
870	(coff_write_armap): Likewise.
871	* archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
872	(_bfd_archive_64_bit_slurp_armap): This.
873	(bfd_elf64_archive_write_armap): Renamed to ...
874	(_bfd_archive_64_bit_write_armap): This.
875	* configure.ac: Add --enable-64-bit-archive.
876	(want_64_bit_archive): New.  Set to true by default for 64-bit
877	MIPS and s390 ELF targets.
878	(USE_64_BIT_ARCHIVE): New AC_DEFINE.
879	* config.in: Regenerated.
880	* configure: Likewise.
881	* elf64-mips.c (bfd_elf64_archive_functions): Removed.
882	(bfd_elf64_archive_slurp_armap): Likewise.
883	(bfd_elf64_archive_write_armap): Likewise.
884	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
885	(bfd_elf64_archive_construct_extended_name_table): Likewise.
886	(bfd_elf64_archive_truncate_arname): Likewise.
887	(bfd_elf64_archive_read_ar_hdr): Likewise.
888	(bfd_elf64_archive_write_ar_hdr): Likewise.
889	(bfd_elf64_archive_openr_next_archived_file): Likewise.
890	(bfd_elf64_archive_get_elt_at_index): Likewise.
891	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
892	(bfd_elf64_archive_update_armap_timestamp): Likewise.
893	* elf64-s390.c (bfd_elf64_archive_functions): Removed.
894	(bfd_elf64_archive_slurp_armap): Likewise.
895	(bfd_elf64_archive_write_armap): Likewise.
896	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
897	(bfd_elf64_archive_construct_extended_name_table): Likewise.
898	(bfd_elf64_archive_truncate_arname): Likewise.
899	(bfd_elf64_archive_read_ar_hdr): Likewise.
900	(bfd_elf64_archive_write_ar_hdr): Likewise.
901	(bfd_elf64_archive_openr_next_archived_file): Likewise.
902	(bfd_elf64_archive_get_elt_at_index): Likewise.
903	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
904	(bfd_elf64_archive_update_armap_timestamp): Likewise.
905	* elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
906	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
907	bfd_elfNN_archive_functions isn't defined.
908	(TARGET_LITTLE_SYM): Likewise.
909	* libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
910	(_bfd_archive_64_bit_write_armap): Likewise.
911	(_bfd_archive_64_bit_slurp_extended_name_table): New macro.
912	(_bfd_archive_64_bit_construct_extended_name_table): Likewise.
913	(_bfd_archive_64_bit_truncate_arname): Likewise.
914	(_bfd_archive_64_bit_read_ar_hdr): Likewise.
915	(_bfd_archive_64_bit_write_ar_hdr): Likewise.
916	(_bfd_archive_64_bit_openr_next_archived_file): Likewise.
917	(_bfd_archive_64_bit_get_elt_at_index): Likewise.
918	(_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
919	(_bfd_archive_64_bit_update_armap_timestamp): Likewise.
920	* libbfd.h: Regenerated.
921	* plugin.c (plugin_vec): Use _bfd_archive_64_bit on
922	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
923
9242016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
925
926	PR ld/20103
927	* cofflink.c (coff_link_check_archive_element): Return TRUE if
928	linker add_archive_element callback returns FALSE.
929	* ecoff.c (ecoff_link_check_archive_element): Likewise.
930	* elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
931	archive element if linker add_archive_element callback returns
932	FALSE.
933	* elflink.c (elf_link_add_archive_symbols): Likewise.
934	* pdp11.c (aout_link_check_ar_symbols): Likewise.
935	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
936	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
937	(xcoff_link_check_ar_symbols): Likewise.
938
9392016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
940
941	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
942	<bfd_reloc_outofrange>: Unify error reporting code.
943
9442016-05-23  Jim Wilson  <jim.wilson@linaro.org>
945
946	* elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
947	R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
948	* relocs.c: Add BFD_RELOC_AARCH64_NULL.
949	* bfd-in2.h: Regenerate.
950	* libbfd.h: Likewise.
951
9522016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
953
954	* config.bfd: Add entry for arm-phoenix.
955
9562016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
957
958	* elf32-arm.c (arm_dedicated_stub_section_padding): New function.
959	(elf32_arm_size_stubs): Declare stub_type in a more outer scope and
960	account for padding for stub section requiring one.
961	(elf32_arm_build_stubs): Add comment to stress the importance of
962	zeroing veneer section content.
963
9642016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
965
966	* bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
967	bfd hook.
968	* bfd-in2.h: Regenerate.
969	* elf32-arm.c (arm_dedicated_stub_output_section_required): New
970	function.
971	(arm_dedicated_stub_output_section_required_alignment): Likewise.
972	(arm_dedicated_stub_output_section_name): Likewise.
973	(arm_dedicated_stub_input_section_ptr): Likewise.
974	(elf32_arm_create_or_find_stub_sec): Add stub type parameter and
975	function description comment. Add support for dedicated output stub
976	section to given stub types.
977	(elf32_arm_add_stub): Add a stub type parameter and pass it down to
978	elf32_arm_create_or_find_stub_sec.
979	(elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
980	(elf32_arm_size_stubs): Pass stub type when calling
981	elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
982	(bfd_elf32_arm_keep_private_stub_output_sections): New function.
983
9842016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
985
986	* elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
987	when setting need_convert_load.
988
9892016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
990
991	* elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
992	microMIPS JALX.
993
9942016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
995
996	PR ld/20117
997	* elf32-i386.c (elf_i386_convert_load_reloc): Don't check
998	R_386_GOT32X.
999	(elf_i386_convert_load): Don't convert R_386_GOT32.
1000
10012016-05-20  Alan Modra  <amodra@gmail.com>
1002
1003	PR gas/20118
1004	* elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
1005	SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
1006
10072016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
1008
1009	* elf32-arc.c (arc_elf_final_write_processing): Changed.
1010	(debug_arc_reloc): Likewise.
1011	(elf_arc_relocate_section): Likewise.
1012	(elf_arc_check_relocs): Likewise.
1013	(elf_arc_adjust_dynamic_symbol): Likewise.
1014	(elf_arc_add_symbol_hook): Likewise.
1015
10162016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
1017
1018	* config.bfd: Remove `am34-*-linux*' support.
1019
10202016-05-19  Alan Modra  <amodra@gmail.com>
1021
1022	* elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
1023	relocs before plt relocs.
1024
10252016-05-19  Alan Modra  <amodra@gmail.com>
1026
1027	* elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
1028	before dereferencing.
1029
10302016-05-18  Nick Clifton  <nickc@redhat.com>
1031
1032	* po/sv.po: Updated Swedish translation.
1033
10342016-05-18  Alan Modra  <amodra@gmail.com>
1035
1036	* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
1037	for each BFD.  Don't goto error_ret_free_local from outside loop.
1038
10392016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
1040
1041	* elf-s390-common.c (elf_s390_add_symbol_hook): Remove
1042	STB_GNU_UNIQUE handling.
1043	* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1044	* elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
1045	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1046	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1047	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1048	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1049	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1050	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1051	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1052	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
1053	* elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
1054	(elf_backend_add_symbol_hook): Remove macro.
1055	* elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
1056	for STB_GNU_UNIQUE symbols.
1057
10582016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
1059
1060	* elf32-v850.c (v850_elf_copy_notes): New function, factored out
1061	from...
1062	(v850_elf_copy_private_bfd_data): ... here.  Call the new
1063	function and `_bfd_elf_copy_private_bfd_data'.
1064
10652016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
1066
1067	PR ld/20093
1068	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
1069	GOTPCREL relocation against large section.
1070
10712016-05-13  Alan Modra  <amodra@gmail.com>
1072
1073	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
1074	linker dynamic sections in calculating size and address of
1075	dynamic tags rather than using output sections.  Remove asserts.
1076	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
1077	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
1078	* elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
1079	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1080	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
1081	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
1082	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
1083	* elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
1084	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
1085	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
1086	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
1087	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
1088	* elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1089	* elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
1090	* elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
1091	* elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
1092	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
1093	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
1094	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
1095	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
1096	* elflink.c (bfd_elf_final_link): Likewise.
1097	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1098	* elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
1099	* elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
1100	don't set doit.  Look up dynobj section.
1101	(elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1102	invocation and dynamic tag vma calculation.  Don't test
1103	boolean var == TRUE.
1104	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1105	DT_JMPREL calc.
1106
11072016-05-13  Alan Modra  <amodra@gmail.com>
1108
1109	* elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
1110	octets_per_byte.  Put dynamic .rela.plt last in link orders.
1111	Assign output_offset for reloc sections rather than writing
1112	sorted relocs from block corresponding to output_offset.
1113
11142016-05-12  Alan Modra  <amodra@gmail.com>
1115
1116	* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1117
11182016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
1119
1120	* elfxx-mips.c (print_mips_ases): Add DSPR3.
1121
11222016-05-11  Alan Modra  <amodra@gmail.com>
1123
1124	* elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1125	(elf32_hppa_check_relocs): Don't set dynobj.
1126	(elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1127	(elf32_hppa_build_stubs): Likewise.
1128	* elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1129
11302016-05-11  Alan Modra  <amodra@gmail.com>
1131
1132	PR 20060
1133	* elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1134	* elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1135
11362016-05-10  Jiong Wang  <jiong.wang@arm.com>
1137
1138	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1139	aarch64_tls_transition check.
1140
11412016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1142
1143	* elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1144	enumerator.
1145	(arm_stub_sym_claimed): New function.
1146	(elf32_arm_create_stub): Use veneered symbol name and section if
1147	veneer needs to claim its symbol, and keep logic unchanged otherwise.
1148	(arm_stub_claim_sym): New function.
1149	(arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1150	veneered symbol, otherwise create local symbol as before.
1151
11522016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1153
1154	* elf32-arm.c (elf32_arm_size_stubs): Use new macros
1155	ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1156	and set branch type of a symbol.
1157	(bfd_elf32_arm_process_before_allocation): Likewise.
1158	(elf32_arm_relocate_section): Likewise and fix identation along the
1159	way.
1160	(allocate_dynrelocs_for_symbol): Likewise.
1161	(elf32_arm_finish_dynamic_symbol): Likewise.
1162	(elf32_arm_swap_symbol_in): Likewise.
1163	(elf32_arm_swap_symbol_out): Likewise.
1164
11652016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1166
1167	* bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1168	* bfd-in2.h: Regenerated.
1169	* elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1170	parameter to add_stub_section callback.
1171	(elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1172	and pass it down to add_stub_section.
1173	(elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1174	for error message.
1175	(elf32_arm_size_stubs): Add output section parameter to
1176	add_stub_section function pointer parameter.
1177
11782016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1179
1180	* elf32-arm.c (elf32_arm_create_stub): New function.
1181	(elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1182
11832016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1184
1185	* elf32-arm.c (enum elf32_arm_stub_type): Delete
1186	arm_stub_a8_veneer_lwm enumerator.
1187	(arm_stub_a8_veneer_lwm): New unsigned constant to replace
1188	aforementioned enumerator.
1189	(struct elf32_arm_stub_hash_entry): Delete target_addend
1190	field and add source_value.
1191	(struct a8_erratum_fix): Delete addend field and add target_offset.
1192	(stub_hash_newfunc): Initialize source_value field amd remove
1193	initialization for target_addend.
1194	(arm_build_one_stub): Stop special casing Thumb relocations: promote
1195	the else to being always executed, moving the
1196	arm_stub_a8_veneer_b_cond specific code in it.  Remove
1197	stub_entry->target_addend from points_to computation.
1198	(cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1199	to target symbol from start of section rather than the offset from the
1200	stub address.
1201	(elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1202	fields from struct a8_erratum_fix's offset and target_offset
1203	respectively.
1204	(make_branch_to_a8_stub): Rename target variable to loc.  Compute
1205	veneered_insn_loc and loc using stub_entry's source_value.
1206
12072016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1208
1209	(elf32_arm_merge_eabi_attributes): Add merging logic for
1210	Tag_DSP_extension.
1211
12122016-05-10  Pip Cet  <pipcet@gmail.com>
1213
1214	PR ld/20059
1215	* elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1216	Define as _bfd_generic_copy_link_hash_symbol_type when using
1217	generic hash table.
1218
12192016-05-09  Nick Clifton  <nickc@redhat.com>
1220
1221	PR binutils/20063
1222	* elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1223	field before accessing sections array.
1224
12252016-05-09  Christophe Monat  <christophe.monat@st.com>
1226
1227	PR ld/20030
1228	* elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1229	(stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1230	to nb_words.
1231	(create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1232	encoding.
1233	(create_instruction_vldmdb): Likewise.
1234	(stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1235	uses it to re-encode.
1236
12372016-05-09  Nick Clifton  <nickc@redhat.com>
1238
1239	PR 19938
1240	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1241	commit.
1242
12432016-05-09  Alan Modra  <amodra@gmail.com>
1244
1245	* elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1246
12472016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1248
1249	PR ld/17550
1250	* elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1251	documenting that indx == -3 if symbol is defined in a discarded
1252	section.
1253	* elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1254	symbol is defined in a discarded section.
1255	(elf_link_output_extsym): Strip a global symbol defined in a
1256	discarded section.
1257
12582016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1259
1260	* elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1261	MCU.
1262
12632016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1264
1265	* elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1266	conversion to ...
1267	(elf_i386_convert_load_reloc): This.  New function.
1268	* elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1269	conversion to ...
1270	(elf_x86_64_convert_load_reloc): This.  New function.
1271
12722016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1273
1274	* elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1275	Don't check if contents == NULL.
1276	(elf_i386_tls_transition): Add from_relocate_section.  Check
1277	from_relocate_section instead of contents != NULL.  Update
1278	elf_i386_check_tls_transition call.
1279	(elf_i386_check_relocs): Cache the section contents if
1280	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1281	elf_i386_tls_transition.
1282	(elf_i386_relocate_section): Pass TRUE as from_relocate_section
1283	to elf_i386_tls_transition.
1284	(elf_backend_caches_rawsize): New.
1285	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1286	if contents == NULL.
1287	(elf_x86_64_tls_transition): Add from_relocate_section.  Check
1288	from_relocate_section instead of contents != NULL.
1289	(elf_x86_64_check_relocs): Cache the section contents if
1290	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1291	elf_x86_64_tls_transition.
1292	(elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1293	to elf_x86_64_tls_transition.
1294	(elf_backend_caches_rawsize): New.
1295
12962016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
1297
1298	PR 10549
1299	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1300	STB_GNU_UNIQUE.
1301
13022016-05-03  Jiong Wang  <jiong.wang@arm.com>
1303
1304	* bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1305	* bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1306	* elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1307	no_apply_dynamic_relocs.
1308	(elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1309	dynamic relocations generated.
1310
13112016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1312
1313	* elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1314	setting to ...
1315	(elf_i386_create_dynamic_sections): Here.
1316	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1317	interp setting to ...
1318	(elf_x86_64_create_dynamic_sections): Here.
1319
13202016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1321
1322	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1323	and replace (EH)->has_got_reloc with GOT_RELOC.
1324	(elf_i386_fixup_symbol): Pass has_got_reloc to
1325	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1326	(elf_i386_allocate_dynrelocs): Likewise.
1327	(elf_i386_relocate_section): Likewise.
1328	(elf_i386_finish_dynamic_symbol): Likewise.
1329	(elf_i386_convert_load): Pass TRUE to
1330	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1331	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1332	GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1333	(elf_x86_64_fixup_symbol): Pass has_got_reloc to
1334	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1335	(elf_x86_64_allocate_dynrelocs): Likewise.
1336	(elf_x86_64_relocate_section): Likewise.
1337	(elf_x86_64_finish_dynamic_symbol): Likewise.
1338	(elf_x86_64_convert_load): Pass TRUE to
1339	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1340
13412016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1342
1343	* elf32-i386.c (check_relocs_failed): New.
1344	(elf_i386_check_relocs): Set check_relocs_failed on error.
1345	(elf_i386_relocate_section): Skip if check_relocs failed.
1346
13472016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1348
1349	* elf64-x86-64.c (elf_x86_64_check_relocs): Set
1350	check_relocs_failed on error.
1351
13522016-04-29  Nick Clifton  <nickc@redhat.com>
1353
1354	PR 19938
1355	* elf-bfd.h (struct elf_backend_data): Rename
1356	elf_backend_set_special_section_info_and_link to
1357	elf_backend_copy_special_section_fields.
1358	* elfxx-target.h: Likewise.
1359	* elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1360	comparing section flags.
1361	(copy_special_section_fields): New function.
1362	(_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1363	Perform two scans over special sections.  The first one looks for
1364	a direct mapping between the output section and an input section.
1365	The second scan looks for a possible match based upon section
1366	characteristics.
1367	* elf32-arm.c (elf32_arm_copy_special_section_fields): New
1368	function.  Handle setting the sh_link field of SHT_ARM_EXIDX
1369	sections.
1370	* elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1371	elf32_i386_copy_solaris_special_section_fields.
1372	* elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1373	Rename to elf32_sparc_copy_solaris_special_section_fields.
1374	* elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1375	elf64_x86_64_copy_solaris_special_section_fields.
1376
13772016-04-28  Nick Clifton  <nickc@redhat.com>
1378
1379	* po/zh_CN.po: Updated Chinese (simplified) translation.
1380
13812016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1382
1383	PR ld/20006
1384	* elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1385	when estimating distances between output sections.
1386
13872016-04-27  Alan Modra  <amodra@gmail.com>
1388
1389	* elflink.c (_bfd_elf_is_start_stop): New function.
1390	(_bfd_elf_gc_mark_rsec): Use it.
1391	* elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1392
13932016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1394
1395	* elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1396	* mmo.c (mmo_get_section_contents): Likewise.
1397	(mmo_set_section_contents): Likewise.
1398
13992016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
1400
1401	* elf-bfd.h (elf_link_hash_table): Update comments for
1402	dynsymcount.
1403	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1404	the unused NULL entry at the head of dynamic symbol table.
1405	(bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1406	checks.
1407
14082016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1409
1410	* elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1411	created file from dynobj.
1412
14132016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1414
1415	* elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1416	normal input file if possible.
1417
14182016-04-21  Nick Clifton  <nickc@redhat.com>
1419
1420	* aout-adobe.c: Use _bfd_generic_link_check_relocs.
1421	* aout-target.h: Likewise.
1422	* aout-tic30.c: Likewise.
1423	* binary.c: Likewise.
1424	* bout.c: Likewise.
1425	* coff-alpha.c: Likewise.
1426	* coff-rs6000.c: Likewise.
1427	* coff64-rs6000.c: Likewise.
1428	* coffcode.h: Likewise.
1429	* i386msdos.c: Likewise.
1430	* i386os9k.c: Likewise.
1431	* ieee.c: Likewise.
1432	* ihex.c: Likewise.
1433	* libbfd-in.h: Likewise.
1434	* libecoff.h: Likewise.
1435	* mach-o-target.c: Likewise.
1436	* mmo.c: Likewise.
1437	* nlm-target.h: Likewise.
1438	* oasys.c: Likewise.
1439	* pef.c: Likewise.
1440	* plugin.c: Likewise.
1441	* ppcboot.c: Likewise.
1442	* som.c: Likewise.
1443	* srec.c: Likewise.
1444	* tekhex.c: Likewise.
1445	* versados.c: Likewise.
1446	* vms-alpha.c: Likewise.
1447	* xsym.c: Likewise.
1448	* elfxx-target.h: Use _bfd_elf_link_check_relocs.
1449	* linker.c (bfd_link_check_relocs): New function.
1450	(_bfd_generic_link_check_relocs): New function.
1451	* targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1452	_bfd_link_check_relocs field.
1453	(struct bfd_target)L Add _bfd_link_check_relocs field.
1454	* bfd-in2.h: Regenerate.
1455	* libbfd.h: Regenerate.
1456
14572016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1458
1459	* elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1460	(elf_backend_gc_sweep_hook): Likewise.
1461	* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1462	(elf_backend_gc_sweep_hook): Likewise.
1463
14642016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1465
1466	* elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1467	in excluded sections
1468
14692016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1470
1471	PR ld/19969
1472	* elf64-x86-64.c (check_relocs_failed): New.
1473	(elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1474	Support relocation agaist local symbol.  Set check_relocs_failed.
1475	(elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
1476	R_X86_64_32 relocation overflow.
1477	(elf_x86_64_relocate_section): Skip if check_relocs failed.
1478	Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1479
14802016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1481
1482	* elf32-i386.c (elf_i386_check_relocs): Call
1483	_bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1484	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1485
14862016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1487
1488	* elf-bfd.h (_bfd_elf_link_check_relocs): New.
1489	* elflink.c (_bfd_elf_link_check_relocs): New function.
1490	(elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1491	if check_relocs_after_open_input is FALSE.
1492
14932016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1494
1495	* cache.c: Update old style function definitions.
1496	* elf32-m68k.c: Likewise.
1497	* elf64-mmix.c: Likewise.
1498	* stab-syms.c: Likewise.
1499
15002016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1501
1502	* elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1503
15042016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1505
1506	* Makefile.in: Regenerated with automake 1.11.6.
1507	* aclocal.m4: Likewise.
1508	* doc/Makefile.in: Likewise.
1509
15102016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1511
1512	* reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1513	* bfd-in2.h: Regenerate.
1514	* libbfd.h: Regenerate.
1515	* elf32-arc.c: Add 'opcode/arc.h' include.
1516	(struct arc_relocation_data): Add symbol_name.
1517	(arc_special_overflow_checks): New function.
1518	(arc_do_relocation): Use arc_special_overflow_checks, reindent as
1519	required, add an extra comment.
1520	(elf_arc_relocate_section): Setup symbol_name in reloc_data.
1521
15222016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1523
1524	* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1525	entries.
1526	(elf_arc_relocate_section): Update enum uses.
1527	(elf_arc_check_relocs): Likewise.
1528	(elf_arc_finish_dynamic_symbol): Likewise.
1529
15302016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
1531
1532	* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1533	"sh_link".
1534
15352016-04-14  Nick Clifton  <nickc@redhat.com>
1536
1537	PR target/19938
1538	* elf-bbfd.h (struct elf_backend_data): New field:
1539	elf_strtab_flags.
1540	New field: elf_backend_set_special_section_info_and_link
1541	* elfxx-target.h (elf_backend_strtab_flags): Define if not already
1542	defined.
1543	(elf_backend_set_special_section_info_and_link): Define if not
1544	already defined.
1545	(elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1546	elf_backend_strtab_flags macros to initialise fields in structure.
1547	* elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1548	being set even if SHF_MERGE is not set.
1549	(elf_fake_sections): Likewise.
1550	(section_match): New function.  Matches two ELF sections based
1551	upon fixed characteristics.
1552	(find_link): New function.  Locates a section in a BFD that
1553	matches a section in a different BFD.
1554	(_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1555	fields of reserved sections.
1556	(bfd_elf_compute_section_file_positions): Set the flags for the
1557	.shstrtab section based upon the elf_strtab_flags field in the
1558	elf_backend_data structure.
1559	(swap_out_syms): Likewise for the .strtab section.
1560	* elflink.c (bfd_elf_final_link): Set the flags for the
1561	.strtab section based upon the elf_strtab_flags field in the
1562	elf_backend_data structure.
1563	* elf32-i386.c (elf32_i386_set_special_info_link): New function.
1564	(elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1565	targets.
1566	(elf_backend_set_special_section_info_and_link): Define for
1567	Solaris targets.
1568	* elf32-sparc.c: Likewise.
1569	* elf64-x86-64.c: Likewise.
1570
15712016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1572
1573	PR ld/19939
1574	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1575	to bfd_boolean.
1576	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1577	Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1578	applies to read-only section.
1579	* elf32-i386.c (elf_i386_link_hash_table): Add
1580	readonly_dynrelocs_against_ifunc.
1581	(elf_i386_allocate_dynrelocs): Updated.
1582	(elf_i386_size_dynamic_sections): Issue an error for read-only
1583	segment with dynamic IFUNC relocations only if
1584	readonly_dynrelocs_against_ifunc is TRUE.
1585	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1586	readonly_dynrelocs_against_ifunc.
1587	(elf_x86_64_allocate_dynrelocs): Updated.
1588	(elf_x86_64_size_dynamic_sections): Issue an error for read-only
1589	segment with dynamic IFUNC relocations only if
1590	readonly_dynrelocs_against_ifunc is TRUE.
1591	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1592	Updated.
1593
15942016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1595
1596	* elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1597	a fall through from error_ret_free_internal.  Free local_syms in
1598	error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1599
16002016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1601
1602	* elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1603	(relocate_plt_for_entry): Likewise.
1604
16052016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1606
1607	* elf32-arc.c (elf_arc_check_relocs): Changed
1608
16092016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1610
1611	* elf32-arc.c (name_for_global_symbol): Changed assert.
1612	(get_replace_function): Created.:
1613	(struct arc_relocation_data): Changed to signed types.
1614	(defines S, L, P, PDATA): Casted to signed type.
1615	(defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1616	(PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1617	(arc_do_relocation): Changed.
1618
16192016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1620
1621	* elf32-arc.c (name_for_global_symbol): Added assert to check for
1622	symbol index.
1623	(elf_arc_relocate_section): Added and changed asserts, validating
1624	the synamic symbol index.
1625	(elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1626	relocation if symbol has dynindx set to -1.
1627
16282016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
1629
1630	* elflink.c (elf_link_add_object_symbols): Always turn hidden
1631	and internal symbols which have a dynamic index into local
1632	ones.
1633
16342016-04-04  Nick Clifton  <nickc@redhat.com>
1635
1636	PR 19872
1637	* dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1638	version number if the version is zero.
1639
16402016-04-01  Alan Modra  <amodra@gmail.com>
1641
1642	PR 19886
1643	* elflink.c (on_needed_list): Recursively check needed status.
1644	(elf_link_add_object_symbols): Adjust.
1645
16462016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1647
1648	* elf32-avr.c (avr_elf32_load_records_from_section): Free
1649	internal_relocs only if they aren't cached.
1650
16512016-03-29  Nick Clifton  <nickc@redhat.com>
1652
1653	PR 17334
1654	* elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1655	assertion on the size of the got section to allow it to be bigger
1656	than the number of relocs.
1657
16582016-03-29  Toni Spets  <toni.spets@iki.fi>
1659
1660	PR 19878
1661	* coffcode.h (coff_write_object_contents): Revert accidental
1662	2014-11-10 change.
1663
16642016-03-22  Alan Modra  <amodra@gmail.com>
1665
1666	PR 19850
1667	* dwarf2.c (read_attribute_value): Skip info_ptr check for
1668	DW_FORM_flag_present.
1669
16702016-03-22  Nick Clifton  <nickc@redhat.com>
1671
1672	* cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1673	architecture name for backwards compatibility.
1674
1675	* peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1676	unbounded stack use.
1677
1678	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1679	sufficiently recent version of GCC.
1680	* configure: Regenerate.
1681
16822016-03-22  Alan Modra  <amodra@gmail.com>
1683
1684	PR 19851
1685	* plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1686
16872016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1688
1689	* archures.c (bfd_mach_arc_nps400): Define.
1690	* bfd-in2.h: Regenerate.
1691	* cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1692	some existing entries to make space.
1693	* elf32-arc.c (arc_elf_object_p): Add nps400 case.
1694	(arc_elf_final_write_processing): Likewise.
1695
16962016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1697
1698	* elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1699	EF_ARC_CPU_GENERIC.
1700	(arc_elf_final_write_processing): Don't bother setting cpu field
1701	in e_flags, this will have been set elsewhere.
1702
17032016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1704
1705	* elf32-arc.c (arc_elf_final_write_processing): Switch to using
1706	EF_ARC_MACH_MSK.
1707
17082016-03-21  Nick Clifton  <nickc@redhat.com>
1709
1710	* warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1711	* configure: Regenerate.
1712	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1713	alloca with call to xmalloc.
1714	* elf32-nds32.c: Likewise.
1715	* elf64-hppa.c: Likewise.
1716	* elfxx-mips.c: Likewise.
1717	* pef.c: Likewise.
1718	* pei-x86_64.c: Likewise.
1719	* som.c: Likewise.
1720	* xsym.c: Likewise.
1721
17222016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1723
1724	PR ld/19827
1725	* elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1726	locally in PIE.
1727	(elf_i386_relocate_section): Likewise.
1728	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1729	(elf_x86_64_relocate_section): Likewise.
1730
17312016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1732
1733	PR ld/19807
1734	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
1735	no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1736	relocation overflow check.
1737
17382016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
1739
1740	* bfd-in2.h: Regenerated.
1741
17422016-03-11  Dan Gissel  <dgisselq@ieee.org>
1743
1744	PR 19713
1745	* elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1746	uses bytes not octets.
1747	* elflink.c (resolve_section): Likewise.
1748	Add a bfd parameter.
1749	(eval_section): Pass the input_bfd to resolve_section.
1750	(bfd_elf_perform_complex_relocation): Convert byte offset to
1751	octets before read and writing values.
1752	(elf_link_input_bfd): Add byte to octet conversions.
1753	(elf_reloc_link_order): Likewise.
1754	(elf_fixup_link_order): Likewise.
1755	(bfd_elf_final_link): Likewise.
1756	* reloc.c (_bfd_final_link_relocate): Likewise.
1757	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1758
17592016-03-10  Nick Clifton  <nickc@redhat.com>
1760
1761	* config.bfd: Mark the i370 target as obsolete.
1762
17632016-03-09  Pedro Alves  <palves@redhat.com>
1764
1765	* cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1766	gcc ABI)" to printable name.
1767	* cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1768	of "v850-rh850" as printable name.
1769
17702016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
1771
1772	PR ld/19623
1773	* cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1774	relocations against absolute symbols.
1775
17762016-03-09  Alan Modra  <amodra@gmail.com>
1777
1778	PR binutils/19775
1779	* coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1780	length elements in the archive.
1781
17822016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1783
1784	PR ld/19789
1785	* elflink.c (elf_link_add_object_symbols): Create dynamic sections
1786	for -E/--dynamic-list only when not relocatable.
1787
17882016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1789
1790	PR ld/19784
1791	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1792	count for locally defined local IFUNC symbols in shared object.
1793	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1794
17952016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1796
1797	PR ld/19579
1798	* elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1799	together.
1800
18012016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1802	    Andrew Burgess  <andrew.burgess@embecosm.com>
1803
1804	* elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1805	(arc_bfd_put_32): Becomes an alias for bfd_put_32.
1806	(arc_elf_howto_init): Added assert to validate relocations.
1807	(get_middle_endian_relocation): Delete.
1808	(middle_endian_convert): New function.
1809	(ME): Redefine, now does nothing.
1810	(IS_ME): New define.
1811	(arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1812	definition to call middle_endian_convert.  Add a new local
1813	variable and make use of this throughout. Added call to
1814	arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1815
18162016-03-07  Nick Clifton  <nickc@redhat.com>
1817
1818	PR binutils/19775
1819	* archive.c (bfd_generic_openr_next_archived_file): Allow zero
1820	length elements in the archive.
1821
18222016-03-07  Jiong Wang  <jiong.wang@arm.com>
1823
1824	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1825	section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1826
18272016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
1828
1829	PR ld/19579
1830	* elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1831	executable as definition if the new definition comes from a
1832	shared library.
1833
18342016-03-02  Alan Modra  <amodra@gmail.com>
1835
1836	* Makefile.in: Regenerate.
1837	* po/SRC-POTFILES.in: Regenerate.
1838
18392016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
1840
1841	* elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1842	relocation addend when sections get merged.
1843
18442016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1845
1846	* elf32-arc.c (arc_elf_final_write_processing): Add condition to
1847	the flag change.
1848        (elf_arc_relocate_section): Fixes and conditions to support PIE.
1849	Assert for code sections dynamic relocs.
1850
18512016-02-26  Renlin Li  <renlin.li@arm.com>
1852
1853	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1854	check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1855
18562016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1857
1858	PR ld/19609
1859	* elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1860	load with locally bound symbols if PIC is false or there is no
1861	base register.  Optimize branch to 0 if PIC is false.
1862	(elf_i386_relocate_section): Don't generate dynamic relocations
1863	against undefined weak symbols if PIC is false.
1864	* elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1865	if we can't estimate relocation overflow with --no-relax.
1866	Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1867	symbols if PIC is false.  Optimize branch to 0 if PIC is false.
1868	(elf_x86_64_relocate_section): Don't generate dynamic relocations
1869	against undefined weak symbols if PIC is false.
1870
18712016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1872
1873	PR ld/19645
1874	* bfd.c (bfd): Change flags to 20 bits.
1875	(BFD_CONVERT_ELF_COMMON): New.
1876	(BFD_USE_ELF_STT_COMMON): Likewise.
1877	(BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1878	BFD_USE_ELF_STT_COMMON.
1879	(BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1880	* configure.ac: Remove --enable-elf-stt-common.
1881	* elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1882	common symbol depending on BFD_CONVERT_ELF_COMMON and
1883	BFD_USE_ELF_STT_COMMON.
1884	* elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1885	STT_COMMON.
1886	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1887	STT_COMMON.
1888	(elf_link_convert_common_type): New function.
1889	(elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1890	common symbol depending on BFD_CONVERT_ELF_COMMON and
1891	BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
1892	* elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1893	and BFD_USE_ELF_STT_COMMON to object_flags.
1894	(TARGET_LITTLE_SYM): Likewise.
1895	* syms.c (BSF_KEEP_G): Renamed to ...
1896	(BSF_ELF_COMMON): This.
1897	* bfd-in2.h: Regenerated.
1898	* config.in: Likewise.
1899	* configure: Likewise.
1900
19012016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1902
1903	PR ld/19636
1904	PR ld/19704
1905	PR ld/19719
1906	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1907	(elf_i386_link_hash_entry): Add has_got_reloc and
1908	has_non_got_reloc.
1909	(elf_i386_link_hash_table): Add interp.
1910	(elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1911	has_non_got_reloc.
1912	(elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1913	has_non_got_reloc.
1914	(elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1915	(elf_i386_fixup_symbol): New function.
1916	(elf_i386_pie_finish_undefweak_symbol): Likewise.
1917	(elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1918	relocations and discard relocations against resolved undefined
1919	weak symbols in executable.  Don't make resolved undefined weak
1920	symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
1921	relocation against undefined weak symbols in PIE.
1922	(elf_i386_size_dynamic_sections): Set interp to .interp section.
1923	(elf_i386_relocate_section): Don't generate dynamic relocations
1924	against resolved undefined weak symbols in PIE, except for
1925	R_386_PC32.
1926	(elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1927	dynamic PLT/GOT relocations for resolved undefined weak symbols.
1928	Don't generate dynamic relocation against resolved undefined weak
1929	symbol in executable.
1930	(elf_i386_finish_dynamic_sections): Call
1931	elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1932	(elf_backend_fixup_symbol): New.
1933	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1934	(elf_x86_64_link_hash_entry): Add has_got_reloc and
1935	has_non_got_reloc.
1936	(elf_x86_64_link_hash_table): Add interp.
1937	(elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1938	has_non_got_reloc.
1939	(elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1940	has_non_got_reloc.
1941	(elf_x86_64_check_relocs): Set has_got_reloc and
1942	has_non_got_reloc.
1943	(elf_x86_64_fixup_symbol): New function.
1944	(elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1945	(elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1946	relocations and discard relocations against resolved undefined
1947	weak symbols in executable.  Don't make resolved undefined weak
1948	symbols in executable dynamic.
1949	(elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1950	(elf_x86_64_relocate_section): Check relocation overflow for
1951	dynamic relocations against unresolved weak undefined symbols.
1952	Don't generate dynamic relocations against resolved weak
1953	undefined symbols in PIE.
1954	(elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1955	dynamic PLT/GOT relocations for resolved undefined weak symbols.
1956	Don't generate dynamic relocation against resolved undefined weak
1957	symbol in executable.
1958	(elf_x86_64_finish_dynamic_sections): Call
1959	elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1960	(elf_backend_fixup_symbol): New.
1961
19622016-02-26  Alan Modra  <amodra@gmail.com>
1963
1964	* elf64-ppc.c (create_linkage_sections): Create sfpr when
1965	save_restore_funcs, rest of sections when not relocatable.
1966	(ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1967	(sfpr_define): Define all symbols on emitted code.
1968	(ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1969	when relocatable.  Move sfpr_define loop earlier.
1970
19712016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1972
1973	* elf64-x86-64.c (elf_x86_64_need_pic): New function.
1974	(elf_x86_64_relocate_section): Use it.  Replace
1975	x86_64_elf_howto_table[r_type] with howto.
1976
19772016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1978
1979	PR ld/19698
1980	* elflink.c (bfd_elf_record_link_assignment): Set versioned if
1981	symbol version is unknown.
1982
19832016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1984
1985	* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1986	to (bfd_vma) -1 when setting needs_plt to 0.
1987	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1988
19892016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
1990
1991	* elflink.c (bfd_elf_record_link_assignment): Check for shared
1992	library, instead of PIC, and don't check PDE when making linker
1993	assigned symbol dynamic.
1994
19952016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
1996
1997	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1998	ABIVERSION for non-executable stack.
1999
20002016-02-23  Rich Felker  <bugdal@aerifal.cx>
2001
2002	PR target/19516
2003	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
2004	Always produce a RELATIVE reloc for a local symbol.
2005
20062016-02-23  Hans-Peter Nilsson  <hp@axis.com>
2007
2008	Fix test-case ld-elf/pr19617b
2009	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
2010	discard unused non-function symbols when --dynamic-list-data.
2011
20122016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2013
2014	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
2015	dynsym section, even if it is empty, with dynamic sections.
2016
20172016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
2018
2019	* syms.c: Remove BSF_COMMON from comments.
2020	* bfd-in2.h: Regenerated.
2021
20222016-02-22  Jiong Wang  <jiong.wang@arm.com>
2023
2024	* elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
2025	for destination.  Remove useless function parameters.
2026	(elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
2027
20282016-02-19  Nick Clifton  <nickc@redhat.com>
2029
2030	PR ld/19629
2031	* aoutx.h (aout_link_add_symbols): Check for out of range string
2032	table offsets.
2033
2034	PR ld/19628
2035	* reloc.c (bfd_generic_get_relocated_section_contents): Stop
2036	processing if we encounter a reloc without an associated symbol.
2037
20382016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
2039
2040	PR ld/19617
2041	* elflink.c (elf_link_add_object_symbols): Always create dynamic
2042	sections for -E/--dynamic-list.
2043
20442016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
2045
2046	* elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
2047	to bfd_true.
2048
20492016-02-16  Joseph Myers  <joseph@codesourcery.com>
2050
2051	* plugin.c (plugin_vec): Set match priority to 255.
2052	* format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
2053	matching against the plugin vector, take priority from there not
2054	from TEMP.
2055
20562016-02-15  Nick Clifton  <nickc@redhat.com>
2057
2058	* elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
2059	for length and type fields.  Use a signed value for the
2060	suffix_length field.
2061
20622016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
2063
2064	PR ld/19601
2065	* elf32-i386.c (elf_i386_relocate_section): Mask off the least
2066	significant bit in GOT offset for R_386_GOT32X.
2067
20682016-02-10  Nick Clifton  <nickc@redhat.com>
2069
2070	PR 19405
2071	* elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
2072	immediate values.
2073	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
2074	number of messages about FDE encoding preventing .eh_frame_hdr
2075	generation.
2076
20772016-02-09  Nick Clifton  <nickc@redhat.com>
2078
2079	* oasys.c (oasys_archive_p): Fix indentation.
2080	* elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
2081	constant for left shifting.
2082
2083	* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
2084	helpful warning message to explain why certain AArch64 relocs
2085	might overflow.
2086
20872016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
2088
2089	* pe-mips.c (coff_mips_reloc): Fix formatting.
2090
20912016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
2092
2093	* cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
2094	to bfd_mach_arc_arc600.
2095
20962016-02-04  Alan Modra  <amodra@gmail.com>
2097
2098	* elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
2099	for big-endian.
2100
21012016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
2102
2103	PR ld/19542
2104	* elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
2105	distances in the compressed_size field of the output section.
2106
21072016-02-02  Alan Modra  <amodra@gmail.com>
2108
2109	* elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2110	ELFv2 entry optimization.
2111
21122016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
2113
2114	PR binutils/19547
2115	* elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2116	no relocations in relocatable files.
2117
21182016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
2119
2120	PR ld/19553
2121	* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2122	if a symbol from a library loaded via DT_NEEDED doesn't match
2123	the symbol referenced by regular object.
2124
21252016-02-01  Nathaniel Smith  <njs@pobox.com>
2126
2127	* peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2128	CODE and DATA.
2129
21302016-02-01  Alan Modra  <amodra@gmail.com>
2131
2132	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2133	an out of range reloc_index.
2134	* elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2135
21362016-02-01  Kamil Rytarowski  <n54@gmx.com>
2137
2138	* Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2139	(OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2140	* Makefile.in: Regenerated.
2141
21422016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
2143
2144	* elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2145
21462016-01-31  John David Anglin  <danglin@gcc.gnu.org>
2147
2148	PR ld/19526
2149	* elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2150	files.
2151	* elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
2152
21532016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2154
2155	PR ld/19539
2156	* elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2157	against STT_GNU_IFUNC symbol only with dynamic symbols.
2158	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2159
21602016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
2161
2162	PR binutils/19523
2163	* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2164	decompress debug sections.
2165
21662016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
2167
2168	* elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2169	`dynindx'.
2170
21712016-01-25  Nick Clifton  <nickc@redhat.com>
2172
2173	PR target/19435
2174	* mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2175	dsym filename buffer.
2176
21772016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2178
2179	* elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2180
21812016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
2182
2183	* elfxx-mips.c (BZ16_REG): Correct calculation.
2184
21852016-01-21  Nick Clifton  <nickc@redhat.com>
2186
2187	* elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2188	changing the type of _loc to be bfd_byte *.
2189	(elf_arc_finish_dynamic_symbol): Likewise.
2190
21912016-01-21  Nick Clifton  <nickc@redhat.com>
2192
2193	PR ld/19455
2194	* elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2195	class of the linker stub bfd.
2196	(elf32_arm_check_relocs): Skip check for pic format after
2197	processing a vxWorks R_ARM_ABS12 reloc.
2198	* elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2199	reporting a class mismatch.
2200
22012016-01-21  Jiong Wang  <jiong.wang@arm.com>
2202
2203	* elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2204	veneer for sym_sec != input_sec.
2205	(elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2206	(elfNN_aarch64_final_link_relocate): Take rela addend into account when
2207	calculation destination.
2208
22092016-01-21  Alan Modra  <amodra@gmail.com>
2210
2211	* elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2212	(swap_linux_prpsinfo64_out): New function.
2213	(LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2214	(LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2215	* elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
2216	(elfcore_write_linux_prpsinfo64): Likewise.
2217	* elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2218	(PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2219	(elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
2220
22212016-01-21  Alan Modra  <amodra@gmail.com>
2222
2223	* elf-linux-core.h: Rename from elf-linux-psinfo.h.
2224	* elf.c: Adjust #include.
2225	* elf32-ppc.c: Don't #include elf-linux-psinfo.h
2226	* Makefile.am (SOURCE_HFILES): Update.
2227	* Makefile.in: Regenerate.
2228	* po/SRC-PORFILES.in: Regenerate.
2229
22302016-01-21  Alan Modra  <amodra@gmail.com>
2231
2232	* configure.ac: Move corefile selection later in file.  Move
2233	tdefaults code immediately after other target vector code.
2234	* configure: Regenerate.
2235
22362016-01-20  Mickael Guene  <mickael.guene@st.com>
2237
2238	* elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2239	section using '.text.noread' pattern.
2240
22412016-01-19  John Baldwin  <jhb@FreeBSD.org>
2242
2243	* elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2244
22452016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
2246	    Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
2247
2248	* arc-plt.def: New file.
2249	* arc-plt.h: Likewise.
2250	* elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2251		       elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2252		       elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2253		       elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2254	(name_for_global_symbol): Added.
2255	(ADD_RELA): Helper to create dynamic relocs.
2256	(new_got_entry_to_list): Create a new got entry in linked list.
2257	(symbol_has_entry_of_type): Search for specific type of entry in
2258	list.
2259	(is_reloc_for_GOT): return FALSE for any TLS related relocs.
2260	(is_reloc_for_TLS, arc_elf_set_private_flags)
2261	(arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2262	(arc_elf_merge_private_bfd_data): New functions.
2263	(debug_arc_reloc): Cleaned debug info printing.
2264	(PDATA reloc): Changed not to perform address alignment.
2265	(reverse_me): Added. Fix for ARC_32 relocs.
2266	(arc_do_relocation): Return bfd_reloc_of when no relocation should
2267	occur.
2268	(arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2269	Changed function to access an array of list of GOT entries instead
2270	of just an array of offsets.
2271	(elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2272	(elf_arc_check_relocs): Likewise.
2273	(elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2274	(elf_arc_finish_dynamic_sections): Likewise
2275	(arc_create_dynamic_sections): Modified conditions to create
2276	dynamic sections.
2277	(ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2278	(plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2279	(relocate_plt_for_entry): Changed to support new way to define PLT
2280	related code.
2281	(add_symbol_to_plt): Likewise.
2282	(arc_elf_link_hash_table_create): New function.
2283
22842016-01-18  Nick Clifton  <nickc@redhat.com>
2285
2286	PR ld/19440
2287	* coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2288	section number into internal section number.
2289	* coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2290	* coffswap.h (coff_swap_sym_in): Likewise.
2291	* peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2292	* coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2293	section number field is big enough to hold the external value.
2294
22952016-01-17  Alan Modra  <amodra@gmail.com>
2296
2297	* configure: Regenerate.
2298
22992016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
2300
2301	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2302	when address in first unwind entry does not match start of
2303	section.
2304
23052016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
2306	    Jiong Wang  <jiong.wang@arm.com>
2307
2308	PR ld/19368
2309	* elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2310	reloc_class_ifunc.
2311
23122016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
2313
2314	* elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2315	place 'R_' before the reloc name returned.
2316	(elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2317	the relocation string.
2318
23192016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2320
2321	* elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2322	factored out from...
2323	(_bfd_mips_elf_merge_private_bfd_data): ... here.
2324
23252016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2326
2327	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2328	attribute check after ELF file header flag check.
2329
23302016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2331
2332	* elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2333	return status from `_bfd_elf_merge_object_attributes'.
2334
23352016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2336
2337	* elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2338	factored out from...
2339	(_bfd_mips_elf_merge_private_bfd_data): ... here.
2340
23412016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2342
2343	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2344	handling of input MIPS ABI flags together.
2345
23462016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2347
2348	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2349	attribute checks for null input.
2350
23512016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2352
2353	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2354	pointers to target data.
2355
23562016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2357
2358	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2359	an FP ABI warning.
2360
23612016-01-01  Alan Modra  <amodra@gmail.com>
2362
2363	Update year range in copyright notice of all files.
2364
2365For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2366
2367Copyright (C) 2016 Free Software Foundation, Inc.
2368
2369Copying and distribution of this file, with or without modification,
2370are permitted in any medium without royalty provided the copyright
2371notice and this notice are preserved.
2372
2373Local Variables:
2374mode: change-log
2375left-margin: 8
2376fill-column: 74
2377version-control: never
2378End:
2379