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