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