12016-12-31  Alan Modra  <amodra@gmail.com>
2
3	* elfn32-mips.c (elf_backend_want_dynrelro): Define.
4
52016-12-29  Alan Modra  <amodra@gmail.com>
6
7	* elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
8	copying one flag, ref_dynamic, when versioned_hidden.
9	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
10	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
11	logic for copying weakdef flags.  Copy plabel flag and merge
12	tls_type.
13	* elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
14	for copying weakdef flags.
15	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
16	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
17	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
18	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
19	* elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
20	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
21	Simplify.
22
232016-12-28  Alan Modra  <amodra@gmail.com>
24
25	PR ld/20995
26	* elflink.c (elf_link_add_object_symbols): Mark relro sections
27	in dynamic objects SEC_READONLY.
28
292016-12-26  Alan Modra  <amodra@gmail.com>
30
31	PR ld/20995
32	* elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
33	sreldynrelro.
34	(struct elf_backend_data): Add want_dynrelro.
35	* elfxx-target.h (elf_backend_want_dynrelro): Define.
36	(elfNN_bed): Update initializer.
37	* elflink.c (_bfd_elf_create_dynamic_sections): Create
38	sdynrelro and sreldynrelro sections.
39	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
40	copied into the executable from read-only sections into sdynrelro.
41	(elf32_arm_size_dynamic_sections): Handle sdynrelro.
42	(elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
43	dynamic relocs in sdynrelro.
44	(elf_backend_want_dynrelro): Define.
45	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
46	(elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
47	(elf_backend_want_dynrelro): As above.
48	* elf32-i386.c (elf_i386_adjust_dynamic_symbol)
49	(elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
50	(elf_backend_want_dynrelro): As above.
51	* elf32-metag.c (elf_metag_adjust_dynamic_symbol)
52	(elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
53	(elf_backend_want_dynrelro): As above.
54	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
55	(microblaze_elf_size_dynamic_sections)
56	(microblaze_elf_finish_dynamic_symbol)
57	(elf_backend_want_dynrelro): As above.
58	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
59	(nios2_elf32_adjust_dynamic_symbol)
60	(nios2_elf32_size_dynamic_sections)
61	(elf_backend_want_dynrelro): As above.
62	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
63	(or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
64	(elf_backend_want_dynrelro): As above.
65	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
66	(ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
67	(elf_backend_want_dynrelro): As above.
68	* elf32-s390.c (elf_s390_adjust_dynamic_symbol)
69	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
70	(elf_backend_want_dynrelro): As above.
71	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
72	(elf32_tic6x_size_dynamic_sections)
73	(elf32_tic6x_finish_dynamic_symbol)
74	(elf_backend_want_dynrelro): As above.
75	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
76	(tilepro_elf_size_dynamic_sections)
77	(tilepro_elf_finish_dynamic_symbol)
78	(elf_backend_want_dynrelro): As above.
79	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
80	(ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
81	(elf_backend_want_dynrelro): As above.
82	* elf64-s390.c (elf_s390_adjust_dynamic_symbol)
83	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
84	(elf_backend_want_dynrelro): As above.
85	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
86	(elf_x86_64_size_dynamic_sections)
87	(elf_x86_64_finish_dynamic_symbol)
88	(elf_backend_want_dynrelro): As above.
89	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
90	(elfNN_aarch64_size_dynamic_sections)
91	(elfNN_aarch64_finish_dynamic_symbol)
92	(elf_backend_want_dynrelro): As above.
93	* elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
94	(riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
95	(elf_backend_want_dynrelro): As above.
96	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
97	(_bfd_mips_elf_size_dynamic_sections)
98	(_bfd_mips_vxworks_finish_dynamic_symbol): As above.
99	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
100	(_bfd_sparc_elf_size_dynamic_sections)
101	(_bfd_sparc_elf_finish_dynamic_symbol): As above.
102	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
103	(tilegx_elf_size_dynamic_sections)
104	(tilegx_elf_finish_dynamic_symbol): As above.
105	* elf32-mips.c (elf_backend_want_dynrelro): Define.
106	* elf64-mips.c (elf_backend_want_dynrelro): Define.
107	* elf32-sparc.c (elf_backend_want_dynrelro): Define.
108	* elf64-sparc.c (elf_backend_want_dynrelro): Define.
109	* elf32-tilegx.c (elf_backend_want_dynrelro): Define.
110	* elf64-tilegx.c (elf_backend_want_dynrelro): Define.
111	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
112	(microblaze_elf_size_dynamic_sections): Handle sdynbss.
113	* elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
114	of linker shortcuts to dynamic sections rather than comparing
115	names.  Correctly set "got" flag.
116
1172016-12-26  Alan Modra  <amodra@gmail.com>
118
119	* elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss.
120	* elflink.c (_bfd_elf_create_dynamic_sections): Set them.  Create
121	.rel.bss/.rela.bss for executables, both PIE and non-PIE.
122	* elf32-arc.c (struct elf_arc_link_hash_table): Delete srelbss.
123	Use ELF hash table var throughout.
124	* elf32-arm.c (struct elf32_arm_link_hash_table): Delete sdynbss
125	and srelbss.  Use ELF hash table vars throughout.
126	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Likewise.
127	* elf32-i386.c (struct elf_i386_link_hash_table): Likewise.
128	* elf32-metag.c (struct elf_metag_link_hash_table): Likewise.
129	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Likewise.
130	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Likewise.
131	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
132	* elf32-ppc.c (struct ppc_elf_link_hash_table): Likewise.
133	* elf32-s390.c (struct elf_s390_link_hash_table): Likewise.
134	* elf32-tic6x.c (struct elf32_tic6x_link_hash_table): Likewise.
135	* elf32-tilepro.c (struct tilepro_elf_link_hash_table): Likewise.
136	* elf64-ppc.c (struct ppc_link_hash_table): Likewise.
137	* elf64-s390.c (struct elf_s390_link_hash_table): Likewise.
138	* elf64-x86-64.c (struct elf_x86_64_link_hash_table): Likewise.
139	* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Likewise.
140	* elfnn-riscv.c (struct riscv_elf_link_hash_table): Likewise.
141	* elfxx-mips.c (struct mips_elf_link_hash_table): Likewise.
142	* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Likewise.
143	* elfxx-sparc.c: Likewise.
144	* elfxx-tilegx.c (struct tilegx_elf_link_hash_table): Likewise.
145
146	* elf32-arc.c (arc_elf_create_dynamic_sections): Delete.
147	(elf_backend_create_dynamic_sections): Use base ELF version.
148	* elf32-microblaze.c (microblaze_elf_create_dynamic_sections): Delete.
149	(elf_backend_create_dynamic_sections): Use base ELF version.
150	* elf32-or1k.c (or1k_elf_create_dynamic_sections): Delete.
151	(elf_backend_create_dynamic_sections): Use base ELF version.
152	* elf32-s390.c (elf_s390_create_dynamic_sections): Delete.
153	(elf_backend_create_dynamic_sections): Use base ELF version.
154	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): Delete.
155	(elf_backend_create_dynamic_sections): Use base ELF version.
156	* elf64-s390.c (elf_s390_create_dynamic_sections): Delete.
157	(elf_backend_create_dynamic_sections): Use base ELF version.
158
159	* elf32-tilepro.c (tilepro_elf_create_dynamic_sections): Remove
160	extraneous tests.
161	* elfnn-aarch64.c (elfNN_aarch64_create_dynamic_sections): Likewise.
162	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Likewise.
163	* elfxx-tilegx.c (tilegx_elf_create_dynamic_sections): Likewise.
164
165	* elf32-i386.c (elf_i386_create_dynamic_sections): Don't create
166	".rel.bss" for executables.
167	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't create
168	".rela.bss" for executables.
169	* elf32-nios2.c (nios2_elf32_create_dynamic_sections): Don't
170	ignore return status from _bfd_elf_create_dynamic_sections.
171
1722016-12-23  Maciej W. Rozycki  <macro@imgtec.com>
173
174	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert
175	2016-02-23 change and remove EI_ABIVERSION 5 support.
176
1772016-12-23  Alan Modra  <amodra@gmail.com>
178
179	* linker.c (generic_link_check_archive_element): Call target
180	bfd_link_add_symbols to add element symbols.
181
1822016-12-23  Alan Modra  <amodra@gmail.com>
183
184	* linker.c (generic_link_add_symbols): Delete.  Merge into..
185	(_bfd_generic_link_add_symbols): ..here.
186	(generic_link_check_archive_element_no_collect): Delete.
187	(generic_link_check_archive_element_collect): Likewise.
188	(generic_link_add_object_symbols): Remove "collect" param.  Update
189	callers.
190	(generic_link_add_symbol_list): Likewise.
191	(generic_link_check_archive_element): Likewise.  Call
192	bfd_link_add_symbols rather than generic_link_add_object_symbols.
193	* libbfd-in.h (_bfd_generic_link_add_symbols_collect): Delete.
194	* libbfd.h: Regenerate.
195
1962016-12-23  Alan Modra  <amodra@gmail.com>
197
198	PR binutils/20464
199	PR binutils/14625
200	* configure.ac: Revert 2016-05-25 configure change setting
201	want_64_bit_archive for mips64 and s390x.  Revise USE_64_BIT_ARCHIVE
202	description.
203	* configure: Regenerate.
204	* config.in: Regenerate.
205
2062016-12-23  Tristan Gingold  <gingold@adacore.com>
207
208	* version.m4: Bump version to 2.27.90
209	* configure: Regenerate.
210
2112016-12-23  Tristan Gingold  <gingold@adacore.com>
212
213	* po/bfd.pot: Regenerate.
214
2152016-12-22  Alan Modra  <amodra@gmail.com>
216
217	* libbfd-in.h (_bfd_vms_lib_slurp_armap): Use _bfd_noarchive function.
218	(_bfd_vms_lib_slurp_extended_name_table: Likewise.
219	(_bfd_vms_lib_construct_extended_name_table: Likewise.
220	(_bfd_vms_lib_truncate_arname: Likewise.
221	(_bfd_vms_lib_write_armap: Likewise.
222	(_bfd_vms_lib_read_ar_hdr: Likewise.
223	(_bfd_vms_lib_write_ar_hdr: Likewise.
224	* libbfd.h: Regenerate.
225
2262016-12-21: Yury Norov <ynorov@caviumnetworks.com>
227            Andreas Schwab <schwab@suse.de>
228
229	* cpu-aarch64.c: Fix word and address size declaration in
230	ilp32 mode in bfd_arch_info_type bfd_aarch64_arch_ilp32
231	structure.
232
2332016-12-20  Andrew Waterman  <andrew@sifive.com>
234
235	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
236	EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
237
2382016-12-20  Andrew Waterman  <andrew@sifive.com>
239
240	* elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma
241	instead of unsigned int.
242
2432016-12-20  Andrew Waterman  <andrew@sifive.com>
244	    Kuan-Lin Chen  <kuanlinchentw@gmail.com>
245
246	* reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation.
247	(BFD_RELOC_RISCV_TPREL_S): Likewise.
248	(BFD_RELOC_RISCV_RELAX): Likewise.
249	(BFD_RELOC_RISCV_CFA): Likewise.
250	(BFD_RELOC_RISCV_SUB6): Likewise.
251	(BFD_RELOC_RISCV_SET8): Likewise.
252	(BFD_RELOC_RISCV_SET8): Likewise.
253	(BFD_RELOC_RISCV_SET16): Likewise.
254	(BFD_RELOC_RISCV_SET32): Likewise.
255	* elfnn-riscv.c (perform_relocation): Handle the new
256	relocations.
257	(_bfd_riscv_relax_tls_le): Likewise.
258	(_bfd_riscv_relax_align): Likewise.
259	(_bfd_riscv_relax_section): Likewise.
260	(howto_table): Likewise.
261	(riscv_reloc_map): Likewise.
262	(relax_func_t): New type.
263	(_bfd_riscv_relax_call): Add reserve_size argument, which
264	controls the maximal offset pessimism.  Correct type of max_alignment.
265	(_bfd_riscv_relax_lui): Likewise.
266	(_bfd_riscv_relax_tls_le): Likewise.
267	(_bfd_riscv_relax_align): Likewise.
268	(_bfd_riscv_relax_section): Compute the required reserve size
269	when relocating and use it to when calling relax_func.
270	* bfd-in2.h: Regenerate.
271	* libbfd.h: Likewise.
272
2732016-12-20  Andrew Waterman  <andrew@sifive.com>
274
275	* elfnn-riscv.c: Formatting and comment fixes throughout.
276	* elfxx-riscv.c: Likewise.
277	(howto_table): Change the src_mask field from MINUS_ONE to 0 for
278	R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32,
279	R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64.
280
2812016-12-20  Palmer Dabbelt  <palmer@dabbelt.com>
282
283	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
284	error message when linking elf32 and elf64.
285
2862016-12-19  Christian Groessler  <chris@groessler.org>
287
288	* elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'.  Make
289	'sum' local variable signed.
290
2912016-12-16  fincs  <fincs.alt1@gmail.com>
292
293	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
294	for info->gc_keep_exported.
295	(bfd_elf_gc_sections): Likewise.
296
2972016-12-15  Alan Modra  <amodra@gmail.com>
298
299	PR ld/20968
300	PR ld/20908
301	* elflink.c (bfd_elf_final_link): Revert 2016-12-02 change.  Move
302	reloc counting code later after ELF flavour test.
303
3042016-12-14  Maciej W. Rozycki  <macro@imgtec.com>
305
306	* bfd-in.h (elf_internal_abiflags_v0): New struct declaration.
307	(bfd_mips_elf_get_abiflags): New prototype.
308	* elfxx-mips.c (bfd_mips_elf_get_abiflags): New function.
309	* bfd-in2.h: Regenerate.
310
3112016-12-14  Yury Norov <ynorov@caviumnetworks.com>
312
313         * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
314         TCB_SIZE is used.
315
3162016-12-13  Alan Modra  <amodra@gmail.com>
317
318	* elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
319	for objcopy/strip or when a ld script specifies PHDRS.
320
3212016-12-13  Alan Modra  <amodra@gmail.com>
322
323	* elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
324	segments that include the ELF file header or program headers.
325
3262016-12-08  Alan Modra  <amodra@gmail.com>
327
328	PR ld/20932
329	* elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.
330
3312016-12-07  Nick Clifton  <nickc@redhat.com>
332
333	PR ld/20932
334	* elflink.c (bfd_elf_record_link_assignment): Replace call to
335	abort with an error message and error return value.
336
3372016-12-06  Nick Clifton  <nickc@redhat.com>
338
339	PR binutils/20931
340	* elf.c (copy_special_section_fields): Check for an invalid
341	sh_link field before attempting to follow it.
342
343	PR binutils/20929
344	* aoutx.h (squirt_out_relocs): Check for relocs without an
345	associated symbol.
346
3472016-12-06  Alan Modra  <amodra@gmail.com>
348
349	* elf64-ppc.c (ok_lo_toc_insn): Add r_type param.  Recognize
350	lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
351	Don't match lmd and stmd.
352
3532016-12-05  Alyssa Milburn <amilburn@zall.org>
354
355	* elfxx-sparc.c: Do not stop processing relocations after
356	partially relaxing a call with WDISP30.
357
3582016-12-05  Nick Clifton  <nickc@redhat.com>
359
360	PR binutils/20905
361	* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
362	the end of the string buffer.
363
364	PR binutils/20907
365	* peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.
366
367	PR binutils/20921
368	* aoutx.h (squirt_out_relocs): Check for and report any relocs
369	that could not be recognised.
370
371	PR binutils/20922
372	* elf.c (find_link): Check for null headers before attempting to
373	match them.
374
375	PR ld/20925
376	* aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
377	FALSE.
378
379	PR ld/20924
380	(aout_link_add_symbols): Fix off by one error checking for
381	overflow of string offset.
382
3832016-12-03  Alan Modra  <amodra@gmail.com>
384
385	* elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
386	(struct ppc_link_hash_table): Delete "twiddled_syms".  Add
387	"need_func_desc_adj".
388	(lookup_fdh): Link direct fdh sym via oh field and set flags.
389	(make_fdh): Make strong and weak undefined function descriptor
390	symbols.
391	(ppc64_elf_merge_symbol): New function.
392	(elf_backend_merge_symbol): Define.
393	(ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
394	function descriptors.
395	(add_symbol_adjust): Don't twiddle symbols to undefweak.
396	Propagate more ref flags to function descriptor symbol.  Make
397	some function descriptor symbols dynamic.
398	(ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
399	ELFv1.  Set need_func_desc_adj.  Don't fix undefs list.
400	(ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
401	Don't call lookup_fdh here.
402	(ppc64_elf_gc_sections): New function.
403	(bfd_elf64_bfd_gc_sections): Define.
404	(ppc64_elf_gc_mark_hook): Mark descriptor.
405	(func_desc_adjust): Don't make fake function descriptor syms strong
406	here.  Exit earlier on non-dotsyms.  Take note of elf.dynamic
407	flag when deciding whether a dynamic function descriptor might
408	be needed.  Transfer elf.dynamic and set elf.needs_plt.  Move
409	plt regardless of visibility.  Make descriptor dynamic if
410	entry sym is dynamic, not for other cases.
411	(ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
412	already done.
413	(ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
414	(ppc64_elf_size_stubs): Likewise.
415	(ppc_build_one_stub): Don't clear was_undefined.  Only set sym
416	undefweak if stub symbol is defined.
417	(undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
418	* elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
419
4202016-12-03  Alan Modra  <amodra@gmail.com>
421
422	* elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
423	elf_link_hash_table rather than ppc_link_hash_table.
424
4252016-12-03  Alan Modra  <amodra@gmail.com>
426
427	* elf64-ppc.c (add_symbol_adjust): Delete dead code.
428
4292016-12-03  Alan Modra  <amodra@gmail.com>
430
431	* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
432	warning and indirect symbols.
433
4342016-12-03  Alan Modra  <amodra@gmail.com>
435
436	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
437	flags when direct symbol is versioned_hidden.
438
4392016-12-02  Nick Clifton  <nickc@redhat.com>
440
441	PR ld/20908
442	* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
443	when following indirect links.
444
445	PR ld/20909
446	* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
447	for an illegal string offset.
448
4492016-12-02  Gary Benson  <gbenson@redhat.com>
450
451	* elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
452	elf_parse_notes.
453
4542016-12-02  Josh Conner  <joshconner@google.com>
455
456	* config.bfd: Add support for fuchsia (OS).
457
4582016-12-01  Yury Norov  <ynorov@caviumnetworks.com>
459
460	PR ld/20868
461	* elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
462	to the GOT when operating in 32-bit mode.
463
4642016-12-01  Ma Jiang  <ma.jiang@zte.com.cn>
465
466	PR ld/16720
467	* elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
468	test for HI16 relocs.
469
4702016-12-01  Nick Clifton  <nickc@redhat.com>
471
472	PR binutils/20891
473	* aoutx.h (find_nearest_line): Handle the case where the main file
474	name and the directory name are both empty.
475
476	PR binutils/20892
477	* aoutx.h (find_nearest_line): Handle the case where the function
478	name is empty.
479
4802016-11-30  Alan Modra  <amodra@gmail.com>
481
482	* elf.c (get_program_header_size): Revert accidental change.
483
4842016-11-30  Alan Modra  <amodra@gmail.com>
485
486	PR ld/20886
487	* elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
488	on any pass past STUB_SHRINK_ITER.
489
4902016-11-28  H.J. Lu  <hongjiu.lu@intel.com>
491
492	* elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
493	symbol in executable.
494	(elf_link_output_extsym): Don't change bind from global to
495	local when linking executable.
496
4972016-11-28  Nick Clifton  <nickc@redhat.com>
498
499	PR ld/20815
500	* elf.c (phdr_sorter): Delete.
501	(assign_file_positions_except_relocs): Do not sort program
502	headers.
503
5042016-11-25  Jon Turney  <jon.turney@dronecode.org.uk>
505
506	PR ld/20193
507	* peXXigen.c (rsrc_process_section): Do not shrink the merged
508	.rsrc section.
509
5102016-11-24  Jiong Wang  <jiong.wang@arm.com>
511
512	PR target/20737
513	* elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
514	locally in PIE.
515
5162016-11-24  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
517
518	* bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
519
5202016-11-23  Nick Clifton  <nickc@redhat.com>
521
522	PR ld/20815
523	* elf.c (elf_modify_segment_map): Allow empty LOAD segments if
524	they contain the program headers.
525	(_bfd_elf_map_sections_to_segments): If the linker created the
526	PHDR segment then always attempt to include it in a LOAD segment.
527	(assign_file_positions_for_non_load_sections): Allow LOAD segments
528	to overlap PHDR segments.
529	(phdr_sorter): New function.  Sorts program headers.
530	(assign_file_positions_except_relocs): Sort the program headers
531	before writing them out.  Issue an error if the PHDR segment is
532	not covered by a LOAD segment, unless the backend allows it.
533	* elf-bfd.h (struct elf_backend_data): Add
534	elf_backend_allow_non_load_phdr.
535	* elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
536	default definition that returns FALSE.
537	(elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
538	field.
539	* elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
540	Returns TRUE.
541	(elf_backend_allow_non_load_phdr): Define.
542	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
543	place the interpreter string into the .interp section if the
544	nointerp flag is set in the link info structure.
545	* elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
546	* elf32-score7.c (score_elf_final_link_relocate): Allow for the
547	_gp symbol not being part of the output.
548
5492016-11-23  Alan Modra  <amodra@gmail.com>
550
551	* elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
552	* elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
553	(elfNN_bed): Init new field.
554	* elflink.c (bfd_elf_final_link): Add and use htab variable.  Handle
555	dtrel_excludes_plt.
556	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
557	DT_RELASZ code.
558	(elf_backend_dtrel_excludes_plt): Define.
559	* elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
560	(elf_backend_dtrel_excludes_plt): Define.
561	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
562	subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
563	(elf_backend_dtrel_excludes_plt): Define.
564	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
565	DT_RELASZ code.
566	(elf_backend_dtrel_excludes_plt): Define.
567	* elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
568	code.
569	(elf_backend_dtrel_excludes_plt): Define.
570	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
571	and DT_RELA code.
572	(elf_backend_dtrel_excludes_plt): Define.
573	* elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
574	and DT_REL code.
575	(elf_backend_dtrel_excludes_plt): Define.
576	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
577	code.
578	(elf_backend_dtrel_excludes_plt): Define.
579	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
580	code.
581	(elf_backend_dtrel_excludes_plt): Define.
582	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
583	code.
584	(elf_backend_dtrel_excludes_plt): Define.
585	* elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
586	and DT_RELA code.
587	(elf_backend_dtrel_excludes_plt): Define.
588	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
589	DT_RELASZ and DT_RELA code.  Use ELF htab shortcuts for other
590	dynamic sections.
591	(elf_backend_dtrel_excludes_plt): Define.
592	* elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
593	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
594	code.
595	(elf_backend_dtrel_excludes_plt): Define.
596	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
597	code.
598	(elf_backend_dtrel_excludes_plt): Define.
599	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
600	code.
601	(elf_backend_dtrel_excludes_plt): Define.
602	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
603	code.
604	(elf_backend_dtrel_excludes_plt): Define.
605	* elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
606	code.
607	(elf_backend_dtrel_excludes_plt): Define.
608	* elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
609	* elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
610	code.
611	(elf_backend_dtrel_excludes_plt): Define.
612	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
613	code.
614	(elf_backend_dtrel_excludes_plt): Define.
615	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
616	code.
617	(elf_backend_dtrel_excludes_plt): Define.
618	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
619	and DT_RELA code.
620	(elf_backend_dtrel_excludes_plt): Define.
621	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
622	code.
623	(elf_backend_dtrel_excludes_plt): Define.
624	* elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
625	code.
626	(elf_backend_dtrel_excludes_plt): Define.
627	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
628	DT_RELASZ code.
629	(elf_backend_dtrel_excludes_plt): Define.
630	* elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
631	code.
632	(elf_backend_dtrel_excludes_plt): Define.
633	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
634	DT_RELASZ code.
635	* elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.
636
6372016-11-23  Alan Modra  <amodra@gmail.com>
638
639	* elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
640	to dynamic sections.
641	(mn10300_elf_final_link_relocate): Likewise.
642	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
643	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
644	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
645	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
646	* elf32-bfin.c (bfin_check_relocs): Likewise.
647	(bfin_relocate_section): Likewise.
648	(bfin_gc_sweep_hook): Likewise.
649	(struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
650	and spltrel.
651	(bfinfdpic_got_section, bfinfdpic_gotrel_section,
652	bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
653	shortcut sections.
654	(_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
655	Delete dead code.
656	(bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
657	(bfin_size_dynamic_sections): Likewise.
658	* elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
659	(cr16_elf_check_relocs): Likewise.
660	(cr16_elf_final_link_relocate): Likewise.
661	(_bfd_cr16_elf_create_dynamic_sections): Likewise.
662	(_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
663	(_bfd_cr16_elf_size_dynamic_sections): Likewise.
664	(_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
665	(_bfd_cr16_elf_finish_dynamic_sections): Likewise.
666	* elf32-cris.c (cris_elf_relocate_section): Likewise.
667	(elf_cris_finish_dynamic_symbol): Likewise.
668	(elf_cris_finish_dynamic_sections): Likewise.
669	(cris_elf_gc_sweep_hook): Likewise.
670	(elf_cris_adjust_gotplt_to_got): Likewise.
671	(elf_cris_adjust_dynamic_symbol): Likewise.
672	(cris_elf_check_relocs): Likewise.  Delete dead code.
673	(elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
674	sections.
675	(elf_cris_discard_excess_program_dynamics): Likewise.
676	* elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
677	sgotrel, splt and spltrel.
678	(frvfdpic_got_section, frvfdpic_gotrel_section,
679	frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
680	shortcut sections.
681	(_frv_create_got_section): Likewise.
682	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
683	srelgot, splt and srelplt.
684	(hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
685	(elf32_hppa_create_dynamic_sections): Likewise.
686	(elf32_hppa_check_relocs): Likewise.
687	(allocate_plt_static): Likewise.
688	(allocate_dynrelocs): Likewise.
689	(elf32_hppa_size_dynamic_sections): Likewise.
690	(elf32_hppa_relocate_section): Likewise.
691	(elf32_hppa_finish_dynamic_symbol): Likewise.
692	(elf32_hppa_finish_dynamic_sections): Likewise.
693	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
694	* elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
695	sgotplt, srelgot, splt and srelplt.
696	(lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
697	shortcut sections.
698	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
699	(lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
700	(lm32_elf_check_relocs): Likewise.
701	(lm32_elf_finish_dynamic_sections): Likewise.
702	(lm32_elf_finish_dynamic_symbol): Likewise.
703	(allocate_dynrelocs): Likewise.
704	(lm32_elf_size_dynamic_sections): Likewise.
705	(lm32_elf_create_dynamic_sections): Likewise.
706	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
707	(m32c_elf_check_relocs): Likewise.
708	(m32c_elf_finish_dynamic_sections): Likewise.
709	(m32c_elf_always_size_sections): Likewise.
710	* elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
711	sgotplt, srelgot, splt and srelplt.
712	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
713	(m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
714	sections.
715	(allocate_dynrelocs): Likewise.
716	(m32r_elf_size_dynamic_sections): Likewise.
717	(m32r_elf_relocate_section): Likewise.
718	(m32r_elf_finish_dynamic_symbol): Likewise.
719	(m32r_elf_finish_dynamic_sections): Likewise.
720	(m32r_elf_check_relocs): Likewise.
721	* elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
722	(elf_m68k_check_relocs): Likewise.
723	(elf_m68k_adjust_dynamic_symbol): Likewise.
724	(elf_m68k_size_dynamic_sections): Likewise.
725	(elf_m68k_relocate_section): Likewise.
726	(elf_m68k_finish_dynamic_symbol): Likewise.
727	(elf_m68k_finish_dynamic_sections): Likewise.
728	* elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
729	sgotplt, srelgot, splt and srelplt.
730	(elf_metag_relocate_section): Use elf htab shortcuts to dynamic
731	sections.
732	(elf_metag_create_dynamic_sections): Likewise.  Allocate got header
733	here in .got.
734	(elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
735	(allocate_dynrelocs): Likewise.
736	(elf_metag_size_dynamic_sections): Likewise.
737	(elf_metag_finish_dynamic_symbol): Likewise.
738	(elf_metag_finish_dynamic_sections): Likewise.
739	(elf_metag_size_stubs): Likewise.
740	(elf_backend_got_header_size): Don't define.
741	(elf_backend_want_got_plt): Define.
742	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
743	sgotplt, srelgot, splt and srelpl.
744	(microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
745	sections.
746	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
747	(microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
748	(microblaze_elf_create_dynamic_sections): Likewise.
749	(allocate_dynrelocs): Likewise.
750	(microblaze_elf_size_dynamic_sections): Likewise.
751	(microblaze_elf_finish_dynamic_symbol): Likewise.
752	(microblaze_elf_finish_dynamic_sections): Likewise.
753	* elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
754	already zero fields.
755	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
756	(nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
757	sections.
758	(allocate_dynrelocs): Likewise.
759	(nds32_elf_size_dynamic_sections): Likewise.
760	(nds32_elf_relocate_section): Likewise.
761	(nds32_elf_finish_dynamic_symbol): Likewise.
762	(nds32_elf_finish_dynamic_sections): Likewise.
763	(nds32_elf_check_relocs): Likewise.
764	(calculate_plt_memory_address): Likewise.
765	(calculate_got_memory_address): Likewise.
766	* elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
767	sgotplt, srelgot, splt and srelplt.
768	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
769	(or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
770	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
771	(or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
772	(or1k_elf_finish_dynamic_sections): Likewise.
773	(or1k_elf_finish_dynamic_symbol): Likewise.
774	(allocate_dynrelocs): Likewise.
775	(or1k_elf_size_dynamic_sections): Likewise.
776	(or1k_elf_create_dynamic_sections): Likewise.
777	* elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
778	plt, relplt, iplt, reliplt and sgotplt.
779	(ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
780	(ppc_elf_create_glink): Likewise.
781	(ppc_elf_create_dynamic_sections): Likewise.
782	(ppc_elf_check_relocs): Likewise.
783	(ppc_elf_select_plt_layout): Likewise.
784	(ppc_elf_tls_setup): Likewise.
785	(allocate_got): Likewise.
786	(allocate_dynrelocs): Likewise.
787	(ppc_elf_size_dynamic_sections): Likewise.
788	(ppc_elf_relax_section): Likewise.
789	(ppc_elf_relocate_section): Likewise.
790	(ppc_elf_finish_dynamic_symbol): Likewise.
791	(ppc_elf_reloc_type_class): Likewise.
792	(ppc_elf_finish_dynamic_sections): Likewise.
793	* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
794	(rl78_elf_check_relocs): Likewise.
795	(rl78_elf_finish_dynamic_sections): Likewise.
796	(rl78_elf_always_size_sections): Likewise.
797	* elf32-s390.c 	(create_got_section): Delete.
798	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
799	(elf_s390_check_relocs): Likewise.
800	* elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
801	(s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
802	* elf32-score7.c (score_elf_create_got_section): As above.
803	(s7_bfd_score_elf_finish_dynamic_sections): As above.
804	* elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
805	sgotplt, srelgot, splt and srelplt.
806	(create_got_section): Don't set them.
807	(sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
808	sections.
809	(allocate_dynrelocs): Likewise.
810	(sh_elf_size_dynamic_sections): Likewise.
811	(sh_elf_add_rofixup): Likewise.
812	(sh_elf_relocate_section): Likewise.
813	(sh_elf_check_relocs): Likewise.
814	(sh_elf_finish_dynamic_symbol): Likewise.
815	(sh_elf_finish_dynamic_sections): Likewise.
816	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
817	* elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
818	* elf32-vax.c (elf_vax_check_relocs): Likewise.
819	(elf_vax_adjust_dynamic_symbol): Likewise.
820	(elf_vax_always_size_sections): Likewise.
821	(elf_vax_instantiate_got_entries): Likewise.
822	(elf_vax_relocate_section): Likewise.
823	(elf_vax_finish_dynamic_symbol): Likewise.
824	(elf_vax_finish_dynamic_sections): Likewise.
825	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
826	(xstormy16_elf_always_size_sections): Likewise.
827	(xstormy16_elf_relocate_section): Likewise.
828	(xstormy16_elf_finish_dynamic_sections): Likewise.
829	* elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
830	sgotplt, srelgot, splt and srelplt.
831	(elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
832	dynamic sections.
833	(elf_xtensa_allocate_dynrelocs): Likewise.
834	(elf_xtensa_allocate_local_got_size): Likewise.
835	(elf_xtensa_size_dynamic_sections): Likewise.
836	(elf_xtensa_relocate_section): Likewise.
837	(elf_xtensa_finish_dynamic_sections): Likewise.
838	(shrink_dynamic_reloc_sections): Likewise.
839	(elf_xtensa_get_plt_section): Likewise.
840	(elf_xtensa_get_gotplt_section): Likewise.
841	(xtensa_callback_required_dependence): Likewise.
842	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
843	shortcuts to dynamic sections.
844	(elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
845	dynamic sections.
846	(elf64_alpha_size_plt_section): Likewise.
847	(elf64_alpha_size_rela_got_1): Likewise.
848	(elf64_alpha_size_rela_got_section): Likewise.
849	(elf64_alpha_relocate_section): Likewise.
850	(elf64_alpha_finish_dynamic_symbol): Likewise.
851	(elf64_alpha_finish_dynamic_sections): Likewise.
852	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
853	* elf64-s390.c (create_got_section): Delete.
854	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
855	(elf_s390_check_relocs): Likewise.
856	* elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
857	dynamic sections.
858	(sh_elf64_check_relocs): Likewise.
859	(sh64_elf64_adjust_dynamic_symbol): Likewise.
860	(sh64_elf64_size_dynamic_sections): Likewise.
861	(sh64_elf64_finish_dynamic_symbol): Likewise.
862	(sh64_elf64_finish_dynamic_sections): Likewise.
863	* elflink.c (_bfd_elf_create_got_section): Likewise.
864	* elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
865	* elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
866	(elfNN_ia64_finish_dynamic_sections): Likewise.
867	* elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
868	* elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
869	sgotplt, splt and sgot.
870	(mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
871	sections.
872	(mips_elf_gotplt_index): Likewise.
873	(mips_elf_primary_global_got_index): Likewise.
874	(mips_elf_global_got_index): Likewise.
875	(mips_elf_got_offset_from_index): Likewise.
876	(mips_elf_create_local_got_entry): Likewise.
877	(mips_elf_create_got_section): Likewise.
878	(mips_elf_calculate_relocation): Likewise.
879	(_bfd_mips_elf_create_dynamic_sections): Likewise.
880	(_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
881	(mips_elf_lay_out_got): Likewise.
882	(mips_elf_set_plt_sym_value): Likewise.
883	(_bfd_mips_elf_size_dynamic_sections): Likewise.
884	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
885	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
886	(mips_finish_exec_plt): Likewise.
887	(mips_vxworks_finish_exec_plt): Likewise.
888	(mips_vxworks_finish_shared_plt): Likewise.
889	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
890	* elfxx-sparc.c (sparc_finish_dyn): Likewise.
891	* elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.
892
8932016-11-23  Alan Modra  <amodra@gmail.com>
894
895	* po/BLD-POTFILES.in: Regenerate.
896	* po/SRC-POTFILES.in: Regenerate.
897
8982016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
899
900        * warning.m4: Fix spelling in comments.
901        * configure.ac: Fix spelling in comments.
902        * configure: Regenerate.
903
9042016-11-22  Alan Modra  <amodra@gmail.com>
905
906	PR 20744
907	* elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
908	* elf32-ppc.c: Include opcode/ppc.h.
909	(ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
910	R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
911	R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
912	R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
913	R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
914	(ppc_elf_link_hash_table_create): Update default_params init.
915	(ppc_elf_vle_split16): Correct shift and mask.  Add params.
916	Report or fix insn/reloc mismatches.
917	(ppc_elf_relocate_section): Pass input_section, offset and fixup
918	to ppc_elf_vle_split16.
919
9202016-11-22  Alan Modra  <amodra@gmail.com>
921
922	* elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
923	input_bfd.  Replace occurrences of output_bfd as bfd_get_32 and
924	bfd_put_32 param with input_bfd.
925	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.  Also
926	ppc_elf_vle_split16 param.
927	(ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
928
9292016-11-21  Maciej W. Rozycki  <macro@imgtec.com>
930
931	* dwarf2.c (build_line_info_table): Rename `index' local
932	variable to `line_index'.
933	(build_lookup_funcinfo_table): Rename `index' local variable to
934	`func_index'.
935
9362016-11-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
937
938	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
939	apply the negative GOT offset optimization in 64-bit code.
940
9412016-11-18  James Clarke  <jrtc27@jrtc27.com>
942
943	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
944	R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
945	R_SPARC_GOT* for non-local references. Instead, treat them like
946	R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
947	immediate with the calculated relocation.
948
9492016-11-18  Nick Clifton  <nickc@redhat.com>
950
951	PR ld/20675
952	* elf32-metag.c (elf_metag_relocate_section): Replace abort with
953	an informative error message.
954
9552016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
956
957	PR ld/20789
958	* bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
959	manipulation of diff value, and don't assume sym2 is less than sym1.
960	(elf32_avr_adjust_reloc_if_spans_insn): New function.
961	(elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
962	and remove redundant did_pad.
963
964
9652016-11-14  H.J. Lu  <hongjiu.lu@intel.com>
966
967	PR ld/20800
968	* elf64-x86-64.c (elf_x86_64_relocate_section): Also check
969	plt_got.offset for R_X86_64_PLTOFF64.
970
9712016-11-14  Nick Clifton  <nickc@redhat.com>
972
973	* coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
974
9752016-11-11  Luke Allardyce  <lukeallardyce@gmail.com>
976
977	PR ld/20722
978	* coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
979	but treat them as debugging symbols.
980
9812016-11-10  Jiong Wang  <jiong.wang@arm.com>
982
983	PR target/20737
984	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
985	symbol locally in PIE.
986
9872016-11-10  Nick Clifton  <nickc@redhat.com>
988
989	PR binutils/20801
990	* compress.c (bfd_get_full_section_contents): Provide a more
991	helpful error message when a section is too large to load.
992
9932016-11-08  Pedro Alves  <palves@redhat.com>
994
995	* dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
996	not "bfd boolean".
997
9982016-11-08  Igor Tsimbalist  <tigor.tools@gmail.com>
999
1000	* dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
1001	'number_of_functions' to keep lookup table and number of entries in
1002	the table.
1003	(line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
1004	to keep lookup table and number of entries in the table.
1005	(lookup_funcinfo): New structure for lookup table for function
1006	references.
1007	(build_line_info_table): New function to create and build the lookup
1008	table for line information.
1009	(lookup_address_in_line_info_table): Use the lookup table instead of
1010	traverse a linked list.
1011	(compare_lookup_funcinfos): New compare fuction used in sorting of
1012	lookup table for function references.
1013	(build_lookup_funcinfo_table): New function to create, build and
1014	sort the lookup table for functions references.
1015	(lookup_address_in_function_table): Use the table instead of
1016	traverse a linked list.
1017	(_bfd_dwarf2_cleanup_debug_info): Free memory from function references
1018	lookup table.
1019
10202016-11-04  Nick Clifton  <nickc@redhat.com>
1021
1022	* targets.c (bfd_target_vector): Only add riscv_elf32_vec target
1023	when supporting 64-bit BFD targets.
1024
10252016-11-03  Tristan Gingold  <gingold@adacore.com>
1026
1027	* config.bfd: Deprecate many old triplets.
1028
10292016-11-03  Nick Clifton  <nickc@redhat.com>
1030
1031	* po/da.po: Updated Danish translation.
1032
10332016-11-01  Maciej W. Rozycki  <macro@imgtec.com>
1034
1035	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
1036	not fall through to the default case.
1037
10382016-11-01  Palmer Dabbelt  <palmer@dabbelt.com>
1039	    Andrew Waterman <andrew@sifive.com>
1040
1041	Add support for RISC-V architecture.
1042	* Makefile.am: Add entries for riscv32-elf and riscv64-elf.
1043	* config.bdf: Likewise.
1044	* configure.ac: Likewise.
1045	* Makefile.in: Regenerate.
1046	* configure: Regenerate.
1047	* archures.c: Add bfd_riscv_arch.
1048	* reloc.c: Add riscv relocs.
1049	* targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
1050	* bfd-in2.h: Regenerate.
1051	* libbfd.h: Regenerate.
1052	* elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
1053	* elfnn-riscv.c: New file.
1054	* elfxx-riscv.c: New file.
1055	* elfxx-riscv.h: New file.
1056
10572016-10-31  Alan Modra  <amodra@gmail.com>
1058
1059	PR 20748
1060	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
1061	2016-05-13 change.
1062
10632016-10-27  Andrew Burgess  <andrew.burgess@embecosm.com>
1064
1065	* cpu-arc.c (arc_get_mach): Delete.
1066
10672016-10-25  Maciej W. Rozycki  <macro@imgtec.com>
1068
1069	* elfxx-mips.c (STUB_JALR): Correct description.
1070
10712016-10-20  Nick Clifton  <nickc@redhat.com>
1072
1073	* po/gas.pot: Regenerate.
1074
10752016-10-19  Nick Clifton  <nickc@redhat.com>
1076
1077	* aout-adobe.c: Add missing c-format tags for translatable strings.
1078	* aout-cris.c: Likewise.
1079	* aoutx.h: Likewise.
1080	* bfd.c: Likewise.
1081	* binary.c: Likewise.
1082	* cache.c: Likewise.
1083	* coff-alpha.c: Likewise.
1084	* coff-arm.c: Likewise.
1085	* coff-i860.c: Likewise.
1086	* coff-mcore.c: Likewise.
1087	* coff-ppc.c: Likewise.
1088	* coff-rs6000.c: Likewise.
1089	* coff-sh.c: Likewise.
1090	* coff-tic4x.c: Likewise.
1091	* coff-tic54x.c: Likewise.
1092	* coff-tic80.c: Likewise.
1093	* coff64-rs6000.c: Likewise.
1094	* coffcode.h: Likewise.
1095	* coffgen.c: Likewise.
1096	* cofflink.c: Likewise.
1097	* coffswap.h: Likewise.
1098	* cpu-arm.c: Likewise.
1099	* dwarf2.c: Likewise.
1100	* ecoff.c: Likewise.
1101	* elf-attrs.c: Likewise.
1102	* elf-eh-frame.c: Likewise.
1103	* elf-ifunc.c: Likewise.
1104	* elf-m10300.c: Likewise.
1105	* elf-s390-common.c: Likewise.
1106	* elf.c: Likewise.
1107	* elf32-arc.c: Likewise.
1108	* elf32-arm.c: Likewise.
1109	* elf32-avr.c: Likewise.
1110	* elf32-bfin.c: Likewise.
1111	* elf32-cr16.c: Likewise.
1112	* elf32-cr16c.c: Likewise.
1113	* elf32-cris.c: Likewise.
1114	* elf32-crx.c: Likewise.
1115	* elf32-d10v.c: Likewise.
1116	* elf32-d30v.c: Likewise.
1117	* elf32-epiphany.c: Likewise.
1118	* elf32-fr30.c: Likewise.
1119	* elf32-frv.c: Likewise.
1120	* elf32-gen.c: Likewise.
1121	* elf32-hppa.c: Likewise.
1122	* elf32-i370.c: Likewise.
1123	* elf32-i386.c: Likewise.
1124	* elf32-i960.c: Likewise.
1125	* elf32-ip2k.c: Likewise.
1126	* elf32-iq2000.c: Likewise.
1127	* elf32-lm32.c: Likewise.
1128	* elf32-m32c.c: Likewise.
1129	* elf32-m32r.c: Likewise.
1130	* elf32-m68hc11.c: Likewise.
1131	* elf32-m68hc12.c: Likewise.
1132	* elf32-m68hc1x.c: Likewise.
1133	* elf32-m68k.c: Likewise.
1134	* elf32-mcore.c: Likewise.
1135	* elf32-mep.c: Likewise.
1136	* elf32-metag.c: Likewise.
1137	* elf32-microblaze.c: Likewise.
1138	* elf32-moxie.c: Likewise.
1139	* elf32-msp430.c: Likewise.
1140	* elf32-mt.c: Likewise.
1141	* elf32-nds32.c: Likewise.
1142	* elf32-nios2.c: Likewise.
1143	* elf32-or1k.c: Likewise.
1144	* elf32-pj.c: Likewise.
1145	* elf32-ppc.c: Likewise.
1146	* elf32-rl78.c: Likewise.
1147	* elf32-rx.c: Likewise.
1148	* elf32-s390.c: Likewise.
1149	* elf32-score.c: Likewise.
1150	* elf32-score7.c: Likewise.
1151	* elf32-sh-symbian.c: Likewise.
1152	* elf32-sh.c: Likewise.
1153	* elf32-sh64.c: Likewise.
1154	* elf32-spu.c: Likewise.
1155	* elf32-tic6x.c: Likewise.
1156	* elf32-tilepro.c: Likewise.
1157	* elf32-v850.c: Likewise.
1158	* elf32-vax.c: Likewise.
1159	* elf32-visium.c: Likewise.
1160	* elf32-xgate.c: Likewise.
1161	* elf32-xtensa.c: Likewise.
1162	* elf64-alpha.c: Likewise.
1163	* elf64-gen.c: Likewise.
1164	* elf64-hppa.c: Likewise.
1165	* elf64-ia64-vms.c: Likewise.
1166	* elf64-mmix.c: Likewise.
1167	* elf64-ppc.c: Likewise.
1168	* elf64-s390.c: Likewise.
1169	* elf64-sh64.c: Likewise.
1170	* elf64-sparc.c: Likewise.
1171	* elf64-x86-64.c: Likewise.
1172	* elfcode.h: Likewise.
1173	* elfcore.h: Likewise.
1174	* elflink.c: Likewise.
1175	* elfnn-aarch64.c: Likewise.
1176	* elfnn-ia64.c: Likewise.
1177	* elfxx-mips.c: Likewise.
1178	* elfxx-sparc.c: Likewise.
1179	* elfxx-tilegx.c: Likewise.
1180	* ieee.c: Likewise.
1181	* ihex.c: Likewise.
1182	* libbfd.c: Likewise.
1183	* linker.c: Likewise.
1184	* m68klinux.c: Likewise.
1185	* mach-o.c: Likewise.
1186	* merge.c: Likewise.
1187	* mmo.c: Likewise.
1188	* oasys.c: Likewise.
1189	* pdp11.c: Likewise.
1190	* pe-mips.c: Likewise.
1191	* peXXigen.c: Likewise.
1192	* pei-x86_64.c: Likewise.
1193	* peicode.h: Likewise.
1194	* ppcboot.c: Likewise.
1195	* reloc.c: Likewise.
1196	* sparclinux.c: Likewise.
1197	* srec.c: Likewise.
1198	* stabs.c: Likewise.
1199	* vms-alpha.c: Likewise.
1200	* vms-lib.c: Likewise.
1201	* xcofflink.c: Likewise.
1202
12032016-10-18  Nick Clifton  <nickc@redhat.com>
1204
1205	* po/da.po: Updated Danish translation.
1206
12072016-10-18  Maciej W. Rozycki  <macro@imgtec.com>
1208
1209	* elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
1210	from GCC.
1211
12122016-10-18  Maciej W. Rozycki  <macro@imgtec.com>
1213
1214	* elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
1215	variable to `reloc_index'.
1216
12172016-10-12  Alan Modra  <amodra@gmail.com>
1218
1219	* section.c (BFD_FAKE_SECTION): Reorder parameters.  Formatting.
1220	(STD_SECTION): Adjust to suit.
1221	* elf.c (_bfd_elf_large_com_section): Likewise.
1222	* bfd-in2.h: Regenerate.
1223
12242016-10-11  Alan Modra  <amodra@gmail.com>
1225
1226	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
1227	defined temporarily with bfd_und_section.
1228	* elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
1229	* elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
1230	symbols with bfd_und_section.
1231
12322016-10-07  Alan Modra  <amodra@gmail.com>
1233
1234	* targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
1235	obfd param with struct bfd_link_info param.  Update all callers.
1236	* linker.c (bfd_merge_private_bfd_data): Likewise.
1237	(_bfd_generic_verify_endian_match): Likewise.
1238	* aoutf1.h (sunos_merge_private_bfd_data): Likewise.
1239	* coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
1240	* elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
1241	* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
1242	(_bfd_elf_merge_object_attributes): Likewise.
1243	* elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
1244	* elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
1245	* elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
1246	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
1247	(elf32_arm_merge_private_bfd_data): Likewise.
1248	* elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
1249	* elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
1250	* elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
1251	* elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
1252	* elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
1253	* elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
1254	* elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
1255	* elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
1256	* elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
1257	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
1258	* elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
1259	* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
1260	* elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
1261	* elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
1262	* elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
1263	(elf32_msp430_merge_private_bfd_data): Likewise.
1264	* elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
1265	* elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
1266	* elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
1267	* elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
1268	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
1269	(ppc_elf_merge_obj_attributes): Likewise.
1270	(ppc_elf_merge_private_bfd_data): Likewise.
1271	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
1272	* elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
1273	* elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
1274	* elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
1275	(elf32_score_merge_private_bfd_data): Likewise.
1276	* elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
1277	* elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
1278	* elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
1279	* elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
1280	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
1281	* elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
1282	(elf32_tic6x_merge_private_bfd_data): Likewise.
1283	* elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
1284	* elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
1285	* elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
1286	* elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
1287	* elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
1288	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
1289	* elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
1290	* elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
1291	* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
1292	* elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
1293	* elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
1294	* elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
1295	(mips_elf_merge_obj_attributes): Likewise.
1296	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
1297	* elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
1298	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
1299	* elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
1300	* elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
1301	* elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
1302	* elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
1303	* libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
1304	* bfd-in2.h: Regenerate.
1305	* libbfd.h: Regenerate.
1306
13072016-10-07  Alan Modra  <amodra@gmail.com>
1308
1309	* Makefile.am (LIBBFD_H_FILES): Update.
1310	* doc/Makefile.am (LIBBFD_H_DEP): Likewise.
1311	* cpu-sh.c (sh_merge_bfd_arch): Move to..
1312	* elf32-sh.c: ..here, and make static.
1313	* elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
1314	error.
1315	* elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
1316	_bfd_generic_verify_endian_match.
1317	* elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
1318	(bfd_elf32_bfd_merge_private_bfd_data): Define as
1319	_bfd_generic_verify_endian_match.
1320	* elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
1321	boolean == FALSE.
1322	* elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
1323	(bfd_elf32_bfd_merge_private_bfd_data): Don't define.
1324	* elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
1325	* libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
1326	* libbfd.c (_bfd_generic_verify_endian_match): Move to..
1327	* linker.c: ..here, and make internal.
1328	* bfd.c (bfd_merge_private_bfd_data): Move to..
1329	* linker.c: ..here.
1330	* Makefile.in: Regenerate.
1331	* doc/Makefile.in: Regenerate.
1332	* bfd-in2.h: Regenerate.
1333	* libbfd.h: Regenerate.
1334
13352016-10-06  Alan Modra  <amodra@gmail.com>
1336
1337	* coff-h8300.c: Spell fall through comments consistently.
1338	* coffgen.c: Likewise.
1339	* elf32-hppa.c: Likewise.
1340	* elf32-ppc.c: Likewise.
1341	* elf32-score.c: Likewise.
1342	* elf32-score7.c: Likewise.
1343	* elf64-ppc.c: Likewise.
1344	* elfxx-aarch64.c: Likewise.
1345	* elfxx-mips.c: Likewise.
1346	* cpu-ns32k.c: Add missing fall through comments.
1347	* elf-m10300.c: Likewise.
1348	* elf32-arm.c: Likewise.
1349	* elf32-avr.c: Likewise.
1350	* elf32-bfin.c: Likewise.
1351	* elf32-frv.c: Likewise.
1352	* elf32-i386.c: Likewise.
1353	* elf32-microblaze.c: Likewise.
1354	* elf32-nds32.c: Likewise.
1355	* elf32-ppc.c: Likewise.
1356	* elf32-rl78.c: Likewise.
1357	* elf32-rx.c: Likewise.
1358	* elf32-s390.c: Likewise.
1359	* elf32-sh.c: Likewise.
1360	* elf32-tic6x.c: Likewise.
1361	* elf64-ia64-vms.c: Likewise.
1362	* elf64-ppc.c: Likewise.
1363	* elf64-s390.c: Likewise.
1364	* elf64-x86-64.c: Likewise.
1365	* elflink.c: Likewise.
1366	* elfnn-aarch64.c: Likewise.
1367	* elfnn-ia64.c: Likewise.
1368	* ieee.c: Likewise.
1369	* oasys.c: Likewise.
1370	* pdp11.c: Likewise.
1371	* srec.c: Likewise.
1372	* versados.c: Likewise.
1373
13742016-10-06  Alan Modra  <amodra@gmail.com>
1375
1376	* coffcode.h (coff_slurp_symbol_table): Revert accidental commit
1377	made 2015-01-08.
1378	* elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
1379	* reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
1380
13812016-10-06  Alan Modra  <amodra@gmail.com>
1382
1383	* elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
1384	OR in arithmetic expression, not boolean OR.
1385
13862016-09-30  Alan Modra  <amodra@gmail.com>
1387
1388	* Makefile.am (BFD_H_FILES): Add linker.c and simple.c.  Sort
1389	as per comment at head of bfd-in2.h.
1390	* Makefile.in: Regenerate.
1391
13922016-09-30  Alan Modra  <amodra@gmail.com>
1393
1394	* aout-adobe.c: Replace (*_bfd_error_handler) (...) with
1395	_bfd_error_handler (...) throughout.
1396	* aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
1397	* cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
1398	* coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
1399	* coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
1400	* coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
1401	* coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
1402	* ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
1403	* elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
1404	* elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
1405	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
1406	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
1407	* elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
1408	* elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
1409	* elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
1410	* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
1411	* elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
1412	* elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
1413	* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
1414	* elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
1415	* elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
1416	* elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
1417	* elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
1418	* ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
1419	* mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
1420	* pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
1421	* rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
1422	* stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
1423	* xcofflink.c: Likewise.
1424
14252016-09-30  Alan Modra  <amodra@gmail.com>
1426
1427	* bfd-in.h: Include stdarg.h.
1428	* bfd.c (bfd_error_handler_type): Make like vprintf.
1429	(_bfd_error_internal): Rename from _bfd_error_handler.  Make static.
1430	(error_handler_internal): New function, split out from..
1431	(_bfd_default_error_handler): ..here.  Rename to _bfd_error_handler.
1432	(bfd_set_error_handler): Update.
1433	(bfd_get_error_handler, bfd_get_assert_handler): Delete.
1434	(_bfd_assert_handler): Make static.
1435	* coffgen.c (null_error_handler): Update params.
1436	* elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
1437	Don't use bfd_error_handler_type.
1438	* elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
1439	* elfxx-target.h (elf_backend_link_order_error_handler): Default
1440	to _bfd_error_handler.
1441	* libbfd-in.h (_bfd_default_error_handler): Don't declare.
1442	(bfd_assert_handler_type): Likewise.
1443	(_bfd_error_handler): Update.
1444	* bfd-in2.h: Regenerate.
1445	* libbfd.h: Regenerate.
1446
14472016-09-28  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
1448
1449	PR ld/20636
1450	* elf-bfd.h (struct elf_backend_data): Delete
1451	elf_backend_count_output_relocs callback and add
1452	elf_backend_update_relocs.
1453	* elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
1454	(emit_relocs): Deleted.
1455	(elf32_arm_emit_relocs): Deleted.
1456	(elf_backend_emit_relocs): Updated not to use the old functions.
1457	(elf32_arm_update_relocs): New function.
1458	(elf_backend_update_relocs): New define.
1459	* elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
1460	relocation count. Call elf_backend_emit_relocs.
1461	(_bfd_elf_size_reloc_section): Do not call
1462	elf_backend_count_output_relocs.
1463	* elfxx-target.h (elf_backend_count_output_relocs): Deleted.
1464	(elf_backend_update_relocs): New define.
1465
14662016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
1467
1468	PR ld/20608
1469	* elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
1470	Thumb-ARM stub is too far.
1471
14722016-09-27  Nick Clifton  <nickc@redhat.com>
1473
1474	PR ld/20634
1475	* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
1476	timestamp field if real time values are not being stored.
1477
14782016-09-26  Vlad Zakharov  <vzakhar@synopsys.com>
1479
1480	* warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
1481	to verify CC_FOR_BUILD compiler.
1482	(AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
1483	and add CC_FOR_BUILD compiler checks.
1484	* Makefile.in: Regenerate.
1485	* configure: Likewise.
1486	* doc/Makefile.in: Likewise.
1487
14882016-09-26  Awson  <kyrab@mail.ru>
1489
1490	PR ld/17955
1491	* coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
1492	for R_AMD64_PCRQUAD relocations.
1493
14942016-09-26  Alan Modra  <amodra@gmail.com>
1495
1496	* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
1497	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
1498	(ppc_elf_merge_obj_attributes): Use it.  Don't copy first file
1499	attributes, merge them.  Don't warn about undefined tag bits,
1500	or copy unknown values to output.
1501	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
1502	_bfd_elf_ppc_merge_fp_attributes.
1503
15042016-09-23  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
1505
1506	PR ld/20595
1507	* elf-bfd.h (struct elf_backend_data): Add
1508	elf_backend_count_output_relocs callback to count relocations in
1509	the final output.
1510	* elf-arm.c (elf32_arm_add_relocation): Deleted.
1511	(elf32_arm_write_section): Move additional relocation to emit_relocs.
1512	(elf32_arm_count_output_relocs): New function.
1513	(emit_relocs): New function.
1514	(elf32_arm_emit_relocs): New function.
1515	(elf32_arm_vxworks_emit_relocs): New function.
1516	(elf_backend_emit_relocs): Updated to use the new functions.
1517	(elf_backend_count_output_relocs): New define.
1518	* bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
1519	to the relocation count.
1520	(_bfd_elf_link_size_reloc_section): Use callback to count the
1521	relocations which will be in output.
1522	(_bfd_elf_default_count_output_relocs): New function.
1523	* bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
1524
15252016-09-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
1526
1527	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
1528	negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
1529	bigger than 0x1000 bytes.
1530
15312016-09-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1532
1533	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
1534	not already marked.
1535
15362016-09-14  Nick Clifton  <nickc@redhat.com>
1537
1538	PR binutils/20605
1539	* peicode.h (pe_bfd_read_buildid): Check that the Data Directory
1540	contains a valid size for the Debug directory.
1541
15422016-09-14  Bhushan Attarde  <bhushan.attarde@imgtec.com>
1543
1544	* format.c (struct bfd_preserve): New "build_id" field.
1545	(bfd_preserve_save): Save "build_id".
1546	(bfd_preserve_restore): Restore "build_id".
1547
15482016-09-06  H.J. Lu  <hongjiu.lu@intel.com>
1549
1550	PR ld/20550
1551	* elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
1552	relocation with copy relocation when building executable.
1553
15542016-09-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1555
1556	PR ld/20545
1557	* elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
1558	delete_shrinks_insn. Modify computation of shrinked_insn_address.
1559	Compute shrink_boundary and adjust addend only if
1560	addend_within_shrink_boundary.
1561	(elf32_avr_relax_section): Modify calls to
1562	elf32_avr_relax_delete_bytes to pass extra parameter.
1563
15642016-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1565
1566	* elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
1567	array of bytes and use bfd_get_16 to interpret its encoding according
1568	to endianness of target.
1569
15702016-09-01  Alan Modra  <amodra@gmail.com>
1571
1572	* elf64-ppc.c (synthetic_opd): New static var.
1573	(compare_symbols): Don't treat symbols in .opd specially for ELFv2.
1574	(ppc64_elf_get_synthetic_symtab): Likewise.  Comment.
1575
15762016-08-31  Alan Modra  <amodra@gmail.com>
1577
1578	* elf64-ppc.c (group_sections): Delete stub14_group_size.  Instead,
1579	track max group size with a new "group_size" var that is reduced
1580	by a factor of 1024 from the 24-bit branch size whenever a 14-bit
1581	branch is seen.
1582
15832016-08-31  Alan Modra  <amodra@gmail.com>
1584
1585	* elf32-ppc.c (ppc_elf_section_processing): Delete.
1586	(elf_backend_section_processing): Don't define.
1587	(ppc_elf_modify_segment_map): Set p_flags and mark valid.  Don't
1588	split on non-exec sections differing in SHF_PPC_VLE.  When
1589	splitting segments, mark size invalid.
1590
15912016-08-30  Alan Modra  <amodra@gmail.com>
1592
1593	PR 20531
1594	* elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
1595
15962016-08-29  H.J. Lu  <hongjiu.lu@intel.com>
1597
1598	PR ld/14961
1599	PR ld/20515
1600	* elf32-i386.c (elf_i386_check_relocs): Issue an error when
1601	R_386_PC32 relocation is used to call IFUNC function in PIC
1602	object.
1603
16042016-08-27  Alan Modra  <amodra@gmail.com>
1605
1606	PR 20520
1607	* elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
1608	have corresponding SHF_GROUP sections.
1609	(bfd_elf_set_group_contents): Comment.
1610
16112016-08-27  Alan Modra  <amodra@gmail.com>
1612
1613	PR 20519
1614	* elf64-ppc.c (pc_dynrelocs): New function.
1615	(ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
1616	handle pic dynamic relocs.
1617
16182016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1619
1620	* bfd-in.h (struct elf32_arm_params): Define.
1621	(bfd_elf32_arm_set_target_relocs): Rename into ...
1622	(bfd_elf32_arm_set_target_params): This.  Use a struct
1623	elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
1624	* bfd-in2.h: Regenerate.
1625	* elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
1626	(bfd_elf32_arm_set_target_params): This.  Pass all values via a struct
1627	elf32_arm_params rather than as individual parameters.
1628
16292016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1630
1631	* elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
1632	passed the end of htab->stub_group array.
1633	(elf32_arm_create_or_find_stub_sec): Likewise.
1634	(elf32_arm_create_stub): Likewise.
1635
16362016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
1637
1638	* elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
1639	to TRUE for GOT and TLS relocs.
1640
16412016-08-26  Cupertino Miranda  <cmiranda@synospsys.com>
1642
1643	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1644
16452016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
1646
1647	* elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
1648	* elf32-arc.c (struct elf_arc_link_hash_entry): Added.
1649	(struct elf_arc_link_hash_table): Likewise.
1650	(elf_arc_link_hash_newfunc): Likewise.
1651	(elf_arc_link_hash_table_free): Likewise.
1652	(arc_elf_link_hash_table_create): Likewise.
1653	(elf_arc_relocate_section): Fixed conditions related to dynamic
1654	(elf_arc_check_relocs): Likewise.
1655	(arc_elf_create_dynamic_sections): Added
1656	(elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
1657	through the hash table.
1658
16592016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
1660
1661	* arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
1662	debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
1663	relocation.
1664
16652016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
1666
1667	* reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
1668	relocation.
1669	* bfd-in2.h: Regenerated from the previous changes.
1670	* libbfd.h: Regenerated from the previous changes.
1671
16722016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1673
1674	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
1675	the input import library bfd.
1676	* bfd-in2.h: Regenerate.
1677	* elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
1678	and new_cmse_stub_offset fields.
1679	(stub_hash_newfunc): Initialize stub_offset and stub_template_size to
1680	-1.
1681	(elf32_arm_add_stub): Likewise for stub_offset.
1682	(arm_new_stubs_start_offset_ptr): New function.
1683	(arm_build_one_stub): Only allocate a stub_offset if it is -1.  Allow
1684	empty SG veneers to have zero relocations.
1685	(arm_size_one_stub): Only initialize stub size and template
1686	information for non empty veneers.  Do not update veneer section size
1687	if veneer already has an offset.
1688	(elf32_arm_create_stub): Return the stub entry pointer or NULL instead
1689	of a boolean indicating success or failure.
1690	(cmse_scan): Change stub_changed parameter into an integer pointer
1691	parameter cmse_stub_created to count the number of stub created and
1692	adapt to change of return value in elf32_arm_create_stub.
1693	(cmse_entry_fct_p): New function.
1694	(arm_list_new_cmse_stub): Likewise.
1695	(set_cmse_veneer_addr_from_implib): Likewise.
1696	(elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
1697	cmse_scan instead of that of cmse_stub_changed to compute the number
1698	of stub created and use it to initialize stub_changed.  Call
1699	set_cmse_veneer_addr_from_implib after all cmse_scan.  Adapt to change
1700	of return value in elf32_arm_create_stub.  Use
1701	arm_stub_section_start_offset () if not NULL to initialize size of
1702	secure gateway veneers section.  Initialize stub_offset of Cortex-A8
1703	erratum fix to -1.  Use ret to hold return value.
1704	(elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
1705	NULL to initialize size of secure gateway veneers section.  Adapt
1706	comment to stress the importance of zeroing veneer section content.
1707	(bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
1708	initialize eponymous field in struct elf32_arm_link_hash_table.
1709
17102016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1711
1712	* elf32-s390.c (stdarg.h): New include.
1713	(elf_s390_grok_psinfo): New function.
1714	(elf_s390_write_core_note): New function.
1715	(elf_backend_grok_psinfo): Declare backend hook.
1716	(elf_backend_write_core_note): Likewise.
1717	* elf64-s390.c (stdarg.h): New include.
1718	(elf_s390_grok_prstatus): New function.
1719	(elf_s390_grok_psinfo): New function.
1720	(elf_s390_write_core_note): New function.
1721	(elf_backend_grok_prstatus): Declare backend hook.
1722	(elf_backend_grok_psinfo): Likewise.
1723	(elf_backend_write_core_note): Likewise.
1724
17252016-08-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1726
1727	* elf32-s390.c (allocate_dynrelocs): Fix indentation.
1728	(elf_s390_finish_ifunc_symbol): Likewise.
1729	(elf_s390_finish_dynamic_symbol): Likewise.
1730	(elf_s390_finish_dynamic_sections): Likewise.
1731	(elf_s390_grok_prstatus): Likewise.
1732	* elf64-s390.c (elf_s390_hash_table): Fix indentation.
1733	(elf_s390_finish_dynamic_symbol): Likewise.
1734
17352016-08-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>
1736
1737	* elf32-arc.c (elf32_arc_grok_prstatus): New function.
1738
17392016-08-23  Nick Clifton  <nickc@redhat.com>
1740
1741	* elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
1742	there is no arm data associated with the section.
1743
17442016-08-23  Alan Modra  <amodra@gmail.com>
1745
1746	PR 20475
1747	* elf32-or1k.c (or1k_elf_relocate_section): Offset from
1748	_GLOBAL_OFFSET_TABLE_, not start of .got section.
1749
17502016-08-22  Nick Clifton  <nickc@redhat.com>
1751
1752	* doc/chew.c (main): Free the string buffer used to files as they
1753	are parsed.
1754
17552016-08-22  Alan Modra  <amodra@gmail.com>
1756
1757	* elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
1758	(ppc_elf_relocate_section): ..to here.  Comment.  Error on
1759	detecting -mbss-plt -fPIC local ifuncs too.
1760	(ppc_elf_size_dynamic_sections): Comment on unnecessary glink
1761	branch table entries.
1762
17632016-08-19  Nick Clifton  <nickc@redhat.com>
1764
1765	* elf.c (assign_section_numbers): Assign number for the .shstrtab
1766	section after the symbol table and string table sections.
1767
17682016-08-19  Alan Modra  <amodra@gmail.com>
1769
1770	* elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
1771	(ppc64_elf_copy_indirect_symbol): Set weakref.  Don't merge
1772	dyn_relocs for weakdefs.
1773	(alias_readonly_dynrelocs): New function.
1774	(ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
1775	(ppc64_elf_relocate_section): Simplify condition under which
1776	dyn_relocs are emitted.
1777
17782016-08-19  Alan Modra  <amodra@gmail.com>
1779
1780	PR 20472
1781	* elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
1782	(readonly_dynrelocs): Comment fix.
1783	(global_entry_stub): New function.
1784	(ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test.  Match
1785	ELFv2 code deciding on dynamic relocs vs. global entry stubs to
1786	that in size_global_entry_stubs, handling ifunc too.  Delete dead
1787	weak sym code.
1788	(allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
1789	dyn_relocs are needed.  Correct handling of ifunc dyn_relocs.
1790	Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
1791	undefweak syms.  Expand and correct comments.
1792	(size_global_entry_stubs): Ensure symbol is defined.
1793	(ppc64_elf_relocate_section): Match condition under which
1794	dyn_relocs are emitted to that in allocate_dynrelocs.
1795
17962016-08-12  Alan Modra  <amodra@gmail.com>
1797
1798	* elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
1799	* elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
1800	(bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
1801
18022016-08-11  Alan Modra  <amodra@gmail.com>
1803
1804	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
1805	non_got_ref true in any case where we could have generated dynbss
1806	copies but decide not to do so.
1807
18082016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
1809
1810	* elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
1811	the stub address retrieved if associated with a microMIPS
1812	function.
1813
18142016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
1815
1816	* elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
1817	stub also add STO_MICROMIPS annotation.
1818
18192016-08-10  Maciej W. Rozycki  <macro@imgtec.com>
1820
1821	* elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
1822	in microMIPS LA25 stub references.
1823
18242016-08-09  Jiaming Wei  <jmwei@hxgpt.com>
1825
1826	* elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
1827	adjusting the use_count of merged .got entries.
1828
18292016-08-08  Nick Clifton  <nickc@redhat.com>
1830
1831	* doc/chew.c (delete_string): Only free the string buffer if it is
1832	there.  Mark the buffer as NULL after freeing.
1833	(drop): Free the dropped string.
1834	(free_words): New function: Frees the memory allocated to the
1835	dictionary.
1836	(add_instrinsic): Duplicate the name string, so that it can be
1837	freed later on.
1838	(compile): Free unused words.
1839	(main): Free the dictionary and top level string buffers at the
1840	end.
1841
18422016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1843
1844	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
1845	* bfd-in2.h: Regenerate.
1846	* elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
1847	cmse_implib field.
1848	(bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
1849	cmse_implib field in struct elf32_arm_link_hash_table.
1850	(elf32_arm_filter_cmse_symbols): New function.
1851	(elf32_arm_filter_implib_symbols): Likewise.
1852	(elf_backend_filter_implib_symbols): Define to
1853	elf32_arm_filter_implib_symbols.
1854
18552016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1856
1857	* elf32-arm.c (CMSE_PREFIX): Define macro.
1858	(elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
1859	(cmse_branch_thumb_only): Declare stub.
1860	(struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
1861	(elf32_arm_get_plt_info): Add globals parameter.  Use it to return
1862	FALSE if there is no PLT.
1863	(arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
1864	(elf32_arm_final_link_relocate): Likewise.
1865	(elf32_arm_gc_sweep_hook): Likewise.
1866	(elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
1867	secure entry functions.
1868	(arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
1869	(arm_dedicated_stub_output_section_required): Change to a switch case
1870	and add a case for arm_stub_cmse_branch_thumb_only.
1871	(arm_dedicated_stub_output_section_required_alignment): Likewise.
1872	(arm_stub_dedicated_output_section_name): Likewise.
1873	(arm_stub_dedicated_input_section_ptr): Likewise and remove
1874	ATTRIBUTE_UNUSED for htab parameter.
1875	(arm_stub_required_alignment): Likewise.
1876	(arm_stub_sym_claimed): Likewise.
1877	(arm_dedicated_stub_section_padding): Likewise.
1878	(cmse_scan): New function.
1879	(elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
1880	Set stub_changed to TRUE if such veneers were created.
1881	(elf32_arm_swap_symbol_in): Add detection code for CMSE special
1882	symbols.
1883
18842016-08-02  Alan Modra  <amodra@gmail.com>
1885
1886	PR ld/20428
1887	* elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
1888
18892016-08-02  Nick Clifton  <nickc@redhat.com>
1890
1891	PR ld/17739
1892	* elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
1893	(elf_backend_sweep_hook): Delete.
1894
18952016-08-01  Andrew Jenner  <andrew@codesourcery.com>
1896	Kwok Cheung Yeung  <kcy@codesourcery.com>
1897
1898	* elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
1899	(ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
1900	(ppc_elf_vle_split16): Clear field before inserting.
1901
19022016-08-01  Nick Clifton  <nickc@redhat.com>
1903
1904	* po/sv.po: Updated Swedish translation.
1905
19062016-07-27  Ozkan Sezer  <sezeroz@gmail.com>
1907	    Nick Clifton  <nickc@redhat.com>
1908
1909	PR ld/20401
1910	* coffgen.c (fini_reloc_cookie_rels): Check for the extistence
1911	of the coff_section_data before using it.
1912
19132016-07-26  Maciej W. Rozycki  <macro@imgtec.com>
1914
1915	* elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
1916	in PLT compression selection.
1917	(_bfd_mips_elf_check_relocs): Likewise.
1918
19192016-07-22  Cupertino Miranda  <cmiranda@synopsys.com>
1920
1921	* arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
1922	case where there's no elf_link_hash_entry while processing
1923	GOT_NORMAL got entries.
1924
19252016-07-21  H.J. Lu  <hongjiu.lu@intel.com>
1926
1927	* version.m4 (BFD_VERSION): Set to 2.27.51.
1928	* configure: Regenerated.
1929
19302016-07-21  Nick Clifton  <nickc@redhat.com>
1931
1932	* elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
1933	(swap_out_syms): Return an error when not finding ELF output
1934	section rather than asserting.
1935
19362016-07-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1937
1938	* elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
1939
19402016-07-20  John Baldwin  <jhb@FreeBSD.org>
1941
1942	* elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
1943	and handle pr_pid if present.
1944
19452016-07-20  H.J. Lu  <hongjiu.lu@intel.com>
1946
1947	PR ld/20376
1948	* elf.c (assign_file_positions_for_load_sections): Also check
1949	p_paddr for program header space.
1950
19512016-07-20  Alan Modra  <amodra@gmail.com>
1952
1953	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
1954	ppc64_elf_unhandled_reloc for special_function.
1955	* elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
1956
19572016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
1958
1959	* elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
1960	BAL to JALX.
1961	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
1962	corresponding error message.
1963
19642016-07-19  Maciej W. Rozycki  <macro@imgtec.com>
1965
1966	* elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
1967	R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
1968	(branch_reloc_p): New function.
1969	(mips_elf_calculate_relocation): Handle ISA mode determination
1970	for relocations against section symbols, against absolute
1971	symbols and absolute relocations.  Also set `*cross_mode_jump_p'
1972	for branches.
1973	<R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
1974	checks for weak undefined symbols.  Also check target alignment
1975	within the same ISA mode.
1976	<R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
1977	in the alignment check.
1978	<R_MICROMIPS_PC7_S1>: Add an alignment check.
1979	<R_MICROMIPS_PC10_S1>: Likewise.
1980	<R_MICROMIPS_PC16_S1>: Likewise.
1981	(mips_elf_perform_relocation): Report a failure for unsupported
1982	same-mode JALX instructions and cross-mode branches.
1983	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
1984	error messages for jumps to misaligned addresses.
1985
19862016-07-16  Alan Modra  <amodra@gmail.com>
1987
1988	* elflink.c: Include plugin-api.h.
1989	* plugin.c (bfd_plugin_open_input): New function, extracted from..
1990	(try_claim): ..here.
1991	* plugin.h: Don't include bfd.h.
1992	(bfd_plugin_open_input): Declare.
1993
19942016-07-16  Alan Modra  <amodra@gmail.com>
1995
1996	* targets.c (bfd_seach_for_target): Rename to..
1997	(bfd_iterate_over_targets): ..this.  Rewrite doc.
1998	* bfd-in2.h: Regenerate.
1999
20002016-07-16  Alan Modra  <amodra@gmail.com>
2001
2002	* archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
2003	* libbfd.h: Regenerate.
2004	* bfd-in2.h: Regenerate.
2005
20062016-07-16  Alan Modra  <amodra@gmail.com>
2007
2008	* libbfd-in.h (BFD_ALIGN): Move to..
2009	* bfd-in.h: ..here.
2010	* elf32-ppc.h (struct ppc_elf_params): Add pagesize.
2011	* elf32-ppc.c (default_params): Adjust init.
2012	(ppc_elf_link_params): Set pagesize_p2.
2013	* libbfd.h: Regenerate.
2014	* bfd-in2.h: Regenerate.
2015
20162016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2017
2018	* elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
2019	(_bfd_elf_filter_global_symbols): Declare.
2020	* elf.c (_bfd_elf_filter_global_symbols): New function.
2021	* elflink.c (elf_filter_global_symbols): Likewise.
2022	(elf_output_implib): Likewise.
2023	(bfd_elf_final_link): Call above function, failing if it does.
2024	* elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
2025	default it to NULL.
2026	(elf_backend_copy_indirect_symbol): Fix spacing.
2027	(elf_backend_hide_symbol): Likewise.
2028	(elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
2029
20302016-07-15  Andrew Burgess  <andrew.burgess@embecosm.com>
2031	    Nick Clifton  <nickc@redhat.com>
2032
2033	* elf32-arc.c (PR_DEBUG): Delete.
2034	Fix printing of debug information.  Fix formatting of debug
2035	statements.
2036	(debug_arc_reloc): Handle symbols that are not from an input file.
2037	(arc_do_relocation): Remove excessive exclamation points.
2038
2039	* arc-got.h: Fix formatting.  Fix printing of debug information.
2040	(new_got_entry_to_list): Use xmalloc.
2041	* config.bfd: use the big-endian arc vector as the default vector
2042	for big-endian arc targets.
2043
20442016-07-15  Alan Modra  <amodra@gmail.com>
2045
2046	* cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
2047	from marking sym_indices.
2048
20492016-07-14  Maciej W. Rozycki  <macro@imgtec.com>
2050
2051	* reloc.c (bfd_perform_relocation): Try the `howto' handler
2052	first with relocations against absolute symbols.
2053	(bfd_install_relocation): Likewise.
2054
20552016-07-12  H.J. Lu  <hongjiu.lu@intel.com>
2056
2057	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
2058	.got/.got.plt sections to 8 bytes.
2059
20602016-07-12  Nick Clifton  <nickc@redhat.com>
2061
2062	* binary.c (binary_set_section_contents): Second grammar fix.
2063
20642016-07-12  Douglas B Rupp  <rupp@adacore.com>
2065
2066	* binary.c (binary_set_section_contents): Fix grammar in warning
2067	message.
2068
20692016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
2070
2071	* elf32-arc.c: made PR_DEBUG always defined.
2072
20732016-07-11  Cupertino Miranda  <cmiranda@synopsys.com>
2074
2075	* arc-got.h: Moved got related structures from elf32-arc.c to
2076	this file. More precisely, tls_type_e, tls_got_entries, got_entry.
2077	* (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
2078	tls_type_for_reloc, symbol_has_entry_of_type,
2079	get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
2080	ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
2081	relocate_fix_got_relocs_for_got_info,
2082	create_got_dynrelocs_for_single_entry,
2083	create_got_dynrelocs_for_got_info): Added to file.
2084	* elf32-arc.c: Removed GOT & TLS related structs and functions to
2085	arc-got.h.
2086
20872016-07-08  James Bowman  <james.bowman@ftdichip.com>
2088
2089	* elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
2090
20912016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
2092
2093	* elf32-arm.c (THUMB32_MOVT): New veneer macro.
2094	(THUMB32_MOVW): Likewise.
2095	(elf32_arm_stub_long_branch_thumb2_only_pure): New.
2096	(DEF_STUBS): Define long_branch_thumb2_only_pure.
2097	(arm_stub_is_thumb): Add new veneer stub.
2098	(arm_type_of_stub): Use new veneer.
2099	(arm_stub_required_alignment): Add new veneer.
2100
21012016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>
2102
2103	* bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
2104	(SEC_ELF_PURECODE): ... this.
2105	* elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
2106	to SEC_ELF_NOREAD.
2107	(elf32_arm_fake_sections): Likewise.
2108	(elf_32_arm_section_flags): Likewise.
2109	(elf_32_arm_lookup_section_flags): Likewise.
2110	* section.c (SEC_ELF_NOREAD): Rename to ...
2111	(SEC_ELF_PURECODE): ... this.
2112
21132016-07-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2114
2115	* elf32-arm.c (using_thumb2_bl): New function.
2116	(arm_type_of_stub): Declare thumb2 variable together and change type
2117	to bfd_boolean.  Use using_thumb2_bl () to determine whether
2118	THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
2119	checked for BL range.
2120	(elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
2121	the bit size of BL offset.
2122
21232016-06-29  Nick Clifton  <nickc@redhat.com>
2124
2125	* elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
2126	Returns TRUE for AArch64 mapping symbols.
2127	(elfNN_aarch64_backend_symbol_processing): New function.  Marks
2128	mapping symbols as precious in object files so that they will not
2129	be stripped.
2130	(elf_backend_symbol_processing): Define.
2131
2132	* elf32-arm.c (is_arm_mapping_symbol): New function.  Returns TRUE
2133	for ARM mapping symbols.
2134	(elf32_arm_backend_symbol_processing): Make use of the new function.
2135
21362016-06-28  H.J. Lu  <hongjiu.lu@intel.com>
2137
2138	PR ld/20306
2139	* elflink.c (elf_link_check_versioned_symbol): Return false
2140	for unreferenced undefined symbol.
2141
21422016-06-28  Nick Clifton  <nickc@redhat.com>
2143
2144	* elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
2145	is needed.
2146
2147	* elf32-arm.c (elf32_arm_backend_symbol_processing): New
2148	function.  Marks mapping symbols in object files as precious, so
2149	that strip will not remove them.
2150	(elf_backend_symbol_processing): Define.
2151
21522016-06-28  James Clarke  <jrtc27@jrtc27.com>
2153
2154	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
2155	R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
2156
21572016-06-28  Maciej W. Rozycki  <macro@imgtec.com>
2158
2159	* elf32-mips.c (elf_mips16_howto_table_rel): Add
2160	R_MIPS16_PC16_S1.
2161	(mips16_reloc_map): Likewise.
2162	* elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
2163	(mips16_elf64_howto_table_rela): Likewise.
2164	(mips16_reloc_map): Likewise.
2165	* elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
2166	(elf_mips16_howto_table_rela): Likewise.
2167	(mips16_reloc_map): Likewise.
2168	* elfxx-mips.c (mips16_branch_reloc_p): New function.
2169	(mips16_reloc_p): Handle R_MIPS16_PC16_S1.
2170	(b_reloc_p): Likewise.
2171	(mips_elf_calculate_relocation): Likewise.
2172	(_bfd_mips_elf_check_relocs): Likewise.
2173	* reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
2174	* bfd-in2.h: Regenerate.
2175	* libbfd.h: Regenerate.
2176
21772016-06-27  Alan Modra  <amodra@gmail.com>
2178
2179	PR ld/19264
2180	* elf64-ppc.c (STUB_SHRINK_ITER): Define.
2181	(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
2182	if shrinking stubs.
2183	(ppc64_elf_size_stubs): Adjust to suit.
2184
21852016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2186
2187	* elf32-dlx.h: New file.
2188	* elf32-dlx.c: Adjust.
2189
21902016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2191
2192	* elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
2193
21942016-06-24  John Baldwin  <jhb@FreeBSD.org>
2195
2196	* elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
2197	notes.
2198
21992016-06-24  John Baldwin  <jhb@FreeBSD.org>
2200
2201	* elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
2202	FreeBSD.  Remove case for NT_FREEBSD_THRMISC.
2203	(elfcore_grok_freebsd_psinfo): New function.
2204	(elfcore_grok_freebsd_prstatus): New function.
2205	(elfcore_grok_freebsd_note): New function.
2206	(elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
2207	notes.
2208
22092016-06-24  Joel Brobecker  <brobecker@adacore.com>
2210
2211	* elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
2212	than its existance.
2213
22142016-06-24  Alan Modra  <amodra@gmail.com>
2215
2216	* config.bfd: Delete mips vxworks patterns matched earlier.
2217	Combine mips*-*-none with mips*-*-elf*.
2218
22192016-06-21  Maciej W. Rozycki  <macro@imgtec.com>
2220
2221	* elfxx-mips.c (mips_elf_perform_relocation): Call
2222	`info->callbacks->einfo' rather than `*_bfd_error_handler' and
2223	use the `%X%H' format for the cross-mode jump conversion error
2224	message.  Remove the full stop from the end of the message.
2225	Continue processing rather than returning failure.
2226
22272016-06-21  Graham Markall  <graham.markall@embecosm.com>
2228
2229	* archures.c: Remove bfd_mach_arc_nps400.
2230	* bfd-in2.h: Likewise.
2231	* cpu-arc.c (arch_info_struct): Likewise.
2232	* elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
2233	Likewise.
2234
22352016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
2236
2237	PR ld/18250
2238	PR ld/20267
2239	* elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
2240	defined.
2241	(elf_link_is_defined_archive_symbol): Call
2242	bfd_link_plugin_object_p on unknown plugin object and use the
2243	IR symbol table if the input is an IR object.
2244	* plugin.c (bfd_link_plugin_object_p): New function.
2245	* plugin.h (bfd_link_plugin_object_p): New prototype.
2246
22472016-06-20  H.J. Lu  <hongjiu.lu@intel.com>
2248
2249	PR ld/20276
2250	* elflink.c (elf_link_add_object_symbols): Don't check alignment
2251	on symbol from plugin dummy input.
2252
22532016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
2254
2255	* bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
2256	bfd_plugin_unknown.
2257	* bfd-in2.h: Regenerated.
2258	* plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
2259	with bfd_plugin_unknown.
2260
22612016-06-18  H.J. Lu  <hongjiu.lu@intel.com>
2262
2263	PR ld/20253
2264	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
2265	bfd_boolean argument.
2266	* elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
2267	"shared object" with "PIC object" in comments.
2268	(_bfd_elf_allocate_ifunc_dyn_relocs): Updated.  Replace
2269	"shared object" with "PIC object" in comments.  Avoid PLT if
2270	requested.  Generate dynamic relocations for non-GOT references.
2271	Make room for the special first entry in PLT and allocate PLT
2272	entry only for PLT and PC-relative references.  Store dynamic
2273	GOT relocations in .rel[a].iplt section for static executables.
2274	If PLT isn't used, always use GOT for symbol value.  Don't
2275	allocate GOT entry if it isn't used.
2276	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
2277	count only in the code section.  Allocate dynamic pointer
2278	relocation against STT_GNU_IFUNC symbol in the non-code section.
2279	(elf_i386_adjust_dynamic_symbol): Increment PLT reference count
2280	only for PC-relative references.
2281	(elf_i386_allocate_dynrelocs): Pass TRUE to
2282	_bfd_elf_allocate_ifunc_dyn_relocs.
2283	(elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
2284	relocations against STT_GNU_IFUNC symbols without PLT.  Generate
2285	dynamic pointer relocation against STT_GNU_IFUNC symbol in
2286	the non-code section and store it in the proper REL section.
2287	Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
2288	without PLT.
2289	(elf_i386_finish_dynamic_symbol): Generate dynamic
2290	R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
2291	STT_GNU_IFUNC symbols without PLT.
2292	(elf_i386_finish_dynamic_sections): Don't handle local
2293	STT_GNU_IFUNC symbols here.
2294	(elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
2295	symbols here.
2296	(elf_backend_output_arch_local_syms): New.
2297	* elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
2298	count only in the code section.  Allocate dynamic pointer
2299	relocation against STT_GNU_IFUNC symbol in the non-code section.
2300	(elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
2301	count only for PC-relative references.
2302	(elf_x86_64_allocate_dynrelocs): Pass TRUE to
2303	_bfd_elf_allocate_ifunc_dyn_relocs.
2304	(elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
2305	R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
2306	R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
2307	without PLT.  Generate dynamic pointer relocation against
2308	STT_GNU_IFUNC symbol in the non-code section and store it in
2309	the proper RELA section.  Don't allow non-pointer relocation
2310	against STT_GNU_IFUNC symbol without PLT.
2311	(elf_x86_64_finish_dynamic_symbol): Generate dynamic
2312	R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
2313	STT_GNU_IFUNC symbols without PLT.
2314	(elf_x86_64_finish_dynamic_sections): Don't handle local
2315	STT_GNU_IFUNC symbols here.
2316	(elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
2317	symbols here.
2318	(elf_backend_output_arch_local_syms): New.
2319	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
2320	Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
2321
23222016-06-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2323	    Tony Wang  <tony.wang@arm.com>
2324
2325	* elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
2326	sequence.
2327	(stub_long_branch_thumb2_only): Define stub.
2328	(arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
2329	(arm_stub_long_branch_thumb2_only): Likewise.
2330	(arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
2331	capable targets.
2332
23332016-06-17  Jose E. Marchesi  <jose.marchesi@oracle.com>
2334
2335	* archures.c (bfd_mach_sparc_v8plusc): Define.
2336	(bfd_mach_sparc_v9c): Likewise.
2337	(bfd_mach_sparc_v8plusd): Likewise.
2338	(bfd_mach_sparc_v9d): Likewise.
2339	(bfd_mach_sparc_v8pluse): Likewise.
2340	(bfd_mach_sparc_v9e): Likewise.
2341	(bfd_mach_sparc_v8plusv): Likewise
2342	(bfd_mach_sparc_v9v): Likewise.
2343	(bfd_mach_sparc_v8plusm): Likewise.
2344	(bfd_mach_sparc_v9m): Likewise.
2345	(bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
2346	(bfd_mach_sparc_64bit_p): Likewise.
2347	* bfd-in2.h: Regenerate.
2348	* cpu-sparc.c (arch_info_struct): Add entries for
2349	bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
2350	* aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
2351	and bfd_mach_sparc_v9{c,d,e,v,m}.
2352	* elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
2353	* elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
2354
23552016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
2356
2357	* elf32-i386.c (elf_i386_check_relocs): Don't check undefined
2358	symbols for relocations against IFUNC symbols.
2359	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2360
23612016-06-16  Marcin Ko��cielnicki  <koriakin@0x04.net>
2362
2363	* elf32-s390.c (elf_s390_finish_dynamic_sections): Include
2364	.rela.iplt in DT_PLTRELSZ.
2365	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
2366	for DT_PLTRELSZ and DT_RELASZ as well.
2367
23682016-06-16  H.J. Lu  <hongjiu.lu@intel.com>
2369
2370	* elf32-i386.c (elf_i386_check_relocs): Skip relocations in
2371	non-loaded, non-alloced sections.
2372	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2373
23742016-06-15  H.J. Lu  <hongjiu.lu@intel.com>
2375
2376	* elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
2377	allocating dynamic relocation.
2378	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2379
23802016-06-14  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2381
2382	PR ld/20254
2383	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
2384	offsets until reloc_toaddr.
2385
23862016-06-14  H.J. Lu  <hongjiu.lu@intel.com>
2387
2388	* elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
2389	Don't check symbol type for STN_UNDEF symbol index.
2390	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
2391	R_X86_64_IRELATIVE.  Don't check symbol type for STN_UNDEF symbol
2392	index.
2393
23942016-06-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2395
2396	* elf32-arm.c (using_thumb_only): Force review of arch check logic for
2397	new architecture.
2398	(using_thumb2): Try Tag_THUMB_ISA_use first and check
2399	for exact arch value then.  Force review of arch check logic for new
2400	architecture.
2401	(arch_has_arm_nop): Update and fix arch check logic.  Force review of
2402	that logic for new architecture.
2403	(arch_has_thumb2_nop): Remove.
2404	(elf32_arm_tls_relax): Use using_thumb2 instead of above function.
2405	(elf32_arm_final_link_relocate): Likewise but using thumb2.
2406
24072016-06-14  Alan Modra  <amodra@gmail.com>
2408
2409	* bfd-in.h (bfd_my_archive): Delete.
2410	* bfd-in2.h: Regenerate.
2411
24122016-06-14  Alan Modra  <amodra@gmail.com>
2413
2414	PR ld/20241
2415	* archive.c (open_nested_file): Set my_archive.
2416	* bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
2417	for thin archives.
2418	* bfdio.c (bfd_tell): Don't adjust origin for thin archives.
2419	(bfd_seek): Likewise.
2420	* bfdwin.c (bfd_get_file_window): Likewise.
2421	* cache.c (cache_bmmap): Likewise.
2422	(bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
2423	* mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
2424	thin archives.
2425	* plugin.c (try_claim): Likewise.
2426	* xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
2427	file within thin archive, not the archive.
2428
24292016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
2430
2431	PR ld/20244
2432	* elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
2433	section address for R_386_GOT32/R_386_GOT32X relocations against
2434	IFUNC symbols if there is no base register and return error for
2435	PIC.
2436
24372016-06-13  H.J. Lu  <hongjiu.lu@intel.com>
2438
2439	* elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
2440	GOT32 adjustment for static executables.
2441
24422016-06-13  Maciej W. Rozycki  <macro@imgtec.com>
2443
2444	* elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
2445
24462016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
2447
2448	* elf32-arc.c (elf_arc_relocate_section): Fixed condition.
2449
24502016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
2451
2452	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
2453
24542016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
2455
2456	* elf32-arc.c (arc_local_data, arc_local_data): Removed.
2457	(SECTSTART): Changed.
2458	(elf_arc_relocate_section): Fixed mistake in PIE related
2459	condition.
2460	(elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
2461
24622016-06-13  Cupertino Miranda  <cmiranda@synospsy.com>
2463
2464	* elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
2465	enable support for "-z combreloc" and DT_RELACOUNT.
2466	(elf_backend_reloc_type_class): Likewise
2467
24682016-06-11  H.J. Lu  <hongjiu.lu@intel.com>
2469
2470	PR ld/20244
2471	* elf32-i386.c (elf_i386_relocate_section): When relocating
2472	R_386_GOT32, return error without a base register for PIC and
2473	subtract the .got.plt section address only with a base register.
2474
24752016-06-10  Alan Modra  <amodra@gmail.com>
2476
2477	* elf-strtab.c (struct strtab_save): Use size_t for "size".
2478	(struct elf_strtab_hash): Likewise for "size" and "alloced".
2479	(_bfd_elf_strtab_init): Formatting.
2480	(_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
2481	(_bfd_elf_strtab_addref): Take size_t idx param.
2482	(_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
2483	(_bfd_elf_strtab_offset): Likewise.
2484	(_bfd_elf_strtab_clear_all_refs): Use size_t idx.
2485	(_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
2486	(_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
2487	(_bfd_elf_strtab_finalize): Similarly.
2488	* elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
2489	(_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
2490	(_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
2491	* elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
2492	using bfd_size_type.
2493	(bfd_section_from_shdr): Delete amt.
2494	(_bfd_elf_init_reloc_shdr): Likewise.
2495	(_bfd_elf_link_assign_sym_version): Likewise.
2496	(assign_section_numbers): Use size_t reloc_count.
2497	* elflink.c (struct elf_symbuf_head): Use size_t "count".
2498	(bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
2499	(elf_link_is_defined_archive_symbol): Likewise.
2500	(elf_add_dt_needed_tag): Likewise.
2501	(elf_finalize_dynstr): Likewise.
2502	(elf_link_add_object_symbols): Likewise.
2503	(bfd_elf_size_dynamic_sections): Likewise.
2504	(elf_create_symbuf): Similarly.
2505	(bfd_elf_match_symbols_in_sections): Likewise.
2506	(elf_link_swap_symbols_out): Likewise.
2507	(elf_link_check_versioned_symbol): Likewise.
2508	(bfd_elf_gc_record_vtinherit): Likewise.
2509	(bfd_elf_gc_common_finalize_got_offsets): Likewise.
2510
25112016-06-08  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2512
2513	PR ld/20221
2514	* elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
2515	and relocs only if shrinking occurred.
2516
25172016-06-08  H.J. Lu  <hongjiu.lu@intel.com>
2518
2519	* elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
2520	(elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
2521	(elf_i386_check_tls_transition): Check indirect call and direct
2522	call with the addr32 prefix for general and local dynamic models.
2523	Set the tls_get_addr feild.
2524	(elf_i386_convert_load_reloc): Always use addr32 prefix for
2525	indirect ___tls_get_addr call via GOT.
2526	(elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
2527	transitions with indirect call and direct call with the addr32
2528	prefix.
2529
25302016-06-07  Marcin Ko��cielnicki  <koriakin@0x04.net>
2531
2532	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
2533	* elf64-s390.c (elf_s390x_plt_entry): Fix comment.
2534	(elf_s390_relocate_section): Fix comment.
2535	(elf_s390_finish_dynamic_sections): Fix initialization of fixed
2536	.got.plt entries.
2537
25382016-06-07  Ulrich Weigand  <ulrich.weigand@de.ibm.com>
2539
2540	* elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
2541	section offset when calculation the larl operand in the first PLT
2542	entry.
2543
25442016-06-07  Alan Modra  <amodra@gmail.com>
2545
2546	* cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
2547	to match other 32-bit archs.
2548	* elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
2549	(ppc_elf_object_p): Call it.
2550	(ppc_elf_special_sections): Use APUINFO_SECTION_NAME.  Fix
2551	overlong line.
2552	(APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
2553	* elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
2554	* bfd-in.h (_bfd_elf_ppc_at_tls_transform,
2555	_bfd_elf_ppc_at_tprel_transform): Move to..
2556	* elf-bfd.h: ..here.
2557	(_bfd_elf_ppc_set_arch): Declare.
2558	* bfd-in2.h: Regenerate.
2559
25602016-06-06  H.J. Lu  <hongjiu.lu@intel.com>
2561
2562	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
2563	(elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
2564	(elf_x86_64_check_tls_transition): Check indirect call and
2565	direct call with the addr32 prefix for general and local dynamic
2566	models.  Set the tls_get_addr feild.
2567	(elf_x86_64_convert_load_reloc): Always use addr32 prefix for
2568	indirect __tls_get_addr call via GOT.
2569	(elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
2570	transitions with indirect call and direct call with the addr32
2571	prefix.
2572
25732016-06-04  Christian Groessler  <chris@groessler.org>
2574
2575	* coff-z8k.c (extra_case): Fix range check for R_JR relocation.
2576
25772016-06-02  Nick Clifton  <nickc@redhat.com>
2578
2579	PR target/20088
2580	* cpu-arm.c (processors): Add "arm_any" type to match any ARM
2581	architecture.
2582	(arch_info_struct): Likewise.
2583	(architectures): Likewise.
2584
25852016-06-02  Vineet Gupta  <Vineet.Gupta1@synopsys.com>
2586
2587	* config.bfd: Replace -uclibc with *.
2588
25892016-06-02  H.J. Lu  <hongjiu.lu@intel.com>
2590
2591	* elf64-x86-64.c: Replace data32 with data16 in comments.
2592
25932016-05-31  Alan Modra  <amodra@gmail.com>
2594
2595	PR ld/20159
2596	PR ld/16467
2597	* elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
2598	(_bfd_elf_add_default_symbol): Don't indirect to/from defined
2599	symbol given a version by a script different to the version
2600	of the symbol being added.
2601	(elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
2602	_bfd_elf_strtab_restore.  Don't fudge dynstr references.
2603	* elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
2604	(struct strtab_save): New.
2605	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
2606	* elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
2607	(_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
2608
26092016-06-01  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
2610
2611	* elf32-hppa.h: Add extern "C".
2612	* elf32-nds32.h: Likewise.
2613	* elf32-tic6x.h: Likewise.
2614
26152016-06-01  Nick Clifton  <nickc@redhat.com>
2616
2617	* po/sr.po: New Serbian translation.
2618	* configure.ac (ALL_LINGUAS): Add sr.
2619	* configure: Regenerate.
2620
26212016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
2622
2623	* elfxx-mips.c (b_reloc_p): New function.
2624	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
2625	branch relocations.
2626
26272016-05-28  Maciej W. Rozycki  <macro@imgtec.com>
2628
2629	* elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
2630	<R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
2631	reloc location from calculation, treat the addend as signed with
2632	local non-section symbols and enable overflow detection.
2633
26342016-05-28  Alan Modra  <amodra@gmail.com>
2635
2636	* aoutx.h: Adjust linker callback calls throughout file,
2637	removing dead code.
2638	* bout.c: Likewise.
2639	* coff-alpha.c: Likewise.
2640	* coff-arm.c: Likewise.
2641	* coff-h8300.c: Likewise.
2642	* coff-h8500.c: Likewise.
2643	* coff-i960.c: Likewise.
2644	* coff-mcore.c: Likewise.
2645	* coff-mips.c: Likewise.
2646	* coff-ppc.c: Likewise.
2647	* coff-rs6000.c: Likewise.
2648	* coff-sh.c: Likewise.
2649	* coff-tic80.c: Likewise.
2650	* coff-w65.c: Likewise.
2651	* coff-z80.c: Likewise.
2652	* coff-z8k.c: Likewise.
2653	* coff64-rs6000.c: Likewise.
2654	* cofflink.c: Likewise.
2655	* ecoff.c: Likewise.
2656	* elf-bfd.h: Likewise.
2657	* elf-m10200.c: Likewise.
2658	* elf-m10300.c: Likewise.
2659	* elf32-arc.c: Likewise.
2660	* elf32-arm.c: Likewise.
2661	* elf32-avr.c: Likewise.
2662	* elf32-bfin.c: Likewise.
2663	* elf32-cr16.c: Likewise.
2664	* elf32-cr16c.c: Likewise.
2665	* elf32-cris.c: Likewise.
2666	* elf32-crx.c: Likewise.
2667	* elf32-d10v.c: Likewise.
2668	* elf32-epiphany.c: Likewise.
2669	* elf32-fr30.c: Likewise.
2670	* elf32-frv.c: Likewise.
2671	* elf32-ft32.c: Likewise.
2672	* elf32-h8300.c: Likewise.
2673	* elf32-hppa.c: Likewise.
2674	* elf32-i370.c: Likewise.
2675	* elf32-i386.c: Likewise.
2676	* elf32-i860.c: Likewise.
2677	* elf32-ip2k.c: Likewise.
2678	* elf32-iq2000.c: Likewise.
2679	* elf32-lm32.c: Likewise.
2680	* elf32-m32c.c: Likewise.
2681	* elf32-m32r.c: Likewise.
2682	* elf32-m68hc1x.c: Likewise.
2683	* elf32-m68k.c: Likewise.
2684	* elf32-mep.c: Likewise.
2685	* elf32-metag.c: Likewise.
2686	* elf32-microblaze.c: Likewise.
2687	* elf32-moxie.c: Likewise.
2688	* elf32-msp430.c: Likewise.
2689	* elf32-mt.c: Likewise.
2690	* elf32-nds32.c: Likewise.
2691	* elf32-nios2.c: Likewise.
2692	* elf32-or1k.c: Likewise.
2693	* elf32-ppc.c: Likewise.
2694	* elf32-s390.c: Likewise.
2695	* elf32-score.c: Likewise.
2696	* elf32-score7.c: Likewise.
2697	* elf32-sh.c: Likewise.
2698	* elf32-sh64.c: Likewise.
2699	* elf32-spu.c: Likewise.
2700	* elf32-tic6x.c: Likewise.
2701	* elf32-tilepro.c: Likewise.
2702	* elf32-v850.c: Likewise.
2703	* elf32-vax.c: Likewise.
2704	* elf32-visium.c: Likewise.
2705	* elf32-xstormy16.c: Likewise.
2706	* elf32-xtensa.c: Likewise.
2707	* elf64-alpha.c: Likewise.
2708	* elf64-hppa.c: Likewise.
2709	* elf64-ia64-vms.c: Likewise.
2710	* elf64-mmix.c: Likewise.
2711	* elf64-ppc.c: Likewise.
2712	* elf64-s390.c: Likewise.
2713	* elf64-sh64.c: Likewise.
2714	* elf64-x86-64.c: Likewise.
2715	* elflink.c: Likewise.
2716	* elfnn-aarch64.c: Likewise.
2717	* elfnn-ia64.c: Likewise.
2718	* elfxx-mips.c: Likewise.
2719	* elfxx-sparc.c: Likewise.
2720	* elfxx-tilegx.c: Likewise.
2721	* linker.c: Likewise.
2722	* pdp11.c: Likewise.
2723	* pe-mips.c: Likewise.
2724	* reloc.c: Likewise.
2725	* reloc16.c: Likewise.
2726	* simple.c: Likewise.
2727	* vms-alpha.c: Likewise.
2728	* xcofflink.c: Likewise.
2729	* elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
2730	status param.  Adjust calls to these and linker callbacks throughout.
2731	* elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
2732	get_ramstart): Delete status param.  Adjust calls to these and
2733	linker callbacks throughout.
2734
27352016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
2736
2737	* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
2738	<R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
2739	target alignment verification.
2740
27412016-05-27  Maciej W. Rozycki  <macro@imgtec.com>
2742
2743	* elfxx-mips.c (mips_elf_calculate_relocation): Also use the
2744	section name if `bfd_elf_string_from_elf_section' returns an
2745	empty string.
2746
27472016-05-26  Maciej W. Rozycki  <macro@imgtec.com>
2748
2749	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
2750	<bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
2751	for message.  Continue processing rather than returning failure.
2752
27532016-05-25  Maciej W. Rozycki  <macro@imgtec.com>
2754
2755	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
2756	<bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
2757	Call `bfd_set_error'.
2758
27592016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
2760
2761	PR binutils/14625
2762	* archive.c (bfd_slurp_armap): Replace
2763	bfd_elf64_archive_slurp_armap with
2764	_bfd_archive_64_bit_slurp_armap.
2765	(bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
2766	BFD64 is defined and the archive is too big.
2767	(coff_write_armap): Likewise.
2768	* archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
2769	(_bfd_archive_64_bit_slurp_armap): This.
2770	(bfd_elf64_archive_write_armap): Renamed to ...
2771	(_bfd_archive_64_bit_write_armap): This.
2772	* configure.ac: Add --enable-64-bit-archive.
2773	(want_64_bit_archive): New.  Set to true by default for 64-bit
2774	MIPS and s390 ELF targets.
2775	(USE_64_BIT_ARCHIVE): New AC_DEFINE.
2776	* config.in: Regenerated.
2777	* configure: Likewise.
2778	* elf64-mips.c (bfd_elf64_archive_functions): Removed.
2779	(bfd_elf64_archive_slurp_armap): Likewise.
2780	(bfd_elf64_archive_write_armap): Likewise.
2781	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
2782	(bfd_elf64_archive_construct_extended_name_table): Likewise.
2783	(bfd_elf64_archive_truncate_arname): Likewise.
2784	(bfd_elf64_archive_read_ar_hdr): Likewise.
2785	(bfd_elf64_archive_write_ar_hdr): Likewise.
2786	(bfd_elf64_archive_openr_next_archived_file): Likewise.
2787	(bfd_elf64_archive_get_elt_at_index): Likewise.
2788	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2789	(bfd_elf64_archive_update_armap_timestamp): Likewise.
2790	* elf64-s390.c (bfd_elf64_archive_functions): Removed.
2791	(bfd_elf64_archive_slurp_armap): Likewise.
2792	(bfd_elf64_archive_write_armap): Likewise.
2793	(bfd_elf64_archive_slurp_extended_name_table): Likewise.
2794	(bfd_elf64_archive_construct_extended_name_table): Likewise.
2795	(bfd_elf64_archive_truncate_arname): Likewise.
2796	(bfd_elf64_archive_read_ar_hdr): Likewise.
2797	(bfd_elf64_archive_write_ar_hdr): Likewise.
2798	(bfd_elf64_archive_openr_next_archived_file): Likewise.
2799	(bfd_elf64_archive_get_elt_at_index): Likewise.
2800	(bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2801	(bfd_elf64_archive_update_armap_timestamp): Likewise.
2802	* elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
2803	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
2804	bfd_elfNN_archive_functions isn't defined.
2805	(TARGET_LITTLE_SYM): Likewise.
2806	* libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
2807	(_bfd_archive_64_bit_write_armap): Likewise.
2808	(_bfd_archive_64_bit_slurp_extended_name_table): New macro.
2809	(_bfd_archive_64_bit_construct_extended_name_table): Likewise.
2810	(_bfd_archive_64_bit_truncate_arname): Likewise.
2811	(_bfd_archive_64_bit_read_ar_hdr): Likewise.
2812	(_bfd_archive_64_bit_write_ar_hdr): Likewise.
2813	(_bfd_archive_64_bit_openr_next_archived_file): Likewise.
2814	(_bfd_archive_64_bit_get_elt_at_index): Likewise.
2815	(_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
2816	(_bfd_archive_64_bit_update_armap_timestamp): Likewise.
2817	* libbfd.h: Regenerated.
2818	* plugin.c (plugin_vec): Use _bfd_archive_64_bit on
2819	BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
2820
28212016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
2822
2823	PR ld/20103
2824	* cofflink.c (coff_link_check_archive_element): Return TRUE if
2825	linker add_archive_element callback returns FALSE.
2826	* ecoff.c (ecoff_link_check_archive_element): Likewise.
2827	* elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
2828	archive element if linker add_archive_element callback returns
2829	FALSE.
2830	* elflink.c (elf_link_add_archive_symbols): Likewise.
2831	* pdp11.c (aout_link_check_ar_symbols): Likewise.
2832	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
2833	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
2834	(xcoff_link_check_ar_symbols): Likewise.
2835
28362016-05-24  Maciej W. Rozycki  <macro@imgtec.com>
2837
2838	* elfxx-mips.c (_bfd_mips_elf_relocate_section)
2839	<bfd_reloc_outofrange>: Unify error reporting code.
2840
28412016-05-23  Jim Wilson  <jim.wilson@linaro.org>
2842
2843	* elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
2844	R_AARCH64_NONE.  Use HOWTO64 for R_AARCH64_NULL.
2845	* relocs.c: Add BFD_RELOC_AARCH64_NULL.
2846	* bfd-in2.h: Regenerate.
2847	* libbfd.h: Likewise.
2848
28492016-05-23  Kuba Sejdak  <jakub.sejdak@phoesys.com>
2850
2851	* config.bfd: Add entry for arm-phoenix.
2852
28532016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2854
2855	* elf32-arm.c (arm_dedicated_stub_section_padding): New function.
2856	(elf32_arm_size_stubs): Declare stub_type in a more outer scope and
2857	account for padding for stub section requiring one.
2858	(elf32_arm_build_stubs): Add comment to stress the importance of
2859	zeroing veneer section content.
2860
28612016-05-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2862
2863	* bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
2864	bfd hook.
2865	* bfd-in2.h: Regenerate.
2866	* elf32-arm.c (arm_dedicated_stub_output_section_required): New
2867	function.
2868	(arm_dedicated_stub_output_section_required_alignment): Likewise.
2869	(arm_dedicated_stub_output_section_name): Likewise.
2870	(arm_dedicated_stub_input_section_ptr): Likewise.
2871	(elf32_arm_create_or_find_stub_sec): Add stub type parameter and
2872	function description comment. Add support for dedicated output stub
2873	section to given stub types.
2874	(elf32_arm_add_stub): Add a stub type parameter and pass it down to
2875	elf32_arm_create_or_find_stub_sec.
2876	(elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
2877	(elf32_arm_size_stubs): Pass stub type when calling
2878	elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
2879	(bfd_elf32_arm_keep_private_stub_output_sections): New function.
2880
28812016-05-20  H.J. Lu  <hongjiu.lu@intel.com>
2882
2883	* elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
2884	when setting need_convert_load.
2885
28862016-05-20  Maciej W. Rozycki  <macro@imgtec.com>
2887
2888	* elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
2889	microMIPS JALX.
2890
28912016-05-19  H.J. Lu  <hongjiu.lu@intel.com>
2892
2893	PR ld/20117
2894	* elf32-i386.c (elf_i386_convert_load_reloc): Don't check
2895	R_386_GOT32X.
2896	(elf_i386_convert_load): Don't convert R_386_GOT32.
2897
28982016-05-20  Alan Modra  <amodra@gmail.com>
2899
2900	PR gas/20118
2901	* elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
2902	SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
2903
29042016-05-19  Cupertino Miranda  <cmiranda@synopsys.com>
2905
2906	* elf32-arc.c (arc_elf_final_write_processing): Changed.
2907	(debug_arc_reloc): Likewise.
2908	(elf_arc_relocate_section): Likewise.
2909	(elf_arc_check_relocs): Likewise.
2910	(elf_arc_adjust_dynamic_symbol): Likewise.
2911	(elf_arc_add_symbol_hook): Likewise.
2912
29132016-05-19  Maciej W. Rozycki  <macro@imgtec.com>
2914
2915	* config.bfd: Remove `am34-*-linux*' support.
2916
29172016-05-19  Alan Modra  <amodra@gmail.com>
2918
2919	* elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
2920	relocs before plt relocs.
2921
29222016-05-19  Alan Modra  <amodra@gmail.com>
2923
2924	* elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
2925	before dereferencing.
2926
29272016-05-18  Nick Clifton  <nickc@redhat.com>
2928
2929	* po/sv.po: Updated Swedish translation.
2930
29312016-05-18  Alan Modra  <amodra@gmail.com>
2932
2933	* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
2934	for each BFD.  Don't goto error_ret_free_local from outside loop.
2935
29362016-05-17  Maciej W. Rozycki  <macro@imgtec.com>
2937
2938	* elf-s390-common.c (elf_s390_add_symbol_hook): Remove
2939	STB_GNU_UNIQUE handling.
2940	* elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
2941	* elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
2942	* elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
2943	* elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2944	* elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2945	* elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2946	* elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2947	* elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2948	* elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
2949	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
2950	* elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
2951	(elf_backend_add_symbol_hook): Remove macro.
2952	* elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
2953	for STB_GNU_UNIQUE symbols.
2954
29552016-05-16  Maciej W. Rozycki  <macro@imgtec.com>
2956
2957	* elf32-v850.c (v850_elf_copy_notes): New function, factored out
2958	from...
2959	(v850_elf_copy_private_bfd_data): ... here.  Call the new
2960	function and `_bfd_elf_copy_private_bfd_data'.
2961
29622016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
2963
2964	PR ld/20093
2965	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
2966	GOTPCREL relocation against large section.
2967
29682016-05-13  Alan Modra  <amodra@gmail.com>
2969
2970	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
2971	linker dynamic sections in calculating size and address of
2972	dynamic tags rather than using output sections.  Remove asserts.
2973	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
2974	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
2975	* elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
2976	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2977	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
2978	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
2979	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
2980	* elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
2981	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
2982	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
2983	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
2984	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
2985	* elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2986	* elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
2987	* elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
2988	* elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
2989	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
2990	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
2991	* elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2992	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2993	* elflink.c (bfd_elf_final_link): Likewise.
2994	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2995	* elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
2996	* elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
2997	don't set doit.  Look up dynobj section.
2998	(elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
2999	invocation and dynamic tag vma calculation.  Don't test
3000	boolean var == TRUE.
3001	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
3002	DT_JMPREL calc.
3003
30042016-05-13  Alan Modra  <amodra@gmail.com>
3005
3006	* elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
3007	octets_per_byte.  Put dynamic .rela.plt last in link orders.
3008	Assign output_offset for reloc sections rather than writing
3009	sorted relocs from block corresponding to output_offset.
3010
30112016-05-12  Alan Modra  <amodra@gmail.com>
3012
3013	* elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
3014
30152016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
3016
3017	* elfxx-mips.c (print_mips_ases): Add DSPR3.
3018
30192016-05-11  Alan Modra  <amodra@gmail.com>
3020
3021	* elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
3022	(elf32_hppa_check_relocs): Don't set dynobj.
3023	(elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
3024	(elf32_hppa_build_stubs): Likewise.
3025	* elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
3026
30272016-05-11  Alan Modra  <amodra@gmail.com>
3028
3029	PR 20060
3030	* elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
3031	* elf32-ppc.c (ppc_elf_tls_setup): Likewise.
3032
30332016-05-10  Jiong Wang  <jiong.wang@arm.com>
3034
3035	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
3036	aarch64_tls_transition check.
3037
30382016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3039
3040	* elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
3041	enumerator.
3042	(arm_stub_sym_claimed): New function.
3043	(elf32_arm_create_stub): Use veneered symbol name and section if
3044	veneer needs to claim its symbol, and keep logic unchanged otherwise.
3045	(arm_stub_claim_sym): New function.
3046	(arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
3047	veneered symbol, otherwise create local symbol as before.
3048
30492016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3050
3051	* elf32-arm.c (elf32_arm_size_stubs): Use new macros
3052	ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
3053	and set branch type of a symbol.
3054	(bfd_elf32_arm_process_before_allocation): Likewise.
3055	(elf32_arm_relocate_section): Likewise and fix identation along the
3056	way.
3057	(allocate_dynrelocs_for_symbol): Likewise.
3058	(elf32_arm_finish_dynamic_symbol): Likewise.
3059	(elf32_arm_swap_symbol_in): Likewise.
3060	(elf32_arm_swap_symbol_out): Likewise.
3061
30622016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3063
3064	* bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
3065	* bfd-in2.h: Regenerated.
3066	* elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
3067	parameter to add_stub_section callback.
3068	(elf32_arm_create_or_find_stub_sec): Get output section from link_sec
3069	and pass it down to add_stub_section.
3070	(elf32_arm_add_stub): Set section to stub_sec if NULL before using it
3071	for error message.
3072	(elf32_arm_size_stubs): Add output section parameter to
3073	add_stub_section function pointer parameter.
3074
30752016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3076
3077	* elf32-arm.c (elf32_arm_create_stub): New function.
3078	(elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
3079
30802016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3081
3082	* elf32-arm.c (enum elf32_arm_stub_type): Delete
3083	arm_stub_a8_veneer_lwm enumerator.
3084	(arm_stub_a8_veneer_lwm): New unsigned constant to replace
3085	aforementioned enumerator.
3086	(struct elf32_arm_stub_hash_entry): Delete target_addend
3087	field and add source_value.
3088	(struct a8_erratum_fix): Delete addend field and add target_offset.
3089	(stub_hash_newfunc): Initialize source_value field amd remove
3090	initialization for target_addend.
3091	(arm_build_one_stub): Stop special casing Thumb relocations: promote
3092	the else to being always executed, moving the
3093	arm_stub_a8_veneer_b_cond specific code in it.  Remove
3094	stub_entry->target_addend from points_to computation.
3095	(cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
3096	to target symbol from start of section rather than the offset from the
3097	stub address.
3098	(elf32_arm_size_stubs): Set stub_entry's source_value and target_value
3099	fields from struct a8_erratum_fix's offset and target_offset
3100	respectively.
3101	(make_branch_to_a8_stub): Rename target variable to loc.  Compute
3102	veneered_insn_loc and loc using stub_entry's source_value.
3103
31042016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3105
3106	(elf32_arm_merge_eabi_attributes): Add merging logic for
3107	Tag_DSP_extension.
3108
31092016-05-10  Pip Cet  <pipcet@gmail.com>
3110
3111	PR ld/20059
3112	* elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
3113	Define as _bfd_generic_copy_link_hash_symbol_type when using
3114	generic hash table.
3115
31162016-05-09  Nick Clifton  <nickc@redhat.com>
3117
3118	PR binutils/20063
3119	* elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
3120	field before accessing sections array.
3121
31222016-05-09  Christophe Monat  <christophe.monat@st.com>
3123
3124	PR ld/20030
3125	* elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
3126	(stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
3127	to nb_words.
3128	(create_instruction_vldmia): Add is_dp to disambiguate SP/DP
3129	encoding.
3130	(create_instruction_vldmdb): Likewise.
3131	(stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
3132	uses it to re-encode.
3133
31342016-05-09  Nick Clifton  <nickc@redhat.com>
3135
3136	PR 19938
3137	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
3138	commit.
3139
31402016-05-09  Alan Modra  <amodra@gmail.com>
3141
3142	* elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
3143
31442016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
3145
3146	PR ld/17550
3147	* elf-bfd.h (elf_link_hash_entry): Update comments for indx,
3148	documenting that indx == -3 if symbol is defined in a discarded
3149	section.
3150	* elflink.c (elf_link_add_object_symbols): Set indx to -3 if
3151	symbol is defined in a discarded section.
3152	(elf_link_output_extsym): Strip a global symbol defined in a
3153	discarded section.
3154
31552016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
3156
3157	* elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
3158	MCU.
3159
31602016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
3161
3162	* elf32-i386.c (elf_i386_convert_load): Extract the GOT load
3163	conversion to ...
3164	(elf_i386_convert_load_reloc): This.  New function.
3165	* elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
3166	conversion to ...
3167	(elf_x86_64_convert_load_reloc): This.  New function.
3168
31692016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
3170
3171	* elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
3172	Don't check if contents == NULL.
3173	(elf_i386_tls_transition): Add from_relocate_section.  Check
3174	from_relocate_section instead of contents != NULL.  Update
3175	elf_i386_check_tls_transition call.
3176	(elf_i386_check_relocs): Cache the section contents if
3177	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
3178	elf_i386_tls_transition.
3179	(elf_i386_relocate_section): Pass TRUE as from_relocate_section
3180	to elf_i386_tls_transition.
3181	(elf_backend_caches_rawsize): New.
3182	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
3183	if contents == NULL.
3184	(elf_x86_64_tls_transition): Add from_relocate_section.  Check
3185	from_relocate_section instead of contents != NULL.
3186	(elf_x86_64_check_relocs): Cache the section contents if
3187	keep_memory is FALSE.  Pass FALSE as from_relocate_section to
3188	elf_x86_64_tls_transition.
3189	(elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
3190	to elf_x86_64_tls_transition.
3191	(elf_backend_caches_rawsize): New.
3192
31932016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
3194
3195	PR 10549
3196	* elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
3197	STB_GNU_UNIQUE.
3198
31992016-05-03  Jiong Wang  <jiong.wang@arm.com>
3200
3201	* bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
3202	* bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
3203	* elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
3204	no_apply_dynamic_relocs.
3205	(elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
3206	dynamic relocations generated.
3207
32082016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3209
3210	* elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
3211	setting to ...
3212	(elf_i386_create_dynamic_sections): Here.
3213	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
3214	interp setting to ...
3215	(elf_x86_64_create_dynamic_sections): Here.
3216
32172016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3218
3219	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
3220	and replace (EH)->has_got_reloc with GOT_RELOC.
3221	(elf_i386_fixup_symbol): Pass has_got_reloc to
3222	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3223	(elf_i386_allocate_dynrelocs): Likewise.
3224	(elf_i386_relocate_section): Likewise.
3225	(elf_i386_finish_dynamic_symbol): Likewise.
3226	(elf_i386_convert_load): Pass TRUE to
3227	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3228	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
3229	GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
3230	(elf_x86_64_fixup_symbol): Pass has_got_reloc to
3231	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3232	(elf_x86_64_allocate_dynrelocs): Likewise.
3233	(elf_x86_64_relocate_section): Likewise.
3234	(elf_x86_64_finish_dynamic_symbol): Likewise.
3235	(elf_x86_64_convert_load): Pass TRUE to
3236	UNDEFINED_WEAK_RESOLVED_TO_ZERO.
3237
32382016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3239
3240	* elf32-i386.c (check_relocs_failed): New.
3241	(elf_i386_check_relocs): Set check_relocs_failed on error.
3242	(elf_i386_relocate_section): Skip if check_relocs failed.
3243
32442016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3245
3246	* elf64-x86-64.c (elf_x86_64_check_relocs): Set
3247	check_relocs_failed on error.
3248
32492016-04-29  Nick Clifton  <nickc@redhat.com>
3250
3251	PR 19938
3252	* elf-bfd.h (struct elf_backend_data): Rename
3253	elf_backend_set_special_section_info_and_link to
3254	elf_backend_copy_special_section_fields.
3255	* elfxx-target.h: Likewise.
3256	* elf.c (section_match): Ignore the SHF_INFO_LINK flag when
3257	comparing section flags.
3258	(copy_special_section_fields): New function.
3259	(_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
3260	Perform two scans over special sections.  The first one looks for
3261	a direct mapping between the output section and an input section.
3262	The second scan looks for a possible match based upon section
3263	characteristics.
3264	* elf32-arm.c (elf32_arm_copy_special_section_fields): New
3265	function.  Handle setting the sh_link field of SHT_ARM_EXIDX
3266	sections.
3267	* elf32-i386.c (elf32_i386_set_special_info_link): Rename to
3268	elf32_i386_copy_solaris_special_section_fields.
3269	* elf32-sparc.c (elf32_sparc_set_special_section_info_link):
3270	Rename to elf32_sparc_copy_solaris_special_section_fields.
3271	* elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
3272	elf64_x86_64_copy_solaris_special_section_fields.
3273
32742016-04-28  Nick Clifton  <nickc@redhat.com>
3275
3276	* po/zh_CN.po: Updated Chinese (simplified) translation.
3277
32782016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
3279
3280	PR ld/20006
3281	* elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
3282	when estimating distances between output sections.
3283
32842016-04-27  Alan Modra  <amodra@gmail.com>
3285
3286	* elflink.c (_bfd_elf_is_start_stop): New function.
3287	(_bfd_elf_gc_mark_rsec): Use it.
3288	* elf-bfd.h (_bfd_elf_is_start_stop): Declare.
3289
32902016-04-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
3291
3292	* elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
3293	* mmo.c (mmo_get_section_contents): Likewise.
3294	(mmo_set_section_contents): Likewise.
3295
32962016-04-26  H.J. Lu  <hongjiu.lu@intel.com>
3297
3298	* elf-bfd.h (elf_link_hash_table): Update comments for
3299	dynsymcount.
3300	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
3301	the unused NULL entry at the head of dynamic symbol table.
3302	(bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
3303	checks.
3304
33052016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
3306
3307	* elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
3308	created file from dynobj.
3309
33102016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
3311
3312	* elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
3313	normal input file if possible.
3314
33152016-04-21  Nick Clifton  <nickc@redhat.com>
3316
3317	* aout-adobe.c: Use _bfd_generic_link_check_relocs.
3318	* aout-target.h: Likewise.
3319	* aout-tic30.c: Likewise.
3320	* binary.c: Likewise.
3321	* bout.c: Likewise.
3322	* coff-alpha.c: Likewise.
3323	* coff-rs6000.c: Likewise.
3324	* coff64-rs6000.c: Likewise.
3325	* coffcode.h: Likewise.
3326	* i386msdos.c: Likewise.
3327	* i386os9k.c: Likewise.
3328	* ieee.c: Likewise.
3329	* ihex.c: Likewise.
3330	* libbfd-in.h: Likewise.
3331	* libecoff.h: Likewise.
3332	* mach-o-target.c: Likewise.
3333	* mmo.c: Likewise.
3334	* nlm-target.h: Likewise.
3335	* oasys.c: Likewise.
3336	* pef.c: Likewise.
3337	* plugin.c: Likewise.
3338	* ppcboot.c: Likewise.
3339	* som.c: Likewise.
3340	* srec.c: Likewise.
3341	* tekhex.c: Likewise.
3342	* versados.c: Likewise.
3343	* vms-alpha.c: Likewise.
3344	* xsym.c: Likewise.
3345	* elfxx-target.h: Use _bfd_elf_link_check_relocs.
3346	* linker.c (bfd_link_check_relocs): New function.
3347	(_bfd_generic_link_check_relocs): New function.
3348	* targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
3349	_bfd_link_check_relocs field.
3350	(struct bfd_target)L Add _bfd_link_check_relocs field.
3351	* bfd-in2.h: Regenerate.
3352	* libbfd.h: Regenerate.
3353
33542016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3355
3356	* elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
3357	(elf_backend_gc_sweep_hook): Likewise.
3358	* elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
3359	(elf_backend_gc_sweep_hook): Likewise.
3360
33612016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3362
3363	* elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
3364	in excluded sections
3365
33662016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3367
3368	PR ld/19969
3369	* elf64-x86-64.c (check_relocs_failed): New.
3370	(elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
3371	Support relocation agaist local symbol.  Set check_relocs_failed.
3372	(elf_x86_64_check_relocs): Use elf_x86_64_need_pic.  Check
3373	R_X86_64_32 relocation overflow.
3374	(elf_x86_64_relocate_section): Skip if check_relocs failed.
3375	Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
3376
33772016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3378
3379	* elf32-i386.c (elf_i386_check_relocs): Call
3380	_bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
3381	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3382
33832016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3384
3385	* elf-bfd.h (_bfd_elf_link_check_relocs): New.
3386	* elflink.c (_bfd_elf_link_check_relocs): New function.
3387	(elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
3388	if check_relocs_after_open_input is FALSE.
3389
33902016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
3391
3392	* cache.c: Update old style function definitions.
3393	* elf32-m68k.c: Likewise.
3394	* elf64-mmix.c: Likewise.
3395	* stab-syms.c: Likewise.
3396
33972016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
3398
3399	* elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
3400
34012016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
3402
3403	* Makefile.in: Regenerated with automake 1.11.6.
3404	* aclocal.m4: Likewise.
3405	* doc/Makefile.in: Likewise.
3406
34072016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
3408
3409	* reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
3410	* bfd-in2.h: Regenerate.
3411	* libbfd.h: Regenerate.
3412	* elf32-arc.c: Add 'opcode/arc.h' include.
3413	(struct arc_relocation_data): Add symbol_name.
3414	(arc_special_overflow_checks): New function.
3415	(arc_do_relocation): Use arc_special_overflow_checks, reindent as
3416	required, add an extra comment.
3417	(elf_arc_relocate_section): Setup symbol_name in reloc_data.
3418
34192016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
3420
3421	* elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
3422	entries.
3423	(elf_arc_relocate_section): Update enum uses.
3424	(elf_arc_check_relocs): Likewise.
3425	(elf_arc_finish_dynamic_symbol): Likewise.
3426
34272016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
3428
3429	* elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
3430	"sh_link".
3431
34322016-04-14  Nick Clifton  <nickc@redhat.com>
3433
3434	PR target/19938
3435	* elf-bbfd.h (struct elf_backend_data): New field:
3436	elf_strtab_flags.
3437	New field: elf_backend_set_special_section_info_and_link
3438	* elfxx-target.h (elf_backend_strtab_flags): Define if not already
3439	defined.
3440	(elf_backend_set_special_section_info_and_link): Define if not
3441	already defined.
3442	(elfNN_bed): Use elf_backend_set_special_section_info_and_link and
3443	elf_backend_strtab_flags macros to initialise fields in structure.
3444	* elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
3445	being set even if SHF_MERGE is not set.
3446	(elf_fake_sections): Likewise.
3447	(section_match): New function.  Matches two ELF sections based
3448	upon fixed characteristics.
3449	(find_link): New function.  Locates a section in a BFD that
3450	matches a section in a different BFD.
3451	(_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
3452	fields of reserved sections.
3453	(bfd_elf_compute_section_file_positions): Set the flags for the
3454	.shstrtab section based upon the elf_strtab_flags field in the
3455	elf_backend_data structure.
3456	(swap_out_syms): Likewise for the .strtab section.
3457	* elflink.c (bfd_elf_final_link): Set the flags for the
3458	.strtab section based upon the elf_strtab_flags field in the
3459	elf_backend_data structure.
3460	* elf32-i386.c (elf32_i386_set_special_info_link): New function.
3461	(elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
3462	targets.
3463	(elf_backend_set_special_section_info_and_link): Define for
3464	Solaris targets.
3465	* elf32-sparc.c: Likewise.
3466	* elf64-x86-64.c: Likewise.
3467
34682016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
3469
3470	PR ld/19939
3471	* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
3472	to bfd_boolean.
3473	* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
3474	Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
3475	applies to read-only section.
3476	* elf32-i386.c (elf_i386_link_hash_table): Add
3477	readonly_dynrelocs_against_ifunc.
3478	(elf_i386_allocate_dynrelocs): Updated.
3479	(elf_i386_size_dynamic_sections): Issue an error for read-only
3480	segment with dynamic IFUNC relocations only if
3481	readonly_dynrelocs_against_ifunc is TRUE.
3482	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3483	readonly_dynrelocs_against_ifunc.
3484	(elf_x86_64_allocate_dynrelocs): Updated.
3485	(elf_x86_64_size_dynamic_sections): Issue an error for read-only
3486	segment with dynamic IFUNC relocations only if
3487	readonly_dynrelocs_against_ifunc is TRUE.
3488	* elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
3489	Updated.
3490
34912016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3492
3493	* elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
3494	a fall through from error_ret_free_internal.  Free local_syms in
3495	error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
3496
34972016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
3498
3499	* elf32-arc.c (plt_do_relocs_for_symbol): Changed.
3500	(relocate_plt_for_entry): Likewise.
3501
35022016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
3503
3504	* elf32-arc.c (elf_arc_check_relocs): Changed
3505
35062016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
3507
3508	* elf32-arc.c (name_for_global_symbol): Changed assert.
3509	(get_replace_function): Created.:
3510	(struct arc_relocation_data): Changed to signed types.
3511	(defines S, L, P, PDATA): Casted to signed type.
3512	(defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
3513	(PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
3514	(arc_do_relocation): Changed.
3515
35162016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
3517
3518	* elf32-arc.c (name_for_global_symbol): Added assert to check for
3519	symbol index.
3520	(elf_arc_relocate_section): Added and changed asserts, validating
3521	the synamic symbol index.
3522	(elf_arc_finish_dynamic_symbol): Do not fill the dynamic
3523	relocation if symbol has dynindx set to -1.
3524
35252016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
3526
3527	PR ld/19908
3528	* elflink.c (elf_link_add_object_symbols): Always turn hidden
3529	and internal symbols which have a dynamic index into local
3530	ones.
3531
35322016-04-04  Nick Clifton  <nickc@redhat.com>
3533
3534	PR 19872
3535	* dwarf2.c (parse_comp_unit): Skip warning about unrecognised
3536	version number if the version is zero.
3537
35382016-04-01  Alan Modra  <amodra@gmail.com>
3539
3540	PR 19886
3541	* elflink.c (on_needed_list): Recursively check needed status.
3542	(elf_link_add_object_symbols): Adjust.
3543
35442016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
3545
3546	* elf32-avr.c (avr_elf32_load_records_from_section): Free
3547	internal_relocs only if they aren't cached.
3548
35492016-03-29  Nick Clifton  <nickc@redhat.com>
3550
3551	PR 17334
3552	* elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
3553	assertion on the size of the got section to allow it to be bigger
3554	than the number of relocs.
3555
35562016-03-29  Toni Spets  <toni.spets@iki.fi>
3557
3558	PR 19878
3559	* coffcode.h (coff_write_object_contents): Revert accidental
3560	2014-11-10 change.
3561
35622016-03-22  Alan Modra  <amodra@gmail.com>
3563
3564	PR 19850
3565	* dwarf2.c (read_attribute_value): Skip info_ptr check for
3566	DW_FORM_flag_present.
3567
35682016-03-22  Nick Clifton  <nickc@redhat.com>
3569
3570	* cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
3571	architecture name for backwards compatibility.
3572
3573	* peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
3574	unbounded stack use.
3575
3576	* warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
3577	sufficiently recent version of GCC.
3578	* configure: Regenerate.
3579
35802016-03-22  Alan Modra  <amodra@gmail.com>
3581
3582	PR 19851
3583	* plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
3584
35852016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
3586
3587	* archures.c (bfd_mach_arc_nps400): Define.
3588	* bfd-in2.h: Regenerate.
3589	* cpu-arc.c (arch_info_struct): New entry for nps400, renumber
3590	some existing entries to make space.
3591	* elf32-arc.c (arc_elf_object_p): Add nps400 case.
3592	(arc_elf_final_write_processing): Likewise.
3593
35942016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
3595
3596	* elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
3597	EF_ARC_CPU_GENERIC.
3598	(arc_elf_final_write_processing): Don't bother setting cpu field
3599	in e_flags, this will have been set elsewhere.
3600
36012016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
3602
3603	* elf32-arc.c (arc_elf_final_write_processing): Switch to using
3604	EF_ARC_MACH_MSK.
3605
36062016-03-21  Nick Clifton  <nickc@redhat.com>
3607
3608	* warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
3609	* configure: Regenerate.
3610	* elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
3611	alloca with call to xmalloc.
3612	* elf32-nds32.c: Likewise.
3613	* elf64-hppa.c: Likewise.
3614	* elfxx-mips.c: Likewise.
3615	* pef.c: Likewise.
3616	* pei-x86_64.c: Likewise.
3617	* som.c: Likewise.
3618	* xsym.c: Likewise.
3619
36202016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
3621
3622	PR ld/19827
3623	* elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
3624	locally in PIE.
3625	(elf_i386_relocate_section): Likewise.
3626	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3627	(elf_x86_64_relocate_section): Likewise.
3628
36292016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
3630
3631	PR ld/19807
3632	* elf64-x86-64.c (elf_x86_64_relocate_section): Check
3633	no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
3634	relocation overflow check.
3635
36362016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
3637
3638	* bfd-in2.h: Regenerated.
3639
36402016-03-11  Dan Gissel  <dgisselq@ieee.org>
3641
3642	PR 19713
3643	* elf.c (_bfd_elf_section_offset): Ensure that the returned offset
3644	uses bytes not octets.
3645	* elflink.c (resolve_section): Likewise.
3646	Add a bfd parameter.
3647	(eval_section): Pass the input_bfd to resolve_section.
3648	(bfd_elf_perform_complex_relocation): Convert byte offset to
3649	octets before read and writing values.
3650	(elf_link_input_bfd): Add byte to octet conversions.
3651	(elf_reloc_link_order): Likewise.
3652	(elf_fixup_link_order): Likewise.
3653	(bfd_elf_final_link): Likewise.
3654	* reloc.c (_bfd_final_link_relocate): Likewise.
3655	* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3656
36572016-03-10  Nick Clifton  <nickc@redhat.com>
3658
3659	* config.bfd: Mark the i370 target as obsolete.
3660
36612016-03-09  Pedro Alves  <palves@redhat.com>
3662
3663	* cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
3664	gcc ABI)" to printable name.
3665	* cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
3666	of "v850-rh850" as printable name.
3667
36682016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
3669
3670	PR ld/19623
3671	* cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
3672	relocations against absolute symbols.
3673
36742016-03-09  Alan Modra  <amodra@gmail.com>
3675
3676	PR binutils/19775
3677	* coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
3678	length elements in the archive.
3679
36802016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
3681
3682	PR ld/19789
3683	* elflink.c (elf_link_add_object_symbols): Create dynamic sections
3684	for -E/--dynamic-list only when not relocatable.
3685
36862016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
3687
3688	PR ld/19784
3689	* elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
3690	count for locally defined local IFUNC symbols in shared object.
3691	* elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3692
36932016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
3694
3695	PR ld/19579
3696	* elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
3697	together.
3698
36992016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
3700	    Andrew Burgess  <andrew.burgess@embecosm.com>
3701
3702	* elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
3703	(arc_bfd_put_32): Becomes an alias for bfd_put_32.
3704	(arc_elf_howto_init): Added assert to validate relocations.
3705	(get_middle_endian_relocation): Delete.
3706	(middle_endian_convert): New function.
3707	(ME): Redefine, now does nothing.
3708	(IS_ME): New define.
3709	(arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
3710	definition to call middle_endian_convert.  Add a new local
3711	variable and make use of this throughout. Added call to
3712	arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
3713
37142016-03-07  Nick Clifton  <nickc@redhat.com>
3715
3716	PR binutils/19775
3717	* archive.c (bfd_generic_openr_next_archived_file): Allow zero
3718	length elements in the archive.
3719
37202016-03-07  Jiong Wang  <jiong.wang@arm.com>
3721
3722	* elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
3723	section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
3724
37252016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
3726
3727	PR ld/19579
3728	* elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
3729	executable as definition if the new definition comes from a
3730	shared library.
3731
37322016-03-02  Alan Modra  <amodra@gmail.com>
3733
3734	* Makefile.in: Regenerate.
3735	* po/SRC-POTFILES.in: Regenerate.
3736
37372016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
3738
3739	* elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
3740	relocation addend when sections get merged.
3741
37422016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3743
3744	* elf32-arc.c (arc_elf_final_write_processing): Add condition to
3745	the flag change.
3746        (elf_arc_relocate_section): Fixes and conditions to support PIE.
3747	Assert for code sections dynamic relocs.
3748
37492016-02-26  Renlin Li  <renlin.li@arm.com>
3750
3751	* elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
3752	check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
3753
37542016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3755
3756	PR ld/19609
3757	* elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
3758	load with locally bound symbols if PIC is false or there is no
3759	base register.  Optimize branch to 0 if PIC is false.
3760	(elf_i386_relocate_section): Don't generate dynamic relocations
3761	against undefined weak symbols if PIC is false.
3762	* elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
3763	if we can't estimate relocation overflow with --no-relax.
3764	Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
3765	symbols if PIC is false.  Optimize branch to 0 if PIC is false.
3766	(elf_x86_64_relocate_section): Don't generate dynamic relocations
3767	against undefined weak symbols if PIC is false.
3768
37692016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3770
3771	PR ld/19645
3772	* bfd.c (bfd): Change flags to 20 bits.
3773	(BFD_CONVERT_ELF_COMMON): New.
3774	(BFD_USE_ELF_STT_COMMON): Likewise.
3775	(BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
3776	BFD_USE_ELF_STT_COMMON.
3777	(BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
3778	* configure.ac: Remove --enable-elf-stt-common.
3779	* elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
3780	common symbol depending on BFD_CONVERT_ELF_COMMON and
3781	BFD_USE_ELF_STT_COMMON.
3782	* elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
3783	STT_COMMON.
3784	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
3785	STT_COMMON.
3786	(elf_link_convert_common_type): New function.
3787	(elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
3788	common symbol depending on BFD_CONVERT_ELF_COMMON and
3789	BFD_USE_ELF_STT_COMMON.  Set sym.st_info after sym.st_shndx.
3790	* elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
3791	and BFD_USE_ELF_STT_COMMON to object_flags.
3792	(TARGET_LITTLE_SYM): Likewise.
3793	* syms.c (BSF_KEEP_G): Renamed to ...
3794	(BSF_ELF_COMMON): This.
3795	* bfd-in2.h: Regenerated.
3796	* config.in: Likewise.
3797	* configure: Likewise.
3798
37992016-02-26  H.J. Lu  <hongjiu.lu@intel.com>
3800
3801	PR ld/19636
3802	PR ld/19704
3803	PR ld/19719
3804	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3805	(elf_i386_link_hash_entry): Add has_got_reloc and
3806	has_non_got_reloc.
3807	(elf_i386_link_hash_table): Add interp.
3808	(elf_i386_link_hash_newfunc): Initialize has_got_reloc and
3809	has_non_got_reloc.
3810	(elf_i386_copy_indirect_symbol): Copy has_got_reloc and
3811	has_non_got_reloc.
3812	(elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
3813	(elf_i386_fixup_symbol): New function.
3814	(elf_i386_pie_finish_undefweak_symbol): Likewise.
3815	(elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
3816	relocations and discard relocations against resolved undefined
3817	weak symbols in executable.  Don't make resolved undefined weak
3818	symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
3819	relocation against undefined weak symbols in PIE.
3820	(elf_i386_size_dynamic_sections): Set interp to .interp section.
3821	(elf_i386_relocate_section): Don't generate dynamic relocations
3822	against resolved undefined weak symbols in PIE, except for
3823	R_386_PC32.
3824	(elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
3825	dynamic PLT/GOT relocations for resolved undefined weak symbols.
3826	Don't generate dynamic relocation against resolved undefined weak
3827	symbol in executable.
3828	(elf_i386_finish_dynamic_sections): Call
3829	elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
3830	(elf_backend_fixup_symbol): New.
3831	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3832	(elf_x86_64_link_hash_entry): Add has_got_reloc and
3833	has_non_got_reloc.
3834	(elf_x86_64_link_hash_table): Add interp.
3835	(elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
3836	has_non_got_reloc.
3837	(elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
3838	has_non_got_reloc.
3839	(elf_x86_64_check_relocs): Set has_got_reloc and
3840	has_non_got_reloc.
3841	(elf_x86_64_fixup_symbol): New function.
3842	(elf_x86_64_pie_finish_undefweak_symbol): Likewise.
3843	(elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
3844	relocations and discard relocations against resolved undefined
3845	weak symbols in executable.  Don't make resolved undefined weak
3846	symbols in executable dynamic.
3847	(elf_x86_64_size_dynamic_sections): Set interp to .interp section.
3848	(elf_x86_64_relocate_section): Check relocation overflow for
3849	dynamic relocations against unresolved weak undefined symbols.
3850	Don't generate dynamic relocations against resolved weak
3851	undefined symbols in PIE.
3852	(elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
3853	dynamic PLT/GOT relocations for resolved undefined weak symbols.
3854	Don't generate dynamic relocation against resolved undefined weak
3855	symbol in executable.
3856	(elf_x86_64_finish_dynamic_sections): Call
3857	elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
3858	(elf_backend_fixup_symbol): New.
3859
38602016-02-26  Alan Modra  <amodra@gmail.com>
3861
3862	* elf64-ppc.c (create_linkage_sections): Create sfpr when
3863	save_restore_funcs, rest of sections when not relocatable.
3864	(ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
3865	(sfpr_define): Define all symbols on emitted code.
3866	(ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
3867	when relocatable.  Move sfpr_define loop earlier.
3868
38692016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
3870
3871	* elf64-x86-64.c (elf_x86_64_need_pic): New function.
3872	(elf_x86_64_relocate_section): Use it.  Replace
3873	x86_64_elf_howto_table[r_type] with howto.
3874
38752016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
3876
3877	PR ld/19698
3878	* elflink.c (bfd_elf_record_link_assignment): Set versioned if
3879	symbol version is unknown.
3880
38812016-02-24  H.J. Lu  <hongjiu.lu@intel.com>
3882
3883	* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
3884	to (bfd_vma) -1 when setting needs_plt to 0.
3885	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3886
38872016-02-23  H.J. Lu  <hongjiu.lu@intel.com>
3888
3889	* elflink.c (bfd_elf_record_link_assignment): Check for shared
3890	library, instead of PIC, and don't check PDE when making linker
3891	assigned symbol dynamic.
3892
38932016-02-23  Faraz Shahbazker  <faraz.shahbazker@imgtec.com>
3894
3895	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
3896	ABIVERSION for non-executable stack.
3897
38982016-02-23  Rich Felker  <bugdal@aerifal.cx>
3899
3900	PR target/19516
3901	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
3902	Always produce a RELATIVE reloc for a local symbol.
3903
39042016-02-23  Hans-Peter Nilsson  <hp@axis.com>
3905
3906	Fix test-case ld-elf/pr19617b
3907	* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
3908	discard unused non-function symbols when --dynamic-list-data.
3909
39102016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
3911
3912	* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
3913	dynsym section, even if it is empty, with dynamic sections.
3914
39152016-02-22  H.J. Lu  <hongjiu.lu@intel.com>
3916
3917	* syms.c: Remove BSF_COMMON from comments.
3918	* bfd-in2.h: Regenerated.
3919
39202016-02-22  Jiong Wang  <jiong.wang@arm.com>
3921
3922	* elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
3923	for destination.  Remove useless function parameters.
3924	(elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
3925
39262016-02-19  Nick Clifton  <nickc@redhat.com>
3927
3928	PR ld/19629
3929	* aoutx.h (aout_link_add_symbols): Check for out of range string
3930	table offsets.
3931
3932	PR ld/19628
3933	* reloc.c (bfd_generic_get_relocated_section_contents): Stop
3934	processing if we encounter a reloc without an associated symbol.
3935
39362016-02-18  H.J. Lu  <hongjiu.lu@intel.com>
3937
3938	PR ld/19617
3939	* elflink.c (elf_link_add_object_symbols): Always create dynamic
3940	sections for -E/--dynamic-list.
3941
39422016-02-17  H.J. Lu  <hongjiu.lu@intel.com>
3943
3944	* elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
3945	to bfd_true.
3946
39472016-02-16  Joseph Myers  <joseph@codesourcery.com>
3948
3949	* plugin.c (plugin_vec): Set match priority to 255.
3950	* format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
3951	matching against the plugin vector, take priority from there not
3952	from TEMP.
3953
39542016-02-15  Nick Clifton  <nickc@redhat.com>
3955
3956	* elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
3957	for length and type fields.  Use a signed value for the
3958	suffix_length field.
3959
39602016-02-10  H.J. Lu  <hongjiu.lu@intel.com>
3961
3962	PR ld/19601
3963	* elf32-i386.c (elf_i386_relocate_section): Mask off the least
3964	significant bit in GOT offset for R_386_GOT32X.
3965
39662016-02-10  Nick Clifton  <nickc@redhat.com>
3967
3968	PR 19405
3969	* elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
3970	immediate values.
3971	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
3972	number of messages about FDE encoding preventing .eh_frame_hdr
3973	generation.
3974
39752016-02-09  Nick Clifton  <nickc@redhat.com>
3976
3977	* oasys.c (oasys_archive_p): Fix indentation.
3978	* elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
3979	constant for left shifting.
3980
3981	* elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
3982	helpful warning message to explain why certain AArch64 relocs
3983	might overflow.
3984
39852016-02-05  Simon Marchi  <simon.marchi@ericsson.com>
3986
3987	* pe-mips.c (coff_mips_reloc): Fix formatting.
3988
39892016-02-05  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
3990
3991	* cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
3992	to bfd_mach_arc_arc600.
3993
39942016-02-04  Alan Modra  <amodra@gmail.com>
3995
3996	* elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
3997	for big-endian.
3998
39992016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
4000
4001	PR ld/19542
4002	* elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
4003	distances in the compressed_size field of the output section.
4004
40052016-02-02  Alan Modra  <amodra@gmail.com>
4006
4007	* elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
4008	ELFv2 entry optimization.
4009
40102016-02-02  H.J. Lu  <hongjiu.lu@intel.com>
4011
4012	PR binutils/19547
4013	* elf.c (assign_section_numbers): Clear HAS_RELOC if there are
4014	no relocations in relocatable files.
4015
40162016-02-01  H.J. Lu  <hongjiu.lu@intel.com>
4017
4018	PR ld/19553
4019	* elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
4020	if a symbol from a library loaded via DT_NEEDED doesn't match
4021	the symbol referenced by regular object.
4022
40232016-02-01  Nathaniel Smith  <njs@pobox.com>
4024
4025	* peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
4026	CODE and DATA.
4027
40282016-02-01  Alan Modra  <amodra@gmail.com>
4029
4030	* elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
4031	an out of range reloc_index.
4032	* elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
4033
40342016-02-01  Kamil Rytarowski  <n54@gmx.com>
4035
4036	* Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
4037	(OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
4038	* Makefile.in: Regenerated.
4039
40402016-02-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
4041
4042	* elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
4043
40442016-01-31  John David Anglin  <danglin@gcc.gnu.org>
4045
4046	PR ld/19526
4047	* elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
4048	files.
4049	* elf64-hppa.c (elf32_hppa_final_link): Likewise.  Remove retval.
4050
40512016-01-30  H.J. Lu  <hongjiu.lu@intel.com>
4052
4053	PR ld/19539
4054	* elf32-i386.c (elf_i386_reloc_type_class): Check relocation
4055	against STT_GNU_IFUNC symbol only with dynamic symbols.
4056	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
4057
40582016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
4059
4060	PR binutils/19523
4061	* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
4062	decompress debug sections.
4063
40642016-01-25  Maciej W. Rozycki  <macro@imgtec.com>
4065
4066	* elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
4067	`dynindx'.
4068
40692016-01-25  Nick Clifton  <nickc@redhat.com>
4070
4071	PR target/19435
4072	* mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
4073	dsym filename buffer.
4074
40752016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
4076
4077	* elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
4078
40792016-01-24  Maciej W. Rozycki  <macro@imgtec.com>
4080
4081	* elfxx-mips.c (BZ16_REG): Correct calculation.
4082
40832016-01-21  Nick Clifton  <nickc@redhat.com>
4084
4085	* elf32-arc.c (ADD_RELA): Fix compile time warning errors by
4086	changing the type of _loc to be bfd_byte *.
4087	(elf_arc_finish_dynamic_symbol): Likewise.
4088
40892016-01-21  Nick Clifton  <nickc@redhat.com>
4090
4091	PR ld/19455
4092	* elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
4093	class of the linker stub bfd.
4094	(elf32_arm_check_relocs): Skip check for pic format after
4095	processing a vxWorks R_ARM_ABS12 reloc.
4096	* elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
4097	reporting a class mismatch.
4098
40992016-01-21  Jiong Wang  <jiong.wang@arm.com>
4100
4101	* elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
4102	veneer for sym_sec != input_sec.
4103	(elfNN_aarch64_size_stub): Support STT_SECTION symbol.
4104	(elfNN_aarch64_final_link_relocate): Take rela addend into account when
4105	calculation destination.
4106
41072016-01-21  Alan Modra  <amodra@gmail.com>
4108
4109	* elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
4110	(swap_linux_prpsinfo64_out): New function.
4111	(LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
4112	(LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
4113	* elf.c (elfcore_write_linux_prpsinfo32): Adjust.  Don't memset.
4114	(elfcore_write_linux_prpsinfo64): Likewise.
4115	* elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
4116	(PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
4117	(elfcore_write_ppc_linux_prpsinfo32): Adjust.  Don't memset.
4118
41192016-01-21  Alan Modra  <amodra@gmail.com>
4120
4121	* elf-linux-core.h: Rename from elf-linux-psinfo.h.
4122	* elf.c: Adjust #include.
4123	* elf32-ppc.c: Don't #include elf-linux-psinfo.h
4124	* Makefile.am (SOURCE_HFILES): Update.
4125	* Makefile.in: Regenerate.
4126	* po/SRC-PORFILES.in: Regenerate.
4127
41282016-01-21  Alan Modra  <amodra@gmail.com>
4129
4130	* configure.ac: Move corefile selection later in file.  Move
4131	tdefaults code immediately after other target vector code.
4132	* configure: Regenerate.
4133
41342016-01-20  Mickael Guene  <mickael.guene@st.com>
4135
4136	* elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
4137	section using '.text.noread' pattern.
4138
41392016-01-19  John Baldwin  <jhb@FreeBSD.org>
4140
4141	* elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
4142
41432016-01-18  Miranda Cupertino  <Cupertino.Miranda@synopsys.com>
4144	    Zissulescu Claudiu  <Claudiu.Zissulescu@synopsys.com>
4145
4146	* arc-plt.def: New file.
4147	* arc-plt.h: Likewise.
4148	* elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
4149		       elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
4150		       elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
4151		       elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
4152	(name_for_global_symbol): Added.
4153	(ADD_RELA): Helper to create dynamic relocs.
4154	(new_got_entry_to_list): Create a new got entry in linked list.
4155	(symbol_has_entry_of_type): Search for specific type of entry in
4156	list.
4157	(is_reloc_for_GOT): return FALSE for any TLS related relocs.
4158	(is_reloc_for_TLS, arc_elf_set_private_flags)
4159	(arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
4160	(arc_elf_merge_private_bfd_data): New functions.
4161	(debug_arc_reloc): Cleaned debug info printing.
4162	(PDATA reloc): Changed not to perform address alignment.
4163	(reverse_me): Added. Fix for ARC_32 relocs.
4164	(arc_do_relocation): Return bfd_reloc_of when no relocation should
4165	occur.
4166	(arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
4167	Changed function to access an array of list of GOT entries instead
4168	of just an array of offsets.
4169	(elf_arc_relocate_section): Added support for PIC and TLS related relocations.
4170	(elf_arc_check_relocs): Likewise.
4171	(elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
4172	(elf_arc_finish_dynamic_sections): Likewise
4173	(arc_create_dynamic_sections): Modified conditions to create
4174	dynamic sections.
4175	(ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
4176	(plt_do_relocs_for_symbol, relocate_plt_for_symbol)
4177	(relocate_plt_for_entry): Changed to support new way to define PLT
4178	related code.
4179	(add_symbol_to_plt): Likewise.
4180	(arc_elf_link_hash_table_create): New function.
4181
41822016-01-18  Nick Clifton  <nickc@redhat.com>
4183
4184	PR ld/19440
4185	* coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
4186	section number into internal section number.
4187	* coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
4188	* coffswap.h (coff_swap_sym_in): Likewise.
4189	* peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
4190	* coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
4191	section number field is big enough to hold the external value.
4192
41932016-01-17  Alan Modra  <amodra@gmail.com>
4194
4195	* configure: Regenerate.
4196
41972016-01-12  Yury Usishchev  <y.usishchev@samsung.com>
4198
4199	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
4200	when address in first unwind entry does not match start of
4201	section.
4202
42032016-01-08  Richard Sandiford  <richard.sandiford@arm.com>
4204	    Jiong Wang  <jiong.wang@arm.com>
4205
4206	PR ld/19368
4207	* elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
4208	reloc_class_ifunc.
4209
42102016-01-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4211
4212	* elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
4213	place 'R_' before the reloc name returned.
4214	(elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
4215	the relocation string.
4216
42172016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4218
4219	* elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
4220	factored out from...
4221	(_bfd_mips_elf_merge_private_bfd_data): ... here.
4222
42232016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4224
4225	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
4226	attribute check after ELF file header flag check.
4227
42282016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4229
4230	* elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
4231	return status from `_bfd_elf_merge_object_attributes'.
4232
42332016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4234
4235	* elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
4236	factored out from...
4237	(_bfd_mips_elf_merge_private_bfd_data): ... here.
4238
42392016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4240
4241	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
4242	handling of input MIPS ABI flags together.
4243
42442016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4245
4246	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
4247	attribute checks for null input.
4248
42492016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4250
4251	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
4252	pointers to target data.
4253
42542016-01-04  Maciej W. Rozycki  <macro@imgtec.com>
4255
4256	* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
4257	an FP ABI warning.
4258
42592016-01-01  Alan Modra  <amodra@gmail.com>
4260
4261	Update year range in copyright notice of all files.
4262
4263For older changes see ChangeLog-2015 and doc/ChangeLog-0415
4264
4265Copyright (C) 2016 Free Software Foundation, Inc.
4266
4267Copying and distribution of this file, with or without modification,
4268are permitted in any medium without royalty provided the copyright
4269notice and this notice are preserved.
4270
4271Local Variables:
4272mode: change-log
4273left-margin: 8
4274fill-column: 74
4275version-control: never
4276End:
4277