Fixed warning from previous patch. Added Changelog.
[external/binutils.git] / bfd / ChangeLog
1 2018-11-09  Cupertino Miranda  <cmiranda@synopsys.com>
2
3         * arc-got.h (arc_got_entry_type_for_reloc): Changed to
4           correct static TLS relocs.
5         * elf32-arc.c (elf_arc_check_relocs): Introduced warning to
6           TLS relocs which require -fPIC.
7           (arc_create_forced_local_got_entries_for_tls): Created.
8           Traverses list of GOT entries to be resolved statically
9           when needed.
10           (elf_arc_finish_dynamic_sections): Changed. Calls
11           arc_create_forced_local_got_entries_for_tls for each known
12           possibly GOT symbol.
13
14 2018-11-09  rhn  <sowaac.rhn@porcupinefactory.org>
15
16         PR 23699
17         * ihex.c (ihex_write_object_contents): Check for sign extended
18         addresses that cannot be supported in the ihex format.
19
20 2018-11-09  Claudiu Zissulescu  <claziss@synopsys.com>
21
22         * arc-got.h (arc_get_local_got_ents): Revamp it; use
23         elf_local_got_ents to store the local got list.
24         (get_got_entry_list_for_symbo): Restructure it.
25         * elf32-arc.c (elf_arc_relocate_section): Correct the call to
26         get_got_entry_list_for_symbol.
27
28 2018-11-07  Nick Clifton  <nickc@redhat.com>
29
30         * po/fr.po: Updated French translation.
31         * po/pt.po: Updated Portuguese translation.
32
33 2018-11-06  Roman Bolshakov <r.bolshakov@yadro.com>
34             Saagar Jha  <saagar@saagarjha.com>
35
36         * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS,
37         BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS,
38         BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS,
39         BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD.
40         (struct bfd_mach_o_note_command): New.
41         (struct bfd_mach_o_build_version_tool): New.
42         (struct bfd_mach_o_build_version_command): New.
43         (bfd_mach_o_read_version_min): Don't split version into
44         a few fields. Rename reserved to sdk.
45         * mach-o.c (bfd_mach_o_read_version_min): Don't split version into a
46         few fields. Rename reserved to sdk.
47         (bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE,
48         LC_BUILD_VERSION.
49         (bfd_mach_o_read_note): New.
50         (bfd_mach_o_read_build_version): New.
51
52 2018-11-07  Yoshinori Sato  <ysato@users.sourceforge.jp>
53
54         * config.bfd: Add rx-*-linux.
55         * congigure.ac: Likewise.
56         * elf32-rx.c (rx_linux_object_p): New function.
57         (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME)
58         (elf_backend_object_p, elf32_bed): Define rx-*-linux.
59         * targets.c: Add rx_elf32_linux_le_vec.
60         * configure: Regenerate.
61
62 2018-11-06  Romain Margheriti  <lilrom13@gmail.com>
63
64         PR 23742
65         * mach-o.c (bfd_mach_o_read_command): Accept and ignore
66         BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION
67         commands.
68
69 2018-11-02  Alan Modra  <amodra@gmail.com>
70
71         PR 23850
72         * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections
73         in an executable or shared library as normal sections.
74
75 2018-10-31  Renlin Li  <renlin.li@arm.com>
76
77         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got
78         section for Local Exec TLS model.
79
80 2018-10-24  H.J. Lu  <hongjiu.lu@intel.com>
81
82         PR ld/23818
83         * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols
84         defined in discarded input sections.
85
86 2018-10-24  Alan Modra  <amodra@gmail.com>
87
88         * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that
89         were not needed.
90
91 2018-10-23  Alan Modra  <amodra@gmail.com>
92
93         PR 23806
94         * merge.c (_bfd_add_merge_section): Don't attempt to merge
95         sections with ridiculously large alignments.
96
97 2018-10-23  Alan Modra  <amodra@gmail.com>
98
99         PR 23805
100         * elflink.c (elf_link_input_bfd): Don't segfault on finding
101         STT_TLS symbols without any TLS sections.  Instead, change the
102         symbol type to STT_NOTYPE.
103
104 2018-10-23  Alan Modra  <amodra@gmail.com>
105
106         PR 23804
107         * merge.c (_bfd_add_merge_section): Don't attempt to merge
108         sections where size is not a multiple of entsize.
109
110 2018-10-20  Alan Modra  <amodra@gmail.com>
111
112         PR 23788
113         * elf.c (section_match): Don't require a size match for SHT_SYMTAB
114         or SHT_STRTAB.
115
116 2018-10-17  Alan Modra  <amodra@gmail.com>
117
118         PR 23653
119         * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id
120         too when choosing dynobj.
121
122 2018-10-16  Alan Modra  <amodra@gmail.com>
123
124         * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify
125         PE_DEBUG_DATA size checks.
126
127 2018-10-16  Alan Modra  <amodra@gmail.com>
128
129         PR 23781
130         * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data
131         before returning.
132
133 2018-10-16  Alan Modra  <amodra@gmail.com>
134
135         PR 23534
136         * init.c (bfd_init): Return an unsigned int.
137         bfd-in2.h: Regenerate.
138
139 2018-10-15  Alan Modra  <amodra@gmail.com>
140
141         PR 23534
142         * init.c (BFD_INIT_MAGIC): Define.
143         (bfd_init): Return BFD_INIT_MAGIC.
144         bfd-in2.h: Regenerate.
145
146 2018-10-13  Alan Modra  <amodra@gmail.com>
147
148         PR 23770
149         PR 23425
150         * reloc.c (_bfd_clear_contents): Replace "location" param with
151         "buf" and "off".  Bounds check "off".  Return status.
152         * cofflink.c (_bfd_coff_generic_relocate_section): Update
153         _bfd_clear_contents call.
154         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise.
155         * elf32-arc.c (elf_arc_relocate_section): Likewise.
156         * elf32-i386.c (elf_i386_relocate_section): Likewise.
157         * elf32-metag.c (metag_final_link_relocate): Likewise.
158         * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise.
159         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
160         * elf32-visium.c (visium_elf_relocate_section): Likewise.
161         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
162         * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise.
163         * libbfd-in.h (_bfd_clear_contents): Update prototype.
164         * libbfd.h: Regenerate.
165
166 2018-10-09  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
167
168         * elflink.c (elf_link_output_extsym): Do not place symbols into a
169         discarded .dynsym.
170
171 2018-10-08  H.J. Lu  <hongjiu.lu@intel.com>
172
173         PR ld/23428
174         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
175         add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header
176         in non-code PT_LOAD segment.
177
178 2018-10-08  Alan Modra  <amodra@gmail.com>
179
180         * elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD
181         lacking sections.
182         * elf.c (_bfd_elf_map_sections_to_segments): Assume file and
183         program headers are required when info->load_phdrs.  Reorganize
184         code handling program headers.  Generate a mapping without
185         sections just for file and program headers when -z separate-code
186         would indicate they should be on a different page to the first
187         section.
188
189 2018-10-08  Alan Modra  <amodra@gmail.com>
190
191         * elf.c (assign_file_positions_for_load_sections): Set p_vaddr
192         from m->p_vaddr_offset for segments without sections.  Invert
193         sign of p_vaddr_offset.
194         (rewrite_elf_program_header, copy_elf_program_header): Save
195         old segment p_vaddr to p_vaddr_offset.  Invert sign of
196         p_vaddr_offset.
197
198 2018-10-08  Alan Modra  <amodra@gmail.com>
199
200         * elf.c (get_program_header_size): Don't count PT_INTERP if
201         .interp is empty.
202         (_bfd_elf_map_sections_to_segments): Don't create PT_INTERP if
203         .interp is empty.
204
205 2018-10-08  Alan Modra  <amodra@gmail.com>
206
207         * elf32-spu.c (spu_elf_modify_segment_map): Don't insert
208         overlays before segment containing headers.
209
210 2018-10-08  Alan Modra  <amodra@gmail.com>
211
212         * elf.c (make_mapping): Cope with zero size array at end of
213         struct elf_segment_map.
214         (_bfd_elf_map_sections_to_segments): Likewise.
215         (rewrite_elf_program_header, copy_elf_program_header): Likewise.
216         (_bfd_elf_map_sections_to_segments): Rename phdr_index to hdr_index.
217
218 2018-10-05  Alan Modra  <amodra@gmail.com>
219
220         * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name
221         SHT_NOTE.
222
223 2018-10-05  Richard Henderson  <rth@twiddle.net>
224
225         * bfd-in2.h: Regenerated.
226         * elf32-or1k.c: (or1k_elf_howto_table): Fix formatting for
227         R_OR1K_PLT26, Add R_OR1K_PCREL_PG21, R_OR1K_GOT_PG21,
228         R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, R_OR1K_TLS_IE_PG21,
229         R_OR1K_LO13, R_OR1K_GOT_LO13, R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13,
230         R_OR1K_TLS_IE_LO13, R_OR1K_SLO13, R_OR1K_PLTA26.
231         (or1k_reloc_map): Add BFD_RELOC_OR1K_PCREL_PG21,
232         BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_TLS_GD_PG21,
233         BFD_RELOC_OR1K_TLS_LDM_PG21, BFD_RELOC_OR1K_TLS_IE_PG21,
234         BFD_RELOC_OR1K_LO13, BFD_RELOC_OR1K_GOT_LO13,
235         BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_GD_LO13,
236         BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_LO13,
237         BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_PLTA26.
238         (elf_or1k_link_hash_table): Add field saw_plta.
239         (or1k_final_link_relocate): Add value calculations for new relocations.
240         (or1k_elf_relocate_section): Add section relocations for new
241         relocations.
242         (or1k_write_plt_entry): New function.
243         (or1k_elf_finish_dynamic_sections): Add support for PLTA relocations
244         using new l.adrp instruction.  Cleanup PLT relocation code generation.
245         * libbfd.h: Regenerated.
246         * reloc.c: Add BFD_RELOC_OR1K_PCREL_PG21, BFD_RELOC_OR1K_LO13,
247         BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_GOT_LO13,
248         BFD_RELOC_OR1K_PLTA26, BFD_RELOC_OR1K_TLS_GD_PG21,
249         BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_LDM_PG21,
250         BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_PG21,
251         BFD_RELOC_OR1K_TLS_IE_LO13.
252
253 2018-10-05  Richard Henderson  <rth@twiddle.net>
254
255         * elf32-or1k.c (or1k_elf_relocate_section): Add error for unknown
256         relocations.  Add error for non zero addend with plt and got
257         relocations.  Add error for got and plt references against dynamic, non
258         local, symbols.  Add error when linking non shared liraries with
259         flag_pic.
260
261 2018-10-05  Richard Henderson  <rth@twiddle.net>
262             Stafford Horne  <shorne@gmail.com>
263
264         * bfd-in2.h: Regenerated.
265         * elf32-or1k.c (N_ONES): New macro.
266         (or1k_elf_howto_table): Fix R_OR1K_PLT26 to complain on overflow.
267         Add definitions for R_OR1K_TLS_TPOFF, R_OR1K_TLS_DTPOFF,
268         R_OR1K_TLS_DTPMOD, R_OR1K_AHI16, R_OR1K_GOTOFF_AHI16,
269         R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, R_OR1K_SLO16,
270         R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16.
271         (or1k_reloc_map): Add entries for BFD_RELOC_HI16_S,
272         BFD_RELOC_LO16_GOTOFF, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_S_GOTOFF,
273         BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
274         BFD_RELOC_OR1K_SLO16, BFD_RELOC_OR1K_GOTOFF_SLO16,
275         BFD_RELOC_OR1K_TLS_LE_SLO16.
276         (or1k_reloc_type_lookup): Change search loop to start ad index 0 and
277         also check results before returning.
278         (or1k_reloc_name_lookup): Simplify loop to use R_OR1K_max as index
279         limit.
280         (or1k_final_link_relocate): New function.
281         (or1k_elf_relocate_section): Add support for new AHI and SLO
282         relocations.  Use or1k_final_link_relocate instead of generic
283         _bfd_final_link_relocate.
284         (or1k_elf_check_relocs): Add support for new AHI and SLO relocations.
285         * reloc.c: Add new enums for BFD_RELOC_OR1K_SLO16,
286         BFD_RELOC_OR1K_GOTOFF_SLO16, BFD_RELOC_OR1K_TLS_IE_AHI16,
287         BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16,
288         BFD_RELOC_OR1K_TLS_LE_SLO16.  Remove unused BFD_RELOC_OR1K_GOTOFF_HI16
289         and BFD_RELOC_OR1K_GOTOFF_LO16.
290         * libbfd.h: Regenerated.
291
292 2018-10-04  Jim Wilson  <jimw@sifive.com>
293
294         * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections
295         loop, handle htab->sdyntdata section.
296
297 2018-10-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
298
299         * elf64-sparc.c (elf64_sparc_output_arch_syms): Do notcorrect the
300         impact of STT_REGISTER symbols in the dynsym sh_info here...
301         * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ...but
302         do it here.
303
304 2018-10-03  H.J. Lu  <hongjiu.lu@intel.com>
305
306         PR ld/23658
307         * elf.c (get_program_header_size): Put all adjacent SHT_NOTE
308         sections with the same section alignment into a single PT_NOTE
309         segment.  Check SHT_NOTE section type instead of section name.
310         (_bfd_elf_map_sections_to_segments): Likewise.
311
312 2018-10-03  Millan Wolff  <mail@milianw.de>
313
314         PR 23715
315         * dwarf2.c (find_abstract_instance): Allow recursive invocations
316         of find_abstract_instance to override the name variable.
317
318 2018-10-03  Nick Clifton  <nickc@redhat.com>
319
320         * po/pt.po: Updated Portuguese translation.
321
322 2018-10-01  Cupertino Miranda <cmiranda@synopsys.com>
323
324         * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS
325         section alignment in consideration for this relocation. Fixed TCB_SIZE
326         offset size to include section alignment.
327         (get_got_entry_list_for_symbol): Changed.
328         * elf32-arc.c (FINAL_SECTSTART): Added this formula macro.
329         (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead.
330         (arc_special_overflow_checks): Fixed TCB_SIZE offsize to include
331         section alignment.
332         (elf_arc_check_relocs): Changed.
333         (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL.
334         (struct elf_arc_link_hash_entry): Moved and changed.
335         (elf_arc_link_hash_newfunc): Changed.
336         (arc_elf_link_hash_table_create): Removed old initializations.
337         (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed.
338
339 2018-09-28  H.J. Lu  <hongjiu.lu@intel.com>
340
341         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use
342         elfclass instead of bed->s->elfclass.
343
344 2018-09-27  Jim Wilson  <jimw@sifive.com>
345
346         * elfnn-riscv.c (riscv_init_pcgp_relocs): Add explanatory comment.
347         (riscv_free_pcgp_relocs, riscv_record_pcgp_reloc): Likewise.
348         (riscv_find_pcgp_hi_reloc, riscv_reocrd_pcgp_lo_reloc): Likewise.
349         (riscv_find_pcgp_lo_reloc): Likewise.
350         (riscv_delete_pcgp_hi_reloc, riscv_use_pcgp_hi_reloc): Delete.
351         (riscv_delete_pcgp_lo_reloc): Likewise.
352         (_bfd_riscv_relax_pc): Don't call riscv_use_pcgp_hi_reloc. Replace
353         calls to riscv_delete_pcgp_lo_reloc and riscv_delete_pcgp_hi_reloc
354         with TRUE.  Mark abfd arg as ATTRIBUTE_UNUSED.
355
356 2018-09-25  Jim Wilson  <jimw@sifive.com>
357
358         * elfnn-riscv.c (riscv_make_plt_header): New arg output_bfd.  Change
359         return type to bfd_boolean.  If EF_RISCV_RVE call _bfd_error_handler
360         and return FALSE.  Return TRUE at end.
361         (riscv_make_plt_entry): Likewise.
362         (riscv_elf_finish_dynamic_symbol): Update call to riscv_make_plt_entry.
363         (riscv_elf_finish_dynamic_sections): Update call to
364         riscv_make_plt_header.
365
366 2018-09-24  Jim Wilson  <jimw@sifive.com>
367
368         * elfnn-riscv.c (_bfd_riscv_relax_pc) <R_RISCV_PCREL_LO12_I>: New local
369         hi_sec_off which is symbol address with addend subtracted.  Use in
370         riscv_find_pcgp_hi_reloc and riscv_record_pcgp_lo_reloc calls.
371
372         * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Add check for reloc
373         overflow with addend.  Use reloc_dangerous instead of reloc_overflow.
374         Add strings for the two errors handled here.
375         (riscv_elf_relocate_section) In case R_RISCV_PCREL_LO12_I, rewrite
376         comment.  Only give error with addend when used with section symbol.
377         In case bfd_reloc_dangerous, update error string.
378
379 2018-09-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
380
381         PR gdb/20948
382         * elf.c (_bfd_elf_write_object_contents): Return from function
383         early if abfd->direction == both_direction.
384
385 2018-09-21  Simon Marchi  <simon.marchi@ericsson.com>
386
387         * configure.ac: Check for fls.
388         * elf32-nds32.c (fls): Only define if !HAVE_FLS.
389         * config.in: Re-generate.
390         * configure: Re-generate.
391
392 2018-09-20  Maciej W. Rozycki  <macro@linux-mips.org>
393
394         * config.bfd <rs6000-*-aix5.[01], rs6000-*-aix[5-9]*>: Remove
395         duplicate `case' selectors.
396
397 2018-09-20  Nelson Chu <nelson.chu1990@gmail.com>
398
399         * elf32-nds32.c (nds32_elf_relax_loadstore):
400         Remove the unused target features.
401         (bfd_elf32_nds32_set_target_option): Remove the unused parameters.
402         (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12,
403         nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls,
404         nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff
405         nds32_elf_relax_gotoff_suff, calculate_plt_memory_address,
406         calculate_plt_offset, calculate_got_memory_address,
407         nds32_elf_check_dup_relocs): Removed.
408         All callers changed.
409         * elf32-nds32.h: Remove the unused macros and defines.
410         (elf_nds32_link_hash_table): Remove the unused variable.
411         (bfd_elf32_nds32_set_target_option): Update prototype.
412         (nds32_elf_ex9_init): Removed.
413         * elf32-nds32.c (nds32_convert_32_to_16): Updated.
414         * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros
415         to initialize array nds32_elf_howto_table in any order
416         without lots of EMPTY_HOWTO.
417         (nds32_reloc_map): Updated.
418         * reloc.c: Add BFD_RELOC_NDS32_LSI.
419         * bfd-in2.h: Regenerated.
420         * bfd/libbfd.h: Regenerated.
421         * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI.
422         (nds32_reloc_map): Likewise.
423         (nds32_elf_relax_flsi): New function.
424         (nds32_elf_relax_section): Support floating load/store relaxation.
425         * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset):
426         New macro.
427         (struct elf_nds32_link_hash_entry): New `offset_to_gp' field.
428         (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields.
429         (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard,
430         nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym):
431         New functions.
432         (nds32_info_to_howto_rel): Add BFD_ASSERT.
433         (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc,
434         nds32_elf_link_hash_table_create, nds32_elf_relocate_section,
435         nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label,
436         bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated.
437         (nds32_elf_final_sda_base): Improve it to find the better gp value.
438         (insert_nds32_elf_blank): Must consider `len' when inserting blanks.
439         * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype.
440         (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'.
441         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function.
442         (create_got_section): Likewise.
443         (allocate_dynrelocs, nds32_elf_size_dynamic_sections,
444         nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated.
445         (nds32_elf_check_relocs): Fix the issue that the shared library may
446         has TEXTREL entry in the dynamic section.
447         (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs
448         since the TEXTREL issue is fixed in the nds32_elf_check_relocs.
449         (nds32_elf_finish_dynamic_sections): Update and add DT_RELASZ
450         dynamic entry.
451         (calculate_offset): Remove the unused parameter `pic_ext_target' and
452         related codes.
453         All callers changed.
454         (elf_backend_dtrel_excludes_plt): Disable it temporarily since it
455         will cause some errors for our test cases.
456         * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Allow to link the
457         generic object.
458         * reloc.c: Add TLS relocations.
459         * libbfd.h: Regenerated.
460         * bfd-in2.h: Regenerated.
461         * elf32-nds32.h (struct section_id_list_t): New.
462         (elf32_nds32_lookup_section_id, elf32_nds32_check_relax_group,
463         elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model):
464         New prototypes.
465         (elf32_nds32_compute_jump_table_size, elf32_nds32_local_tlsdesc_gotent):
466         New macro.
467         (nds32_insertion_sort, bfd_elf32_nds32_set_target_option,
468         elf_nds32_link_hash_table): Updated.
469         * elf32-nds32.c (enum elf_nds32_tls_type): New.
470         (struct elf32_nds32_relax_group_t, struct relax_group_list_t): New.
471         (elf32_nds32_add_dynreloc, patch_tls_desc_to_ie, get_tls_type,
472         fls, ones32, list_insert, list_insert_sibling, dump_chain,
473         elf32_nds32_check_relax_group, elf32_nds32_lookup_section_id,
474         elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New functions.
475         (elf_nds32_obj_tdata): Add new fields.
476         (elf32_nds32_relax_group_ptr, nds32_elf_local_tlsdesc_gotent): New macros.
477         (nds32_elf_howto_table): Add TLS relocations.
478         (nds32_reloc_map): Likewise.
479         (nds32_elf_copy_indirect_symbol, nds32_elf_size_dynamic_sections,
480         nds32_elf_finish_dynamic_symbol, elf32_nds32_allocate_local_sym_info,
481         nds32_elf_relocate_section, bfd_elf32_nds32_set_target_option,
482         nds32_elf_check_relocs, allocate_dynrelocs): Updated.
483         (nds32_elf_relax_section): Call nds32_elf_unify_tls_model.
484         (dtpoff_base): Rename it to `gottpof' and then update it.
485
486 2018-09-20  Alan Modra  <amodra@gmail.com>
487
488         PR 23685
489         * peXXigen.c (pe_print_edata): Correct export address table
490         overflow checks.  Check dataoff against section size too.
491
492 2018-09-20  Alan Modra  <amodra@gmail.com>
493
494         PR 23686
495         * dwarf2.c (read_section): Error when attempting to malloc
496         "(bfd_size_type) -1".
497         * syms.c (_bfd_stab_section_find_nearest_line): Bounds check
498         function_name.  Bounds check reloc address.  Formatting.  Ensure
499         .stabstr zero terminated.
500
501 2018-09-18  Nick Clifton  <nickc@redhat.com>
502
503         PR 23657
504         * elfcode.h (elf_swap_shdr_in): Generate a warning message if an
505         ELF section has contents and size larger than the file size.
506
507 2018-09-14  Maciej W. Rozycki  <macro@mips.com>
508
509         PR ld/21375
510         * elfxx-mips.h (_bfd_mips_elf_hide_symbol): New prototype.
511         (_bfd_mips_elf_linker_flags): Update prototype.
512         * elf32-mips.c (elf_backend_hide_symbol): New macro.
513         * elf64-mips.c (elf_backend_hide_symbol): Likewise.
514         * elfn32-mips.c (elf_backend_hide_symbol): Likewise.
515         * elfxx-mips.c (mips_elf_link_hash_table): Add
516         `use_absolute_zero' and `gnu_target' members.
517         (mips_elf_record_global_got_symbol): Call
518         `_bfd_mips_elf_hide_symbol' rather than
519         `_bfd_elf_link_hash_hide_symbol'.
520         (mips_use_local_got_p): Return FALSE if the symbol is absolute.
521         (mips_elf_obtain_contents): Reorder function.
522         (mips_elf_nullify_got_load): New function.
523         (mips_elf_calculate_relocation): Add `contents' parameter.
524         Nullify GOT loads or if it is not possible, then redirect GOT
525         relocations to the `__gnu_absolute_zero' symbol, for references
526         that are supposed to resolve to zero.
527         (mips_elf_define_absolute_zero): New function.
528         (_bfd_mips_elf_check_relocs): Prepare for arrangements made in
529         `mips_elf_calculate_relocation' for references made via the GOT
530         that are supposed to resolve to zero.
531         (_bfd_mips_elf_hide_symbol): New function.
532         (_bfd_mips_elf_linker_flags): Add the `gnu_target' parameter,
533         set the `gnu_target' member of the MIPS hash table.
534         (MIPS_LIBC_ABI_ABSOLUTE): New enumeration constant.
535         (_bfd_mips_post_process_headers): Use it.
536
537 2018-09-14  Maciej W. Rozycki  <macro@mips.com>
538
539         * elfxx-mips.c (mips_elf_store_contents): New function...
540         (mips_elf_perform_relocation): ... factored out from here.
541
542 2018-09-14  Lifang Xia <lifang_xia@c-sky.com>
543
544         * elf32-csky.c (csky_elf_howto_table): Fill special_function of
545         R_CKCORE_PCREL32.
546         (csky_elf_relocate_section): Add R_CKCORE_PCREL32 process.
547
548 2018-09-14  Alan Modra  <amodra@gmail.com>
549
550         PR 23425
551         * reloc.c (bfd_generic_get_relocated_section_contents): Zero reloc
552         fields in debug sections when reloc is against an undefined symbol
553         and called from bfd_simple_get_relocated_section_contents or
554         similar.
555         * dwarf2.c (find_abstract_instance): Return true for zero offset
556         DW_FORM_ref_addr without returning values.
557
558 2018-09-06  Alan Modra  <amodra@gmail.com>
559
560         PR 23570
561         * elf32-avr.c (elf_avr_special_sections): New.
562         (elf_backend_special_sections): Define.
563
564 2018-09-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
565
566         * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Do not issue an
567         error when an invalid relocation is passed;  this is already done
568         by `_bfd_sparc_elf_info_to_howto_ptr'.
569
570 2018-09-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
571
572         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Issue an
573         error when an invalid symbol index is retrieved in ELF64_R_SYM of
574         a relocation seen in an input file.
575
576 2018-09-03  Jozef Lawrynowicz <jozef.l@mittosystems.com>
577             Alan Modra  <amodra@gmail.com>
578
579         PR 23595
580         elf.c (copy_elf_program_header): When first segment contains
581         only the headers and SHT_NOBITS sections, use segment p_filesz
582         to calculate header and padding size.  Use filepos of the first
583         section otherwise.
584
585 2018-08-31  H.J. Lu  <hongjiu.lu@intel.com>
586
587         PR ld/23600
588         * archures.c (bfd_arch_get_compatible): Allow an IR object with
589         unknown architecture.
590
591 2018-08-31  Alan Modra  <amodra@gmail.com>
592
593         * elf64-ppc.c (num_relocs_for_offset): New function.
594         (emit_relocs_for_offset): New function.
595         (use_global_in_relocs): New function, split out from..
596         (ppc_build_one_stub): ..here.  Output relocations for notoc stubs.
597         (ppc_size_one_stub): Calculate reloc count for notoc stubs.
598         (ppc64_elf_size_stubs): Don't count undefined syms in stub_globals.
599
600 2018-08-31  Alan Modra  <amodra@gmail.com>
601
602         * reloc.c (BFD_RELOC_PPC64_REL16_HIGH, BFD_RELOC_PPC64_REL16_HIGHA),
603         (BFD_RELOC_PPC64_REL16_HIGHER, BFD_RELOC_PPC64_REL16_HIGHERA),
604         (BFD_RELOC_PPC64_REL16_HIGHEST, BFD_RELOC_PPC64_REL16_HIGHESTA):
605         Define.
606         * elf64-ppc.c (ppc64_elf_howto_raw): Add new REL16 howtos.
607         (ppc64_elf_reloc_type_lookup): Translate new REL16 relocs.
608         (ppc64_elf_check_relocs, ppc64_elf_relocate_section): Handle them.
609         * bfd-in2.h: Regenerate.
610         * libbfd.h: Regenerate.
611
612 2018-08-31  Alan Modra  <amodra@gmail.com>
613
614         * elf64-ppc.c: Correct _notoc stub comments.
615         (ppc_build_one_stub): Simplify output of branch for notoc
616         long branch stub.  Don't include label offset of 8 bytes in
617         "off" calculation for notoc plt stub.  Don't emit insns to get pc.
618         (build_offset): Emit insns to get pc here instead.
619         (size_offset): Add 4 extra insns.
620         (plt_stub_size): Adjust for "off" and size_offset changes.
621         (ppc_size_one_stub): Rearrange code into a switch, duplicating
622         some to better match ppc_build_one_stub.
623
624 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
625
626         * archures.c (bfd_architecture): New machine
627         bfd_mach_mips_gs264e.
628         * bfd-in2.h (bfd_architecture): Likewise.
629         * cpu-mips.c (enum I_xxx): Likewise.
630         (arch_info_struct): Likewise.
631         * elfxx-mips.c (_bfd_elf_mips_mach): Handle
632         E_MIPS_MACH_GS264E.
633         (mips_set_isa_flags): Likewise.
634         (mips_mach_extensions): Map bfd_mach_mips_gs264e to
635         bfd_mach_mips_gs464e extension.
636
637 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
638
639         * archures.c (bfd_architecture): New machine
640         bfd_mach_mips_gs464e.
641         * bfd-in2.h (bfd_architecture): Likewise.
642         * cpu-mips.c (enum I_xxx): Likewise.
643         (arch_info_struct): Likewise.
644         * elfxx-mips.c (_bfd_elf_mips_mach): Handle
645         E_MIPS_MACH_GS464E.
646         (mips_set_isa_flags): Likewise.
647         (mips_mach_extensions): Map bfd_mach_mips_gs464e to
648         bfd_mach_mips_gs464 extension.
649
650 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
651
652         * archures.c (bfd_architecture): Rename
653         bfd_mach_mips_loongson_3a to bfd_mach_mips_gs464.
654         * bfd-in2.h (bfd_architecture): Likewise.
655         * cpu-mips.c (enum I_xxx): Likewise.
656         (arch_info_struct): Likewise.
657         * elfxx-mips.c (_bfd_elf_mips_mach): Likewise.
658         (mips_set_isa_flags): Likewise.
659         (mips_mach_extensions): Likewise.
660         (bfd_mips_isa_ext_mach): Likewise.
661         (bfd_mips_isa_ext): Likewise.
662         (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A.
663
664 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
665
666         * elfxx-mips.c (print_mips_ases): Add Loongson EXT2 extension.
667
668 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
669
670          * elfxx-mips.c (infer_mips_abiflags): Use ases instead of
671          isa_ext for infer ABI flags.
672          (print_mips_ases): Add Loongson EXT extension.
673
674 2018-08-29  Chenghua Xu  <paul.hua.gm@gmail.com>
675
676         * elfxx-mips.c (print_mips_ases): Add CAM extension.
677
678 2018-08-27  H.J. Lu  <hongjiu.lu@intel.com>
679
680         * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Don't mask
681         out the GNU_PROPERTY_X86_UINT32_VALID bit.
682
683 2018-08-25  H.J. Lu  <hongjiu.lu@intel.com>
684
685         PR ld/23499
686         * elf.c (_bfd_elf_get_symbol_version_string): Return
687         _("<corrupt>") for corrupt symbol version info.
688
689 2018-08-24  H.J. Lu  <hongjiu.lu@intel.com>
690
691         * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Handle
692         X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED,
693         X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO,
694         X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI
695         instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND.
696         (_bfd_x86_elf_merge_gnu_properties): Likewise.
697         (_bfd_x86_elf_link_setup_gnu_properties): Add X86_FEATURE_2_NEEDED
698         instead of X86_ISA_1_NEEDED.
699         (_bfd_x86_elf_link_fixup_gnu_properties): Handle
700         X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO,
701         X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI,
702         X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of
703         X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND.
704
705 2018-08-24  H.J. Lu  <hongjiu.lu@intel.com>
706
707         * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Mask out the
708         GNU_PROPERTY_X86_UINT32_VALID bit.
709         (_bfd_x86_elf_link_fixup_gnu_properties): Set the
710         GNU_PROPERTY_X86_UINT32_VALID bit for non-relocatable output.
711
712 2018-08-23  Zenith423  <zenith432@users.sourceforge.net>
713
714         PR 23460
715         * plugin.c (struct plugin_list_entry): New structure.
716         (plugin_list): New variable.
717         (try_load_plugin): Place opened plugins on a list.  Ensure that
718         the refcount in the dynamic loader is kept at 1.
719
720 2018-08-23  Alan Modra  <amodra@gmail.com>
721
722         * elf64-ppc.c (ppc64_elf_relocate_section): Revise "call lacks
723         nop" error message.
724
725 2018-08-23  Nick Clifton  <nickc@redhat.com>
726
727         * elf64-hppa.c (elf_hppa_final_link_relocate): Replace unworkable
728         code with an assertion.
729
730 2018-08-23  Nick Clifton  <nickc@redhat.com>
731
732         PR 23061
733         * coffgen.c (coff_pointerize_aux): Add table_end parameter.  Use
734         it to prevent walking off the end of the table.
735         (coff_get_normalized_symtab): Pass internal_end pointer to
736         coff_pointerize_aux.
737
738 2018-08-23  Alan Modra  <amodra@gmail.com>
739
740         * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing
741         unresolved_reloc on ppc_stub_plt_call_notoc.
742
743 2018-08-22  H.J. Lu  <hongjiu.lu@intel.com>
744
745         PR ld/23536
746         * development.sh (experimental): New.
747
748 2018-08-22  Helge Deller  <deller@gmx.de>
749         Nick Clifton  <nickc@redhat.com>
750
751         * elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as
752         the section type of the .PARISC.unwind section on 64-bit binaries
753         and SHT_PROGBITS for 32-bit binaries.  Add a comment about it.
754         Add comment about the sh_entsize value.
755
756 2018-08-22  Rafeal Auler  <rafaelauler@gmail.com>
757
758         PR 23560
759         * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the
760         stub's target, since it may have been changed after the layout.
761
762 2018-08-21  John Darington  <john@darrington.wattle.id.au>
763
764         * elf32-s12z.c (opru18_reloc): New function.
765         (elf_s12z_howto_table): Adjust Howto according to new knowledge.
766
767 2018-08-21  mephi42  <mephi42@gmail.com>
768
769         PR binutils/23315
770         * mach-o.c (bfd_mach_o_mangle_symbols): Update n_type even if
771         data is already considered filled.
772
773 2018-08-21  Alan Modra  <amodra@gmail.com>
774
775         * elf64-ppc.c (HOW): Define.
776         (ONES): Delete.
777         (ppc64_elf_howto_raw): Use HOW to initialize entries.
778         * elf32-ppc.c (HOW): Define.
779         (ppc_elf_howto_raw): Use HOW to initialize entries, updating
780         R_PPC_VLE_REL15 and R_PPC_VLE_REL24 to use bitpos=0.
781
782 2018-08-21  Alan Modra  <amodra@gmail.com>
783
784         * reloc.c (reloc_howto_type): Typedef.
785         (bfd_symbol): Delete forward declaration.
786         (struct reloc_howto_struct): Add "negate" field.  Make "size",
787         "bitsize", "rightshift", "bitpos", "complain_on_overflow",
788         "pc_relative", "partial_inplace", and "pcrel_offset" bitfields.
789         Rearrange for better packing.  Revise comments.
790         (HOWTO): Map to rearranged reloc_howto_struct.
791         (bfd_get_reloc_size): Delete now unused cases.
792         (read_reloc, write_reloc): Likewise.
793         (apply_reloc, _bfd_relocate_contents): Test howto->negate
794         rather than howto->size < 0 for negated relocation values.
795         * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Avoid
796         signed/unsigned warning.
797         (xcoff_ppc_relocate_section): Delete "condition is always false"
798         code.
799         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
800         * cpu-ns32k.c (do_ns32k_reloc): Adjust to suit reloc_howto_struct
801         changes.
802         * vms-alpha.c (_bfd_vms_write_etir, alpha_vms_slurp_relocs): Use
803         size 16 for ALPHA_R_LINKAGE.
804         (alpha_howto_table <ALPHA_R_LINKAGE>): Set encoded size and
805         bitsize to zero.
806         * bfd-in.h (reloc_howto_type): Delete.
807         * bfd-in2.h: Regenerate.
808
809 2018-08-21  Alan Modra  <amodra@gmail.com>
810
811         * reloc.c (HOWTO): Revise comment.
812         (NEWHOWTO, HOWTO_PREPARE): Delete.
813         * coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc
814         reloc_howto_struct with reloc_howto_type.
815         * ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise.
816         * vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise.
817         * elf-hppa.h (HOW): Define.
818         (elf_hppa_howto_table): Use it to simplify this table, correcting
819         name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and
820         R_PARISC_LTOFF_FPTR16DF.
821         * elf32-mep.c (MEPREL): Use HOWTO.
822         * bfd-in2.h: Regenerate.
823
824 2018-08-20  Alan Modra  <amodra@gmail.com>
825
826         * mmo.c (valid_mmo_symbol_character_set): Initialize and make
827         array const.
828         (mmo_init): Don't init valid_mmo_symbol_character_set.
829
830 2018-08-20  Alan Modra  <amodra@gmail.com>
831
832         * rs6000-core.c (CORE_COMMONSZ): Balance parentheses in expression.
833
834 2018-08-17  H.J. Lu  <hongjiu.lu@intel.com>
835
836         PR ld/23515
837         * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties.
838         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call
839         backend fixup_gnu_properties if it isn't NULL.  Discard
840         .note.gnu.property section if all properties have been removed.
841         * elfxx-target.h (elf_backend_fixup_gnu_properties): New.
842         (elfNN_bed): Initialize fixup_gnu_properties.
843         * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New
844         function.
845         * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New
846         prototype.
847         (elf_backend_fixup_gnu_properties): New.
848
849 2018-08-16  Alan Modra  <amodra@gmail.com>
850
851         * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example.
852         Formatting.
853
854 2018-08-12  H.J. Lu  <hongjiu.lu@intel.com>
855
856         PR binutils/23494
857         * Makefile.am (BFD32_LIBS): Add elf-properties.lo.
858         (BFD32_LIBS_CFILES): Add elf-properties.c.
859         (BFD32_BACKENDS): Remove elf-properties.lo.
860         (BFD32_BACKENDS_CFILES): Remove elf-properties.c.
861         * configure.ac (elf): Remove elf-properties.lo.
862         * Makefile.in: Regenerated.
863         * configure: Likewise.
864
865 2018-08-11  H.J. Lu  <hongjiu.lu@intel.com>
866
867         PR ld/23428
868         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
869         add X86_ISA_1_NEEDED property only if existing properties won't
870         be removed.
871
872 2018-08-11  Alan Modra  <amodra@gmail.com>
873
874         * reloc.c (bfd_get_reloc_size): Sort switch.
875         (read_reloc, write_reloc, apply_reloc): New functions.
876         (bfd_perform_relocation, bfd_install_relocation): Use apply_reloc.
877         (_bfd_relocate_contents): Use read_reloc and write_reloc.
878         (_bfd_clear_contents): Likewise.
879
880 2018-08-11  John Darrington  <john@darrington.wattle.id.au>
881
882         * reloc.c (_bfd_relocate_contents): Handle 3 byte relocs.
883         (_bfd_clear_contents): Likewise.
884         (bfd_perform_relocation): Likewise.
885         (bfd_install_relocation): Likewise.
886
887 2018-08-10  H.J. Lu  <hongjiu.lu@intel.com>
888
889         PR ld/23499
890         * elflink.c (bfd_elf_record_link_assignment): Always clear
891         h->verinfo.verdef when overriding a dynamic definition.
892
893 2018-08-10  H.J. Lu  <hongjiu.lu@intel.com>
894
895         PR binutils/23494
896         * elf-properties.c (elf_get_gnu_property_section_size): Always
897         use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE.
898         (elf_write_gnu_properties): Likewise.
899
900 2018-08-08  H.J. Lu  <hongjiu.lu@intel.com>
901
902         PR binutils/23494
903         * bfd.c (bfd_convert_section_size): Check BFD_DECOMPRESS after
904         calling _bfd_elf_convert_gnu_property_size to convert
905         .note.gnu.property section size.
906         (bfd_convert_section_contents): Check BFD_DECOMPRESS after
907         calling _bfd_elf_convert_gnu_properties to convert
908         .note.gnu.property section.
909         * elf-bfd.h (_bfd_elf_convert_gnu_property_size): New prototype.
910         (_bfd_elf_convert_gnu_properties): Likewise.
911         * elf-properties.c (elf_get_gnu_property_section_size): New
912         function.
913         (elf_write_gnu_properties): Likewise.
914         (_bfd_elf_convert_gnu_property_size): Likewise.
915         (_bfd_elf_convert_gnu_properties): Likewise.
916         (_bfd_elf_link_setup_gnu_properties): Use
917         elf_get_gnu_property_section_size and elf_write_gnu_properties.
918
919 2018-08-08  H.J. Lu  <hongjiu.lu@intel.com>
920
921         PR ld/23486
922         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
923         GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
924         (_bfd_x86_elf_link_setup_gnu_properties): Adding the
925         GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
926         GNU_PROPERTY_X86_ISA_1_USED, property.
927
928 2018-08-07  Alan Modra  <amodra@gmail.com>
929
930         * elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl.
931         Add lr_restore, eh_size and eh_base.
932         (eh_advance, eh_advance_size): New functions.
933         (build_tls_get_addr_stub): Emit EH info for stub.
934         (ppc_build_one_stub): Likewise for _notoc stubs.
935         (ppc_size_one_stub): Size EH info for stub.
936         (group_sections): Init new map_stub fields.
937         (stub_eh_frame_size): Delete.
938         (ppc64_elf_size_stubs): Size EH info for stubs.  Set up dummy EH
939         program for stubs.
940         (ppc64_elf_build_stubs): Reinit new map_stub fields.  Set FDE
941         offset to stub section here..
942         (ppc64_elf_finish_dynamic_sections): ..rather than here.
943
944 2018-08-07  Alan Modra  <amodra@gmail.com>
945
946         * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first
947         instruction of __tls_get_addr_opt stub.
948         (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when
949         dealing with __tls_get_addr_opt stub.
950         (build_tls_get_addr_stub, ppc_size_one_stub): Likewise.
951
952 2018-08-06  Claudiu Zissulescu  <claziss@synopsys.com>
953
954         * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about
955         efalgs only when in/out exists.
956         (elf32_arc_section_from_shdr): Don't complain about 0x0c
957         section type.  It is mwdt compiler specific.
958
959 2018-08-06  Claudiu Zissulescu  <claziss@synopsys.com>
960
961         * elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes.
962
963 2018-08-06  Claudiu Zissulescu  <claziss@synopsys.com>
964
965         * elf32-arc.c (arc_elf_merge_attributes): Handle
966         Tag_ARC_ATR_version.
967
968 2018-08-05  Alan Modra  <amodra@gmail.com>
969
970         * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12),
971         (ADDIS_R12_R11, ORIS_R12_R12_0, ORI_R12_R12_0),
972         (SLDI_R12_R12_32, LDX_R12_R11_R12, ADD_R12_R11_R12): Define.
973         (ppc64_elf_howto_raw): Add R_PPC64_REL24_NOTOC entry.
974         (ppc64_elf_reloc_type_lookup): Support R_PPC64_REL24_NOTOC.
975         (ppc_stub_type): Add ppc_stub_long_branch_notoc,
976         ppc_stub_long_branch_both, ppc_stub_plt_branch_notoc,
977         ppc_stub_plt_branch_both, ppc_stub_plt_call_notoc, and
978         ppc_stub_plt_call_both.
979         (is_branch_reloc): Add R_PPC64_REL24_NOTOC.
980         (build_offset, size_offset): New functions.
981         (plt_stub_size): Support plt_call_notoc and plt_call_both.
982         (ppc_build_one_stub, ppc_size_one_stub): Support new stubs.
983         (toc_adjusting_stub_needed): Handle R_PPC64_REL24_NOTOC.
984         (ppc64_elf_size_stubs): Likewise, and new stubs.
985         (ppc64_elf_build_stubs, ppc64_elf_relocate_section): Likewise.
986         * reloc.c: Add BFD_RELOC_PPC64_REL24_NOTOC.
987         * bfd-in2.h: Regenerate.
988         * libbfd.h: Regenerate.
989
990 2018-08-05  Alan Modra  <amodra@gmail.com>
991
992         * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols.
993
994 2018-08-02  Jim Wilson  <jimw@sifive.com>
995
996         * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn,
997         add SEC_LINKER_CREATED flag.
998
999 2018-08-01  Nick Clifton  <nickc@redhat.com>
1000
1001         * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings
1002         about potentially truncated strncpy operations.
1003         (_bfd_xcoff_put_symbol_name): Likewise.
1004
1005         * elf32-avr.c (avr_stub_name): Check for a NULL return from
1006         bfd_malloc.
1007
1008 2018-08-01  Zenith  <zenith432@users.sourceforge.net>
1009
1010         PR 23460
1011         * plugin.c (bfd_plugin_open_input): Close file descriptor if the
1012         call to fstat fails.
1013         (try_claim): Always close the file descriptor at the end of the
1014         function.
1015         (try_load_plugin): If a plugin has already been registered, then
1016         skip the dlopen and onload steps and go straight to claiming the
1017         file.  If these is an error, close the plugin.
1018
1019 2018-08-01  Alan Modra  <amodra@gmail.com>
1020
1021         * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed.
1022         (ppc_build_one_stub): Don't set stub_offset, instead assert that
1023         it is sane.  Don't adjust stub_offset for alignment.  Adjust size
1024         calculation.  Use "targ" temp when calculating offsets.
1025         (ppc_size_one_stub): Set stub_offset here.  Use "targ" temp when
1026         calculating offsets.  Adjust for alignment before setting
1027         tls_get_addr_opt_bctrl.
1028
1029 2018-08-01  Alan Modra  <amodra@gmail.com>
1030
1031         * po/SRC-POTFILES.in: Regenerate.
1032
1033 2018-07-30  Nick Clifton  <nickc@redhat.com>
1034
1035         PR 22706
1036         * elf32-sh.c (sh_elf_relocate_section): When processing
1037         translation relocs, fail if the relocation offset is too small.
1038         Replace BFD_ASSERTs with more helpful error messages.
1039
1040 2018-07-30  Andrew Jenner  <andrew@codesourcery.com>
1041
1042         * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY.
1043         (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise.
1044         * Makefile.in: Regenerated.
1045         * archures.c (enum bfd_architecture): Add bfd_arch_csky and
1046         related bfd_mach defines.
1047         (bfd_csky_arch): Declare.
1048         (bfd_archures_list): Add C-SKY.
1049         * bfd-in.h (elf32_csky_build_stubs): Declare.
1050         (elf32_csky_size_stubs): Declare.
1051         (elf32_csky_next_input_section: Declare.
1052         (elf32_csky_setup_section_lists): Declare.
1053         * bfd-in2.h: Regenerated.
1054         * config.bfd: Add C-SKY.
1055         * configure.ac: Likewise.
1056         * configure: Regenerated.
1057         * cpu-csky.c: New file.
1058         * elf-bfd.h (enum elf_target_id): Add C-SKY.
1059         * elf32-csky.c: New file.
1060         * libbfd.h: Regenerated.
1061         * reloc.c: Add C-SKY relocations.
1062         * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare.
1063         (_bfd_target_vector): Add C-SKY target vector entries.
1064
1065 2018-07-27  John Darrington  <john@darrington.wattle.id.au>
1066
1067         * elf32-s12z.c (ELF_TARGET_ID): Don't define.
1068
1069 2018-07-27  John Darrington  <john@darrington.wattle.id.au>
1070
1071         * libbfd.c (bfd_getb24, bfd_getl24): New functions.
1072         (bfd_get_24, bfd_put_24): New macros.
1073         * bfd-in2.h: Regenerate.
1074
1075 2018-07-27  John Darrington  <john@darrington.wattle.id.au>
1076
1077         * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment.
1078
1079 2018-07-26  Alan Modra  <amodra@gmail.com>
1080
1081         * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off
1082         for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1.
1083
1084 2018-07-25  Alan Modra  <amodra@gmail.com>
1085
1086         * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals.
1087         Avoid trashing toff with added when used as a symbol index.
1088         Ignore R_PPC_PLTREL24 addends in unused example code.  Avoid
1089         creating unnecessary fixups when relocatable.
1090
1091 2018-07-25  Alan Modra  <amodra@gmail.com>
1092
1093         * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable
1094         -Wstringop-truncation warning for gcc-8.0 too.
1095         * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
1096         * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
1097         * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
1098         * elf32-s390.c (elf_s390_write_core_note): Comment fix.
1099         * elf64-s390.c (elf_s390_write_core_note): Likewise.
1100
1101 2018-07-24  Alan Modra  <amodra@gmail.com>
1102
1103         PR 23430
1104         * dwarf2.c (dwarf_debug_section_enum): Fix comment typo.
1105         * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise.
1106
1107 2018-07-23  Max Filippov  <jcmvbkbc@gmail.com>
1108
1109         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move
1110         relocation sections consistency check to always check both
1111         .rela.dyn and .rela.plt when they exist. Rearrange variable
1112         definition and assignment places.
1113
1114 2018-07-23  Max Filippov  <jcmvbkbc@gmail.com>
1115
1116         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic
1117         relocations section for dynamic undefined weak symbols when
1118         linking a shared object.
1119
1120 2018-07-23  Tom Tromey  <tom@tromey.com>
1121
1122         * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0.
1123
1124 2018-07-21  Eric Botcazou  <ebotcazou@adacore.com>
1125
1126         * elf32-arm.c (elf32_arm_final_link_relocate) <R_ARM_GOT32>: Small
1127         cleanup for the case of a global symbol that binds locally.  Also
1128         install a value in the GOT slot in the case of a local symbol in
1129         a non-PIC link.
1130
1131 2018-07-20  H.J. Lu  <hongjiu.lu@intel.com>
1132
1133         PR ld/23428
1134         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
1135         separate code program header is needed, make sure that the first
1136         read-only PT_LOAD segment has no code by adding a
1137         GNU_PROPERTY_X86_ISA_1_USED note.
1138
1139 2018-07-20  Chenghua Xu  <paul.hua.gm@gmail.com>
1140             Maciej W. Rozycki  <macro@mips.com>
1141
1142         * elfxx-mips.c (print_mips_ases): Add MMI extension.
1143
1144 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1145
1146         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not
1147         create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the
1148         dynamic relocation section will be discarded from output.
1149         (_bfd_mips_elf_finish_dynamic_sections) <DT_RELSZ>: Assert that
1150         the dynamic relocation section will be retained in output.
1151
1152 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
1153
1154         * xcofflink.c (xcoff_write_global_symbol): Fix symbol type
1155         checks for defined weak symbols.
1156
1157 2018-07-17  Maciej W. Rozycki  <macro@mips.com>
1158
1159         * elf32-nds32.c (nds32_elf_relax_loadstore): Use
1160         `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking
1161         whether the symbol is absolute.
1162         (nds32_elf_relax_lo12): Likewise.
1163         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
1164         (elfNN_aarch64_check_relocs): Likewise.
1165         * xcofflink.c (xcoff_need_ldrel_p): Likewise.
1166         (bfd_xcoff_import_symbol): Likewise.
1167         (xcoff_write_global_symbol): Likewise.
1168
1169 2018-07-17  Maciej W. Rozycki  <macro@mips.com>
1170
1171         * linker.c (bfd_is_abs_symbol): New macro.
1172         * bfd-in2.h: Regenerate.
1173
1174 2018-07-16  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
1175
1176         * elf-bfd.h (elfcore_write_ppc_tar): Add prototype.
1177         (elfcore_write_ppc_ppr): Likewise.
1178         (elfcore_write_ppc_dscr): Likewise.
1179         (elfcore_write_ppc_ebb): Likewise.
1180         (elfcore_write_ppc_pmu): Likewise.
1181         (elfcore_write_ppc_tm_cgpr): Likewise.
1182         (elfcore_write_ppc_tm_cfpr): Likewise.
1183         (elfcore_write_ppc_tm_cvmx): Likewise.
1184         (elfcore_write_ppc_tm_cvsx): Likewise.
1185         (elfcore_write_ppc_tm_spr): Likewise.
1186         (elfcore_write_ppc_tm_ctar): Likewise.
1187         (elfcore_write_ppc_tm_cppr): Likewise.
1188         (elfcore_write_ppc_tm_cdscr): Likewise.
1189         * elf.c (elfcore_write_ppc_tar): New function.
1190         (elfcore_write_ppc_ppr): Likewise.
1191         (elfcore_write_ppc_dscr): Likewise.
1192         (elfcore_write_ppc_ebb): Likewise.
1193         (elfcore_write_ppc_pmu): Likewise.
1194         (elfcore_write_ppc_tm_cgpr): Likewise.
1195         (elfcore_write_ppc_tm_cfpr): Likewise.
1196         (elfcore_write_ppc_tm_cvmx): Likewise.
1197         (elfcore_write_ppc_tm_cvsx): Likewise.
1198         (elfcore_write_ppc_tm_spr): Likewise.
1199         (elfcore_write_ppc_tm_ctar): Likewise.
1200         (elfcore_write_ppc_tm_cppr): Likewise.
1201         (elfcore_write_ppc_tm_cdscr): Likewise.
1202         (elfcore_write_register_note): Call them.
1203         (elfcore_grok_ppc_tar): New function.
1204         (elfcore_grok_ppc_ppr): Likewise.
1205         (elfcore_grok_ppc_dscr): Likewise.
1206         (elfcore_grok_ppc_ebb): Likewise.
1207         (elfcore_grok_ppc_pmu): Likewise.
1208         (elfcore_grok_ppc_tm_cgpr): Likewise.
1209         (elfcore_grok_ppc_tm_cfpr): Likewise.
1210         (elfcore_grok_ppc_tm_cvmx): Likewise.
1211         (elfcore_grok_ppc_tm_cvsx): Likewise.
1212         (elfcore_grok_ppc_tm_spr): Likewise.
1213         (elfcore_grok_ppc_tm_ctar): Likewise.
1214         (elfcore_grok_ppc_tm_cppr): Likewise.
1215         (elfcore_grok_ppc_tm_cdscr): Likewise.
1216         (elfcore_grok_note): Call them.
1217
1218 2018-07-11  Maciej W. Rozycki  <macro@mips.com>
1219
1220         * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
1221         than `!bfd_link_pic' in determining the dynamic symbol index.
1222         Avoid the index of -1.
1223         (mips_elf_initialize_tls_slots): Likewise.  Flatten code by
1224         moving `dyn' to the beginning of the function block.
1225
1226 2018-07-11  Maciej W. Rozycki  <macro@mips.com>
1227             Rich Felker  <bugdal@aerifal.cx>
1228
1229         PR ld/22570
1230         * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
1231         than `bfd_link_pic' to determine whether dynamic relocations are
1232         to be produced.
1233         (mips_elf_initialize_tls_slots): Likewise.
1234
1235 2018-07-10  Maciej W. Rozycki  <macro@mips.com>
1236
1237         * elflink.c (bfd_elf_final_link): Rename `remove' local variable
1238         to `remove_section'.
1239
1240 2018-07-10  Alan Modra  <amodra@gmail.com>
1241
1242         * elf32-xgate.h: Delete.
1243         * elf32-xgate.c: Delete unnecessary forward declarations, add two
1244         that are now needed.
1245         (xgate_elf_bfd_link_hash_table_create)
1246         (xgate_elf_bfd_link_hash_table_free)
1247         (xgate_elf_set_mach_from_flags, struct xgate_scan_param)
1248         (stub_hash_newfunc, elf32_xgate_add_symbol_hook)
1249         (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs)
1250         (elf32_xgate_build_stubs, elf32_xgate_check_relocs)
1251         (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags)
1252         (elf32_xgate_post_process_headers): Delete.
1253         (elf32_xgate_backend_symbol_processing): New function.
1254         (xgate_elf_ignore_reloc, xgate_elf_special_reloc)
1255         (_bfd_xgate_elf_print_private_bfd_data): Make static.
1256         (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs)
1257         (elf_backend_relocate_section, elf_backend_object_p)
1258         (elf_backend_final_write_processing, elf_backend_can_gc_sections)
1259         (elf_backend_post_process_headers, elf_backend_add_symbol_hook)
1260         (bfd_elf32_bfd_link_hash_table_create)
1261         (bfd_elf32_bfd_set_private_flags)
1262         (xgate_stub_hash_lookup): Don't define.
1263         (elf_backend_symbol_processing): Define.
1264         * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA.
1265
1266 2018-07-09  Maciej W. Rozycki  <macro@mips.com>
1267
1268         * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set
1269         `->needs_lazy_stub' if the stubs output section is the absolute
1270         section.
1271
1272 2018-07-09  H.J. Lu  <hongjiu.lu@intel.com>
1273
1274         PR ld/23388
1275         * configure.ac: Use changequote for "i[3-7]86-*-linux-*".
1276         * configure: Regenerated.
1277
1278 2018-07-09  Alan Modra  <amodra@gmail.com>
1279
1280         * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call
1281         _bfd_elf_post_process_headers.
1282
1283 2018-07-06  Max Filippov  <jcmvbkbc@gmail.com>
1284
1285         * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate
1286         space for dynamic relocation for undefined weak symbol.
1287         (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE
1288         relocation for undefined weak symbols.
1289         (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation
1290         section for relocations against undefined weak symbols.
1291
1292 2018-07-06  Alan Hayward  <alan.hayward@arm.com>
1293
1294         * elf.c (elfcore_grok_aarch_sve): New function.
1295         (elfcore_grok_note): Check for Aarch64 SVE.
1296         (elfcore_write_aarch_sve): New function.
1297         (elfcore_write_register_note): Check for Aarch64 SVE.
1298         * elf-bfd.h(elfcore_grok_aarch_sve): New declaration.
1299
1300 2018-07-06  Alan Modra  <amodra@gmail.com>
1301
1302         * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use
1303         DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally.
1304         * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
1305         * elf32-s390.c (elf_s390_write_core_note): Likewise.
1306         * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
1307         * elf64-s390.c (elf_s390_write_core_note): Likewise.
1308         * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
1309
1310 2018-07-05  Jim Wilson  <jimw@sifive.com>
1311
1312         * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
1313         (riscv64*-*-*): Likewise.
1314         (riscv-*-*): Add as an alias for riscv32*-*-*.
1315
1316 2018-07-05  H.J. Lu  <hongjiu.lu@intel.com>
1317
1318         PR ld/23372
1319         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86
1320         ISA properties with empty bits.
1321
1322 2018-07-05  Nick Clifton  <nickc@redhat.com>
1323
1324         * po/ru.po: Updated Russian translation.
1325
1326 2018-07-05  Alan Modra  <amodra@gmail.com>
1327
1328         * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype.
1329         * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error
1330         on mismatch.  Remove "warning: " from messages.  Track last bfd
1331         used to set tags.
1332         (ppc_elf_merge_obj_attributes): Likewise.  Handle status from
1333         _bfd_elf_ppc_merge_fp_attributes.
1334         * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status
1335         from _bfd_elf_ppc_merge_fp_attributes.
1336
1337 2018-07-04  H.J. Lu  <hongjiu.lu@intel.com>
1338
1339         * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h.
1340         * Makefile.in: Regenerated.
1341
1342 2018-07-03  Alan Modra  <amodra@gmail.com>
1343
1344         * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
1345         sections.
1346
1347 2018-07-03  Alan Modra  <amodra@gmail.com>
1348
1349         * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define.
1350         * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR.
1351         * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use
1352         ATTR_TYPE_FLAG_INT_VAL.  Set ATTR_TYPE_HAS_ERROR on finding
1353         incompatible attribute.
1354         (ppc_elf_merge_obj_attributes): Likewise.  Return
1355         _bfd_elf_merge_object_attributes result.
1356         * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return
1357         _bfd_elf_merge_object_attributes result.
1358
1359 2018-07-03  Alan Modra  <amodra@gmail.com>
1360
1361         PR 17550
1362         * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
1363         in discarded sections.
1364
1365 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1366
1367         * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set
1368         `mark' for symbols created from `mips_elf_dynsym_rtproc_names'
1369         list.
1370
1371 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1372
1373         * elf64-mips.c (micromips_elf64_howto_table_rel): Add
1374         R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
1375         R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
1376         R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
1377         R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and
1378         R_MICROMIPS_PC23_S2 relocation entries.
1379         (micromips_elf64_howto_table_rela): Likewise.
1380         (micromips_reloc_map): Likewise.
1381         * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise.
1382         (elf_micromips_howto_table_rela): Likewise.
1383         (micromips_reloc_map): Likewise.
1384
1385 2018-07-02  H.J. Lu  <hongjiu.lu@intel.com>
1386
1387         PR ld/23324
1388         * elf64-x86-64.c (elf_x86_64_relocate_section): Clear the
1389         R_X86_64_converted_reloc_bit bit.
1390
1391 2018-07-02  Jeff Muizelaar  <jrmuizel@gmail.com>
1392             Tom Tromey  <tom@tromey.com>
1393
1394         PR 13157
1395         PR 21787
1396         * mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function.
1397         (bfd_mach_o_close_and_cleanup): Redefine.
1398         * archive.c (_bfd_unlink_from_archive_parent): New function,
1399         extracted from..
1400         (_bfd_archive_close_and_cleanup): ..here.
1401         (bfd_generic_archive_p): Do not clear archive's format.
1402         * libbfd-in.h (_bfd_unlink_from_archive_parent): Declare.
1403         * libbfd.h: Regenerate.
1404
1405 2018-07-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1406
1407         * archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ,
1408         bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M,
1409         bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R,
1410         bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define.
1411         * bfd-in2.h: Regenerate.
1412         * cpu-arm.c (arch_info_struct): Add entries for above new
1413         bfd_mach_arm values.
1414         * elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to
1415         bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later
1416         architectures.  Force assert failure for any new Tag_CPU_arch value.
1417
1418 2018-07-02  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1419
1420         * doc/bfdint.texi: Use command-line consistently when used in a
1421         compount word.
1422         * doc/bfdsumm.texi: Likewise.
1423
1424 2018-06-29  Maciej W. Rozycki  <macro@mips.com>
1425
1426         * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
1427         visibility check made for undefined weak symbols.
1428
1429 2018-06-26  Nick Clifton  <nickc@redhat.com>
1430
1431         * po/uk.po: Updated Ukranian translation.
1432
1433 2018-06-25  Nick Clifton  <nickc@redhat.com>
1434
1435         * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check
1436         for malloc returning NULL.
1437         (_bfd_aarch64_erratum_843419_fixup): Check for
1438         _bfd_aarch64_erratum_835769_stub_name returning NULL.
1439
1440 2018-06-24  Nick Clifton  <nickc@redhat.com>
1441
1442         * po/bfd.pot: Regenerate.
1443
1444 2018-06-24  Nick Clifton  <nickc@redhat.com>
1445
1446         * version.m4: Update version string to 2.31.51.
1447         * configure: Regenerate.
1448
1449 2018-06-24  Nick Clifton  <nickc@redhat.com>
1450
1451         2.31 branch created.
1452
1453 2018-06-21  Maciej W. Rozycki  <macro@mips.com>
1454
1455         * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding)
1456         (_bfd_mips_elf_cant_unwind_opcode): Correct formatting.
1457
1458 2018-06-21  Maciej W. Rozycki  <macro@mips.com>
1459
1460         * elfxx-mips.c (_bfd_mips_post_process_headers): Keep
1461         EI_ABIVERSION setting together.
1462
1463 2018-06-21  Maciej W. Rozycki  <macro@mips.com>
1464
1465         * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT)
1466         (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64)
1467         (MIPS_LIBC_ABI_MAX): New enumeration constants.
1468         (_bfd_mips_post_process_headers): Use them in place of magic
1469         numbers.
1470
1471 2018-06-21  Jim Wilson  <jimw@sifive.com>
1472
1473         * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment.
1474         Use SYMBOL_REFERENCES_LOCAL.  Add asserts for h->got.offset.
1475
1476 2018-06-21  Alan Modra  <amodra@gmail.com>
1477
1478         * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign".
1479         * doc/Makefile.in: Regenerate.
1480
1481 2018-06-20  Renlin Li  <renlin.li@arm.com>
1482
1483         * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET
1484         to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1485         BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1486         BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
1487         BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
1488         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
1489         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
1490         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
1491         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
1492
1493 2018-06-20  Nick Clifton  <nickc@redhat.com>
1494
1495         PR 23316
1496         * opncls.c (get_build_id): Check for a negative or excessive data
1497         size in the build-id note.
1498
1499 2018-06-20  Nick Clifton  <nickc@redhat.com>
1500
1501         PR 23299
1502         * mach-o.c (cputype): New function.
1503         (cpusubtype): New function.
1504         (bfd_mach_o_bfd_print_private_data): New function.  Dispalys the
1505         values in the MACH-O file header.
1506         (bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and
1507         cpusubtype fields from the input bfd's mach-o header to the output
1508         bfd.
1509         * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data):
1510         Redefine to bfd_mach_o_bfd_print_private_data.
1511         * mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype.
1512
1513 2018-06-19  Maciej W. Rozycki  <macro@mips.com>
1514
1515         PR ld/22966
1516         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the
1517         `.got.plt' entry referred is in range.
1518         (mips_finish_exec_plt): Correct the range check for `.got.plt'
1519         start.  Replace the assertion used for that with a proper error
1520         message.
1521
1522 2018-06-19  Maciej W. Rozycki  <macro@mips.com>
1523
1524         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix
1525         formatting.
1526
1527 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
1528
1529         * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11.
1530         (INCLUDES): Rename to ...
1531         (AM_CPPFLAGS): ... this.
1532         * configure.ac: Remove AC_PREREQ.
1533         * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add
1534         info-in-builddir no-texinfo.tex.
1535         (info_TEXINFOS): Rename bfd.texinfo to bfd.texi.
1536         * doc/bfd.texinfo: Rename to ...
1537         * doc/bfd.texi: ... this.
1538         * Makefile.in: Re-generate.
1539         * aclocal.m4: Re-generate.
1540         * config.in: Re-generate.
1541         * configure: Re-generate.
1542         * doc/Makefile.in: Re-generate.
1543
1544 2018-06-18  Mephi  <mephi42@gmail.com>
1545
1546         PR 23297
1547         * mach-o-x86-64.c (x86_64_howto_table): Add entry for
1548         BFD_RELOC_MACH_O_X86_64_RELOC_TLV.
1549         (bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc.
1550         (bfd_mach_o_x86_64_swap_reloc_out): Likewise.
1551         * reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry.
1552         * bfd-in2.h: Regenerate.
1553         * libbfd.h: Regenerate.
1554
1555 2018-06-14  Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
1556
1557         * elfxx-mips.c (print_mips_ases): Add GINV extension.
1558
1559 2018-06-14  H.J. Lu  <hongjiu.lu@intel.com>
1560
1561         PR binutils/23267
1562         * elf.c (_bfd_elf_get_symbol_version_string): Check if the first
1563         symbol version is base version.
1564
1565 2018-06-14  Alan Modra  <amodra@gmail.com>
1566
1567         * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs".
1568         * elflink.c (_bfd_elf_init_2_index_sections): Comment fix.
1569         (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs".
1570         (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when
1571         "dynamic_relocs" is not set.
1572         * elfxx-mips.c (count_section_dynsyms): Likewise.
1573
1574 2018-06-14  Alan Modra  <amodra@gmail.com>
1575
1576         PR 23282
1577         * bfdio.c (bfd_seek): Optimize away seeks to current position.
1578
1579 2018-06-13  Scott Egerton  <scott.egerton@imgtec.com>
1580             Faraz Shahbazker  <Faraz.Shahbazker@mips.com>
1581
1582         * elfxx-mips.c (print_mips_ases): Add CRC.
1583
1584 2018-06-08  H.J. Lu  <hongjiu.lu@intel.com>
1585
1586         PR ld/23161
1587         * elfxx-x86.c (elf_x86_hide_linker_defined): New function.
1588         (_bfd_x86_elf_link_check_relocs): Use it to hide hidden
1589         __bss_start, _end and _edata in shared libraries.
1590
1591 2018-06-07  Alan Modra  <amodra@gmail.com>
1592
1593         * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference
1594         __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs.
1595
1596 2018-06-05  Alan Modra  <amodra@gmail.com>
1597
1598         * bfd.c (struct bfd): Update comment on "where" usage.
1599         * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec",
1600         "iostream", and "where" from containing archive file.  Return
1601         error on NULL iovec.
1602         (bfd_bread): Similarly, and return error attempted out of
1603         bounds archive element access.
1604         (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and
1605         "where" from containing archive file.
1606         (bfd_seek): Likewise.  Return error on NULL iovec.  Don't
1607         attempt to optimize away seeks.  Don't paper over errors by
1608         calling bfd_tell.
1609         (bfd_get_mtime): Call bfd_stat rather than iovec->bstat.
1610         (bfd_get_size): Likewise.
1611         (bfd_mmap): Operate on and use iovec of containing archive
1612         file.  Return error on NULL iovec.
1613         * cache.c (bfd_cache_lookup_worker): Abort if working on
1614         archive element bfd.
1615         (cache_bread_1): Delete bfd parameter, add FILE* parameter.
1616         Don't ignore zero byte reads.
1617         (cache_bread): Look up FILE* in cache here.  Error on NULL
1618         lookup.
1619         (cache_bwrite): Rename "where" to "from".
1620         (cache_bmmap): Don't handle archive elements.
1621         * coffcode.h (coff_slurp_line_table): Exit early on zero
1622         lineno count.
1623         * bfd-in2.h: Regenerate.
1624
1625 2018-06-05  Alan Modra  <amodra@gmail.com>
1626
1627         PR 23254
1628         * plugin.c (bfd_plugin_open_input): Allow for possibility of
1629         nested archives.  Open file again for plugin.
1630         (try_claim): Don't save and restore file position.  Close file
1631         if not claimed.
1632         * sysdep.h (O_BINARY): Define.
1633
1634 2018-06-04  Max Filippov  <jcmvbkbc@gmail.com>
1635
1636         * elf32-xtensa.c (xtensa_read_table_entries): Make global.
1637         (compute_fill_extra_space): Drop declaration. Rename function to
1638         xtensa_compute_fill_extra_space.
1639         (compute_ebb_actions, remove_dead_literal): Update references to
1640         compute_fill_extra_space.
1641
1642 2018-06-04  Volodymyr Arbatov  <arbatov@cadence.com>
1643
1644         * elf32-xtensa.c (elf32xtensa_separate_props): New global
1645         variable.
1646         (xtensa_add_names): New function.
1647         (xtensa_property_section_name): Add new parameter
1648         separate_sections, use it to choose property section name.
1649         (xtensa_get_separate_property_section): New function.
1650         (xtensa_get_property_section): Invoke
1651         xtensa_get_separate_property_section to get individual property
1652         section if it exists, common property section otherwise.
1653         (xtensa_make_property_section): Pass elf32xtensa_separate_props
1654         to xtensa_property_section_name.
1655
1656 2018-06-04  H.J. Lu  <hongjiu.lu@intel.com>
1657
1658         PR binutils/23146
1659         * bfd-in.h: Include "diagnostics.h".
1660         * bfd-in2.h: Regenerated.
1661         * elf32-arm.c (elf32_arm_nabi_write_core_note): Use
1662         DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and
1663         DIAGNOSTIC_POP to silence GCC 8.1 warnings with
1664         -Wstringop-truncation.
1665         * elf32-ppc.c (ppc_elf_write_core_note): Likewse.
1666         * elf32-s390.c (elf_s390_write_core_note): Likewse.
1667         * elf64-ppc.c (ppc64_elf_write_core_note): Likewse.
1668         * elf64-s390.c (elf_s390_write_core_note): Likewse.
1669         * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse.
1670
1671 2018-06-03  Jim Wilson  <jimw@sifive.com>
1672
1673         PR ld/23244
1674         * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Check
1675         for and handle an undefined weak with no PLT.
1676
1677         PR ld/22756
1678         * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check
1679         to code that ignores duplicate symbols.
1680
1681 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
1682
1683         * version.m4: Bump version to 2.30.52
1684         * configure: Regenerated.
1685
1686 2018-06-01  Alan Modra  <amodra@gmail.com>
1687
1688         * bfd.c (_bfd_error_handler): Arrange for this function to be
1689         declared in bfd-in2.h.
1690         * libbfd-in.h (_bfd_error_handler): Don't declare.
1691         * libbfd.h: Regenerate.
1692         * bfd-in2.h: Regenerate.
1693
1694 2018-05-30  Amaan Cheval <amaan.cheval@gmail.com>
1695
1696         * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems*
1697         This is needed to generate UEFI application image files from ELFs.
1698
1699 2018-05-28  H.J. Lu  <hongjiu.lu@intel.com>
1700
1701         * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry,
1702         plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1703         plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1704         plt_tlsdesc_got2_insn_end for TLSDESC entry.
1705         (elf_i386_lazy_ibt_plt): Likewise.
1706         (elf_i386_nacl_plt): Likewise.
1707         * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ...
1708         (elf_x86_64_tlsdesc_plt_entry): This.
1709         (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry,
1710         plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1711         plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1712         plt_tlsdesc_got2_insn_end for TLSDESC entry.
1713         (elf_x86_64_lazy_bnd_plt): Likewise.
1714         (elf_x86_64_lazy_ibt_plt): Likewise.
1715         (elf_x32_lazy_ibt_plt): Likewise.
1716         (elf_x86_64_nacl_plt): Likewise.
1717         (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry,
1718         plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1719         plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1720         plt_tlsdesc_got2_insn_end to update TLSDESC entry.
1721         * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments.
1722         Add plt_tlsdesc_entry, plt_tlsdesc_entry_size,
1723         plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset,
1724         plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end.
1725         (elf_x86_non_lazy_plt_layout): Update comments.
1726         (elf_x86_plt_layout): Likewise.
1727
1728 2018-05-28  H.J. Lu  <hongjiu.lu@intel.com>
1729
1730         PR ld/23238
1731         * elf-s390-common.c (elf_s390_add_symbol_hook): Removed.
1732         * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1733         (elf_backend_add_symbol_hook): Likewise.
1734         * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1735         (elf_backend_add_symbol_hook): Likewise.
1736         * elf32-s390.c (elf_backend_add_symbol_hook): Likewise.
1737         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1738         (elf_backend_add_symbol_hook): Likewise.
1739         * elf64-s390.c (elf_backend_add_symbol_hook): Likewise.
1740         * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1741         * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1742         (elf_backend_add_symbol_hook): Likewise.
1743         * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC
1744         handling.
1745         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1746         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1747         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1748         * elflink.c (elf_link_add_object_symbols): Set
1749         elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols.
1750
1751 2018-05-26  H.J. Lu  <hongjiu.lu@intel.com>
1752
1753         PR ld/23194
1754         * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
1755         * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
1756         Extracted from _bfd_elf_link_assign_sym_version.
1757         (_bfd_elf_link_hide_sym_by_version): New function.
1758         (_bfd_elf_link_assign_sym_version): Use
1759         _bfd_elf_link_hide_versioned_symbol.
1760         * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
1761         _bfd_elf_link_hide_sym_by_version instead of
1762         bfd_hide_sym_by_version.  Don't check unversioned symbol.
1763
1764 2018-05-25  Alan Modra  <amodra@gmail.com>
1765
1766         * Makefile.in: Regenerate.
1767         * po/SRC-POTFILES.in: Regenerate.
1768
1769 2018-05-25  Alan Modra  <amodra@gmail.com>
1770
1771         * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
1772         * configure: Regenerate.
1773
1774 2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
1775
1776         * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
1777         to data.
1778
1779 2018-05-22  Alan Modra  <amodra@gmail.com>
1780
1781         PR 23207
1782         * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
1783         is NULL.
1784         (elf32_hppa_size_stubs): Only create stubs for load, alloc, code
1785         sections.
1786         (final_link_relocate): Revert last change.
1787
1788 2018-05-22  Alan Modra  <amodra@gmail.com>
1789
1790         PR 23207
1791         * elf32-hppa.c (final_link_relocate): Don't look for plt call
1792         stubs in non-alloc sections.
1793
1794 2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
1795
1796         PR ld/23201
1797         * aout-target.h (MY_bfd_link_hide_symbol): New.
1798         * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
1799         * binary.c (binary_bfd_link_hide_symbol): Likewise.
1800         * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1801         * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1802         * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
1803         * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
1804         * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
1805         * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
1806         * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
1807         * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
1808         * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
1809         * linker.c (_bfd_generic_link_hide_symbol): Likewise.
1810         (bfd_link_hide_symbol): Likewise.
1811         * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
1812         * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
1813         * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
1814         * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
1815         * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
1816         * som.c (som_bfd_link_hide_symbol): Likewise.
1817         * srec.c (srec_bfd_link_hide_symbol): Likewise.
1818         * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
1819         * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
1820         (alpha_vms_bfd_link_hide_symbol): Likewise.
1821         * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
1822         * coff64-rs6000.c (rs6000_xcoff64_vec): Add
1823         _bfd_generic_link_hide_symbol.
1824         (rs6000_xcoff64_aix_vec): Likewise.
1825         * elflink.c (bfd_elf_record_link_assignment): Don't make forced
1826         local symbol dynamic.
1827         (_bfd_elf_link_hide_symbol): New function.
1828         * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1829         check root.ldscript_def.
1830         * targets.c (bfd_target): Add _bfd_link_hide_symbol.
1831         (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
1832         * bfd-in2.h: Regenerated.
1833         * libbfd.h: Likewise.
1834
1835 2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
1836
1837         PR binutils/23199
1838         * elf.c (setup_group): Mark section in a section group with
1839         SHF_GROUP.
1840
1841 2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1842
1843         PR ld/23194
1844         * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1845         set eh->local_ref to 1 if a symbol is versioned and there is a
1846         version script.
1847
1848 2018-05-18  Kito Cheng  <kito.cheng@gmail.com>
1849
1850         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
1851         EF_RISCV_RVE.
1852
1853 2018-05-18  Jim Wilson  <jimw@sifive.com>
1854
1855         * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
1856         UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1857         (riscv_elf_relocate_section): Don't generate dynamic relocation if
1858         UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1859         (riscv_elf_finish_dynamic_symbol): Likewise.
1860
1861 2018-05-18  John Darrington  <john@darrington.wattle.id.au>
1862
1863         * Makefile.am: Add s12z files.
1864         * Makefile.in: Regenerate.
1865         * archures.c: Add bfd_s12z_arch.
1866         * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
1867         * bfd-in2.h: Regenerate.
1868         * config.bfd: Add s12z target.
1869         * configure.ac: Add s12z target.
1870         * configure: Regenerate.
1871         * cpu-s12z.c: New file.
1872         * elf32-s12z.c: New file.
1873         * libbfd.c (bfd_putb24): New function.
1874         (bfd_putl24): New function.
1875         * libbfd.h: Regenerate.
1876         * reloc.c: Add s12z relocations.
1877         (bfd_get_reloc_size): Handle size 5 relocs.
1878         * targets.c: Add s12z_elf32_vec.
1879
1880 2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
1881
1882         PR ld/23189
1883         * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
1884         like R_386_GOT32.
1885         * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1886         set eh->local_ref to 1 for linker defined symbols.
1887
1888 2018-05-18  Alan Modra  <amodra@gmail.com>
1889
1890         PR 23199
1891         * elf.c (setup_group): Formatting.  Check that SHT_GROUP entries
1892         don't point at other SHT_GROUP sections.  Set shdr corresponding
1893         to invalid entry, to NULL rather than section 0.  Identify
1894         SHT_GROUP section index when reporting an error.  Cope with NULL
1895         shdr pointer.
1896
1897 2018-05-18  Alan Modra  <amodra@gmail.com>
1898
1899         * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
1900         * configure.ac (HAVE_HIDDEN): Check compiler support for hidden
1901         visibility.
1902         * libbfd.h: Regenerate.
1903         * configure: Regenerate.
1904         * config.in: Regenerate.
1905
1906 2018-05-18  Alan Modra  <amodra@gmail.com>
1907
1908         * libbfd-in.h: Add include guard.
1909         * libcoff-in.h: Likewise.
1910         * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
1911         * doc/Makefile.in: Regenerate.
1912         * libbfd.h: Regenerate.
1913         * libcoff.h: Regenerate.
1914
1915 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
1916
1917         * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
1918
1919 2018-05-16  Alan Modra  <amodra@gmail.com>
1920
1921         PR 22458
1922         * format.c (struct bfd_preserve): Add section_id.
1923         (bfd_preserve_save, bfd_preserve_restore): Save and restore
1924         _bfd_section_id.
1925         (bfd_reinit): Set _bfd_section_id.
1926         (bfd_check_format_matches): Put all matches of any priority into
1927         matching_vector.  Save initial section id and start each attempted
1928         match at that section id.
1929         * libbfd-in.h (_bfd_section_id): Declare.
1930         * section.c (_bfd_section_id): Rename from section_id and make
1931         global.  Adjust uses.
1932         (bfd_get_next_section_id): Delete.
1933         * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
1934         bfd_get_section_id with _bfd_section_id.
1935         * libbfd.h: Regenerate.
1936         * bfd-in2.h: Regenerate.
1937
1938 2018-05-15  Christophe Guillon  <christophe.guillon@st.com>
1939
1940         * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
1941         of the aux structure are initialised.
1942
1943 2018-05-15  Francois H. Theron  <francois.theron@netronome.com>
1944
1945         * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
1946
1947 2018-05-15  Nick Clifton  <nickc@redhat.com>
1948
1949         * po/pt.po: New Portuguese translation.
1950         * configure.ac (ALL_LINGUAS): Add pt.
1951         * configure: Regenerate.
1952
1953 2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
1954
1955         PR ld/23169
1956         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
1957         an error on IFUNC pointer defined in PDE.
1958         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
1959         _bfd_x86_elf_link_fixup_ifunc_symbol.
1960         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1961         * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
1962         function.
1963         * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
1964
1965 2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
1966
1967         PR ld/23162
1968         * elfxx-x86.c (elf_x86_linker_defined): New function.
1969         (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
1970         _end and _edata locally defined within executables.
1971
1972 2018-05-12  Alan Modra  <amodra@gmail.com>
1973
1974         PR 20659
1975         * elf.c (rewrite_elf_program_header): Use segment_mark only for
1976         PT_LOAD headers.  Delete first_matching_lma and first_suggested_lma.
1977         Instead make matching_lma and suggested_lma pointers to the
1978         sections.  Align section vma and lma calculated from segment.
1979         Don't clear includes_phdrs or includes_filehdr based on p_paddr
1980         test.  Try to handle alignment padding before first section by
1981         adjusting new segment lma down.  Adjust PT_PHDR map p_paddr.
1982
1983 2018-05-09  Dimitar Dimitrov  <dimitar@dinux.eu>
1984
1985         * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
1986         conformant to TI ABI.
1987         (pru_elf32_relax_section): Likewise.
1988         (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
1989         * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
1990         (pru_elf32_pmem_relocate): Trap - should not get here.
1991         (pru_elf32_relocate_section): Add support for REL relocations.
1992         (elf_info_to_howto_rel): Enable REL.
1993         (elf_backend_may_use_rel_p): Likewise.
1994         (elf_backend_may_use_rela_p): Likewise.
1995         (elf_backend_default_use_rela_p): Likewise.
1996
1997 2018-05-09  Alan Modra  <amodra@gmail.com>
1998
1999         PR 23148
2000         * peXXigen.c (pe_print_edata): Correct minimum size.
2001
2002 2018-05-09  Alan Modra  <amodra@gmail.com>
2003
2004         PR 23147
2005         * peXXigen.c (pe_print_idata): Bound check hint_addr.
2006
2007 2018-05-08  Nick Clifton  <nickc@redhat.com>
2008
2009         PR 22809
2010         * elf.c (bfd_elf_get_str_section): Check for an excessively large
2011         string section.
2012         * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
2013         attribute section is larger than the size of the file.
2014
2015 2018-05-07  Alan Modra  <amodra@gmail.com>
2016
2017         * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than
2018         strncmp when checking for ".bf" special symbol.
2019         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags
2020         section name a char array, remove sentinal known_sections entry,
2021         and adjust loop over known_sections to suit.  Use memcmp rather
2022         than strncmp.
2023
2024 2018-05-04  Alan Modra  <amodra@gmail.com>
2025
2026         * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32),
2027         (struct elf_external_linux_prpsinfo32_ugid16),
2028         (struct elf_external_linux_prpsinfo64_ugid32),
2029         (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING
2030         to pr_fname and pr_psargs fields.  Remove GCC diagnostic pragmas.
2031         Move comment to..
2032         * elf.c (elfcore_write_prpsinfo): ..here.  Indent nested preprocessor
2033         directives.
2034         * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING
2035         to data.
2036         * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
2037         * elf32-s390.c (elf_s390_write_core_note): Likewise.
2038         * elf64-s390.c (elf_s390_write_core_note): Likewise.
2039         * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
2040         * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic
2041         pragmas.
2042         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid
2043         false positive gcc-8 warning.
2044         * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
2045
2046 2018-05-04  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
2047
2048         * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order
2049         of arguments when warning about different long double types.
2050
2051 2018-05-03  Simon Atanasyan  <simon@atanasyan.com>
2052
2053         * elf32-mips.c: (elf32_mips_fixup_symbol): New function.
2054         (elf_backend_fixup_symbol): New macro.
2055         * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp
2056         handling.
2057         (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
2058
2059 2018-04-30  Francois H. Theron <francois.theron@netronome.com>
2060
2061         * Makefile.am: Added NFP files to build.
2062         * archures.c: Added bfd_arch_nfp
2063         * config.bfd: Added NFP support.
2064         * configure.ac: Added NFP support.
2065         * cpu-nfp.c: New, for NFP support.
2066         * elf-bfd.h: Added elf_section_info()
2067         * elf64-nfp.c: New, for NFP support.
2068         * po/SRC-POTFILES.in: Added NFP source files.
2069         * targets.c: Added nfp_elf64_vec
2070         * bfd-in2.h: Regenerate.
2071         * Makefile.in: Regenerate.
2072         * configure: Regenerate.
2073
2074 2018-04-27  Alan Modra  <amodra@gmail.com>
2075
2076         * bfd-in2.h: Regenerate.
2077         * libbfd.h: Regenerate.
2078
2079 2018-04-27  Alan Modra  <amodra@gmail.com>
2080
2081         PR 23123
2082         PR 22374
2083         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt
2084         relocs for ifuncs.
2085         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes.
2086
2087 2018-04-26  Pedro Alves  <palves@redhat.com>
2088
2089         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider
2090         ifunc and non-ifunc symbols duplicates.
2091
2092 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2093         Mickaël Guêné  <mickael.guene@st.com>
2094
2095         * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
2096         (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
2097         (elf32_arm_populate_plt_entry): Likewise.
2098         (elf32_arm_output_plt_map_1): Likewise.
2099         (elf32_arm_output_arch_local_syms): Likewise.
2100
2101 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2102         Mickaël Guêné  <mickael.guene@st.com>
2103
2104         * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
2105         _GLOBAL_OFFSET_TABLE_ in FDPIC mode.
2106
2107 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2108         Mickaël Guêné  <mickael.guene@st.com>
2109
2110         * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
2111         for R_ARM_TARGET2.
2112
2113 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2114         Mickaël Guêné  <mickael.guene@st.com>
2115
2116         * elf32-arm.c (DEFAULT_STACK_SIZE): New.
2117         (elf32_arm_always_size_sections): Create stack segment.
2118
2119 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2120         Mickaël Guêné  <mickael.guene@st.com>
2121
2122         * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
2123         (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
2124         relocations.
2125         * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
2126         R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
2127         (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
2128         R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
2129         (struct elf32_arm_link_hash_table): Update comment.
2130         (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
2131         (IS_ARM_TLS_RELOC): Likewise.
2132         (elf32_arm_check_relocs): Likewise.
2133         (allocate_dynrelocs_for_symbol): Likewise.
2134         (elf32_arm_size_dynamic_sections): Update comment.
2135         * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
2136         BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
2137
2138 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2139         Mickaël Guêné  <mickael.guene@st.com>
2140
2141         * elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
2142         (elf32_arm_create_dynamic_sections): Handle FDPIC.
2143         (elf32_arm_allocate_plt_entry): Likewise.
2144         (elf32_arm_populate_plt_entry): Likewise.
2145         (elf32_arm_output_plt_map_1): Likewise.
2146
2147 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2148         Mickaël Guêné  <mickael.guene@st.com>
2149
2150         * elf32-arm.c (struct fdpic_local): New.
2151         (elf_arm_obj_tdata): Add local_fdpic_cnts field.
2152         (elf32_arm_local_fdpic_cnts): New.
2153         (struct fdpic_global): New.
2154         (elf32_arm_link_hash_entry): Add fdpic_cnts field.
2155         (elf32_arm_link_hash_table): Add srofixup field.
2156         (arm_elf_add_rofixup): New.
2157         (arm_elf_fill_funcdesc): New.
2158         (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
2159         (elf32_arm_allocate_local_sym_info): Likewise.
2160         (create_got_section): Create .rofixup section.
2161         (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
2162         (bfd_elf32_arm_set_target_params): Handle FDPIC.
2163         (elf32_arm_final_link_relocate): Likewise.
2164         (elf32_arm_check_relocs): Likewise.
2165         (allocate_dynrelocs_for_symbol): Likewise.
2166         (elf32_arm_size_dynamic_sections): Likewise.
2167         (elf32_arm_finish_dynamic_sections): Likewise.
2168         (elf32_arm_output_arch_local_syms): Likewise.
2169         (elf32_arm_fdpic_omit_section_dynsym): New.
2170
2171 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2172         Mickaël Guêné  <mickael.guene@st.com>
2173
2174         * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
2175         (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
2176         (BFD_RELOC_ARM_FUNCDESC_VALUE): New.
2177         * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
2178         R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
2179         (elf32_arm_howto_from_type): Take new members of
2180         elf32_arm_howto_table_2 into account.
2181         (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
2182         BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
2183         BFD_RELOC_ARM_FUNCDESC_VALUE.
2184         * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
2185         BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
2186         BFD_RELOC_ARM_FUNCDESC_VALUE.
2187
2188 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2189         Mickaël Guêné  <mickael.guene@st.com>
2190
2191         * elf32-arm.c (elf32_arm_print_private_bfd_data): Support
2192         EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
2193         (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
2194         (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
2195
2196 2018-04-25  Christophe Lyon  <christophe.lyon@st.com>
2197         Mickaël Guêné  <mickael.guene@st.com>
2198
2199         * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
2200         arm_elf32_fdpic_le_vec to targ_selvecs. Accept
2201         arm*-*-uclinuxfdpiceabi.
2202         * configure.ac: Add support for arm_elf32_fdpic_be_vec and
2203         arm_elf32_fdpic_le_vec.
2204         * configure: Regenerate.
2205         * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
2206         (elf32_arm_link_hash_table_create): Initialize fdpic_p.
2207         (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
2208         (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
2209         (elf32_arm_fdpic_link_hash_table_create): New.
2210         * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
2211         arm_elf32_fdpic_le_vec.
2212
2213 2018-04-25  Alan Modra  <amodra@gmail.com>
2214
2215         * elf-linux-core.h: Disable gcc-8 string truncation warning.
2216         * elf.c (elfcore_write_prpsinfo): Likewise.
2217
2218 2018-04-25  Alan Modra  <amodra@gmail.com>
2219
2220         * Makefile.am: Remove arm-aout and arm-coff support.
2221         * config.bfd: Likewise.
2222         * configure.ac: Likewise.
2223         * targets.c: Likewise.
2224         * aout-arm.c: Delete.
2225         * armnetbsd.c: Delete.
2226         * riscix.c: Delete.
2227         * Makefile.in: Regenerate.
2228         * configure: Regenerate.
2229         * po/SRC-POTFILES.in: Regenerate.
2230
2231 2018-04-24  Nick Clifton  <nickc@redhat.com>
2232
2233         PR 23113
2234         * elf.c (ignore_section_sym): Check for the output_section pointer
2235         being NULL before dereferencing it.
2236
2237         PR 23110
2238         * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
2239         a negative PE_DEBUG_DATA size before iterating over the debug data.
2240
2241 2018-04-23  Alan Modra  <amodra@gmail.com>
2242
2243         * elf-linux-core.h: Revert last change.
2244         * elf.c: Likewise.
2245
2246 2018-04-23  Nick Clifton  <nickc@redhat.com>
2247
2248         PR 23056
2249         * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
2250         the end of the string table, and zero it.
2251
2252 2018-04-23  Alan Modra  <amodra@gmail.com>
2253
2254         * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
2255         gcc-8 string truncation warning.
2256         (swap_linux_prpsinfo32_ugid16_out): Likewise.
2257         (swap_linux_prpsinfo64_ugid32_out): Likewise.
2258         (swap_linux_prpsinfo64_ugid16_out): Likewise.
2259         * elf.c (elfcore_write_prpsinfo): Likewise.
2260
2261 2018-04-23  Nick Clifton  <nickc@redhat.com>
2262
2263         PR 23056
2264         * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
2265         the end of the string table, and zero it.
2266
2267 2018-04-20  Alan Modra  <amodra@gmail.com>
2268
2269         PR 22978
2270         * elf32-hppa.c (got_relocs_needed): Add extra param to special
2271         case both dtprel and tprel relocs.
2272         (allocate_dynrelocs): Adjust conditions for got relocs.
2273         (elf32_hppa_relocate_section): Likewise for local sym got relocs.
2274         Emit dynamic relocs on TLS GOT entries for shared libraries,
2275         not when pic.  Omit dynamic reloc on dtprel entry when local,
2276         and on tprel entry when local and executable.
2277
2278 2018-04-19  Alan Modra  <amodra@gmail.com>
2279
2280         PR 22537
2281         * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
2282         (hppa_type_of_stub): Don't return a long branch stub for
2283         symbols other than those defined statically.
2284
2285 2018-04-19  Alan Modra  <amodra@gmail.com>
2286
2287         * Makefile.am: Revert 2018-04-18 coff-mips changes.
2288         * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
2289         to selvecs for mips targets change 2018-04-18.
2290         * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
2291         and  mips_ecoff_bele_vec.
2292         * targets.c: Likewise.
2293         * coff-mips.c: Resurrect.
2294         * Makefile.in: Regenerate.
2295         * configure: Regenerate.
2296         * po/SRC-POTFILES.in: Regenerate.
2297
2298 2018-04-18  Alan Modra  <amodra@gmail.com>
2299
2300         * Makefile.am: Remove mips aout and coff support.
2301         * config.bfd: Likewise.
2302         * configure.ac: Likewise.
2303         * targets.c: Likewise.
2304         * coff-mips.c: Delete
2305         * mipsbsd.c: Delete
2306         * pe-mips.c: Delete
2307         * pei-mips.c: Delete
2308         * Makefile.in: Regenerate.
2309         * configure: Regenerate.
2310         * po/SRC-POTFILES.in: Regenerate.
2311
2312 2018-04-17  H.J. Lu  <hongjiu.lu@intel.com>
2313
2314         * elf32-i386.c (elf32_bed): Define before including
2315         "elf32-target.h".
2316         * elf64-x86-64.c (elf64_bed): Define before including
2317         "elf64-target.h".
2318         (elf32_bed): Define before including "elf32-target.h".
2319
2320 2018-04-17  H.J. Lu  <hongjiu.lu@intel.com>
2321
2322         PR ld/23055
2323         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
2324         normal input file with compatible relocation.
2325
2326 2018-04-18  Alan Modra  <amodra@gmail.com>
2327
2328         * Makefile.am: Remove support for assorted i386 aout and coff targets.
2329         * config.bfd: Likewise.
2330         * configure.ac: Likewise.
2331         * doc/bfdint.texi: Likewise.
2332         * targets.c: Likewise.
2333         * freebsd.h: Delete.
2334         * i386dynix.c: Delete.
2335         * i386freebsd.c: Delete.
2336         * i386linux.c: Delete.
2337         * i386mach3.c: Delete.
2338         * i386netbsd.c: Delete.
2339         * i386os9k.c: Delete.
2340         * Makefile.in: Regenerate.
2341         * configure: Regenerate.
2342         * po/SRC-POTFILES.in: Regenerate.
2343
2344 2018-04-17 Andrew Sadek  <andrew.sadek.se@gmail.com>
2345
2346         Microblaze Target: PIC data text relative
2347
2348         * bfd/reloc.c (2 new BFD relocations):
2349         BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
2350         BFD_RELOC_MICROBLAZE_64_TEXTPCREL
2351         * bfd/bfd-in2.h: Regenerate
2352         * bfd/libbfd.h: Regenerate
2353         * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
2354         new relocs and handle them in both relocate and relax functions.
2355         (microblaze_elf_reloc_type_lookup): add mapping between for new
2356         bfd relocs.
2357         (microblaze_elf_relocate_section): Handle new relocs in case of
2358         elf relocation.
2359         (microblaze_elf_relax_section): Handle new relocs for elf relaxation.
2360
2361 2018-04-17  Nick Clifton  <nickc@redhat.com>
2362
2363         PR 23055
2364         * aoutx.h (find_nearest_line): Check that the symbol name exists
2365         and is long enough, before attempting to see if it is for a .o
2366         file.
2367         * hash.c (bfd_hash_hash): Add an assertion that the string is not
2368         NULL.
2369         * linker.c (bfd_link_hash_lookup): Fail if the table or string are
2370         NULL.
2371         (_bfd_generic_link_add_archive_symbols): Fail if an archive entry
2372         has no name.
2373
2374         PR 23065
2375         * dwarf2.c (concat_filename): Check for a NULL table pointer.
2376
2377 2018-04-16  Nick Clifton  <nickc@redhat.com>
2378
2379         PR 23061
2380         * coffgen.c (coff_pointerize_aux): Check for an out of range
2381         fixup.
2382
2383 2018-04-16  Alan Modra  <amodra@gmail.com>
2384
2385         * Makefile.am: Remove arm-epoc-pe support.
2386         * coff-arm.c: Likewise.
2387         * config.bfd: Likewise.
2388         * configure.ac: Likewise.
2389         * targets.c: Likewise.
2390         * epoc-pe-arm.c: Delete.
2391         * epoc-pei-arm.c: Delete.
2392         * Makefile.in: Regenerate.
2393         * configure: Regenerate.
2394         * po/SRC-POTFILES.in: Regenerate.
2395
2396 2018-04-16  Alan Modra  <amodra@gmail.com>
2397
2398         * Makefile.am: Remove sparc-aout and sparc-coff support.
2399         * config.bfd: Likewise.
2400         * configure.ac: Likewise.
2401         * targets.c: Likewise.
2402         * aout-sparcle.c: Delete.
2403         * aoutf1.h: Delete.
2404         * cf-sparclynx.c: Delete.
2405         * coff-sparc.c: Delete.
2406         * demo64.c: Delete.
2407         * sparclinux.c: Delete.
2408         * sparclynx.c: Delete.
2409         * sparcnetbsd.c: Delete.
2410         * sunos.c: Delete.
2411         * Makefile.in: Regenerate.
2412         * configure: Regenerate.
2413         * po/SRC-POTFILES.in: Regenerate.
2414
2415 2018-04-16  Alan Modra  <amodra@gmail.com>
2416
2417         * Makefile.am: Remove m68k-aout and m68k-coff support.
2418         * aoutf1.h: Likewise.
2419         * aoutx.h: Likewise.
2420         * archive.c: Likewise.
2421         * bfd-in.h: Likewise.
2422         * bfd.c: Likewise.
2423         * coffcode.h: Likewise.
2424         * coffswap.h: Likewise.
2425         * config.bfd: Likewise.
2426         * configure.ac: Likewise.
2427         * configure.host: Likewise.
2428         * doc/bfd.texinfo: Likewise.
2429         * doc/bfdint.texi: Likewise.
2430         * freebsd.h: Likewise.
2431         * gen-aout.c: Likewise.
2432         * hpux-core.c: Likewise.
2433         * libaout.h: Likewise.
2434         * libbfd-in.h: Likewise.
2435         * pdp11.c: Likewise.
2436         * peicode.h: Likewise.
2437         * riscix.c: Likewise.
2438         * targets.c: Likewise.
2439         * aout0.c: Delete.
2440         * coff-apollo.c: Delete.
2441         * coff-aux.c: Delete.
2442         * coff-m68k.c: Delete.
2443         * coff-svm68k.c: Delete.
2444         * coff-u68k.c: Delete.
2445         * hosts/delta68.h: Delete.
2446         * hosts/hp300bsd.h: Delete.
2447         * hosts/m68kaux.h: Delete.
2448         * hosts/news.h: Delete.
2449         * hp300bsd.c: Delete.
2450         * hp300hpux.c: Delete.
2451         * liboasys.h: Delete.
2452         * m68k4knetbsd.c: Delete.
2453         * m68klinux.c: Delete.
2454         * m68knetbsd.c: Delete.
2455         * oasys.c: Delete.
2456         * versados.c: Delete.
2457         * Makefile.in: Regenerate.
2458         * bfd-in2.h: Regenerate.
2459         * configure: Regenerate.
2460         * libbfd.h: Regenerate.
2461         * po/SRC-POTFILES.in: Regenerate.
2462
2463 2018-04-16  Alan Modra  <amodra@gmail.com>
2464
2465         * Makefile.am: Remove sh5 and sh64 support.
2466         * archures.c: Likewise.
2467         * config.bfd: Likewise.
2468         * configure.ac: Likewise.
2469         * cpu-sh.c: Likewise.
2470         * elf32-sh-relocs.h: Likewise.
2471         * elf32-sh.c: Likewise.
2472         * targets.c: Likewise.
2473         * elf32-sh64-com.c: Delete.
2474         * elf32-sh64.c: Delete.
2475         * elf32-sh64.h: Delete.
2476         * elf64-sh64.c: Delete.
2477         * Makefile.in: Regenerate.
2478         * bfd-in2.h: Regenerate.
2479         * configure: Regenerate.
2480         * po/SRC-POTFILES.in: Regenerate.
2481
2482 2018-04-16  Alan Modra  <amodra@gmail.com>
2483
2484         * Makefile.am: Remove sh-symbianelf support.
2485         * config.bfd: Likewise.
2486         * configure.ac: Likewise.
2487         * targets.c: Likewise.
2488         * elf32-sh-symbian.c: Delete.
2489         * Makefile.in: Regenerate.
2490         * configure: Regenerate.
2491         * po/SRC-POTFILES.in: Regenerate.
2492
2493 2018-04-16  Alan Modra  <amodra@gmail.com>
2494
2495         * Makefile.am: Remove vax-bsd and vax-ultrix support.
2496         * config.bfd: Likewise.
2497         * configure.ac: Likewise.
2498         * targets.c: Likewise.
2499         * vaxbsd.c: Delete.
2500         * Makefile.in: Regenerate.
2501         * configure: Regenerate.
2502         * po/SRC-POTFILES.in: Regenerate.
2503
2504 2018-04-16  Alan Modra  <amodra@gmail.com>
2505
2506         * Makefile.am: Remove w65 support.
2507         * archures.c: Likewise.
2508         * coffcode.h: Likewise.
2509         * config.bfd: Likewise.
2510         * configure.ac: Likewise.
2511         * targets.c: Likewise.
2512         * coff-w65.c: Delete.
2513         * cpu-w65.c: Delete.
2514         * Makefile.in: Regenerate.
2515         * bfd-in2.h: Regenerate.
2516         * configure: Regenerate.
2517         * po/SRC-POTFILES.in: Regenerate.
2518
2519 2018-04-16  Alan Modra  <amodra@gmail.com>
2520
2521         * Makefile.am: Remove we32k support.
2522         * archures.c: Likewise.
2523         * coffcode.h: Likewise.
2524         * config.bfd: Likewise.
2525         * configure.ac: Likewise.
2526         * targets.c: Likewise.
2527         * coff-we32k.c: Delete.
2528         * cpu-we32k.c: Delete.
2529         * Makefile.in: Regenerate.
2530         * bfd-in2.h: Regenerate.
2531         * configure: Regenerate.
2532         * po/SRC-POTFILES.in: Regenerate.
2533
2534 2018-04-16  Alan Modra  <amodra@gmail.com>
2535
2536         * Makefile.am: Remove m88k support.
2537         * aoutx.h: Likewise.
2538         * archures.c: Likewise.
2539         * coffcode.h: Likewise.
2540         * coffswap.h: Likewise.
2541         * config.bfd: Likewise.
2542         * configure.ac: Likewise.
2543         * cpu-ns32k.c: Likewise.
2544         * elf32-nds32.c: Likewise.
2545         * mach-o.c: Likewise.
2546         * netbsd-core.c: Likewise.
2547         * reloc.c: Likewise.
2548         * targets.c: Likewise.
2549         * coff-m88k.c: Delete.
2550         * cpu-m88k.c: Delete.
2551         * elf32-m88k.c: Delete.
2552         * hosts/m88kmach3.h: Delete.
2553         * m88kmach3.c: Delete.
2554         * m88kopenbsd.c: Delete.
2555         * Makefile.in: Regenerate.
2556         * bfd-in2.h: Regenerate.
2557         * configure: Regenerate.
2558         * po/SRC-POTFILES.in: Regenerate.
2559
2560 2018-04-16  Alan Modra  <amodra@gmail.com>
2561
2562         * Makefile.am: Remove i370 support.
2563         * archures.c: Likewise.
2564         * config.bfd: Likewise.
2565         * configure.ac: Likewise.
2566         * targets.c: Likewise.
2567         * cpu-i370.c: Delete.
2568         * elf32-i370.c: Delete.
2569         * Makefile.in: Regenerate.
2570         * bfd-in2.h: Regenerate.
2571         * configure: Regenerate.
2572         * po/SRC-POTFILES.in: Regenerate.
2573
2574 2018-04-16  Alan Modra  <amodra@gmail.com>
2575
2576         * Makefile.am: Remove h8500 support.
2577         * archures.c: Likewise.
2578         * coffcode.h: Likewise.
2579         * config.bfd: Likewise.
2580         * configure.ac: Likewise.
2581         * targets.c: Likewise.
2582         * coff-h8500.c: Delete.
2583         * cpu-h8500.c: Delete.
2584         * Makefile.in: Regenerate.
2585         * bfd-in2.h: Regenerate.
2586         * configure: Regenerate.
2587         * po/SRC-POTFILES.in: Regenerate.
2588
2589 2018-04-16  Alan Modra  <amodra@gmail.com>
2590
2591         * Makefile.am: Remove h8300-coff support.
2592         * coffcode.h: Likewise.
2593         * config.bfd: Likewise.
2594         * configure.ac: Likewise.
2595         * reloc16.c: Likewise.
2596         * targets.c: Likewise.
2597         * coff-h8300.c: Delete.
2598         * Makefile.in: Regenerate.
2599         * configure: Regenerate.
2600         * po/SRC-POTFILES.in: Regenerate.
2601
2602 2018-04-16  Alan Modra  <amodra@gmail.com>
2603
2604         * Makefile.am: Remove IEEE 695 support.
2605         * archures.c: Likewise.
2606         * bfd.c: Likewise.
2607         * config.bfd: Likewise.
2608         * configure.ac: Likewise.
2609         * doc/bfd.texinfo: Likewise.
2610         * doc/bfdint.texi: Likewise.
2611         * doc/bfdsumm.texi: Likewise.
2612         * section.c: Likewise.
2613         * targets.c: Likewise.
2614         * ieee.c: Delete.
2615         * libieee.h: Delete.
2616         * Makefile.in: Regenerate.
2617         * bfd-in2.h: Regenerate.
2618         * configure: Regenerate.
2619         * po/SRC-POTFILES.in: Regenerate.
2620
2621 2018-04-16  Alan Modra  <amodra@gmail.com>
2622
2623         * config.bfd: Remove tandem support.
2624
2625 2018-04-16  Alan Modra  <amodra@gmail.com>
2626
2627         * Makefile.am: Remove newsos3 support.
2628         * aoutx.h: Likewise.
2629         * config.bfd: Likewise.
2630         * configure.ac: Likewise.
2631         * targets.c: Likewise.
2632         * newsos3.c: Delete.
2633         * Makefile.in: Regenerate.
2634         * configure: Regenerate.
2635         * po/SRC-POTFILES.in: Regenerate.
2636
2637 2018-04-16  Alan Modra  <amodra@gmail.com>
2638
2639         * Makefile.am: Remove netware support.
2640         * bfd-in.h: Likewise.
2641         * bfd.c: Likewise.
2642         * config.bfd: Likewise.
2643         * configure.ac: Likewise.
2644         * doc/bfdint.texi: Likewise.
2645         * ecoff.c: Likewise.
2646         * targets.c: Likewise.
2647         * libnlm.h: Delete.
2648         * nlm-target.h: Delete.
2649         * nlm.c: Delete.
2650         * nlm32-alpha.c: Delete.
2651         * nlm32-i386.c: Delete.
2652         * nlm32-ppc.c: Delete.
2653         * nlm32-sparc.c: Delete.
2654         * nlm32.c: Delete.
2655         * nlm64.c: Delete.
2656         * nlmcode.h: Delete.
2657         * nlmswap.h: Delete.
2658         * Makefile.in: Regenerate.
2659         * bfd-in2.h: Regenerate.
2660         * configure: Regenerate.
2661         * po/SRC-POTFILES.in: Regenerate.
2662
2663 2018-04-16  Alan Modra  <amodra@gmail.com>
2664
2665         * archures.c: Remove tahoe support.
2666         * config.bfd: Likewise.
2667         * configure.ac: Likewise.
2668         * hosts/tahoe.h: Delete.
2669         * bfd-in2.h: Regenerate.
2670         * configure: Regenerate.
2671
2672 2018-04-14  Alan Modra  <amodra@gmail.com>
2673
2674         * elf-bfd.h (struct elf_backend_data): Add relropagesize.
2675         * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
2676         sanity test.
2677         (elfNN_bed): Init relropagesize.
2678         * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
2679         select relropagesize.
2680         * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
2681         (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
2682         (ELF_MINPAGESIZE): Don't define.
2683         * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
2684         (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
2685         * bfd-in2.h: Regenerate.
2686
2687 2018-04-14  Alan Modra  <amodra@gmail.com>
2688
2689         * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
2690         on __QNXTARGET__ define.
2691
2692 2018-04-14  Alan Modra  <amodra@gmail.com>
2693
2694         * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
2695         to obsolete list.
2696
2697 2018-04-11  Alan Modra  <amodra@gmail.com>
2698
2699         * aout-adobe.c: Delete.
2700         * bout.c: Delete.
2701         * coff-i860.c: Delete.
2702         * coff-i960.c: Delete.
2703         * cpu-i860.c: Delete.
2704         * cpu-i960.c: Delete.
2705         * elf32-i860.c: Delete.
2706         * elf32-i960.c: Delete.
2707         * hosts/i860mach3.h: Delete.
2708         * Makefile.am: Remove i860, i960, bout, and adobe support.
2709         * archures.c: Remove i860 and i960 support.
2710         * coffcode.h: Likewise.
2711         * reloc.c: Likewise.
2712         * aoutx.h: Comment updates.
2713         * archive.c: Remove BOUT and i960 support.
2714         * bfd.c: Remove BOUT support.
2715         * coffswap.h: Remove i960 support.
2716         * config.bfd: Remove i860, i960 and adobe targets.
2717         * configure.ac: Remove adode, bout, i860, i960, icoff targets.
2718         * targets.c: Likewise.
2719         * ieee.c: Remove i960 support.
2720         * mach-o.c: Remove i860 support.
2721         * Makefile.in: Regenerate.
2722         * bfd-in2.h: Regenerate.
2723         * configure: Regenerate.
2724         * libbfd.h: Regenerate.
2725         * po/SRC-POTFILES.in: Regenerate.
2726
2727 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
2728
2729         * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
2730         in the BFD symbol referred by the relocation.
2731         (mips_elf64_write_rela): Likewise.
2732
2733 2018-04-09  Maciej W. Rozycki  <macro@mips.com>
2734
2735         * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
2736         error for out-of-range `r_sym' values.
2737
2738 2018-04-09  Alan Modra  <amodra@gmail.com>
2739
2740         * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
2741         (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
2742         (ppc64_elf_check_relocs): Set has_pltcall.
2743         (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
2744         (ppc64_elf_inline_plt): New function.
2745         (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
2746         * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
2747         * elf32-ppc.c (has_pltcall): Define.
2748         (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
2749         (ppc_elf_check_relocs): Set has_pltcall.
2750         (ppc_elf_inline_plt): New function.
2751         (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
2752         (ppc_elf_size_dynamic_sections): Likewise.
2753         * elf32-ppc.h (ppc_elf_inline_plt): Declare.
2754
2755 2018-04-09  Alan Modra  <amodra@gmail.com>
2756
2757         * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
2758         (is_plt_seq_reloc): New function.
2759         (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
2760         (ppc_elf_tls_optimize): Handle inline plt call sequence.
2761         (ppc_elf_relax_section): Handle PLTCALL reloc.
2762         (ppc_elf_relocate_section): Nop out inline plt call sequence when
2763         resolving locally.
2764         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
2765         R_PPC64_PLTCALL entries.  Comment R_PPC64_TOCSAVE.
2766         (has_tls_get_addr_call): Correct comment.
2767         (is_branch_reloc): Add PLTCALL.
2768         (is_plt_seq_reloc): New function.
2769         (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc.  Set
2770         has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD.  Create plt
2771         entry for R_PPC64_PLTCALL.
2772         (ppc64_elf_tls_optimize): Handle inline plt call sequence.
2773         (ppc_type_of_stub): Handle PLTCALL reloc.
2774         (toc_adjusting_stub_needed): Likewise.
2775         (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
2776         reloc insn.  Nop out inline plt call sequence when resolving
2777         locally.  Handle __tls_get_addr inline plt call optimization.
2778
2779 2018-04-09  Alan Modra  <amodra@gmail.com>
2780
2781         * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
2782         (struct ppc_stub_hash_entry): Add symtype field.
2783         (PLT_KEEP): Define.
2784         (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
2785         (create_linkage_sections): Create pltlocal and relpltlocal.
2786         (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
2787         Set PLT_KEEP.
2788         (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2789         (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2790         (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2791         Keep PLT entries for inline calls against locals.
2792         (ppc_build_one_stub): Use pltlocal as appropriate.
2793         (ppc_size_one_stub): Likewise.
2794         (ppc64_elf_size_stubs): Set symtype.
2795         (build_global_entry_stubs_and_plt): Init pltlocal and write
2796         relpltlocal for globals.
2797         (write_plt_relocs_for_local_syms): Likewise for local syms.
2798         (ppc64_elf_relocate_section): Support PLT for local syms.
2799         * elf32-ppc.c (PLT_KEEP): Define.
2800         (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
2801         (ppc_elf_create_glink): Create pltlocal and relpltlocal.
2802         (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
2803         Set PLT_KEEP.  Adjust update_local_sym_info call.
2804         (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2805         (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2806         (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2807         (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
2808         (write_global_sym_plt): Init pltlocal and write relpltlocal.
2809         (ppc_finish_symbols): Likewise for locals.
2810
2811 2018-04-09  Alan Modra  <amodra@gmail.com>
2812
2813         * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
2814         for local symbols to..
2815         (write_plt_relocs_for_local_syms): ..here.  New function.
2816         (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
2817         global symbols to..
2818         (build_global_entry_stubs_and_plt): ..here.  Rename from
2819         build_global_entry_stubs.
2820         (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
2821         Call write_plt_relocs_for_local_syms.
2822         * elf32-ppc.c (get_sym_h): New function.
2823         (ppc_elf_relax_section): Use get_sym_h.
2824         (ppc_elf_relocate_section): Move output of PLT relocs and glink
2825         stubs for local symbols to..
2826         (ppc_finish_symbols): ..here.  New function.
2827         (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
2828         global syms to..
2829         (write_global_sym_plt): ..here.  New function.
2830         * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
2831         (ppc_finish_symbols): Declare.
2832
2833 2018-04-09  Alan Modra  <amodra@gmail.com>
2834
2835         * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
2836         (ppc_elf_relocate_section): Likewise.
2837         * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
2838         (ppc64_elf_relocate_section): Likewise.  Correct PLT16
2839         resolution to plt entry relative to toc pointer.
2840
2841 2018-04-09  Alan Modra  <amodra@gmail.com>
2842
2843         * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2844         TLS_TPRELGD, TLS_EXPLICIT):  Renumber.  Test TLS_TLS throughout
2845         file when other TLS flags are tested in a mask.
2846         (TLS_MARK, NON_GOT): Define.
2847         (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2848         (update_local_sym_info): Don't create got entry when NON_GOT.
2849         (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2850         Set TLS_MARK.
2851         (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
2852         (ppc64_elf_relocate_section): Likewise.
2853         (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
2854         __tls_get_addr calls lacking a marker reloc.
2855         * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2856         TLS_TPRELGD): Renumber.  Update comment.
2857         (TLS_MARK, NON_GOT): Define.
2858         (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2859         (update_local_sym_info): Don't create got entry when NON_GOT.
2860         (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2861         Set TLS_MARK.
2862         (ppc_elf_tls_optimize): Don't attempt to optimize indirect
2863         __tls_get_addr calls lacking a marker reloc.
2864
2865 2018-04-06  H.J. Lu  <hongjiu.lu@intel.com>
2866
2867         * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
2868         R_X86_64_converted_reloc_bit.
2869
2870 2018-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2871
2872         PR gas/22318
2873         * configure: Regenerated.
2874
2875 2018-04-05  Alan Modra  <amodra@gmail.com>
2876
2877         * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
2878         (elf_hppa_info_to_howto_rel): Likewise.
2879
2880 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2881
2882         * elf-hppa.h (elf_hppa_info_to_howto): Also return
2883         unsuccessfully for unimplemented relocations.
2884         (elf_hppa_info_to_howto_rel): Likewise.
2885
2886 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2887
2888         * elf32-i860.c (lookup_howto): Add `abfd' parameter.  Set the
2889         `bfd_error_bad_value' error and call `_bfd_error_handler' on a
2890         howto lookup failure.
2891         (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
2892         accordingly.
2893         (elf32_i860_info_to_howto_rela): Likewise.
2894         (elf32_i860_relocate_splitn): Likewise.
2895         (elf32_i860_relocate_pc16): Likewise.
2896         (elf32_i860_relocate_pc26): Likewise.
2897         (elf32_i860_relocate_section): Likewise.
2898
2899 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2900
2901         * elf32-visium.c (visium_info_to_howto_rela): Correct the range
2902         check for `visium_elf_howto_table' table access.
2903
2904 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2905
2906         * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
2907         check for `iq2000_elf_howto_table' table access.
2908
2909 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2910
2911         * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
2912         for `elf32_frv_howto_table' table access.
2913
2914 2018-04-04  Maciej W. Rozycki  <macro@mips.com>
2915
2916         * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
2917         unsuccessfully for placeholder howtos.
2918         * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
2919         * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
2920
2921 2018-03-29  Maciej W. Rozycki  <macro@mips.com>
2922
2923         * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
2924         `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
2925
2926 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
2927
2928         * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
2929         ATTRIBUTE_UNUSED from `abfd'.
2930
2931 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
2932
2933         * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
2934         `_bfd_error_handler' call formatting.
2935
2936 2018-03-28  Maciej W. Rozycki  <macro@mips.com>
2937
2938         * elf32-mips.c (mips_info_to_howto_rel): Call
2939         `mips_elf32_rtype_to_howto' directly rather than via
2940         `->elf_backend_mips_rtype_to_howto'.
2941
2942 2018-03-28  Renlin Li  <renlin.li@arm.com>
2943
2944         PR ld/22970
2945         * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
2946         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2947         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2948         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2949         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2950         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2951         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2952         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2953         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2954         (elfNN_aarch64_final_link_relocate): Support new relocations.
2955         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
2956         relocations.
2957         (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
2958
2959 2018-03-28  Renlin Li  <renlin.li@arm.com>
2960
2961         PR ld/22970
2962         * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
2963         BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
2964         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2965         BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2966         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2967         BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2968         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2969         BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2970         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2971         BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2972         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
2973         TLSLE_LDST16_TPREL_LO12,
2974         TLSLE_LDST16_TPREL_LO12_NC,
2975         TLSLE_LDST32_TPREL_LO12,
2976         TLSLE_LDST32_TPREL_LO12_NC,
2977         TLSLE_LDST64_TPREL_LO12,
2978         TLSLE_LDST64_TPREL_LO12_NC,
2979         TLSLE_LDST8_TPREL_LO12,
2980         TLSLE_LDST8_TPREL_LO12_NC.
2981         * bfd-in2.h: Regenerated.
2982         * libbfd.h: Regenerated.
2983
2984 2018-03-28  Eric Botcazou  <ebotcazou@adacore.com>
2985
2986         PR ld/22972
2987         * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
2988         has_old_style_got_reloc.
2989         (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
2990         relocations.  Fix a couple of long lines.
2991         (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
2992         a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
2993         GOT relocations.
2994
2995 2018-03-25  H.J. Lu  <hongjiu.lu@intel.com>
2996
2997         PR ld/23000
2998         * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
2999         ENDBR64 to the TLSDESC PLT entry.
3000
3001 2018-03-21  Alan Modra  <amodra@gmail.com>
3002
3003         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
3004         symbols.  Use size_t counts.  Delete redundant opd test.
3005
3006 2018-03-21  Alan Modra  <amodra@gmail.com>
3007
3008         * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
3009
3010 2018-03-21  Alan Modra  <amodra@gmail.com>
3011
3012         * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
3013         field unsigned.
3014         (update_local_sym_info): Likewise for local_got_tls_masks.
3015         (ppc_elf_tls_optimize): Likewise for lgot_masks.
3016
3017 2018-03-21  Alan Modra  <amodra@gmail.com>
3018
3019         * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
3020         (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
3021         do in size_dynamic_sections.
3022
3023 2018-03-21  Alan Modra  <amodra@gmail.com>
3024
3025         * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
3026         without first checking array bounds.
3027         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3028
3029 2018-03-20  H.J. Lu  <hongjiu.lu@intel.com>
3030
3031         PR ld/22983
3032         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
3033         non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
3034
3035 2018-03-19  Nick Clifton  <nickc@redhat.com>
3036
3037         * po/es.po: Updated Spanish translation.
3038
3039 2018-03-15  Max Filippov  <jcmvbkbc@gmail.com>
3040
3041         * elf32-xtensa.c (xlate_map_entry): Change types of address
3042         fields from 'unsigned' to 'bfd_vma'.
3043         (xlate_offset_with_removed_text): Use struct xlate_map_entry as
3044         the key argument to bsearch. Allow offsets past the end of a
3045         section, use the last map entry for translation of such offsets.
3046
3047 2018-03-15  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
3048
3049         * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
3050         Not support the target feature.
3051         (nds32_elf_ex9_itb_base): Likewise.
3052         (nds32_elf_ex9_import_table): Likewise.
3053         (nds32_elf_ex9_finish): Likewise.
3054         (nds32_elf_ex9_reloc_jmp): Likewise.
3055         (nds32_elf_get_insn_with_reg): Likewise.
3056         (nds32_get_local_syms): Likewise.
3057         (nds32_elf_ex9_replace_instruction): Likewise.
3058         (nds32_elf_ifc_calc): Likewise.
3059         (nds32_elf_ifc_finish): Likewise.
3060         (nds32_elf_ifc_replace): Likewise.
3061         (nds32_elf_ifc_reloc): Likewise.
3062
3063 2018-03-14  Alan Modra  <amodra@gmail.com>
3064
3065         * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
3066         sfpr size added before defining alias symbols.
3067         (ppc64_elf_build_stubs): Add stub section padding before
3068         copying sfpr contents and defining save/restore alias symbols.
3069
3070 2018-03-14  H.J. Lu  <hongjiu.lu@intel.com>
3071
3072         PR ld/20882
3073         * elflink.c (elf_gc_mark_debug_section): Also check the local
3074         debug definition section.
3075
3076 2018-03-13  Nick Clifton  <nickc@redhat.com>
3077
3078         PR 22113
3079         * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
3080         function.  Add an end address parameter.  Check access of the data
3081         pointer to make sure that they do not extend beyond the end
3082         address.  Return FALSE if any check fails.  Add the end address
3083         pointer to the ui structure.
3084         (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
3085         codes to make sure that they do not extend beyond the end address
3086         pointer.  Print an error message and return immediately if any
3087         check fails.
3088
3089 2018-03-09  Nick Clifton  <nickc@redhat.com>
3090
3091         * elf64-s390.c (elf_s390_relocate_section): Move check for
3092         relocations against non-allocated sections to before the code that
3093         handles ifunc relocations.
3094         * elf32-s390.c (elf_s390_relocate_section): Likewise.
3095         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
3096         relocs against IFUNC symbols in non-allocated sections as relocs
3097         against FUNC symbols.
3098         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
3099
3100 2018-03-08  H.J. Lu  <hongjiu.lu@intel.com>
3101
3102         PR ld/22929
3103         * elf32-i386.c (elf_i386_relocate_section): Treat relocation
3104         against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
3105         relocation against FUNC symbol.
3106         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
3107
3108 2018-03-07  Renlin Li  <renlin.li@arm.com>
3109
3110         PR ld/20402
3111         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
3112         symbol, and don't emit relocation in specific case.
3113
3114 2018-03-07  Alan Modra  <amodra@gmail.com>
3115
3116         * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
3117         (mips_elf64_slurp_one_reloc_table): Pass on error.
3118
3119 2018-03-03  James Cowgill  <james.cowgill@mips.com>
3120             Maciej W. Rozycki  <macro@mips.com>
3121
3122         PR ld/21900
3123         * elfxx-mips.c (mips_elf_calculate_relocation): Only return
3124         after calling `undefined_symbol' hook if this is an error
3125         condition.  Assume the value of 0 for the symbol requested
3126         otherwise.
3127
3128 2018-03-02  Jim Wilson  <jimw@sifive.com>
3129
3130         PR 22903
3131         * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
3132         and nop instead of 4.
3133         (elfNN_arch64_build_stubs): Add nop after branch.  Increase size by
3134         8 instead of 4.
3135
3136 2018-03-01  Jim Wilson  <jimw@sifive.com>
3137
3138         PR 22756
3139         * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
3140         else if instead of if.
3141
3142 2018-03-01  Alan Modra  <amodra@gmail.com>
3143
3144         * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
3145
3146 2018-02-28  Alan Modra  <amodra@gmail.com>
3147
3148         PR 22887
3149         * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
3150
3151 2018-02-28  Nick Clifton  <nickc@redhat.com>
3152
3153         PR 22895
3154         PR 22893
3155         * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
3156         pointer.  Drop unused abfd parameter.  Check the size of the block
3157         before initialising the data field.  Return the end pointer if the
3158         size is invalid.
3159         (read_attribute_value): Adjust invocations of read_n_bytes.
3160
3161         PR 22894
3162         * dwarf1.c (parse_die): Check the length of form blocks before
3163         advancing the data pointer.
3164
3165 2018-02-28  Alan Modra  <amodra@gmail.com>
3166
3167         PR 22887
3168         * aoutx.h (translate_symbol_table): Print an error message and set
3169         bfd_error on finding an invalid name string offset.
3170
3171 2018-02-27  H.J. Lu  <hongjiu.lu@intel.com>
3172
3173         * config.in: Regenerated.
3174         * configure: Likewise.
3175         * configure.ac: Add --enable-separate-code.
3176         (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED.  Default
3177         to 1 for Linux/x86 targets,
3178         * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
3179         DEFAULT_LD_Z_SEPARATE_CODE is 1.
3180
3181 2018-02-27  Nick Clifton  <nickc@redhat.com>
3182
3183         * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
3184         message.
3185         * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
3186         * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
3187         * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
3188         * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
3189         * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
3190         * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
3191         * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
3192         * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
3193         * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
3194
3195         PR 22875
3196         * elf-bfd.h (struct elf_backend_data): Change the return type of
3197         the elf_info_to_howto and elf_info_to_howto_rel function pointers
3198         to bfd_boolean.
3199         * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
3200         value from the info_to_howto function and fail if that function
3201         failed.
3202         * elf32-h8300.c (elf32_h8_relocate_section): Check return value
3203         from the info_to_howto function.
3204         (elf32_h8_relax_section): Likewise.
3205         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
3206         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
3207         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
3208         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
3209         * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
3210         * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
3211         * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
3212         * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
3213         * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
3214         * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
3215         (riscv_elf_relocate_section): Likewise.
3216         * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
3217         bfd_boolean.  Issue an error message, set an error value and
3218         return FALSE if the reloc is not recognized.
3219         (elf_hppa_info_to_howto_rel): Likewise.
3220         * elf-m10200.c (mn10200_info_to_howto): Likewise.
3221         * elf-m10300.c (mn10300_info_to_howto): Likewise.
3222         * elf.c (_bfd_elf_no_info_to_howto): Likewise.
3223         * elf32-arc.c (arc_info_to_howto_rel): Likewise.
3224         * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
3225         * elf32-avr.c (avr_info_to_howto_rela): Likewise.
3226         * elf32-bfin.c (bfin_info_to_howto): Likewise.
3227         * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
3228         * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
3229         * elf32-cris.c (elf_cr16c_info_to_howto_rel)
3230         (cris_info_to_howto_rela): Likewise.
3231         * elf32-crx.c (elf_crx_info_to_howto): Likewise.
3232         * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
3233         * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
3234         Likewise.
3235         * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
3236         (elf32_dlx_info_to_howto_rel): Likewise.
3237         * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
3238         * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
3239         * elf32-frv.c (frv_info_to_howto_rela)
3240         (frvfdpic_info_to_howto_rel): Likewise.
3241         * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
3242         * elf32-gen.c (elf_generic_info_to_howto)
3243         (elf_generic_info_to_howto_rel): Likewise.
3244         * elf32-h8300.c (elf32_h8_info_to_howto)
3245         (elf32_h8_info_to_howto_rel): Likewise.
3246         * elf32-i370.c (i370_elf_info_to_howto): Likewise.
3247         * elf32-i386.c (elf_i386_reloc_type_lookup)
3248         (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
3249         * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
3250         Likewise.
3251         * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
3252         * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
3253         * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
3254         * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
3255         * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
3256         * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
3257         Likewise.
3258         * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
3259         * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
3260         * elf32-m68k.c (rtype_to_howto): Likewise.
3261         * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
3262         * elf32-mep.c (mep_info_to_howto_rela): Likewise.
3263         * elf32-metag.c (metag_info_to_howto_rela): Likewise.
3264         * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
3265         * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
3266         Likewise.
3267         * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
3268         * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
3269         * elf32-mt.c (mt_info_to_howto_rela): Likewise.
3270         * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
3271         Likewise.
3272         * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
3273         * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
3274         * elf32-pj.c (pj_elf_info_to_howto): Likewise.
3275         * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
3276         * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
3277         * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
3278         * elf32-rx.c (rx_info_to_howto_rela): Likewise.
3279         * elf32-s390.c (elf_s390_info_to_howto): Likewise.
3280         * elf32-score.c (s3_bfd_score_info_to_howto)
3281         (_bfd_score_info_to_howto): Likewise.
3282         * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
3283         * elf32-sh.c (sh_elf_info_to_howto): Likewise.
3284         * elf32-spu.c (spu_elf_info_to_howto): Likewise.
3285         * elf32-tic6x.c (elf32_tic6x_info_to_howto)
3286         (elf32_tic6x_info_to_howto_rel): Likewise.
3287         * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
3288         * elf32-v850.c (v850_elf_info_to_howto_rel)
3289         (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
3290         * elf32-vax.c (rtype_to_howto): Likewise.
3291         * elf32-visium.c (visium_info_to_howto_rela): Likewise.
3292         * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
3293         (elf32_wasm32_info_to_howto_rela): Likewise.
3294         * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
3295         * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
3296         * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
3297         * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
3298         * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
3299         * elf64-gen.c (elf_generic_info_to_howto)
3300         (elf_generic_info_to_howto_rel): Likewise.
3301         * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
3302         * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
3303         * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
3304         * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
3305         * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
3306         * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
3307         Likewise.
3308         * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
3309         * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
3310         Likewise.
3311         * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
3312         * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
3313         * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
3314         * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
3315         * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
3316         * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
3317         * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
3318         * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
3319         * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
3320         * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
3321         Default to NULL.
3322
3323 2018-02-26  Jim Wilson  <jimw@sifive.com>
3324             Stephan Schreiber <info@fs-driver.org>
3325
3326         PR 15904
3327         * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
3328         call, set changed_contents and changed_relocs.  Likewise after
3329         successful ia64_elf_relax_br call.
3330
3331 2018-02-26  Alan Modra  <amodra@gmail.com>
3332
3333         * elf.c (assign_file_positions_except_relocs): Don't segfault
3334         when actual number of phdrs is less than allocated.  Delete
3335         outdated comment.  Formatting.
3336
3337 2018-02-26  Alan Modra  <amodra@gmail.com>
3338
3339         * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
3340         * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
3341         * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
3342         * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
3343         * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
3344         * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
3345         * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
3346         * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
3347         * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
3348         * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
3349         error/warning messages.
3350
3351 2018-02-26  Alan Modra  <amodra@gmail.com>
3352
3353         * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
3354         * syms.c: Standardize error/warning messages.
3355
3356 2018-02-26  Alan Modra  <amodra@gmail.com>
3357
3358         * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
3359         * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
3360         * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
3361         * peXXigen.c, * peicode.h: Standardize error/warning messages.
3362
3363 2018-02-26  Alan Modra  <amodra@gmail.com>
3364
3365         * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
3366
3367 2018-02-26  Alan Modra  <amodra@gmail.com>
3368
3369         * elfxx-mips.c: Standardize error/warning messages.
3370
3371 2018-02-26  Alan Modra  <amodra@gmail.com>
3372
3373         * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
3374         * elflink.c: Standardize error/warning messages.  Replace use of
3375         linker callback einfo with _bfd_error_handler when possible.
3376
3377 2018-02-26  Alan Modra  <amodra@gmail.com>
3378
3379         * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
3380         * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
3381         * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
3382         * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
3383         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
3384         * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
3385         * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
3386         * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
3387         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
3388         * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
3389         * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
3390         * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
3391         * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
3392         * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
3393         * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
3394         * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
3395         * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
3396         * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
3397         * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
3398         * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
3399         * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
3400         unrecognized/unsupported reloc message.
3401
3402 2018-02-26  Alan Modra  <amodra@gmail.com>
3403
3404         * elf32-ppc.c: Standardize error/warning messages.  Use
3405         _bfd_error_handler rather than einfo when einfo features not used.
3406         * elf64-ppc.c: Likewise.
3407
3408 2018-02-23  Alan Modra  <amodra@gmail.com>
3409
3410         PR 22881
3411         * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
3412         segment if no matching LOAD segment.
3413
3414 2018-02-23  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
3415
3416         * elf32-nds32.h: Define mask for ict_model.
3417
3418 2018-02-20  Jason Duerstock  <jason.duerstock@gmail.com>
3419
3420         * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
3421
3422 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
3423
3424         Revert
3425         2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
3426
3427         * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
3428         .reginfo section has wrong size.
3429
3430 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
3431
3432         * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
3433         SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
3434         `.MIPS.abiflags' sections.
3435         (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
3436         section's end.
3437
3438 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
3439
3440         * section.c (SEC_FIXED_SIZE): New macro.
3441         * bfd-in2.h: Regenerate.
3442
3443 2018-02-19  Maciej W. Rozycki  <macro@mips.com>
3444
3445         * section.c (SEC_HAS_GOT_REF): Remove macro.
3446         * bfd-in2.h: Regenerate.
3447
3448 2018-02-19  Alan Modra  <amodra@gmail.com>
3449
3450         * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
3451         arguments.
3452         * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
3453         * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
3454         (_bfd_riscv_relax_pc): Likewise and fix typos.
3455         * libbfd-in.h (_bfd_error_handler): Add attribute printf.
3456         * libbfd.h: Regenerate.
3457
3458 2018-02-19  Alan Modra  <amodra@gmail.com>
3459
3460         * dwarf2.c (read_section): Don't use 'll' format modifier.
3461         (find_abstract_instance): Likewise.
3462         * elfcore.h (elf_core_file_p): Likewise.
3463
3464 2018-02-19  Alan Modra  <amodra@gmail.com>
3465
3466         * bfd-in.h: Include inttypes.h or if not available define
3467         PRId64, PRIu64 and PRIx64.
3468         * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
3469         modifier to print bfd_vma.
3470         * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
3471         * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
3472         * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
3473         * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
3474         * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
3475         * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
3476         * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
3477         * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
3478         * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
3479         * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
3480         * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
3481         * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
3482         * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
3483         * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
3484         * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
3485         and cast input to uint64_t, and similarly for Ld and Lu.
3486         * bfd-in2.h: Regenerate.
3487
3488 2018-02-19  Alan Modra  <amodra@gmail.com>
3489
3490         * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
3491         * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
3492         * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
3493         * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
3494         * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
3495         * reloc.c: Replace use of %R and %T in format strings passed to
3496         einfo and friends by %pR and %pT.
3497
3498 2018-02-19  Alan Modra  <amodra@gmail.com>
3499
3500         * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
3501         of %A and %B.
3502         * aout-adobe.c: Update all messages using %A and %B.
3503         * aout-cris.c: Likewise.
3504         * aoutx.h: Likewise.
3505         * archive.c: Likewise.
3506         * binary.c: Likewise.
3507         * cache.c: Likewise.
3508         * coff-alpha.c: Likewise.
3509         * coff-arm.c: Likewise.
3510         * coff-i860.c: Likewise.
3511         * coff-mcore.c: Likewise.
3512         * coff-ppc.c: Likewise.
3513         * coff-rs6000.c: Likewise.
3514         * coff-sh.c: Likewise.
3515         * coff-tic4x.c: Likewise.
3516         * coff-tic54x.c: Likewise.
3517         * coff-tic80.c: Likewise.
3518         * coff64-rs6000.c: Likewise.
3519         * coffcode.h: Likewise.
3520         * coffgen.c: Likewise.
3521         * cofflink.c: Likewise.
3522         * coffswap.h: Likewise.
3523         * compress.c: Likewise.
3524         * cpu-arm.c: Likewise.
3525         * ecoff.c: Likewise.
3526         * elf-attrs.c: Likewise.
3527         * elf-eh-frame.c: Likewise.
3528         * elf-ifunc.c: Likewise.
3529         * elf-m10300.c: Likewise.
3530         * elf-properties.c: Likewise.
3531         * elf-s390-common.c: Likewise.
3532         * elf.c: Likewise.
3533         * elf32-arc.c: Likewise.
3534         * elf32-arm.c: Likewise.
3535         * elf32-avr.c: Likewise.
3536         * elf32-bfin.c: Likewise.
3537         * elf32-cr16.c: Likewise.
3538         * elf32-cr16c.c: Likewise.
3539         * elf32-cris.c: Likewise.
3540         * elf32-crx.c: Likewise.
3541         * elf32-d10v.c: Likewise.
3542         * elf32-d30v.c: Likewise.
3543         * elf32-epiphany.c: Likewise.
3544         * elf32-fr30.c: Likewise.
3545         * elf32-frv.c: Likewise.
3546         * elf32-gen.c: Likewise.
3547         * elf32-hppa.c: Likewise.
3548         * elf32-i370.c: Likewise.
3549         * elf32-i386.c: Likewise.
3550         * elf32-i960.c: Likewise.
3551         * elf32-ip2k.c: Likewise.
3552         * elf32-iq2000.c: Likewise.
3553         * elf32-lm32.c: Likewise.
3554         * elf32-m32c.c: Likewise.
3555         * elf32-m32r.c: Likewise.
3556         * elf32-m68hc11.c: Likewise.
3557         * elf32-m68hc12.c: Likewise.
3558         * elf32-m68hc1x.c: Likewise.
3559         * elf32-m68k.c: Likewise.
3560         * elf32-mcore.c: Likewise.
3561         * elf32-mep.c: Likewise.
3562         * elf32-metag.c: Likewise.
3563         * elf32-microblaze.c: Likewise.
3564         * elf32-moxie.c: Likewise.
3565         * elf32-msp430.c: Likewise.
3566         * elf32-mt.c: Likewise.
3567         * elf32-nds32.c: Likewise.
3568         * elf32-nios2.c: Likewise.
3569         * elf32-or1k.c: Likewise.
3570         * elf32-pj.c: Likewise.
3571         * elf32-ppc.c: Likewise.
3572         * elf32-rl78.c: Likewise.
3573         * elf32-rx.c: Likewise.
3574         * elf32-s390.c: Likewise.
3575         * elf32-score.c: Likewise.
3576         * elf32-score7.c: Likewise.
3577         * elf32-sh-symbian.c: Likewise.
3578         * elf32-sh.c: Likewise.
3579         * elf32-sh64.c: Likewise.
3580         * elf32-sparc.c: Likewise.
3581         * elf32-spu.c: Likewise.
3582         * elf32-tic6x.c: Likewise.
3583         * elf32-tilepro.c: Likewise.
3584         * elf32-v850.c: Likewise.
3585         * elf32-vax.c: Likewise.
3586         * elf32-visium.c: Likewise.
3587         * elf32-wasm32.c: Likewise.
3588         * elf32-xgate.c: Likewise.
3589         * elf32-xtensa.c: Likewise.
3590         * elf64-alpha.c: Likewise.
3591         * elf64-gen.c: Likewise.
3592         * elf64-hppa.c: Likewise.
3593         * elf64-ia64-vms.c: Likewise.
3594         * elf64-mmix.c: Likewise.
3595         * elf64-ppc.c: Likewise.
3596         * elf64-s390.c: Likewise.
3597         * elf64-sh64.c: Likewise.
3598         * elf64-sparc.c: Likewise.
3599         * elf64-x86-64.c: Likewise.
3600         * elfcode.h: Likewise.
3601         * elfcore.h: Likewise.
3602         * elflink.c: Likewise.
3603         * elfnn-aarch64.c: Likewise.
3604         * elfnn-ia64.c: Likewise.
3605         * elfnn-riscv.c: Likewise.
3606         * elfxx-mips.c: Likewise.
3607         * elfxx-sparc.c: Likewise.
3608         * elfxx-tilegx.c: Likewise.
3609         * elfxx-x86.c: Likewise.
3610         * hpux-core.c: Likewise.
3611         * ieee.c: Likewise.
3612         * ihex.c: Likewise.
3613         * libbfd.c: Likewise.
3614         * linker.c: Likewise.
3615         * mach-o.c: Likewise.
3616         * merge.c: Likewise.
3617         * mmo.c: Likewise.
3618         * oasys.c: Likewise.
3619         * pdp11.c: Likewise.
3620         * pe-mips.c: Likewise.
3621         * peXXigen.c: Likewise.
3622         * peicode.h: Likewise.
3623         * reloc.c: Likewise.
3624         * rs6000-core.c: Likewise.
3625         * srec.c: Likewise.
3626         * stabs.c: Likewise.
3627         * vms-alpha.c: Likewise.
3628         * xcofflink.c: Likewise.
3629
3630 2018-02-19  Alan Modra  <amodra@gmail.com>
3631
3632         PR 22845
3633         * elf.c (IS_TBSS): Define.
3634         (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
3635         (assign_file_positions_for_non_load_sections): Revert last change.
3636         Properly calculate load segment limits to compare against relro limits.
3637
3638 2018-02-17  Alan Modra  <amodra@gmail.com>
3639
3640         PR 22845
3641         * elf.c (assign_file_positions_for_non_load_sections): Ignore
3642         degenerate zero size PT_LOAD segments when finding one overlapping
3643         the PT_GNU_RELRO segment.
3644
3645 2018-02-16  Alan Modra  <amodra@gmail.com>
3646
3647         * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
3648         (_bfd_bool_bfd_true): Rename from bfd_true.
3649         (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
3650         (_bfd_int_bfd_0): Rename from bfd_0.
3651         (_bfd_uint_bfd_0): Rename from bfd_0u.
3652         (_bfd_long_bfd_0): Rename from bfd_0l.
3653         (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
3654         (_bfd_void_bfd): Rename from bfd_void.
3655         (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
3656         (_bfd_bool_bfd_link_false_error),
3657         (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
3658         (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
3659         (_bfd_bool_bfd_asection_bfd_asection_true),
3660         (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
3661         (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
3662         * archive.c (_bfd_noarchive_get_elt_at_index),
3663         (_bfd_noarchive_openr_next_archived_file),
3664         (_bfd_noarchive_construct_extended_name_table),
3665         (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
3666         (_bfd_noarchive_write_armap): New functions.
3667         * archures.c (_bfd_nowrite_set_arch_mach): New function.
3668         * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
3669         (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
3670         (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
3671         (alpha_ecoff_swap_coff_lineno_out),
3672         (alpha_ecoff_swap_coff_reloc_out): New functions.
3673         * coff-mips.c (mips_ecoff_swap_coff_aux_in),
3674         (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
3675         (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
3676         (mips_ecoff_swap_coff_lineno_out),
3677         (mips_ecoff_swap_coff_reloc_out): New functions.
3678         * coffcode.h (coff_set_alignment_hook): Replace define with
3679         new function.
3680         (symname_in_debug_hook): Likewise.
3681         * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
3682         * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
3683         * elf.c (assign_file_positions_except_relocs): Test
3684         elf_backend_allow_non_load_phdr for NULL.
3685         * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
3686         _bfd_elf_link_omit_section_dynsym.  Update uses.
3687         (_bfd_elf_omit_section_dynsym_all): New function.
3688         * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
3689         (_bfd_elf_omit_section_dynsym_default): Declare.
3690         (_bfd_elf_omit_section_dynsym_all): Declare.
3691         * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
3692         (_bfd_nolink_bfd_get_relocated_section_contents),
3693         (_bfd_nolink_bfd_lookup_section_flags),
3694         (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
3695         (_bfd_nolink_bfd_link_hash_table_create),
3696         (_bfd_nolink_bfd_link_just_syms),
3697         (_bfd_nolink_bfd_copy_link_hash_symbol_type),
3698         (_bfd_nolink_bfd_link_split_section),
3699         (_bfd_nolink_section_already_linked),
3700         (_bfd_nolink_bfd_define_common_symbol),
3701         (_bfd_nolink_bfd_define_start_stop): New functions.
3702         * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
3703         (_bfd_norelocs_bfd_reloc_name_lookup),
3704         (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
3705         * section.c (_bfd_nowrite_set_section_contents): New function.
3706         * syms.c (_bfd_nosymbols_canonicalize_symtab),
3707         (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
3708         (_bfd_nosymbols_get_symbol_version_string),
3709         (_bfd_nosymbols_bfd_is_local_label_name),
3710         (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
3711         (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
3712         (_bfd_nosymbols_bfd_make_debug_symbol),
3713         ( _bfd_nosymbols_read_minisymbols),
3714         ( _bfd_nosymbols_minisymbol_to_symbol),
3715         (_bfd_nodynamic_get_synthetic_symtab): New functions.
3716         * libbfd-in.h: Declare new functions.  Update existing defines,
3717         removing casts.
3718         * aix386-core.c: Update to use new hooks.  Formatting.
3719         * aout-adobe.c: Likewise.
3720         * aout-arm.c: Likewise.
3721         * aout-target.h: Likewise.
3722         * aout-tic30.c: Likewise.
3723         * aoutf1.h: Likewise.
3724         * binary.c: Likewise.
3725         * bout.c: Likewise.
3726         * cisco-core.c: Likewise.
3727         * coff-alpha.c: Likewise.
3728         * coff-i386.c: Likewise.
3729         * coff-i860.c: Likewise.
3730         * coff-i960.c: Likewise.
3731         * coff-ia64.c: Likewise.
3732         * coff-mips.c: Likewise.
3733         * coff-ppc.c: Likewise.
3734         * coff-rs6000.c: Likewise.
3735         * coff-sh.c: Likewise.
3736         * coff-tic30.c: Likewise.
3737         * coff-tic54x.c: Likewise.
3738         * coff-x86_64.c: Likewise.
3739         * coff64-rs6000.c: Likewise.
3740         * coffcode.h: Likewise.
3741         * elf-m10300.c: Likewise.
3742         * elf32-cr16.c: Likewise.
3743         * elf32-lm32.c: Likewise.
3744         * elf32-m32r.c: Likewise.
3745         * elf32-metag.c: Likewise.
3746         * elf32-score.c: Likewise.
3747         * elf32-score7.c: Likewise.
3748         * elf32-tilepro.c: Likewise.
3749         * elf32-xstormy16.c: Likewise.
3750         * elf32-xtensa.c: Likewise.
3751         * elf64-alpha.c: Likewise.
3752         * elf64-hppa.c: Likewise.
3753         * elf64-ia64-vms.c: Likewise.
3754         * elf64-mmix.c: Likewise.
3755         * elf64-sh64.c: Likewise.
3756         * elfnn-ia64.c: Likewise.
3757         * elfxx-sparc.c: Likewise.
3758         * elfxx-target.h: Likewise.
3759         * elfxx-tilegx.c: Likewise.
3760         * elfxx-x86.h: Likewise.
3761         * hp300hpux.c: Likewise.
3762         * hppabsd-core.c: Likewise.
3763         * hpux-core.c: Likewise.
3764         * i386msdos.c: Likewise.
3765         * i386os9k.c: Likewise.
3766         * ieee.c: Likewise.
3767         * ihex.c: Likewise.
3768         * irix-core.c: Likewise.
3769         * libaout.h: Likewise.
3770         * libecoff.h: Likewise.
3771         * mach-o-target.c: Likewise.
3772         * mach-o.c: Likewise.
3773         * mipsbsd.c: Likewise.
3774         * mmo.c: Likewise.
3775         * netbsd-core.c: Likewise.
3776         * nlm-target.h: Likewise.
3777         * oasys.c: Likewise.
3778         * osf-core.c: Likewise.
3779         * pdp11.c: Likewise.
3780         * pe-mips.c: Likewise.
3781         * pe-x86_64.c: Likewise.
3782         * pef.c: Likewise.
3783         * plugin.c: Likewise.
3784         * ppcboot.c: Likewise.
3785         * ptrace-core.c: Likewise.
3786         * sco5-core.c: Likewise.
3787         * som.c: Likewise.
3788         * sparclynx.c: Likewise.
3789         * srec.c: Likewise.
3790         * tekhex.c: Likewise.
3791         * trad-core.c: Likewise.
3792         * verilog.c: Likewise.
3793         * versados.c: Likewise.
3794         * vms-alpha.c: Likewise.
3795         * vms-lib.c: Likewise.
3796         * wasm-module.c: Likewise.
3797         * xsym.c: Likewise.
3798         * libbfd.h: Regenerate.
3799
3800 2018-02-15  Jim Wilson  <jimw@sifive.com>
3801
3802         * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
3803         symbols whose section address is zero.
3804
3805         * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
3806         when pcrel_lo reloc has an addend.  Use reloc_dangerous callback for
3807         bfd_reloc_dangerous.  Use einfo instead of warning callback for errors.
3808         Add %X%P to error messages.
3809
3810 2018-02-15  Eric Botcazou  <ebotcazou@adacore.com>
3811
3812         PR ld/22832
3813         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
3814         Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
3815         and assert that the result of the call is not NULL.
3816
3817 2018-02-14  Nick Clifton  <nickc@redhat.com>
3818
3819         PR 22823
3820         Revert previous delta.  Add extra casts to avoid compile time
3821         warnings instead.
3822         * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
3823         cast to avoid warning from gcc v8 compiler.
3824         (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3825         (_bfd_generic_bfd_set_private_flags): Likewise.
3826         (_bfd_generic_bfd_copy_private_section_data): Likewise.
3827         (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3828         (_bfd_generic_bfd_copy_private_header_data): Likewise.
3829         (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3830         (_bfd_noarchive_construct_extended_name_table): Likewise.
3831         (_bfd_noarchive_truncate_arname): Likewise.
3832         (_bfd_noarchive_write_ar_hdr): Likewise.
3833         (_bfd_noarchive_get_elt_at_index): Likewise.
3834         (_bfd_nosymbols_canonicalize_symtab): Likewise.
3835         (_bfd_nosymbols_print_symbol): Likewise.
3836         (_bfd_nosymbols_get_symbol_info): Likewise.
3837         (_bfd_nosymbols_get_symbol_version_string): Likewise.
3838         (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
3839         (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
3840         (_bfd_nosymbols_get_lineno): Likewise.
3841         (_bfd_nosymbols_find_nearest_line): Likewise.
3842         (_bfd_nosymbols_find_line): Likewise.
3843         (_bfd_nosymbols_find_inliner_info): Likewise.
3844         (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
3845         (_bfd_nosymbols_read_minisymbols): Likewise.
3846         (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
3847         (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
3848         (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
3849         (_bfd_nowrite_set_arch_mach): Likewise.
3850         (_bfd_nowrite_set_section_contents): Likewise.
3851         (_bfd_nolink_sizeof_headers): Likewise.
3852         (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
3853         (_bfd_nolink_bfd_relax_section): Likewise.
3854         (_bfd_nolink_bfd_gc_sections): Likewise.
3855         (_bfd_nolink_bfd_lookup_section_flags): Likewise.
3856         (_bfd_nolink_bfd_merge_sections): Likewise.
3857         (_bfd_nolink_bfd_is_group_section): Likewise.
3858         (_bfd_nolink_bfd_discard_group): Likewise.
3859         (_bfd_nolink_bfd_link_hash_table_create): Likewise.
3860         (_bfd_nolink_bfd_link_add_symbols): Likewise.
3861         (_bfd_nolink_bfd_link_just_syms): Likewise.
3862         (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
3863         (_bfd_nolink_bfd_final_link): Likewise.
3864         (_bfd_nolink_bfd_link_split_section): Likewise.
3865         (_bfd_nolink_section_already_linked): Likewise.
3866         (_bfd_nolink_bfd_define_common_symbol): Likewise.
3867         (_bfd_nolink_bfd_define_start_stop): Likewise.
3868         (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
3869         (_bfd_nodynamic_get_synthetic_symtab): Likewise.
3870         (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
3871         (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
3872         * libbfd.c (bfd_false_any): Delete.
3873         (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
3874         (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
3875         * libbfd.h (extern): Regenerate
3876         * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
3877         cast to avoid warning from gcc v8 compiler.
3878         * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
3879         * binary.c (binary_get_symbol_info): Likewise.
3880         * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3881         * coff-mips.c (mips_ecoff_backend_data): Likewise.
3882         * coffcode.h (coff_set_alignment_hook): Likewise.
3883         (symname_in_debug_hook): Likewise.
3884         (bfd_coff_backend_data bigobj_swap_table): Likewise.
3885         * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
3886         * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
3887         * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
3888         * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
3889         * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
3890         * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
3891         * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
3892         * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
3893         * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
3894         * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
3895         * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
3896         * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
3897         * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
3898         * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
3899         * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
3900         * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
3901         (bfd_elfNN_bfd_make_debug_symbol): Likewise.
3902         (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
3903         (bfd_elfNN_bfd_set_private_flags): Likewise.
3904         (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
3905         (elf_backend_init_index_section): Likewise.
3906         (elf_backend_allow_non_load_phdr): Likewise.
3907         * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
3908         * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
3909         * ieee.c (ieee_construct_extended_name_table): Likewise.
3910         (ieee_write_armap): Likewise.
3911         (ieee_write_ar_hdr): Likewise.
3912         (ieee_bfd_is_target_special_symbol): Likewise.
3913         * ihex.c (ihex_canonicalize_symtab): Likewise.
3914         (ihex_bfd_is_target_special_symbol): Likewise.
3915         * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
3916         * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
3917         (_bfd_ecoff_set_alignment_hook): Likewise.
3918         * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
3919         * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
3920         * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
3921         * oasys.c (oasys_construct_extended_name_table): Likewise.
3922         (oasys_write_armap): Likewise.
3923         (oasys_write_ar_hdr): Likewise.
3924         (oasys_bfd_is_target_special_symbol): Likewise.
3925         * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
3926         * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
3927         * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
3928         * som.c (som_bfd_is_target_special_symbol): Likewise.
3929         * srec.c (srec_bfd_is_target_special_symbol): Likewise.
3930         * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
3931         * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
3932         * versados.c (versados_bfd_is_target_special_symbol): Likewise.
3933         (versados_bfd_reloc_name_lookup): Likewise.
3934         * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
3935         (vms_bfd_define_start_stop): Likewise.
3936         (alpha_vms_bfd_is_target_special_symbol): Likewise.
3937         * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
3938         * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
3939
3940 2018-02-14  H.J. Lu  <hongjiu.lu@intel.com>
3941
3942         PR ld/22842
3943         * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
3944         PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3945         * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
3946         R_X86_64_PC32 reloc against dynamic function in data section.
3947         Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3948         (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
3949         against dynamic function in data section.
3950         * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
3951         function address only if pcrel_plt is true.
3952         (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
3953         * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
3954         PC-relative PLT.  If PLT is PC-relative, don't generate dynamic
3955         PC-relative relocation against a function definition in data
3956         secton in PIE.  Remove the obsolete comments.
3957         (elf_x86_link_hash_table): Add pcrel_plt.
3958
3959 2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
3960
3961         * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
3962         instead of bfd_link_pic, for building shared library.
3963
3964 2018-02-13  H.J. Lu  <hongjiu.lu@intel.com>
3965
3966         PR gas/22791
3967         * elf64-x86-64.c (is_32bit_relative_branch): Removed.
3968         (elf_x86_64_relocate_section): Check PIC relocations in PIE.
3969         Remove is_32bit_relative_branch usage.  Disallow PC32 reloc
3970         against protected function in shared object.
3971
3972 2018-02-13  Sergei Trofimovich  <slyfox@inbox.ru>
3973
3974         PR 22828
3975         * po/ru.po: Fix typo in Russian translation.
3976
3977 2018-02-13  Maciej W. Rozycki  <macro@mips.com>
3978
3979         * wasm-module.c (wasm_scan_name_function_section): Rename
3980         `index' local variable to `idx'.
3981
3982 2018-02-13  Nick Clifton  <nickc@redhat.com>
3983
3984         PR 22823
3985         Fix compile time warnings generated by gcc version 8.
3986         * libbfd-in.h: Remove extraneous text from prototypes.
3987         Add prototypes for bfd_false_any, bfd_true_any,
3988         bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
3989         bfd_n1_any, bfd_void_any.
3990         (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
3991         function.
3992         (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3993         (_bfd_generic_bfd_set_private_flags): Likewise.
3994         (_bfd_generic_bfd_copy_private_section_data): Likewise.
3995         (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3996         (_bfd_generic_bfd_copy_private_header_data): Likewise.
3997         (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3998         (_bfd_noarchive_construct_extended_name_table): Likewise.
3999         (_bfd_noarchive_truncate_arname): Likewise.
4000         (_bfd_noarchive_write_ar_hdr): Likewise.
4001         (_bfd_noarchive_get_elt_at_index): Likewise.
4002         (_bfd_nosymbols_canonicalize_symtab): Likewise.
4003         (_bfd_nosymbols_print_symbol): Likewise.
4004         (_bfd_nosymbols_get_symbol_info): Likewise.
4005         (_bfd_nosymbols_get_symbol_version_string): Likewise.
4006         (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
4007         (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
4008         (_bfd_nosymbols_get_lineno): Likewise.
4009         (_bfd_nosymbols_find_nearest_line): Likewise.
4010         (_bfd_nosymbols_find_line): Likewise.
4011         (_bfd_nosymbols_find_inliner_info): Likewise.
4012         (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
4013         (_bfd_nosymbols_read_minisymbols): Likewise.
4014         (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
4015         (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
4016         (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
4017         (_bfd_nowrite_set_arch_mach): Likewise.
4018         (_bfd_nowrite_set_section_contents): Likewise.
4019         (_bfd_nolink_sizeof_headers): Likewise.
4020         (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
4021         (_bfd_nolink_bfd_relax_section): Likewise.
4022         (_bfd_nolink_bfd_gc_sections): Likewise.
4023         (_bfd_nolink_bfd_lookup_section_flags): Likewise.
4024         (_bfd_nolink_bfd_merge_sections): Likewise.
4025         (_bfd_nolink_bfd_is_group_section): Likewise.
4026         (_bfd_nolink_bfd_discard_group): Likewise.
4027         (_bfd_nolink_bfd_link_hash_table_create): Likewise.
4028         (_bfd_nolink_bfd_link_add_symbols): Likewise.
4029         (_bfd_nolink_bfd_link_just_syms): Likewise.
4030         (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
4031         (_bfd_nolink_bfd_final_link): Likewise.
4032         (_bfd_nolink_bfd_link_split_section): Likewise.
4033         (_bfd_nolink_section_already_linked): Likewise.
4034         (_bfd_nolink_bfd_define_common_symbol): Likewise.
4035         (_bfd_nolink_bfd_define_start_stop): Likewise.
4036         (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
4037         (_bfd_nodynamic_get_synthetic_symtab): Likewise.
4038         (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
4039         (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
4040         * libbfd.c (bfd_false_any): New function.  Like bfd_false but
4041         accepts one or more arguments.
4042         (bfd_true_any): Likewise.
4043         (bfd_nullvoidptr_any): Likewise.
4044         (bfd_0_any): Likewise.
4045         (bfd_0u_any): Likewise.
4046         (bfd_0l_any): Likewise.
4047         (_bfd_n1_any): Likewise.
4048         (bfd_void_any): Likewise.
4049         * libbfd.h (extern): Regenerate
4050         * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
4051         based dummy function.
4052         * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
4053         * binary.c (binary_get_symbol_info): Likewise.
4054         * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
4055         * coff-mips.c (mips_ecoff_backend_data): Likewise.
4056         * coffcode.h (coff_set_alignment_hook): Likewise.
4057         (symname_in_debug_hook): Likewise.
4058         (bfd_coff_backend_data bigobj_swap_table): Likewise.
4059         * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
4060         * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
4061         * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
4062         * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
4063         * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
4064         * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
4065         * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
4066         * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
4067         * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
4068         * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
4069         * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
4070         * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
4071         * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
4072         * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
4073         * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
4074         * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
4075         (bfd_elfNN_bfd_make_debug_symbol): Likewise.
4076         (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
4077         (bfd_elfNN_bfd_set_private_flags): Likewise.
4078         (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
4079         (elf_backend_init_index_section): Likewise.
4080         (elf_backend_allow_non_load_phdr): Likewise.
4081         * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
4082         * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
4083         * ieee.c (ieee_construct_extended_name_table): Likewise.
4084         (ieee_write_armap): Likewise.
4085         (ieee_write_ar_hdr): Likewise.
4086         (ieee_bfd_is_target_special_symbol): Likewise.
4087         * ihex.c (ihex_canonicalize_symtab): Likewise.
4088         (ihex_bfd_is_target_special_symbol): Likewise.
4089         * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
4090         * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
4091         (_bfd_ecoff_set_alignment_hook): Likewise.
4092         * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
4093         * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
4094         * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
4095         * oasys.c (oasys_construct_extended_name_table): Likewise.
4096         (oasys_write_armap): Likewise.
4097         (oasys_write_ar_hdr): Likewise.
4098         (oasys_bfd_is_target_special_symbol): Likewise.
4099         * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
4100         * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
4101         * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
4102         * som.c (som_bfd_is_target_special_symbol): Likewise.
4103         * srec.c (srec_bfd_is_target_special_symbol): Likewise.
4104         * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
4105         * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
4106         * versados.c (versados_bfd_is_target_special_symbol): Likewise.
4107         (versados_bfd_reloc_name_lookup): Likewise.
4108         * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
4109         (vms_bfd_define_start_stop): Likewise.
4110         (alpha_vms_bfd_is_target_special_symbol): Likewise.
4111         * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
4112         * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
4113         * elf32-arc.c (get_replace_function): Assign replacement function
4114         to func pointer.
4115         * elf32-i370.c (i370_noop): Update prototype.
4116
4117 2018-02-13  Alan Modra  <amodra@gmail.com>
4118
4119         PR 22836
4120         * elf.c (_bfd_elf_fixup_group_sections): Account for removed
4121         relocation sections.  If size reduces to just the flag word,
4122         remove that too and mark with SEC_EXCLUDE.
4123         * elflink.c (bfd_elf_final_link): Strip empty group sections.
4124
4125 2018-02-13  Alan Modra  <amodra@gmail.com>
4126
4127         PR 22829
4128         * elf.c (assign_file_positions_for_non_load_sections): Rewrite
4129         PT_GNU_RELRO setup.
4130
4131 2018-02-12  Zebediah Figura  <z.figura12@gmail.com>
4132
4133         * i386msdos.c (msdos_mkobject); New function.
4134         (msdos_object_p): New function.
4135         (i386_msdos_vec): Use msdos_object_p as the check_format
4136         function.
4137         * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
4138         NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
4139         IMAGE_NT_SIGNATURE.
4140         * peXXigen.c: Likewise.
4141         * coff-ia64.c: Likewise.
4142
4143 2018-02-12  Nick Clifton  <nickc@redhat.com>
4144
4145         * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
4146         assignment.
4147         * elf32-arc.c (elf_arc_relocate_section): Likewise.
4148
4149 2018-02-09  Eric Botcazou  <ebotcazou@adacore.com>
4150
4151         * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
4152         (sparc_elf_append_rela): Assert that there is enough room in section.
4153         (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
4154         (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
4155         (allocate_dynrelocs): Remove outdated comments and reorder conditions.
4156         For a symbol subject to a GOT relocation, reserve a slot in the
4157         relocation section if the symbol isn't dynamic and we are in PIC mode.
4158         (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
4159         is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
4160         <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
4161         <R_SPARC_PC10>: Reorder conditions.  Remove always-false assertion.
4162         (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
4163         resolved_to_zero.  Do not generate a dynamic GOT relocation for an
4164         undefined weak symbol with non-default visibility.  Remove superfluous
4165         'else' and fix formatting.
4166
4167 2018-02-09  H.J. Lu  <hongjiu.lu@intel.com>
4168
4169         * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
4170         is_solaris.
4171         (i386_elf32_sol2_vec): Don't declare.
4172         (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
4173         Don't set need_global_offset_table.
4174         (elf_i386_solaris_arch_bed): New.
4175         (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
4176         Solaris.
4177         * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
4178         target_os != is_nacl instead of target_os == is_normal.
4179         (x86_64_elf64_sol2_vec): Don't declare.
4180         (elf_x86_64_link_setup_gnu_properties): Check target_os !=
4181         is_nacl instead of target_os == is_normal.  Don't set
4182         need_global_offset_table.
4183         (elf_x86_64_solaris_arch_bed): New.
4184         (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
4185         Solaris.
4186         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
4187         _GLOBAL_OFFSET_TABLE_ for Solaris.
4188         (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
4189         need_global_offset_table.
4190         * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
4191         (elf_x86_link_hash_table): Remove need_global_offset_table.
4192         (elf_x86_init_table): Likewise.
4193
4194 2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
4195
4196         * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
4197         Remove prototype.
4198         (i386_elf32_sol2_vec): Declared.
4199         (elf_i386_link_setup_gnu_properties): Set
4200         need_global_offset_table with info->output_bfd->xvec.
4201         * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
4202         Remove prototype.
4203         (x86_64_elf64_sol2_vec): Declared.
4204         (elf_x86_64_link_setup_gnu_properties): Set
4205         need_global_offset_table with info->output_bfd->xvec.
4206
4207 2018-02-08  H.J. Lu  <hongjiu.lu@intel.com>
4208
4209         * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
4210         New prototype.
4211         (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
4212         for Solaris.
4213         * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
4214         New prototype.
4215         (elf_x86_64_link_setup_gnu_properties): Set
4216         need_global_offset_table for Solaris.
4217         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
4218         unused _GLOBAL_OFFSET_TABLE_ for Solaris.
4219         (_bfd_x86_elf_link_setup_gnu_properties): Copy
4220         need_global_offset_table.
4221         * elfxx-x86.h (elf_x86_link_hash_table): Add
4222         need_global_offset_table.
4223         (elf_x86_init_table): Likewise.
4224
4225 2018-02-08  Jim Wilson  <jimw@sifive.com>
4226
4227         * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
4228         change.
4229
4230 2018-02-08  Nick Clifton  <nickc@redhat.com>
4231
4232         PR 22788
4233         * elf.c (elf_parse_notes): Reject notes with excessuively large
4234         alignments.
4235
4236 2018-02-07  Alan Modra  <amodra@gmail.com>
4237
4238         Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
4239         * elf32-ppc.c: Remove speculation barrier support.
4240         * elf32-ppc.h: Likewise.
4241         * elf64-ppc.c: Likewise.
4242         * elf64-ppc.h: Likewise.
4243
4244 2018-02-06  Jim Wilson  <jimw@sifive.com>
4245
4246         * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
4247         callback to report an error.
4248
4249 2018-02-06  Eric Botcazou  <ebotcazou@adacore.com>
4250
4251         PR ld/22263
4252         * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
4253         into call to !bfd_link_executable and tidy up.
4254         (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
4255         <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
4256         !bfd_link_executable.
4257         <R_SPARC_TLS_IE_HI22>: Likewise.
4258         <GOT relocations>: Remove useless code, tidy and merge related blocks.
4259         <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
4260         !bfd_link_executable.
4261         <R_SPARC_WPLT30>: Tidy up.
4262         (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
4263         !bfd_link_executable.
4264         (allocate_dynrelocs): Likewise.
4265         (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
4266         <R_SPARC_TLS_GD_HI22>: Merge into...
4267         <R_SPARC_TLS_GD_LO10>: ...this.  Adjust 4th argument in call to
4268         sparc_elf_tls_transition and remove redundant code.
4269         <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
4270         !bfd_link_executable.
4271         <R_SPARC_TLS_LDO_HIX22>: Likewise.
4272         <R_SPARC_TLS_LE_HIX22>: Likewise.  Tidy up.
4273         <R_SPARC_TLS_LDM_CALL>: Likewise.
4274         <R_SPARC_TLS_GD_CALL>: Likewise.  Tidy up.
4275         <R_SPARC_TLS_GD_ADD>: Likewise.
4276         <R_SPARC_TLS_LDM_ADD>: Likewise.
4277         <R_SPARC_TLS_LDO_ADD>: Likewise.
4278         <R_SPARC_TLS_IE_LD>: Likewise.
4279
4280 2018-02-06  MiloÅ¡ Stojanović  <milos.stojanovic@rt-rk.com>
4281
4282         PR 22789
4283         * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
4284         functions failed to find the function name, try the generic elf
4285         find function instead.
4286
4287 2018-02-06  Sergio Durigan Junior  <sergiodj@redhat.com>
4288
4289         * coff-rs6000.c (xcoff_write_archive_contents_old): Use
4290         'memcpy' instead of 'strncpy' when writing the magic number.
4291
4292 2018-02-06  Nick Clifton  <nickc@redhat.com>
4293
4294         PR 22794
4295         * opncls.c (bfd_get_debug_link_info_1): Check the size of the
4296         section before attempting to read it in.
4297         (bfd_get_alt_debug_link_info): Likewise.
4298
4299 2018-02-06  Paul Carroll  <pcarroll@codesourcery.com>
4300
4301         * bfd/dwarf2.c (find_abstract_name): Modified to return file and
4302         line information in addition to name, if they can be found.
4303
4304 2018-02-05  Renlin Li  <renlin.li@arm.com>
4305
4306         PR ld/22764
4307         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
4308         R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
4309         check for writeable section as well.
4310
4311 2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
4312
4313         PR ld/22782
4314         * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
4315         _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
4316         undefined weak symbol to 0.
4317         * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
4318         if _GLOBAL_OFFSET_TABLE_ is referenced.
4319         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
4320         got_referenced instead of ref_regular_nonweak.  Remove the
4321         unused _GLOBAL_OFFSET_TABLE_ from symbol table.
4322         * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
4323
4324 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
4325
4326         * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
4327         initialize `hi_reloc'.
4328
4329 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
4330
4331         * elfxx-mips.c (_bfd_mips_elf_section_processing): For
4332         SHT_MIPS_REGINFO sections don't assert the correct size and
4333         report an error instead.
4334
4335 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
4336
4337         * elf.c (_bfd_elf_write_object_contents): Propagate a failure
4338         status from `->elf_backend_section_processing'.
4339
4340 2018-02-02  Jim Wilson  <jimw@sifive.com>
4341
4342         PR ld/22756
4343         * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
4344         If link_info->wrap_hash, check for a duplicate symbol and ignore.
4345         (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
4346         Pass new argument to riscv_relax_delete_bytes.
4347         (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise.  Remove
4348         ATTRIBUTE_UNUSED from link_info parameter.
4349
4350 2018-02-02  Alan Modra  <amodra@gmail.com>
4351
4352         * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
4353         emitted for toc sequence optimization.  Set and use "howto" later.
4354
4355 2018-02-01  Simon Marchi  <simon.marchi@ericsson.com>
4356
4357         * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
4358         arithmetic on NULL pointer.
4359         * elflink.c (_bfd_elf_archive_symbol_lookup,
4360         elf_link_add_archive_symbols): Likewise.
4361
4362 2018-01-31  Michael Matz  <matz@suse.de>
4363
4364         * elflink.c (bfd_elf_define_start_stop): Fix check of
4365         def_dynamic.
4366
4367 2018-01-31  H.J. Lu  <hongjiu.lu@intel.com>
4368
4369         PR ld/21964
4370         * elflink.c (bfd_elf_define_start_stop): Check if __start and
4371         __stop symbols are referenced by shared objects.
4372
4373 2018-01-30  Alan Modra  <amodra@gmail.com>
4374
4375         PR 22758
4376         * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
4377         segment when demand paged with lma on the same page.  Test this
4378         before load/non-load, executable/non-executable,
4379         writable/non-writable tests and simplify.  Delete bogus relro
4380         condition in writable/non-writable test.  Delete outdated
4381         comment.  Formatting.
4382
4383 2018-01-30  Alan Modra  <amodra@gmail.com>
4384
4385         * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
4386         symbols dynamic.
4387
4388 2018-01-29  Alan Modra  <amodra@gmail.com>
4389
4390         PR 22741
4391         * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
4392         range before converting to a symbol table pointer.
4393
4394 2018-01-27  Nick Clifton  <nickc@redhat.com>
4395
4396         * po/ru.po: Updated Russian translation.
4397
4398 2018-01-26  Alan Modra  <amodra@gmail.com>
4399
4400         * elflink.c (bfd_elf_define_start_stop): Override symbols when
4401         they are defined dynamically.
4402
4403 2018-01-26  Alan Modra  <amodra@gmail.com>
4404
4405         * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
4406         .branch_lt changes size.
4407
4408 2018-01-25  Alan Modra  <amodra@gmail.com>
4409
4410         PR 22746
4411         * elfcode.h (elf_object_p): Avoid integer overflow.
4412
4413 2018-01-25  Eric Botcazou  <ebotcazou@adacore.com>
4414
4415         PR ld/22727
4416         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
4417         Do a mere lookup of the __tls_get_addr symbol instead of adding it.
4418
4419         Revert
4420         2017-10-19  H.J. Lu  <hongjiu.lu@intel.com>
4421
4422         PR ld/22263
4423         * elfxx-sparc.c (sparc_elf_tls_transition): Replace
4424         bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
4425         bfd_link_executable for TLS check.
4426         (_bfd_sparc_elf_check_relocs): Likewise.
4427         (allocate_dynrelocs): Likewise.
4428         (_bfd_sparc_elf_relocate_section): Likewise.
4429
4430 2018-01-24  Renlin Li  <renlin.li@arm.com>
4431
4432         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
4433         BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
4434         BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
4435         BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
4436         BFD_RELOC_AARCH64_MOVW_PREL_G3.
4437         * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
4438         (_bfd_aarch64_elf_resolve_relocation): Likewise.
4439
4440 2018-01-24  Renlin Li  <renlin.li@arm.com>
4441
4442         * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
4443         BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
4444         BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
4445         BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
4446         * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
4447         BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
4448         BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
4449         BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
4450         BFD_RELOC_AARCH64_MOVW_PREL_G3.
4451         * bfd-in2.h: Regenerate.
4452         * libbfd.h: Regenerate.
4453
4454 2018-01-23  Maciej W. Rozycki  <macro@mips.com>
4455
4456         * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
4457         `mips_elf32_section_processing' comment reference.
4458
4459 2018-01-20  H.J. Lu  <hongjiu.lu@intel.com>
4460
4461         PR ld/22721
4462         * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
4463         versioned __tls_get_addr symbol.
4464
4465 2018-01-19  Nick Clifton  <nickc@redhat.com>
4466
4467         * po/fr.po: Updated French translation.
4468
4469 2018-01-18  Alan Modra  <amodra@gmail.com>
4470
4471         * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
4472         * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
4473         (ppc64_elf_build_stubs): Likewise.
4474
4475 2018-01-17  Nick Clifton  <nickc@redhat.com>
4476
4477         * po/ru.po: Updated Russian translation.
4478         * po/uk/po: Updated Ukranian translation.
4479
4480 2018-01-17  Alan Modra  <amodra@gmail.com>
4481
4482         * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
4483
4484 2018-01-17  Alan Modra  <amodra@gmail.com>
4485
4486         * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
4487         (CRSETEQ, BEQCTRM): Define.
4488         (is_nonpic_glink_stub): Don't check bctr.
4489         (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
4490         (ppc_elf_relax_section): Size speculation barrier.
4491         (output_bctr): New function.
4492         (write_glink_stub): Use output_bctr.
4493         (ppc_elf_relocate_section): Use output_bctr for long branch stub.
4494         (ppc_elf_finish_dynamic_symbol): Likewise.
4495         (ppc_elf_finish_dynamic_sections): Use output_bctr.
4496         * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
4497         * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
4498         (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
4499         (size_global_entry_stubs): Handle speculation barrier sizing.
4500         (plt_stub_size): Likewise.
4501         (output_bctr): New function.
4502         (build_plt_stub, build_tls_get_addr_stub): Output speculation
4503         barrier.
4504         (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
4505         (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
4506         (build_global_entry_stubs): Output speculation barrier.
4507         (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
4508         * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
4509
4510 2018-01-17  Alan Modra  <amodra@gmail.com>
4511
4512         * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
4513         __tls_get_addr_opt, and alignment sizing.
4514         (TLS_GET_ADDR_GLINK_SIZE): Delete.
4515         (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
4516         (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
4517         or 8 insns.
4518         (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
4519         (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
4520         (ppc_elf_size_dynamic_sections): Likewise.  Size branch table
4521         by PLT reloc count.
4522         (write_glink_stub): Handle __tls_get_addr_opt stub.
4523         Pad out to size given by GLINK_ENTRY_SIZE.
4524         (ppc_elf_relocate_section): Adjust write_glink_stub call.
4525         (ppc_elf_finish_dynamic_symbol): Likewise.
4526         (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
4527         insn array since so many need rewriting.
4528         * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
4529         * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
4530         GLINK_CALL_STUB_SIZE.  Add htab param and evaluate to size without
4531         nops.  Adjust all uses.
4532         (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
4533         in glink_vma calculation.
4534         (struct ppc_link_hash_table): Add global_entry section pointer.
4535         (create_linkage_sections): Create separate section for global
4536         entry stubs.
4537         (PPC_LO, PPC_HI, PPC_HA): Move earlier.
4538         (size_global_entry_stubs): Handle sizing for aligned stubs.
4539         (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
4540         and don't stash end of glink branch table in rawsize.
4541         (ppc_build_one_stub): Rewrite stub size calculations.
4542         (build_global_entry_stubs): Use new section.
4543         (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
4544         Build lazy link stubs out to end of section.  Build global entry
4545         stubs in new section.
4546
4547 2018-01-15  Nick Clifton  <nickc@redhat.com>
4548
4549         * po/uk.po: Updated Ukranian translation.
4550
4551 2018-01-13  Nick Clifton  <nickc@redhat.com>
4552
4553         * po/bfd.pot: Regenerated.
4554
4555 2018-01-13  Nick Clifton  <nickc@redhat.com>
4556
4557         * version.m4: Bump version to 2.30.51
4558         * configure: Regenerate.
4559
4560 2018-01-13  Nick Clifton  <nickc@redhat.com>
4561
4562         2.30 branch created.
4563
4564 2018-01-12  Jens Widell  <jl@opera.com>
4565
4566         * elf.c (setup_group): Optimize search for group by remembering
4567         last found group and restarting search at that index.
4568         * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
4569
4570 2018-01-12  Gunther Nikl  <gnikl@users.sourceforge.net>
4571
4572         * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
4573         bfd_link_common_skip_none in switch.
4574
4575 2018-01-12  Alan Modra  <amodra@gmail.com>
4576
4577         PR ld/22649
4578         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
4579         references on forced local symbols.
4580
4581 2018-01-12  Vlad Ivanov  <vlad@ivanov.email>
4582
4583         * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
4584         .reginfo section has wrong size.
4585
4586 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
4587
4588         PR ld/22393
4589         * elf.c (_bfd_elf_map_sections_to_segments): When generating
4590         separate code and read-only data LOAD segments, create a new
4591         LOAD segment if the previous section contains text and the
4592         current section doesn't or vice versa.  Don't put a writable
4593         section in a read-only segment if there is a RELRO segment.
4594
4595 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
4596
4597         PR ld/22649
4598         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
4599         references on forced local symbols.
4600
4601 2018-01-11  H.J. Lu  <hongjiu.lu@intel.com>
4602
4603         PR ld/22677
4604         * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
4605         INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
4606
4607 2018-01-09  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
4608
4609         PR 22662
4610         * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
4611
4612 2018-01-03  John Baldwin  <jhb@FreeBSD.org>
4613
4614         * elf.c (elfcore_grok_freebsd_note): Handle
4615         NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
4616         NT_FREEBSD_PROCSTAT_VMMAP.
4617
4618 2018-01-03  Alan Modra  <amodra@gmail.com>
4619
4620         Update year range in copyright notice of all files.
4621
4622 For older changes see ChangeLog-2017
4623 \f
4624 Copyright (C) 2018 Free Software Foundation, Inc.
4625
4626 Copying and distribution of this file, with or without modification,
4627 are permitted in any medium without royalty provided the copyright
4628 notice and this notice are preserved.
4629
4630 Local Variables:
4631 mode: change-log
4632 left-margin: 8
4633 fill-column: 74
4634 version-control: never
4635 End: