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