xref: /netbsd-src/external/gpl3/binutils/dist/bfd/ChangeLog (revision 796c32c94f6e154afc9de0f63da35c91bb739b45)
12016-08-03  Tristan Gingold  <gingold@adacore.com>
2
3	* version.m4: Bump version to 2.27
4	* configure: Regenerate.
5
62016-08-03  Tristan Gingold  <gingold@adacore.com>
7
8	* development.sh: Set development to false.
9
102016-08-02  Alan Modra  <amodra@gmail.com>
11
12	PR ld/20428
13	* elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
14
152016-07-27  Nick Clifton  <nickc@redhat.com>
16
17	* Import this patch from the mainline:
18	2016-07-27  Ozkan Sezer  <sezeroz@gmail.com>
19	    Nick Clifton  <nickc@redhat.com>
20
21	PR ld/20401
22	* coffgen.c (fini_reloc_cookie_rels): Check for the extistence
23	of the coff_section_data before using it.
24
252016-07-01  Tristan Gingold  <gingold@adacore.com>
26
27	* version.m4: Bump version to 2.26.90
28	* configure: Regenerate.
29
302016-07-01  Tristan Gingold  <gingold@adacore.com>
31
32	* version.m4: Bump version to 2.27.51
33	* configure: Regenerate.
34
352016-06-29  Nick Clifton  <nickc@redhat.com>
36
37	* elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
38	Returns TRUE for AArch64 mapping symbols.
39	(elfNN_aarch64_backend_symbol_processing): New function.  Marks
40	mapping symbols as precious in object files so that they will not
41	be stripped.
42	(elf_backend_symbol_processing): Define.
43
44	* elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
45	for ARM mapping symbols.
46	(elf32_arm_backend_symbol_processing): Make use of the new function.
47
482016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
49
50	PR ld/20306
51	* elflink.c (elf_link_check_versioned_symbol): Return false
52	for unreferenced undefined symbol.
53
542016-06-28  Nick Clifton  <nickc@redhat.com>
55
56	* elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
57	is needed.
58
59	* elf32-arm.c (elf32_arm_backend_symbol_processing): New
60	function.  Marks mapping symbols in object files as precious, so
61	that strip will not remove them.
62	(elf_backend_symbol_processing): Define.
63
642016-06-28  James Clarke  <jrtc27@jrtc27.com>
65
66	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
67	R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
68
692016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
70
71	* elf32-mips.c (elf_mips16_howto_table_rel): Add
72	R_MIPS16_PC16_S1.
73	(mips16_reloc_map): Likewise.
74	* elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
75	(mips16_elf64_howto_table_rela): Likewise.
76	(mips16_reloc_map): Likewise.
77	* elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
78	(elf_mips16_howto_table_rela): Likewise.
79	(mips16_reloc_map): Likewise.
80	* elfxx-mips.c (mips16_branch_reloc_p): New function.
81	(mips16_reloc_p): Handle R_MIPS16_PC16_S1.
82	(b_reloc_p): Likewise.
83	(mips_elf_calculate_relocation): Likewise.
84	(_bfd_mips_elf_check_relocs): Likewise.
85	* reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
86	* bfd-in2.h: Regenerate.
87	* libbfd.h: Regenerate.
88
892016-06-27  Alan Modra  <amodra@gmail.com>
90
91	PR ld/19264
92	* elf64-ppc.c (STUB_SHRINK_ITER): Define.
93	(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
94	if shrinking stubs.
95	(ppc64_elf_size_stubs): Adjust to suit.
96
972016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
98
99	* elf32-dlx.h: New file.
100	* elf32-dlx.c: Adjust.
101
1022016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
103
104	* elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
105
1062016-06-24  John Baldwin  <jhb@FreeBSD.org>
107
108	* elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
109	notes.
110
1112016-06-24  John Baldwin  <jhb@FreeBSD.org>
112
113	* elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
114	FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
115	(elfcore_grok_freebsd_psinfo): New function.
116	(elfcore_grok_freebsd_prstatus): New function.
117	(elfcore_grok_freebsd_note): New function.
118	(elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
119	notes.
120
1212016-06-24  Joel Brobecker  <brobecker@adacore.com>
122
123	* elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
124	than its existance.
125
1262016-06-24  Alan Modra  <amodra@gmail.com>
127
128	* config.bfd: Delete mips vxworks patterns matched earlier.
129	Combine mips*-*-none with mips*-*-elf*.
130
1312016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
132
133	* elfxx-mips.c (mips_elf_perform_relocation): Call
134	`info->callbacks->einfo' rather than `*_bfd_error_handler' and
135	use the `%X%H' format for the cross-mode jump conversion error
136	message.  Remove the full stop from the end of the message.
137	Continue processing rather than returning failure.
138
1392016-06-21  Graham Markall  <graham.markall@embecosm.com>
140
141	* archures.c: Remove bfd_mach_arc_nps400.
142	* bfd-in2.h: Likewise.
143	* cpu-arc.c (arch_info_struct): Likewise.
144	* elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
145	Likewise.
146
1472016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
148
149	PR ld/18250
150	PR ld/20267
151	* elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
152	defined.
153	(elf_link_is_defined_archive_symbol): Call
154	bfd_link_plugin_object_p on unknown plugin object and use the
155	IR symbol table if the input is an IR object.
156	* plugin.c (bfd_link_plugin_object_p): New function.
157	* plugin.h (bfd_link_plugin_object_p): New prototype.
158
1592016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
160
161	PR ld/20276
162	* elflink.c (elf_link_add_object_symbols): Don't check alignment
163	on symbol from plugin dummy input.
164
1652016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
166
167	* bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
168	bfd_plugin_unknown.
169	* bfd-in2.h: Regenerated.
170	* plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
171	with bfd_plugin_unknown.
172
1732016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
174
175	PR ld/20253
176	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
177	bfd_boolean argument.
178	* elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
179	"shared object" with "PIC object" in comments.
180	(_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
181	"shared object" with "PIC object" in comments.  Avoid PLT if
182	requested.  Generate dynamic relocations for non-GOT references.
183	Make room for the special first entry in PLT and allocate PLT
184	entry only for PLT and PC-relative references.  Store dynamic
185	GOT relocations in .rel[a].iplt section for static executables.
186	If PLT isn't used, always use GOT for symbol value.  Don't
187	allocate GOT entry if it isn't used.
188	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
189	count only in the code section.  Allocate dynamic pointer
190	relocation against STT_GNU_IFUNC symbol in the non-code section.
191	(elf_i386_adjust_dynamic_symbol): Increment PLT reference count
192	only for PC-relative references.
193	(elf_i386_allocate_dynrelocs): Pass TRUE to
194	_bfd_elf_allocate_ifunc_dyn_relocs.
195	(elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
196	relocations against STT_GNU_IFUNC symbols without PLT.  Generate
197	dynamic pointer relocation against STT_GNU_IFUNC symbol in
198	the non-code section and store it in the proper REL section.
199	Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
200	without PLT.
201	(elf_i386_finish_dynamic_symbol): Generate dynamic
202	R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
203	STT_GNU_IFUNC symbols without PLT.
204	(elf_i386_finish_dynamic_sections): Don't handle local
205	STT_GNU_IFUNC symbols here.
206	(elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
207	symbols here.
208	(elf_backend_output_arch_local_syms): New.
209	* elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
210	count only in the code section.  Allocate dynamic pointer
211	relocation against STT_GNU_IFUNC symbol in the non-code section.
212	(elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
213	count only for PC-relative references.
214	(elf_x86_64_allocate_dynrelocs): Pass TRUE to
215	_bfd_elf_allocate_ifunc_dyn_relocs.
216	(elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
217	R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
218	R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
219	without PLT.  Generate dynamic pointer relocation against
220	STT_GNU_IFUNC symbol in the non-code section and store it in
221	the proper RELA section.  Don't allow non-pointer relocation
222	against STT_GNU_IFUNC symbol without PLT.
223	(elf_x86_64_finish_dynamic_symbol): Generate dynamic
224	R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
225	STT_GNU_IFUNC symbols without PLT.
226	(elf_x86_64_finish_dynamic_sections): Don't handle local
227	STT_GNU_IFUNC symbols here.
228	(elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
229	symbols here.
230	(elf_backend_output_arch_local_syms): New.
231	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
232	Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
233
2342016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
235	    Tony Wang  <tony.wang@arm.com>
236
237	* elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
238	sequence.
239	(stub_long_branch_thumb2_only): Define stub.
240	(arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
241	(arm_stub_long_branch_thumb2_only): Likewise.
242	(arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
243	capable targets.
244
2452016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
246
247	* archures.c (bfd_mach_sparc_v8plusc): Define.
248	(bfd_mach_sparc_v9c): Likewise.
249	(bfd_mach_sparc_v8plusd): Likewise.
250	(bfd_mach_sparc_v9d): Likewise.
251	(bfd_mach_sparc_v8pluse): Likewise.
252	(bfd_mach_sparc_v9e): Likewise.
253	(bfd_mach_sparc_v8plusv): Likewise
254	(bfd_mach_sparc_v9v): Likewise.
255	(bfd_mach_sparc_v8plusm): Likewise.
256	(bfd_mach_sparc_v9m): Likewise.
257	(bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
258	(bfd_mach_sparc_64bit_p): Likewise.
259	* bfd-in2.h: Regenerate.
260	* cpu-sparc.c (arch_info_struct): Add entries for
261	bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
262	* aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
263	and bfd_mach_sparc_v9{c,d,e,v,m}.
264	* elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
265	* elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
266
2672016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
268
269	* elf32-i386.c (elf_i386_check_relocs): Don't check undefined
270	symbols for relocations against IFUNC symbols.
271	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
272
2732016-06-16  Marcin Kościelnicki  <koriakin@0x04.net>
274
275	* elf32-s390.c (elf_s390_finish_dynamic_sections): Include
276	.rela.iplt in DT_PLTRELSZ.
277	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
278	for DT_PLTRELSZ and DT_RELASZ as well.
279
2802016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
281
282	* elf32-i386.c (elf_i386_check_relocs): Skip relocations in
283	non-loaded, non-alloced sections.
284	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
285
2862016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
287
288	* elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
289	allocating dynamic relocation.
290	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
291
2922016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
293
294	PR ld/20254
295	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
296	offsets until reloc_toaddr.
297
2982016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
299
300	* elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
301	Don't check symbol type for STN_UNDEF symbol index.
302	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
303	R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
304	index.
305
3062016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
307
308	* elf32-arm.c (using_thumb_only): Force review of arch check logic for
309	new architecture.
310	(using_thumb2): Try Tag_THUMB_ISA_use first and check
311	for exact arch value then.  Force review of arch check logic for new
312	architecture.
313	(arch_has_arm_nop): Update and fix arch check logic.  Force review of
314	that logic for new architecture.
315	(arch_has_thumb2_nop): Remove.
316	(elf32_arm_tls_relax): Use using_thumb2 instead of above function.
317	(elf32_arm_final_link_relocate): Likewise but using thumb2.
318
3192016-06-14  Alan Modra  <amodra@gmail.com>
320
321	* bfd-in.h (bfd_my_archive): Delete.
322	* bfd-in2.h: Regenerate.
323
3242016-06-14  Alan Modra  <amodra@gmail.com>
325
326	PR ld/20241
327	* archive.c (open_nested_file): Set my_archive.
328	* bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
329	for thin archives.
330	* bfdio.c (bfd_tell): Don't adjust origin for thin archives.
331	(bfd_seek): Likewise.
332	* bfdwin.c (bfd_get_file_window): Likewise.
333	* cache.c (cache_bmmap): Likewise.
334	(bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
335	* mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
336	thin archives.
337	* plugin.c (try_claim): Likewise.
338	* xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
339	file within thin archive, not the archive.
340
3412016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
342
343	PR ld/20244
344	* elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
345	section address for R_386_GOT32/R_386_GOT32X relocations against
346	IFUNC symbols if there is no base register and return error for
347	PIC.
348
3492016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
350
351	* elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
352	GOT32 adjustment for static executables.
353
3542016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
355
356	* elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
357
3582016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
359
360	* elf32-arc.c (elf_arc_relocate_section): Fixed condition.
361
3622016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
363
364	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
365
3662016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
367
368	* elf32-arc.c (arc_local_data, arc_local_data): Removed.
369	(SECTSTART): Changed.
370	(elf_arc_relocate_section): Fixed mistake in PIE related
371	condition.
372	(elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
373
3742016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
375
376	* elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
377	enable support for "-z combreloc" and DT_RELACOUNT.
378	(elf_backend_reloc_type_class): Likewise
379
3802016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
381
382	PR ld/20244
383	* elf32-i386.c (elf_i386_relocate_section): When relocating
384	R_386_GOT32, return error without a base register for PIC and
385	subtract the .got.plt section address only with a base register.
386
3872016-06-10  Alan Modra  <amodra@gmail.com>
388
389	* elf-strtab.c (struct strtab_save): Use size_t for "size".
390	(struct elf_strtab_hash): Likewise for "size" and "alloced".
391	(_bfd_elf_strtab_init): Formatting.
392	(_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
393	(_bfd_elf_strtab_addref): Take size_t idx param.
394	(_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
395	(_bfd_elf_strtab_offset): Likewise.
396	(_bfd_elf_strtab_clear_all_refs): Use size_t idx.
397	(_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
398	(_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
399	(_bfd_elf_strtab_finalize): Similarly.
400	* elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
401	(_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
402	(_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
403	* elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
404	using bfd_size_type.
405	(bfd_section_from_shdr): Delete amt.
406	(_bfd_elf_init_reloc_shdr): Likewise.
407	(_bfd_elf_link_assign_sym_version): Likewise.
408	(assign_section_numbers): Use size_t reloc_count.
409	* elflink.c (struct elf_symbuf_head): Use size_t "count".
410	(bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
411	(elf_link_is_defined_archive_symbol): Likewise.
412	(elf_add_dt_needed_tag): Likewise.
413	(elf_finalize_dynstr): Likewise.
414	(elf_link_add_object_symbols): Likewise.
415	(bfd_elf_size_dynamic_sections): Likewise.
416	(elf_create_symbuf): Similarly.
417	(bfd_elf_match_symbols_in_sections): Likewise.
418	(elf_link_swap_symbols_out): Likewise.
419	(elf_link_check_versioned_symbol): Likewise.
420	(bfd_elf_gc_record_vtinherit): Likewise.
421	(bfd_elf_gc_common_finalize_got_offsets): Likewise.
422
4232016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
424
425	PR ld/20221
426	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
427	and relocs only if shrinking occurred.
428
4292016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
430
431	* elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
432	(elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
433	(elf_i386_check_tls_transition): Check indirect call and direct
434	call with the addr32 prefix for general and local dynamic models.
435	Set the tls_get_addr feild.
436	(elf_i386_convert_load_reloc): Always use addr32 prefix for
437	indirect ___tls_get_addr call via GOT.
438	(elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
439	transitions with indirect call and direct call with the addr32
440	prefix.
441
4422016-06-07  Marcin Kościelnicki  <koriakin@0x04.net>
443
444	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
445	* elf64-s390.c (elf_s390x_plt_entry): Fix comment.
446	(elf_s390_relocate_section): Fix comment.
447	(elf_s390_finish_dynamic_sections): Fix initialization of fixed
448	.got.plt entries.
449
4502016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
451
452	* elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
453	section offset when calculation the larl operand in the first PLT
454	entry.
455
4562016-06-07  Alan Modra  <amodra@gmail.com>
457
458	* cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
459	to match other 32-bit archs.
460	* elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
461	(ppc_elf_object_p): Call it.
462	(ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
463	overlong line.
464	(APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
465	* elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
466	* bfd-in.h (_bfd_elf_ppc_at_tls_transform,
467	_bfd_elf_ppc_at_tprel_transform): Move to..
468	* elf-bfd.h: ..here.
469	(_bfd_elf_ppc_set_arch): Declare.
470	* bfd-in2.h: Regenerate.
471
4722016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
473
474	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
475	(elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
476	(elf_x86_64_check_tls_transition): Check indirect call and
477	direct call with the addr32 prefix for general and local dynamic
478	models.  Set the tls_get_addr feild.
479	(elf_x86_64_convert_load_reloc): Always use addr32 prefix for
480	indirect __tls_get_addr call via GOT.
481	(elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
482	transitions with indirect call and direct call with the addr32
483	prefix.
484
4852016-06-04  Christian Groessler  <chris@groessler.org>
486
487	* coff-z8k.c (extra_case): Fix range check for R_JR relocation.
488
4892016-06-02  Nick Clifton  <nickc@redhat.com>
490
491	PR target/20088
492	* cpu-arm.c (processors): Add "arm_any" type to match any ARM
493	architecture.
494	(arch_info_struct): Likewise.
495	(architectures): Likewise.
496
4972016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
498
499	* config.bfd: Replace -uclibc with *.
500
5012016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
502
503	* elf64-x86-64.c: Replace data32 with data16 in comments.
504
5052016-05-31  Alan Modra  <amodra@gmail.com>
506
507	PR ld/20159
508	PR ld/16467
509	* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
510	(_bfd_elf_add_default_symbol): Don't indirect to/from defined
511	symbol given a version by a script different to the version
512	of the symbol being added.
513	(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
514	_bfd_elf_strtab_restore.  Don't fudge dynstr references.
515	* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
516	(struct strtab_save): New.
517	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
518	* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
519	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
520
5212016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
522
523	* elf32-hppa.h: Add extern "C".
524	* elf32-nds32.h: Likewise.
525	* elf32-tic6x.h: Likewise.
526
5272016-06-01  Nick Clifton  <nickc@redhat.com>
528
529	* po/sr.po: New Serbian translation.
530	* configure.ac (ALL_LINGUAS): Add sr.
531	* configure: Regenerate.
532
5332016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
534
535	* elfxx-mips.c (b_reloc_p): New function.
536	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
537	branch relocations.
538
5392016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
540
541	* elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
542	<R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
543	reloc location from calculation, treat the addend as signed with
544	local non-section symbols and enable overflow detection.
545
5462016-05-28  Alan Modra  <amodra@gmail.com>
547
548	* aoutx.h: Adjust linker callback calls throughout file,
549	removing dead code.
550	* bout.c: Likewise.
551	* coff-alpha.c: Likewise.
552	* coff-arm.c: Likewise.
553	* coff-h8300.c: Likewise.
554	* coff-h8500.c: Likewise.
555	* coff-i960.c: Likewise.
556	* coff-mcore.c: Likewise.
557	* coff-mips.c: Likewise.
558	* coff-ppc.c: Likewise.
559	* coff-rs6000.c: Likewise.
560	* coff-sh.c: Likewise.
561	* coff-tic80.c: Likewise.
562	* coff-w65.c: Likewise.
563	* coff-z80.c: Likewise.
564	* coff-z8k.c: Likewise.
565	* coff64-rs6000.c: Likewise.
566	* cofflink.c: Likewise.
567	* ecoff.c: Likewise.
568	* elf-bfd.h: Likewise.
569	* elf-m10200.c: Likewise.
570	* elf-m10300.c: Likewise.
571	* elf32-arc.c: Likewise.
572	* elf32-arm.c: Likewise.
573	* elf32-avr.c: Likewise.
574	* elf32-bfin.c: Likewise.
575	* elf32-cr16.c: Likewise.
576	* elf32-cr16c.c: Likewise.
577	* elf32-cris.c: Likewise.
578	* elf32-crx.c: Likewise.
579	* elf32-d10v.c: Likewise.
580	* elf32-epiphany.c: Likewise.
581	* elf32-fr30.c: Likewise.
582	* elf32-frv.c: Likewise.
583	* elf32-ft32.c: Likewise.
584	* elf32-h8300.c: Likewise.
585	* elf32-hppa.c: Likewise.
586	* elf32-i370.c: Likewise.
587	* elf32-i386.c: Likewise.
588	* elf32-i860.c: Likewise.
589	* elf32-ip2k.c: Likewise.
590	* elf32-iq2000.c: Likewise.
591	* elf32-lm32.c: Likewise.
592	* elf32-m32c.c: Likewise.
593	* elf32-m32r.c: Likewise.
594	* elf32-m68hc1x.c: Likewise.
595	* elf32-m68k.c: Likewise.
596	* elf32-mep.c: Likewise.
597	* elf32-metag.c: Likewise.
598	* elf32-microblaze.c: Likewise.
599	* elf32-moxie.c: Likewise.
600	* elf32-msp430.c: Likewise.
601	* elf32-mt.c: Likewise.
602	* elf32-nds32.c: Likewise.
603	* elf32-nios2.c: Likewise.
604	* elf32-or1k.c: Likewise.
605	* elf32-ppc.c: Likewise.
606	* elf32-s390.c: Likewise.
607	* elf32-score.c: Likewise.
608	* elf32-score7.c: Likewise.
609	* elf32-sh.c: Likewise.
610	* elf32-sh64.c: Likewise.
611	* elf32-spu.c: Likewise.
612	* elf32-tic6x.c: Likewise.
613	* elf32-tilepro.c: Likewise.
614	* elf32-v850.c: Likewise.
615	* elf32-vax.c: Likewise.
616	* elf32-visium.c: Likewise.
617	* elf32-xstormy16.c: Likewise.
618	* elf32-xtensa.c: Likewise.
619	* elf64-alpha.c: Likewise.
620	* elf64-hppa.c: Likewise.
621	* elf64-ia64-vms.c: Likewise.
622	* elf64-mmix.c: Likewise.
623	* elf64-ppc.c: Likewise.
624	* elf64-s390.c: Likewise.
625	* elf64-sh64.c: Likewise.
626	* elf64-x86-64.c: Likewise.
627	* elflink.c: Likewise.
628	* elfnn-aarch64.c: Likewise.
629	* elfnn-ia64.c: Likewise.
630	* elfxx-mips.c: Likewise.
631	* elfxx-sparc.c: Likewise.
632	* elfxx-tilegx.c: Likewise.
633	* linker.c: Likewise.
634	* pdp11.c: Likewise.
635	* pe-mips.c: Likewise.
636	* reloc.c: Likewise.
637	* reloc16.c: Likewise.
638	* simple.c: Likewise.
639	* vms-alpha.c: Likewise.
640	* xcofflink.c: Likewise.
641	* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
642	status param.  Adjust calls to these and linker callbacks throughout.
643	* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
644	get_ramstart): Delete status param.  Adjust calls to these and
645	linker callbacks throughout.
646
6472016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
648
649	* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
650	<R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
651	target alignment verification.
652
6532016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
654
655	* elfxx-mips.c (mips_elf_calculate_relocation): Also use the
656	section name if `bfd_elf_string_from_elf_section' returns an
657	empty string.
658
6592016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
660
661	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
662	<bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
663	for message.  Continue processing rather than returning failure.
664
6652016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
666
667	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
668	<bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
669	Call `bfd_set_error'.
670
6712016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
672
673	PR binutils/14625
674	* archive.c (bfd_slurp_armap): Replace
675	bfd_elf64_archive_slurp_armap with
676	_bfd_archive_64_bit_slurp_armap.
677	(bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
678	BFD64 is defined and the archive is too big.
679	(coff_write_armap): Likewise.
680	* archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
681	(_bfd_archive_64_bit_slurp_armap): This.
682	(bfd_elf64_archive_write_armap): Renamed to ...
683	(_bfd_archive_64_bit_write_armap): This.
684	* configure.ac: Add --enable-64-bit-archive.
685	(want_64_bit_archive): New.  Set to true by default for 64-bit
686	MIPS and s390 ELF targets.
687	(USE_64_BIT_ARCHIVE): New AC_DEFINE.
688	* config.in: Regenerated.
689	* configure: Likewise.
690	* elf64-mips.c (bfd_elf64_archive_functions): Removed.
691	(bfd_elf64_archive_slurp_armap): Likewise.
692	(bfd_elf64_archive_write_armap): Likewise.
693	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
694	(bfd_elf64_archive_construct_extended_name_table): Likewise.
695	(bfd_elf64_archive_truncate_arname): Likewise.
696	(bfd_elf64_archive_read_ar_hdr): Likewise.
697	(bfd_elf64_archive_write_ar_hdr): Likewise.
698	(bfd_elf64_archive_openr_next_archived_file): Likewise.
699	(bfd_elf64_archive_get_elt_at_index): Likewise.
700	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
701	(bfd_elf64_archive_update_armap_timestamp): Likewise.
702	* elf64-s390.c (bfd_elf64_archive_functions): Removed.
703	(bfd_elf64_archive_slurp_armap): Likewise.
704	(bfd_elf64_archive_write_armap): Likewise.
705	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
706	(bfd_elf64_archive_construct_extended_name_table): Likewise.
707	(bfd_elf64_archive_truncate_arname): Likewise.
708	(bfd_elf64_archive_read_ar_hdr): Likewise.
709	(bfd_elf64_archive_write_ar_hdr): Likewise.
710	(bfd_elf64_archive_openr_next_archived_file): Likewise.
711	(bfd_elf64_archive_get_elt_at_index): Likewise.
712	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
713	(bfd_elf64_archive_update_armap_timestamp): Likewise.
714	* elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
715	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
716	bfd_elfNN_archive_functions isn't defined.
717	(TARGET_LITTLE_SYM): Likewise.
718	* libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
719	(_bfd_archive_64_bit_write_armap): Likewise.
720	(_bfd_archive_64_bit_slurp_extended_name_table): New macro.
721	(_bfd_archive_64_bit_construct_extended_name_table): Likewise.
722	(_bfd_archive_64_bit_truncate_arname): Likewise.
723	(_bfd_archive_64_bit_read_ar_hdr): Likewise.
724	(_bfd_archive_64_bit_write_ar_hdr): Likewise.
725	(_bfd_archive_64_bit_openr_next_archived_file): Likewise.
726	(_bfd_archive_64_bit_get_elt_at_index): Likewise.
727	(_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
728	(_bfd_archive_64_bit_update_armap_timestamp): Likewise.
729	* libbfd.h: Regenerated.
730	* plugin.c (plugin_vec): Use _bfd_archive_64_bit on
731	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
732
7332016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
734
735	PR ld/20103
736	* cofflink.c (coff_link_check_archive_element): Return TRUE if
737	linker add_archive_element callback returns FALSE.
738	* ecoff.c (ecoff_link_check_archive_element): Likewise.
739	* elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
740	archive element if linker add_archive_element callback returns
741	FALSE.
742	* elflink.c (elf_link_add_archive_symbols): Likewise.
743	* pdp11.c (aout_link_check_ar_symbols): Likewise.
744	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
745	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
746	(xcoff_link_check_ar_symbols): Likewise.
747
7482016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
749
750	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
751	<bfd_reloc_outofrange>: Unify error reporting code.
752
7532016-05-23  Jim Wilson  <jim.wilson@linaro.org>
754
755	* elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
756	R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
757	* relocs.c: Add BFD_RELOC_AARCH64_NULL.
758	* bfd-in2.h: Regenerate.
759	* libbfd.h: Likewise.
760
7612016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
762
763	* config.bfd: Add entry for arm-phoenix.
764
7652016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
766
767	* elf32-arm.c (arm_dedicated_stub_section_padding): New function.
768	(elf32_arm_size_stubs): Declare stub_type in a more outer scope and
769	account for padding for stub section requiring one.
770	(elf32_arm_build_stubs): Add comment to stress the importance of
771	zeroing veneer section content.
772
7732016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
774
775	* bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
776	bfd hook.
777	* bfd-in2.h: Regenerate.
778	* elf32-arm.c (arm_dedicated_stub_output_section_required): New
779	function.
780	(arm_dedicated_stub_output_section_required_alignment): Likewise.
781	(arm_dedicated_stub_output_section_name): Likewise.
782	(arm_dedicated_stub_input_section_ptr): Likewise.
783	(elf32_arm_create_or_find_stub_sec): Add stub type parameter and
784	function description comment. Add support for dedicated output stub
785	section to given stub types.
786	(elf32_arm_add_stub): Add a stub type parameter and pass it down to
787	elf32_arm_create_or_find_stub_sec.
788	(elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
789	(elf32_arm_size_stubs): Pass stub type when calling
790	elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
791	(bfd_elf32_arm_keep_private_stub_output_sections): New function.
792
7932016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
794
795	* elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
796	when setting need_convert_load.
797
7982016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
799
800	* elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
801	microMIPS JALX.
802
8032016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
804
805	PR ld/20117
806	* elf32-i386.c (elf_i386_convert_load_reloc): Don't check
807	R_386_GOT32X.
808	(elf_i386_convert_load): Don't convert R_386_GOT32.
809
8102016-05-20  Alan Modra  <amodra@gmail.com>
811
812	PR gas/20118
813	* elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
814	SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
815
8162016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
817
818	* elf32-arc.c (arc_elf_final_write_processing): Changed.
819	(debug_arc_reloc): Likewise.
820	(elf_arc_relocate_section): Likewise.
821	(elf_arc_check_relocs): Likewise.
822	(elf_arc_adjust_dynamic_symbol): Likewise.
823	(elf_arc_add_symbol_hook): Likewise.
824
8252016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
826
827	* config.bfd: Remove `am34-*-linux*' support.
828
8292016-05-19  Alan Modra  <amodra@gmail.com>
830
831	* elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
832	relocs before plt relocs.
833
8342016-05-19  Alan Modra  <amodra@gmail.com>
835
836	* elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
837	before dereferencing.
838
8392016-05-18  Nick Clifton  <nickc@redhat.com>
840
841	* po/sv.po: Updated Swedish translation.
842
8432016-05-18  Alan Modra  <amodra@gmail.com>
844
845	* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
846	for each BFD.  Don't goto error_ret_free_local from outside loop.
847
8482016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
849
850	* elf-s390-common.c (elf_s390_add_symbol_hook): Remove
851	STB_GNU_UNIQUE handling.
852	* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
853	* elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
854	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
855	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
856	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
857	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
858	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
859	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
860	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
861	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
862	* elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
863	(elf_backend_add_symbol_hook): Remove macro.
864	* elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
865	for STB_GNU_UNIQUE symbols.
866
8672016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
868
869	* elf32-v850.c (v850_elf_copy_notes): New function, factored out
870	from...
871	(v850_elf_copy_private_bfd_data): ... here.  Call the new
872	function and `_bfd_elf_copy_private_bfd_data'.
873
8742016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
875
876	PR ld/20093
877	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
878	GOTPCREL relocation against large section.
879
8802016-05-13  Alan Modra  <amodra@gmail.com>
881
882	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
883	linker dynamic sections in calculating size and address of
884	dynamic tags rather than using output sections.  Remove asserts.
885	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
886	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
887	* elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
888	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
889	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
890	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
891	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
892	* elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
893	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
894	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
895	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
896	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
897	* elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
898	* elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
899	* elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
900	* elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
901	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
902	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
903	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
904	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
905	* elflink.c (bfd_elf_final_link): Likewise.
906	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
907	* elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
908	* elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
909	don't set doit.  Look up dynobj section.
910	(elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
911	invocation and dynamic tag vma calculation.  Don't test
912	boolean var == TRUE.
913	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
914	DT_JMPREL calc.
915
9162016-05-13  Alan Modra  <amodra@gmail.com>
917
918	* elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
919	octets_per_byte.  Put dynamic .rela.plt last in link orders.
920	Assign output_offset for reloc sections rather than writing
921	sorted relocs from block corresponding to output_offset.
922
9232016-05-12  Alan Modra  <amodra@gmail.com>
924
925	* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
926
9272016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
928
929	* elfxx-mips.c (print_mips_ases): Add DSPR3.
930
9312016-05-11  Alan Modra  <amodra@gmail.com>
932
933	* elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
934	(elf32_hppa_check_relocs): Don't set dynobj.
935	(elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
936	(elf32_hppa_build_stubs): Likewise.
937	* elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
938
9392016-05-11  Alan Modra  <amodra@gmail.com>
940
941	PR 20060
942	* elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
943	* elf32-ppc.c (ppc_elf_tls_setup): Likewise.
944
9452016-05-10  Jiong Wang  <jiong.wang@arm.com>
946
947	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
948	aarch64_tls_transition check.
949
9502016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
951
952	* elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
953	enumerator.
954	(arm_stub_sym_claimed): New function.
955	(elf32_arm_create_stub): Use veneered symbol name and section if
956	veneer needs to claim its symbol, and keep logic unchanged otherwise.
957	(arm_stub_claim_sym): New function.
958	(arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
959	veneered symbol, otherwise create local symbol as before.
960
9612016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
962
963	* elf32-arm.c (elf32_arm_size_stubs): Use new macros
964	ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
965	and set branch type of a symbol.
966	(bfd_elf32_arm_process_before_allocation): Likewise.
967	(elf32_arm_relocate_section): Likewise and fix identation along the
968	way.
969	(allocate_dynrelocs_for_symbol): Likewise.
970	(elf32_arm_finish_dynamic_symbol): Likewise.
971	(elf32_arm_swap_symbol_in): Likewise.
972	(elf32_arm_swap_symbol_out): Likewise.
973
9742016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
975
976	* bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
977	* bfd-in2.h: Regenerated.
978	* elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
979	parameter to add_stub_section callback.
980	(elf32_arm_create_or_find_stub_sec): Get output section from link_sec
981	and pass it down to add_stub_section.
982	(elf32_arm_add_stub): Set section to stub_sec if NULL before using it
983	for error message.
984	(elf32_arm_size_stubs): Add output section parameter to
985	add_stub_section function pointer parameter.
986
9872016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
988
989	* elf32-arm.c (elf32_arm_create_stub): New function.
990	(elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
991
9922016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
993
994	* elf32-arm.c (enum elf32_arm_stub_type): Delete
995	arm_stub_a8_veneer_lwm enumerator.
996	(arm_stub_a8_veneer_lwm): New unsigned constant to replace
997	aforementioned enumerator.
998	(struct elf32_arm_stub_hash_entry): Delete target_addend
999	field and add source_value.
1000	(struct a8_erratum_fix): Delete addend field and add target_offset.
1001	(stub_hash_newfunc): Initialize source_value field amd remove
1002	initialization for target_addend.
1003	(arm_build_one_stub): Stop special casing Thumb relocations: promote
1004	the else to being always executed, moving the
1005	arm_stub_a8_veneer_b_cond specific code in it.  Remove
1006	stub_entry->target_addend from points_to computation.
1007	(cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1008	to target symbol from start of section rather than the offset from the
1009	stub address.
1010	(elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1011	fields from struct a8_erratum_fix's offset and target_offset
1012	respectively.
1013	(make_branch_to_a8_stub): Rename target variable to loc.  Compute
1014	veneered_insn_loc and loc using stub_entry's source_value.
1015
10162016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1017
1018	(elf32_arm_merge_eabi_attributes): Add merging logic for
1019	Tag_DSP_extension.
1020
10212016-05-10  Pip Cet  <pipcet@gmail.com>
1022
1023	PR ld/20059
1024	* elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1025	Define as _bfd_generic_copy_link_hash_symbol_type when using
1026	generic hash table.
1027
10282016-05-09  Nick Clifton  <nickc@redhat.com>
1029
1030	PR binutils/20063
1031	* elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1032	field before accessing sections array.
1033
10342016-05-09  Christophe Monat  <christophe.monat@st.com>
1035
1036	PR ld/20030
1037	* elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1038	(stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1039	to nb_words.
1040	(create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1041	encoding.
1042	(create_instruction_vldmdb): Likewise.
1043	(stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1044	uses it to re-encode.
1045
10462016-05-09  Nick Clifton  <nickc@redhat.com>
1047
1048	PR 19938
1049	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1050	commit.
1051
10522016-05-09  Alan Modra  <amodra@gmail.com>
1053
1054	* elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1055
10562016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1057
1058	PR ld/17550
1059	* elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1060	documenting that indx == -3 if symbol is defined in a discarded
1061	section.
1062	* elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1063	symbol is defined in a discarded section.
1064	(elf_link_output_extsym): Strip a global symbol defined in a
1065	discarded section.
1066
10672016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
1068
1069	* elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1070	MCU.
1071
10722016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1073
1074	* elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1075	conversion to ...
1076	(elf_i386_convert_load_reloc): This.  New function.
1077	* elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1078	conversion to ...
1079	(elf_x86_64_convert_load_reloc): This.  New function.
1080
10812016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1082
1083	* elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1084	Don't check if contents == NULL.
1085	(elf_i386_tls_transition): Add from_relocate_section.  Check
1086	from_relocate_section instead of contents != NULL.  Update
1087	elf_i386_check_tls_transition call.
1088	(elf_i386_check_relocs): Cache the section contents if
1089	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1090	elf_i386_tls_transition.
1091	(elf_i386_relocate_section): Pass TRUE as from_relocate_section
1092	to elf_i386_tls_transition.
1093	(elf_backend_caches_rawsize): New.
1094	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1095	if contents == NULL.
1096	(elf_x86_64_tls_transition): Add from_relocate_section.  Check
1097	from_relocate_section instead of contents != NULL.
1098	(elf_x86_64_check_relocs): Cache the section contents if
1099	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
1100	elf_x86_64_tls_transition.
1101	(elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1102	to elf_x86_64_tls_transition.
1103	(elf_backend_caches_rawsize): New.
1104
11052016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
1106
1107	PR 10549
1108	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1109	STB_GNU_UNIQUE.
1110
11112016-05-03  Jiong Wang  <jiong.wang@arm.com>
1112
1113	* bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1114	* bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1115	* elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1116	no_apply_dynamic_relocs.
1117	(elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1118	dynamic relocations generated.
1119
11202016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1121
1122	* elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1123	setting to ...
1124	(elf_i386_create_dynamic_sections): Here.
1125	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1126	interp setting to ...
1127	(elf_x86_64_create_dynamic_sections): Here.
1128
11292016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1130
1131	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1132	and replace (EH)->has_got_reloc with GOT_RELOC.
1133	(elf_i386_fixup_symbol): Pass has_got_reloc to
1134	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1135	(elf_i386_allocate_dynrelocs): Likewise.
1136	(elf_i386_relocate_section): Likewise.
1137	(elf_i386_finish_dynamic_symbol): Likewise.
1138	(elf_i386_convert_load): Pass TRUE to
1139	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1140	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1141	GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1142	(elf_x86_64_fixup_symbol): Pass has_got_reloc to
1143	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1144	(elf_x86_64_allocate_dynrelocs): Likewise.
1145	(elf_x86_64_relocate_section): Likewise.
1146	(elf_x86_64_finish_dynamic_symbol): Likewise.
1147	(elf_x86_64_convert_load): Pass TRUE to
1148	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1149
11502016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1151
1152	* elf32-i386.c (check_relocs_failed): New.
1153	(elf_i386_check_relocs): Set check_relocs_failed on error.
1154	(elf_i386_relocate_section): Skip if check_relocs failed.
1155
11562016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
1157
1158	* elf64-x86-64.c (elf_x86_64_check_relocs): Set
1159	check_relocs_failed on error.
1160
11612016-04-29  Nick Clifton  <nickc@redhat.com>
1162
1163	PR 19938
1164	* elf-bfd.h (struct elf_backend_data): Rename
1165	elf_backend_set_special_section_info_and_link to
1166	elf_backend_copy_special_section_fields.
1167	* elfxx-target.h: Likewise.
1168	* elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1169	comparing section flags.
1170	(copy_special_section_fields): New function.
1171	(_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1172	Perform two scans over special sections.  The first one looks for
1173	a direct mapping between the output section and an input section.
1174	The second scan looks for a possible match based upon section
1175	characteristics.
1176	* elf32-arm.c (elf32_arm_copy_special_section_fields): New
1177	function.  Handle setting the sh_link field of SHT_ARM_EXIDX
1178	sections.
1179	* elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1180	elf32_i386_copy_solaris_special_section_fields.
1181	* elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1182	Rename to elf32_sparc_copy_solaris_special_section_fields.
1183	* elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1184	elf64_x86_64_copy_solaris_special_section_fields.
1185
11862016-04-28  Nick Clifton  <nickc@redhat.com>
1187
1188	* po/zh_CN.po: Updated Chinese (simplified) translation.
1189
11902016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1191
1192	PR ld/20006
1193	* elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1194	when estimating distances between output sections.
1195
11962016-04-27  Alan Modra  <amodra@gmail.com>
1197
1198	* elflink.c (_bfd_elf_is_start_stop): New function.
1199	(_bfd_elf_gc_mark_rsec): Use it.
1200	* elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1201
12022016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1203
1204	* elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1205	* mmo.c (mmo_get_section_contents): Likewise.
1206	(mmo_set_section_contents): Likewise.
1207
12082016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
1209
1210	* elf-bfd.h (elf_link_hash_table): Update comments for
1211	dynsymcount.
1212	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1213	the unused NULL entry at the head of dynamic symbol table.
1214	(bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1215	checks.
1216
12172016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1218
1219	* elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1220	created file from dynobj.
1221
12222016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1223
1224	* elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1225	normal input file if possible.
1226
12272016-04-21  Nick Clifton  <nickc@redhat.com>
1228
1229	* aout-adobe.c: Use _bfd_generic_link_check_relocs.
1230	* aout-target.h: Likewise.
1231	* aout-tic30.c: Likewise.
1232	* binary.c: Likewise.
1233	* bout.c: Likewise.
1234	* coff-alpha.c: Likewise.
1235	* coff-rs6000.c: Likewise.
1236	* coff64-rs6000.c: Likewise.
1237	* coffcode.h: Likewise.
1238	* i386msdos.c: Likewise.
1239	* i386os9k.c: Likewise.
1240	* ieee.c: Likewise.
1241	* ihex.c: Likewise.
1242	* libbfd-in.h: Likewise.
1243	* libecoff.h: Likewise.
1244	* mach-o-target.c: Likewise.
1245	* mmo.c: Likewise.
1246	* nlm-target.h: Likewise.
1247	* oasys.c: Likewise.
1248	* pef.c: Likewise.
1249	* plugin.c: Likewise.
1250	* ppcboot.c: Likewise.
1251	* som.c: Likewise.
1252	* srec.c: Likewise.
1253	* tekhex.c: Likewise.
1254	* versados.c: Likewise.
1255	* vms-alpha.c: Likewise.
1256	* xsym.c: Likewise.
1257	* elfxx-target.h: Use _bfd_elf_link_check_relocs.
1258	* linker.c (bfd_link_check_relocs): New function.
1259	(_bfd_generic_link_check_relocs): New function.
1260	* targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1261	_bfd_link_check_relocs field.
1262	(struct bfd_target)L Add _bfd_link_check_relocs field.
1263	* bfd-in2.h: Regenerate.
1264	* libbfd.h: Regenerate.
1265
12662016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1267
1268	* elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1269	(elf_backend_gc_sweep_hook): Likewise.
1270	* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1271	(elf_backend_gc_sweep_hook): Likewise.
1272
12732016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1274
1275	* elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1276	in excluded sections
1277
12782016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1279
1280	PR ld/19969
1281	* elf64-x86-64.c (check_relocs_failed): New.
1282	(elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1283	Support relocation agaist local symbol.  Set check_relocs_failed.
1284	(elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
1285	R_X86_64_32 relocation overflow.
1286	(elf_x86_64_relocate_section): Skip if check_relocs failed.
1287	Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1288
12892016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1290
1291	* elf32-i386.c (elf_i386_check_relocs): Call
1292	_bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1293	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1294
12952016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
1296
1297	* elf-bfd.h (_bfd_elf_link_check_relocs): New.
1298	* elflink.c (_bfd_elf_link_check_relocs): New function.
1299	(elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1300	if check_relocs_after_open_input is FALSE.
1301
13022016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1303
1304	* cache.c: Update old style function definitions.
1305	* elf32-m68k.c: Likewise.
1306	* elf64-mmix.c: Likewise.
1307	* stab-syms.c: Likewise.
1308
13092016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
1310
1311	* elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1312
13132016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1314
1315	* Makefile.in: Regenerated with automake 1.11.6.
1316	* aclocal.m4: Likewise.
1317	* doc/Makefile.in: Likewise.
1318
13192016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1320
1321	* reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1322	* bfd-in2.h: Regenerate.
1323	* libbfd.h: Regenerate.
1324	* elf32-arc.c: Add 'opcode/arc.h' include.
1325	(struct arc_relocation_data): Add symbol_name.
1326	(arc_special_overflow_checks): New function.
1327	(arc_do_relocation): Use arc_special_overflow_checks, reindent as
1328	required, add an extra comment.
1329	(elf_arc_relocate_section): Setup symbol_name in reloc_data.
1330
13312016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
1332
1333	* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1334	entries.
1335	(elf_arc_relocate_section): Update enum uses.
1336	(elf_arc_check_relocs): Likewise.
1337	(elf_arc_finish_dynamic_symbol): Likewise.
1338
13392016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
1340
1341	* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1342	"sh_link".
1343
13442016-04-14  Nick Clifton  <nickc@redhat.com>
1345
1346	PR target/19938
1347	* elf-bbfd.h (struct elf_backend_data): New field:
1348	elf_strtab_flags.
1349	New field: elf_backend_set_special_section_info_and_link
1350	* elfxx-target.h (elf_backend_strtab_flags): Define if not already
1351	defined.
1352	(elf_backend_set_special_section_info_and_link): Define if not
1353	already defined.
1354	(elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1355	elf_backend_strtab_flags macros to initialise fields in structure.
1356	* elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1357	being set even if SHF_MERGE is not set.
1358	(elf_fake_sections): Likewise.
1359	(section_match): New function.  Matches two ELF sections based
1360	upon fixed characteristics.
1361	(find_link): New function.  Locates a section in a BFD that
1362	matches a section in a different BFD.
1363	(_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1364	fields of reserved sections.
1365	(bfd_elf_compute_section_file_positions): Set the flags for the
1366	.shstrtab section based upon the elf_strtab_flags field in the
1367	elf_backend_data structure.
1368	(swap_out_syms): Likewise for the .strtab section.
1369	* elflink.c (bfd_elf_final_link): Set the flags for the
1370	.strtab section based upon the elf_strtab_flags field in the
1371	elf_backend_data structure.
1372	* elf32-i386.c (elf32_i386_set_special_info_link): New function.
1373	(elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1374	targets.
1375	(elf_backend_set_special_section_info_and_link): Define for
1376	Solaris targets.
1377	* elf32-sparc.c: Likewise.
1378	* elf64-x86-64.c: Likewise.
1379
13802016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1381
1382	PR ld/19939
1383	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1384	to bfd_boolean.
1385	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1386	Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1387	applies to read-only section.
1388	* elf32-i386.c (elf_i386_link_hash_table): Add
1389	readonly_dynrelocs_against_ifunc.
1390	(elf_i386_allocate_dynrelocs): Updated.
1391	(elf_i386_size_dynamic_sections): Issue an error for read-only
1392	segment with dynamic IFUNC relocations only if
1393	readonly_dynrelocs_against_ifunc is TRUE.
1394	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1395	readonly_dynrelocs_against_ifunc.
1396	(elf_x86_64_allocate_dynrelocs): Updated.
1397	(elf_x86_64_size_dynamic_sections): Issue an error for read-only
1398	segment with dynamic IFUNC relocations only if
1399	readonly_dynrelocs_against_ifunc is TRUE.
1400	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1401	Updated.
1402
14032016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1404
1405	* elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1406	a fall through from error_ret_free_internal.  Free local_syms in
1407	error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1408
14092016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1410
1411	* elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1412	(relocate_plt_for_entry): Likewise.
1413
14142016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1415
1416	* elf32-arc.c (elf_arc_check_relocs): Changed
1417
14182016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1419
1420	* elf32-arc.c (name_for_global_symbol): Changed assert.
1421	(get_replace_function): Created.:
1422	(struct arc_relocation_data): Changed to signed types.
1423	(defines S, L, P, PDATA): Casted to signed type.
1424	(defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1425	(PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1426	(arc_do_relocation): Changed.
1427
14282016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
1429
1430	* elf32-arc.c (name_for_global_symbol): Added assert to check for
1431	symbol index.
1432	(elf_arc_relocate_section): Added and changed asserts, validating
1433	the synamic symbol index.
1434	(elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1435	relocation if symbol has dynindx set to -1.
1436
14372016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
1438
1439	* elflink.c (elf_link_add_object_symbols): Always turn hidden
1440	and internal symbols which have a dynamic index into local
1441	ones.
1442
14432016-04-04  Nick Clifton  <nickc@redhat.com>
1444
1445	PR 19872
1446	* dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1447	version number if the version is zero.
1448
14492016-04-01  Alan Modra  <amodra@gmail.com>
1450
1451	PR 19886
1452	* elflink.c (on_needed_list): Recursively check needed status.
1453	(elf_link_add_object_symbols): Adjust.
1454
14552016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1456
1457	* elf32-avr.c (avr_elf32_load_records_from_section): Free
1458	internal_relocs only if they aren't cached.
1459
14602016-03-29  Nick Clifton  <nickc@redhat.com>
1461
1462	PR 17334
1463	* elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1464	assertion on the size of the got section to allow it to be bigger
1465	than the number of relocs.
1466
14672016-03-29  Toni Spets  <toni.spets@iki.fi>
1468
1469	PR 19878
1470	* coffcode.h (coff_write_object_contents): Revert accidental
1471	2014-11-10 change.
1472
14732016-03-22  Alan Modra  <amodra@gmail.com>
1474
1475	PR 19850
1476	* dwarf2.c (read_attribute_value): Skip info_ptr check for
1477	DW_FORM_flag_present.
1478
14792016-03-22  Nick Clifton  <nickc@redhat.com>
1480
1481	* cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1482	architecture name for backwards compatibility.
1483
1484	* peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1485	unbounded stack use.
1486
1487	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1488	sufficiently recent version of GCC.
1489	* configure: Regenerate.
1490
14912016-03-22  Alan Modra  <amodra@gmail.com>
1492
1493	PR 19851
1494	* plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1495
14962016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1497
1498	* archures.c (bfd_mach_arc_nps400): Define.
1499	* bfd-in2.h: Regenerate.
1500	* cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1501	some existing entries to make space.
1502	* elf32-arc.c (arc_elf_object_p): Add nps400 case.
1503	(arc_elf_final_write_processing): Likewise.
1504
15052016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1506
1507	* elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1508	EF_ARC_CPU_GENERIC.
1509	(arc_elf_final_write_processing): Don't bother setting cpu field
1510	in e_flags, this will have been set elsewhere.
1511
15122016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
1513
1514	* elf32-arc.c (arc_elf_final_write_processing): Switch to using
1515	EF_ARC_MACH_MSK.
1516
15172016-03-21  Nick Clifton  <nickc@redhat.com>
1518
1519	* warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1520	* configure: Regenerate.
1521	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1522	alloca with call to xmalloc.
1523	* elf32-nds32.c: Likewise.
1524	* elf64-hppa.c: Likewise.
1525	* elfxx-mips.c: Likewise.
1526	* pef.c: Likewise.
1527	* pei-x86_64.c: Likewise.
1528	* som.c: Likewise.
1529	* xsym.c: Likewise.
1530
15312016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1532
1533	PR ld/19827
1534	* elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1535	locally in PIE.
1536	(elf_i386_relocate_section): Likewise.
1537	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1538	(elf_x86_64_relocate_section): Likewise.
1539
15402016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1541
1542	PR ld/19807
1543	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
1544	no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1545	relocation overflow check.
1546
15472016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
1548
1549	* bfd-in2.h: Regenerated.
1550
15512016-03-11  Dan Gissel  <dgisselq@ieee.org>
1552
1553	PR 19713
1554	* elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1555	uses bytes not octets.
1556	* elflink.c (resolve_section): Likewise.
1557	Add a bfd parameter.
1558	(eval_section): Pass the input_bfd to resolve_section.
1559	(bfd_elf_perform_complex_relocation): Convert byte offset to
1560	octets before read and writing values.
1561	(elf_link_input_bfd): Add byte to octet conversions.
1562	(elf_reloc_link_order): Likewise.
1563	(elf_fixup_link_order): Likewise.
1564	(bfd_elf_final_link): Likewise.
1565	* reloc.c (_bfd_final_link_relocate): Likewise.
1566	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1567
15682016-03-10  Nick Clifton  <nickc@redhat.com>
1569
1570	* config.bfd: Mark the i370 target as obsolete.
1571
15722016-03-09  Pedro Alves  <palves@redhat.com>
1573
1574	* cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1575	gcc ABI)" to printable name.
1576	* cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1577	of "v850-rh850" as printable name.
1578
15792016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
1580
1581	PR ld/19623
1582	* cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1583	relocations against absolute symbols.
1584
15852016-03-09  Alan Modra  <amodra@gmail.com>
1586
1587	PR binutils/19775
1588	* coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1589	length elements in the archive.
1590
15912016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1592
1593	PR ld/19789
1594	* elflink.c (elf_link_add_object_symbols): Create dynamic sections
1595	for -E/--dynamic-list only when not relocatable.
1596
15972016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1598
1599	PR ld/19784
1600	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1601	count for locally defined local IFUNC symbols in shared object.
1602	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1603
16042016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
1605
1606	PR ld/19579
1607	* elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1608	together.
1609
16102016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1611	    Andrew Burgess  <andrew.burgess@embecosm.com>
1612
1613	* elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1614	(arc_bfd_put_32): Becomes an alias for bfd_put_32.
1615	(arc_elf_howto_init): Added assert to validate relocations.
1616	(get_middle_endian_relocation): Delete.
1617	(middle_endian_convert): New function.
1618	(ME): Redefine, now does nothing.
1619	(IS_ME): New define.
1620	(arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1621	definition to call middle_endian_convert.  Add a new local
1622	variable and make use of this throughout. Added call to
1623	arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1624
16252016-03-07  Nick Clifton  <nickc@redhat.com>
1626
1627	PR binutils/19775
1628	* archive.c (bfd_generic_openr_next_archived_file): Allow zero
1629	length elements in the archive.
1630
16312016-03-07  Jiong Wang  <jiong.wang@arm.com>
1632
1633	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1634	section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1635
16362016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
1637
1638	PR ld/19579
1639	* elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1640	executable as definition if the new definition comes from a
1641	shared library.
1642
16432016-03-02  Alan Modra  <amodra@gmail.com>
1644
1645	* Makefile.in: Regenerate.
1646	* po/SRC-POTFILES.in: Regenerate.
1647
16482016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
1649
1650	* elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1651	relocation addend when sections get merged.
1652
16532016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1654
1655	* elf32-arc.c (arc_elf_final_write_processing): Add condition to
1656	the flag change.
1657        (elf_arc_relocate_section): Fixes and conditions to support PIE.
1658	Assert for code sections dynamic relocs.
1659
16602016-02-26  Renlin Li  <renlin.li@arm.com>
1661
1662	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1663	check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1664
16652016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1666
1667	PR ld/19609
1668	* elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1669	load with locally bound symbols if PIC is false or there is no
1670	base register.  Optimize branch to 0 if PIC is false.
1671	(elf_i386_relocate_section): Don't generate dynamic relocations
1672	against undefined weak symbols if PIC is false.
1673	* elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1674	if we can't estimate relocation overflow with --no-relax.
1675	Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1676	symbols if PIC is false.  Optimize branch to 0 if PIC is false.
1677	(elf_x86_64_relocate_section): Don't generate dynamic relocations
1678	against undefined weak symbols if PIC is false.
1679
16802016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1681
1682	PR ld/19645
1683	* bfd.c (bfd): Change flags to 20 bits.
1684	(BFD_CONVERT_ELF_COMMON): New.
1685	(BFD_USE_ELF_STT_COMMON): Likewise.
1686	(BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1687	BFD_USE_ELF_STT_COMMON.
1688	(BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1689	* configure.ac: Remove --enable-elf-stt-common.
1690	* elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1691	common symbol depending on BFD_CONVERT_ELF_COMMON and
1692	BFD_USE_ELF_STT_COMMON.
1693	* elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1694	STT_COMMON.
1695	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1696	STT_COMMON.
1697	(elf_link_convert_common_type): New function.
1698	(elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1699	common symbol depending on BFD_CONVERT_ELF_COMMON and
1700	BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
1701	* elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1702	and BFD_USE_ELF_STT_COMMON to object_flags.
1703	(TARGET_LITTLE_SYM): Likewise.
1704	* syms.c (BSF_KEEP_G): Renamed to ...
1705	(BSF_ELF_COMMON): This.
1706	* bfd-in2.h: Regenerated.
1707	* config.in: Likewise.
1708	* configure: Likewise.
1709
17102016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
1711
1712	PR ld/19636
1713	PR ld/19704
1714	PR ld/19719
1715	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1716	(elf_i386_link_hash_entry): Add has_got_reloc and
1717	has_non_got_reloc.
1718	(elf_i386_link_hash_table): Add interp.
1719	(elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1720	has_non_got_reloc.
1721	(elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1722	has_non_got_reloc.
1723	(elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1724	(elf_i386_fixup_symbol): New function.
1725	(elf_i386_pie_finish_undefweak_symbol): Likewise.
1726	(elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1727	relocations and discard relocations against resolved undefined
1728	weak symbols in executable.  Don't make resolved undefined weak
1729	symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
1730	relocation against undefined weak symbols in PIE.
1731	(elf_i386_size_dynamic_sections): Set interp to .interp section.
1732	(elf_i386_relocate_section): Don't generate dynamic relocations
1733	against resolved undefined weak symbols in PIE, except for
1734	R_386_PC32.
1735	(elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1736	dynamic PLT/GOT relocations for resolved undefined weak symbols.
1737	Don't generate dynamic relocation against resolved undefined weak
1738	symbol in executable.
1739	(elf_i386_finish_dynamic_sections): Call
1740	elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1741	(elf_backend_fixup_symbol): New.
1742	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1743	(elf_x86_64_link_hash_entry): Add has_got_reloc and
1744	has_non_got_reloc.
1745	(elf_x86_64_link_hash_table): Add interp.
1746	(elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1747	has_non_got_reloc.
1748	(elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1749	has_non_got_reloc.
1750	(elf_x86_64_check_relocs): Set has_got_reloc and
1751	has_non_got_reloc.
1752	(elf_x86_64_fixup_symbol): New function.
1753	(elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1754	(elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1755	relocations and discard relocations against resolved undefined
1756	weak symbols in executable.  Don't make resolved undefined weak
1757	symbols in executable dynamic.
1758	(elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1759	(elf_x86_64_relocate_section): Check relocation overflow for
1760	dynamic relocations against unresolved weak undefined symbols.
1761	Don't generate dynamic relocations against resolved weak
1762	undefined symbols in PIE.
1763	(elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1764	dynamic PLT/GOT relocations for resolved undefined weak symbols.
1765	Don't generate dynamic relocation against resolved undefined weak
1766	symbol in executable.
1767	(elf_x86_64_finish_dynamic_sections): Call
1768	elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1769	(elf_backend_fixup_symbol): New.
1770
17712016-02-26  Alan Modra  <amodra@gmail.com>
1772
1773	* elf64-ppc.c (create_linkage_sections): Create sfpr when
1774	save_restore_funcs, rest of sections when not relocatable.
1775	(ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1776	(sfpr_define): Define all symbols on emitted code.
1777	(ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1778	when relocatable.  Move sfpr_define loop earlier.
1779
17802016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1781
1782	* elf64-x86-64.c (elf_x86_64_need_pic): New function.
1783	(elf_x86_64_relocate_section): Use it.  Replace
1784	x86_64_elf_howto_table[r_type] with howto.
1785
17862016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1787
1788	PR ld/19698
1789	* elflink.c (bfd_elf_record_link_assignment): Set versioned if
1790	symbol version is unknown.
1791
17922016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
1793
1794	* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1795	to (bfd_vma) -1 when setting needs_plt to 0.
1796	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1797
17982016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
1799
1800	* elflink.c (bfd_elf_record_link_assignment): Check for shared
1801	library, instead of PIC, and don't check PDE when making linker
1802	assigned symbol dynamic.
1803
18042016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
1805
1806	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1807	ABIVERSION for non-executable stack.
1808
18092016-02-23  Rich Felker  <bugdal@aerifal.cx>
1810
1811	PR target/19516
1812	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1813	Always produce a RELATIVE reloc for a local symbol.
1814
18152016-02-23  Hans-Peter Nilsson  <hp@axis.com>
1816
1817	Fix test-case ld-elf/pr19617b
1818	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1819	discard unused non-function symbols when --dynamic-list-data.
1820
18212016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1822
1823	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1824	dynsym section, even if it is empty, with dynamic sections.
1825
18262016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
1827
1828	* syms.c: Remove BSF_COMMON from comments.
1829	* bfd-in2.h: Regenerated.
1830
18312016-02-22  Jiong Wang  <jiong.wang@arm.com>
1832
1833	* elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1834	for destination.  Remove useless function parameters.
1835	(elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1836
18372016-02-19  Nick Clifton  <nickc@redhat.com>
1838
1839	PR ld/19629
1840	* aoutx.h (aout_link_add_symbols): Check for out of range string
1841	table offsets.
1842
1843	PR ld/19628
1844	* reloc.c (bfd_generic_get_relocated_section_contents): Stop
1845	processing if we encounter a reloc without an associated symbol.
1846
18472016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
1848
1849	PR ld/19617
1850	* elflink.c (elf_link_add_object_symbols): Always create dynamic
1851	sections for -E/--dynamic-list.
1852
18532016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
1854
1855	* elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
1856	to bfd_true.
1857
18582016-02-16  Joseph Myers  <joseph@codesourcery.com>
1859
1860	* plugin.c (plugin_vec): Set match priority to 255.
1861	* format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1862	matching against the plugin vector, take priority from there not
1863	from TEMP.
1864
18652016-02-15  Nick Clifton  <nickc@redhat.com>
1866
1867	* elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1868	for length and type fields.  Use a signed value for the
1869	suffix_length field.
1870
18712016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1872
1873	PR ld/19601
1874	* elf32-i386.c (elf_i386_relocate_section): Mask off the least
1875	significant bit in GOT offset for R_386_GOT32X.
1876
18772016-02-10  Nick Clifton  <nickc@redhat.com>
1878
1879	PR 19405
1880	* elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1881	immediate values.
1882	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1883	number of messages about FDE encoding preventing .eh_frame_hdr
1884	generation.
1885
18862016-02-09  Nick Clifton  <nickc@redhat.com>
1887
1888	* oasys.c (oasys_archive_p): Fix indentation.
1889	* elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1890	constant for left shifting.
1891
1892	* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1893	helpful warning message to explain why certain AArch64 relocs
1894	might overflow.
1895
18962016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
1897
1898	* pe-mips.c (coff_mips_reloc): Fix formatting.
1899
19002016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
1901
1902	* cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1903	to bfd_mach_arc_arc600.
1904
19052016-02-04  Alan Modra  <amodra@gmail.com>
1906
1907	* elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1908	for big-endian.
1909
19102016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1911
1912	PR ld/19542
1913	* elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
1914	distances in the compressed_size field of the output section.
1915
19162016-02-02  Alan Modra  <amodra@gmail.com>
1917
1918	* elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
1919	ELFv2 entry optimization.
1920
19212016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
1922
1923	PR binutils/19547
1924	* elf.c (assign_section_numbers): Clear HAS_RELOC if there are
1925	no relocations in relocatable files.
1926
19272016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
1928
1929	PR ld/19553
1930	* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
1931	if a symbol from a library loaded via DT_NEEDED doesn't match
1932	the symbol referenced by regular object.
1933
19342016-02-01  Nathaniel Smith  <njs@pobox.com>
1935
1936	* peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
1937	CODE and DATA.
1938
19392016-02-01  Alan Modra  <amodra@gmail.com>
1940
1941	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
1942	an out of range reloc_index.
1943	* elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
1944
19452016-02-01  Kamil Rytarowski  <n54@gmx.com>
1946
1947	* Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
1948	(OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
1949	* Makefile.in: Regenerated.
1950
19512016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
1952
1953	* elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
1954
19552016-01-31  John David Anglin  <danglin@gcc.gnu.org>
1956
1957	PR ld/19526
1958	* elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
1959	files.
1960	* elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
1961
19622016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1963
1964	PR ld/19539
1965	* elf32-i386.c (elf_i386_reloc_type_class): Check relocation
1966	against STT_GNU_IFUNC symbol only with dynamic symbols.
1967	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
1968
19692016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
1970
1971	PR binutils/19523
1972	* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
1973	decompress debug sections.
1974
19752016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
1976
1977	* elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
1978	`dynindx'.
1979
19802016-01-25  Nick Clifton  <nickc@redhat.com>
1981
1982	PR target/19435
1983	* mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
1984	dsym filename buffer.
1985
19862016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
1987
1988	* elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
1989
19902016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
1991
1992	* elfxx-mips.c (BZ16_REG): Correct calculation.
1993
19942016-01-21  Nick Clifton  <nickc@redhat.com>
1995
1996	* elf32-arc.c (ADD_RELA): Fix compile time warning errors by
1997	changing the type of _loc to be bfd_byte *.
1998	(elf_arc_finish_dynamic_symbol): Likewise.
1999
20002016-01-21  Nick Clifton  <nickc@redhat.com>
2001
2002	PR ld/19455
2003	* elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2004	class of the linker stub bfd.
2005	(elf32_arm_check_relocs): Skip check for pic format after
2006	processing a vxWorks R_ARM_ABS12 reloc.
2007	* elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2008	reporting a class mismatch.
2009
20102016-01-21  Jiong Wang  <jiong.wang@arm.com>
2011
2012	* elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2013	veneer for sym_sec != input_sec.
2014	(elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2015	(elfNN_aarch64_final_link_relocate): Take rela addend into account when
2016	calculation destination.
2017
20182016-01-21  Alan Modra  <amodra@gmail.com>
2019
2020	* elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2021	(swap_linux_prpsinfo64_out): New function.
2022	(LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2023	(LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2024	* elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
2025	(elfcore_write_linux_prpsinfo64): Likewise.
2026	* elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2027	(PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2028	(elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
2029
20302016-01-21  Alan Modra  <amodra@gmail.com>
2031
2032	* elf-linux-core.h: Rename from elf-linux-psinfo.h.
2033	* elf.c: Adjust #include.
2034	* elf32-ppc.c: Don't #include elf-linux-psinfo.h
2035	* Makefile.am (SOURCE_HFILES): Update.
2036	* Makefile.in: Regenerate.
2037	* po/SRC-PORFILES.in: Regenerate.
2038
20392016-01-21  Alan Modra  <amodra@gmail.com>
2040
2041	* configure.ac: Move corefile selection later in file.  Move
2042	tdefaults code immediately after other target vector code.
2043	* configure: Regenerate.
2044
20452016-01-20  Mickael Guene  <mickael.guene@st.com>
2046
2047	* elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2048	section using '.text.noread' pattern.
2049
20502016-01-19  John Baldwin  <jhb@FreeBSD.org>
2051
2052	* elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2053
20542016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
2055	    Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
2056
2057	* arc-plt.def: New file.
2058	* arc-plt.h: Likewise.
2059	* elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2060		       elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2061		       elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2062		       elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2063	(name_for_global_symbol): Added.
2064	(ADD_RELA): Helper to create dynamic relocs.
2065	(new_got_entry_to_list): Create a new got entry in linked list.
2066	(symbol_has_entry_of_type): Search for specific type of entry in
2067	list.
2068	(is_reloc_for_GOT): return FALSE for any TLS related relocs.
2069	(is_reloc_for_TLS, arc_elf_set_private_flags)
2070	(arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2071	(arc_elf_merge_private_bfd_data): New functions.
2072	(debug_arc_reloc): Cleaned debug info printing.
2073	(PDATA reloc): Changed not to perform address alignment.
2074	(reverse_me): Added. Fix for ARC_32 relocs.
2075	(arc_do_relocation): Return bfd_reloc_of when no relocation should
2076	occur.
2077	(arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2078	Changed function to access an array of list of GOT entries instead
2079	of just an array of offsets.
2080	(elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2081	(elf_arc_check_relocs): Likewise.
2082	(elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2083	(elf_arc_finish_dynamic_sections): Likewise
2084	(arc_create_dynamic_sections): Modified conditions to create
2085	dynamic sections.
2086	(ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2087	(plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2088	(relocate_plt_for_entry): Changed to support new way to define PLT
2089	related code.
2090	(add_symbol_to_plt): Likewise.
2091	(arc_elf_link_hash_table_create): New function.
2092
20932016-01-18  Nick Clifton  <nickc@redhat.com>
2094
2095	PR ld/19440
2096	* coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2097	section number into internal section number.
2098	* coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2099	* coffswap.h (coff_swap_sym_in): Likewise.
2100	* peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2101	* coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2102	section number field is big enough to hold the external value.
2103
21042016-01-17  Alan Modra  <amodra@gmail.com>
2105
2106	* configure: Regenerate.
2107
21082016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
2109
2110	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2111	when address in first unwind entry does not match start of
2112	section.
2113
21142016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
2115	    Jiong Wang  <jiong.wang@arm.com>
2116
2117	PR ld/19368
2118	* elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2119	reloc_class_ifunc.
2120
21212016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
2122
2123	* elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2124	place 'R_' before the reloc name returned.
2125	(elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2126	the relocation string.
2127
21282016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2129
2130	* elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2131	factored out from...
2132	(_bfd_mips_elf_merge_private_bfd_data): ... here.
2133
21342016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2135
2136	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2137	attribute check after ELF file header flag check.
2138
21392016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2140
2141	* elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2142	return status from `_bfd_elf_merge_object_attributes'.
2143
21442016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2145
2146	* elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2147	factored out from...
2148	(_bfd_mips_elf_merge_private_bfd_data): ... here.
2149
21502016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2151
2152	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2153	handling of input MIPS ABI flags together.
2154
21552016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2156
2157	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2158	attribute checks for null input.
2159
21602016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2161
2162	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2163	pointers to target data.
2164
21652016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
2166
2167	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2168	an FP ABI warning.
2169
21702016-01-01  Alan Modra  <amodra@gmail.com>
2171
2172	Update year range in copyright notice of all files.
2173
2174For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2175
2176Copyright (C) 2016 Free Software Foundation, Inc.
2177
2178Copying and distribution of this file, with or without modification,
2179are permitted in any medium without royalty provided the copyright
2180notice and this notice are preserved.
2181
2182Local Variables:
2183mode: change-log
2184left-margin: 8
2185fill-column: 74
2186version-control: never
2187End:
2188