Dynamic TLS section symbols
[external/binutils.git] / bfd / ChangeLog
1 2019-07-13  Alan Modra  <amodra@gmail.com>
2
3         * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
4         tls_sec.
5         (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
6         (_bfd_elf_init_2_index_sections): Likewise.
7         * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
8         relocations for local TLS symbols, use STN_UNDEF as the relocation
9         symbol.
10         * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
11         leave TLS symbol value in the addend.
12
13 2019-07-08  Alan Modra  <amodra@gmail.com>
14
15         PR 24785
16         * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
17         size before reading first word.
18
19 2019-07-02  Nick Clifton  <nickc@redhat.com>
20
21         PR 24717
22         * elf.c (is_debuginfo_file): New function.
23         (assign_file_positions_for_non_load_sections): Do not warn about
24         allocated sections outside of loadable segments if they are found
25         in a debuginfo file.
26         * elf-bfd.h (is_debuginfo_file): Prototype.
27
28 2019-07-02  Nick Clifton  <nickc@redhat.com>
29
30         PR 24753
31         * compress.c (bfd_get_full_section_contents): Do not complain
32         about linker created sections that are larger than the file size.
33
34 2019-07-02  Christophe Lyon  <christophe.lyon@linaro.org>
35
36         * bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
37         (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
38         for CMSE stubs.
39         (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
40
41 2019-07-02  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
42
43         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
44         sections when .text section contain secure entry functions
45         is marked.
46
47 2019-07-01  Nick Clifton  <nickc@redhat.com>
48
49         PR 23839
50         * elf32-arm.c (elf32_arm_update_relocs): Do not include the
51         section VMA in the offset used to update exidx relocs.
52
53 2019-06-28  Nick Clifton  <nickc@redhat.com>
54
55         PR 24708
56         * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
57         large version reference section.
58         * compress.c (bfd_get_full_section_contents): Check for an
59         uncompressed section whose size is larger than the file size.
60
61 2019-06-28  Alan Modra  <amodra@gmail.com>
62
63         * format.c (bfd_check_format_matches): Don't match plugin target
64         if another target matches.  Expand comment.
65         * targets.c (_bfd_target_vector): Move plugin_vec after all other
66         non-corefile targets, outside !SELECT_VECS.
67         * config.bfd: Don't handle targ=plugin here.
68         * configure.ac: Don't add plugin to enable_targets or handle in
69         target loop setting selvecs and other target vars.
70         * configure: Regenerate.
71
72 2019-06-26  Nick Clifton  <nickc@redhat.com>
73
74         PR 24703
75         * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
76         messages for failures.
77         * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
78         if returning an error value.
79
80 2019-06-25  Jan Beulich  <jbeulich@suse.com>
81
82         * elf-properties.c (elf_find_and_remove_property): Rename last
83         parameter. Mention it in comment.
84
85 2019-06-24  Ilia Diachkov  <ilia.diachkov@optimitech.com>
86
87         * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
88         SEC_MERGE or SEC_CODE flags are set.
89         (_bfd_riscv_relax_section): New local symtype.  Set sym_sec and
90         symtype consistently.  Don't include sec_addr (sym_sec) in symval.
91         Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
92         Add sec_addr (sym_sec) after handling merge sections.
93
94 2019-06-24  H.J. Lu  <hongjiu.lu@intel.com>
95
96         PR ld/24721
97         * elf-properties.c (elf_merge_gnu_property_list): Remove the
98         property after reporting property removal.
99
100 2019-06-23  Alan Modra  <amodra@gmail.com>
101
102         PR 24704
103         * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
104         (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
105         Reduce range of offsets allowed for other GOT relocs.
106
107 2019-06-23  Alan Modra  <amodra@gmail.com>
108
109         PR 24689
110         * elfcode.h (elf_object_p): Warning fix.
111
112 2019-06-21  Alan Modra  <amodra@gmail.com>
113
114         PR 24689
115         * elfcode.h (elf_object_p): Check type of e_shstrndx section.
116
117 2019-06-19  Alan Modra  <amodra@gmail.com>
118
119         PR 24697
120         * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
121         R_PPC_EMB_RELSDA.  Mask low bit of R_PPC_EMB_SDA21 r_offset.
122
123 2019-06-19  Alan Modra  <amodra@gmail.com>
124
125         * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
126         functions that require r2 valid to use local entry.
127         (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
128
129 2019-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
130
131         * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
132         (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
133         with elfNN_aarch64_allocate_local_dynrelocs.
134
135 2019-06-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
136
137         * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
138
139 2019-06-14  Alan Modra  <amodra@gmail.com>
140
141         * Makefile.in: Regenerate.
142         * configure: Regenerate.
143
144 2019-06-14  Alan Modra  <amodra@gmail.com>
145
146         * elf64-ppc.c: Fix comments involving paddi.
147
148 2019-06-12  Adam Lackorzymski  <adam@os.inf.tu-dresden.de>
149
150         PR 24643
151         * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
152         absent, or the bfd is not in the ELF formart.
153         * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
154
155 2019-06-10  Christos Zoulas  <christos@zoulas.com>
156
157         PR 24650
158         * elf.c (elfcore_make_auxv_note_section): New function.
159         (elfcore_grok_note): Use it.
160         (elfcore_grok_freebsd_note): Likewise.
161         (elfcore_grok_openbsd_note): Likewise.
162         (elfcore_grok_netbsd_note): Likewise.  Plus add support for
163         NT_NETBSDCORE_AUXV notes.
164
165 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
166
167         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
168         alignment of the new gnu property section.
169
170 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
171
172         * bfd-in.h: Change comment.
173         * bfd-in2.h: Regenerate.
174         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
175         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
176         Likwise.
177
178 2019-05-28  Faraz Shahbazker  <fshahbazker@wavecomp.com>
179
180         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
181         Remove overflow check.
182
183 2019-05-28  Alan Modra  <amodra@gmail.com>
184
185         PR 24596
186         * cofflink.c (coff_link_check_archive_element): Don't assume
187         element is a coff object file after calling add_archive_element.
188
189 2019-05-28  Alan Modra  <amodra@gmail.com>
190
191         PR 24596
192         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
193         attempt to set sh_entsize for excluded PLT section.
194
195 2019-05-28  Alan Modra  <amodra@gmail.com>
196
197         PR 24596
198         * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
199         to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
200         allocated in alpha_dynamic_entries_for_reloc.
201
202 2019-05-28  Alan Modra  <amodra@gmail.com>
203
204         PR 24596
205         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
206         on NULL output_section.
207         * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
208
209 2019-05-28  Alan Modra  <amodra@gmail.com>
210
211         PR 24596
212         * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
213         entry when MUST_FIND.  Abort when MUST_FIND not found.
214         (elf_m68k_get_bfd2got_entry): Likewise.
215         (elf_m68k_relocate_section): Remove now useless assert.
216
217 2019-05-28  Alan Modra  <amodra@gmail.com>
218
219         PR 24596
220         * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
221         from bfd_link_info, not an output section owner.
222         (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
223         (elf_hppa_final_link_relocate): Likewise.
224
225 2019-05-28  Alan Modra  <amodra@gmail.com>
226
227         PR 24596
228         * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
229         create_object_symbols_section, obj_textsec, obj_datasec or
230         obj_bsssec.  Fix other errors in placement.
231         * config.bfd: Obsolete tic30-aout.
232
233 2019-05-28  Alan Modra  <amodra@gmail.com>
234
235         PR 24596
236         * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
237         end of section list as well as section_count.
238         * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
239         section list before returning error.
240
241 2019-05-27  Alan Modra  <amodra@gmail.com>
242
243         * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
244
245 2019-05-27  Alan Modra  <amodra@gmail.com>
246
247         PR 24596
248         * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
249
250 2019-05-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
251
252         * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
253         (struct elf_aarch64_link_hash_table): Add variant_pcs member.
254         (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
255         (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
256         (elf_backend_merge_symbol_attribute): Define.
257
258 2019-05-24  Alan Modra  <amodra@gmail.com>
259
260         * po/SRC-POTFILES.in: Regenerate.
261
262 2019-05-24  Alan Modra  <amodra@gmail.com>
263
264         * elf64-ppc.c: Comment on powerxx _notoc stub variants.
265         (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
266         (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
267         (struct ppc_link_hash_table): Add powerxx_stubs.
268         (ppc64_elf_check_relocs): Set powerxx_stubs.
269         (build_powerxx_offset, size_powerxx_offset),
270         (num_relocs_for_powerxx_offset),
271         (emit_relocs_for_powerxx_offset): New functions.
272         (plt_stub_size): Size powerxx stubs.
273         (ppc_build_one_stub): Emit powerxx stubs.
274         (ppc_size_one_stub): Size powerxx stubs.  Omit .eh_frame for
275         powerxx stubs.
276
277 2019-05-24  Alan Modra  <amodra@gmail.com>
278
279         * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
280         R_PPC64_GOT_PCREL34.
281         (xlate_pcrel_opt): New function.
282         (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
283         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
284         for R_PPC64_GOT_PCREL34.  Implement R_PPC64_PCREL_OPT optimisation.
285
286 2019-05-24  Alan Modra  <amodra@gmail.com>
287
288         * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
289         (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
290         (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
291         (BFD_RELOC_PPC64_PLT_PCREL34),
292         (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
293         (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
294         (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
295         (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
296         (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
297         * elf64-ppc.c (PNOP): Define.
298         (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
299         (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
300         (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
301         relocs.
302         (ppc64_elf_prefix_reloc): New function.
303         (struct ppc_link_hash_table): Add notoc_plt.
304         (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
305         (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
306         R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
307         (ppc64_elf_check_relocs): Handle pcrel got and plt relocs.  Set
308         has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC.  Handle
309         possible need for dynamic relocs on non-pcrel powerxx relocs.
310         (dec_dynrel_count): Handle non-pcrel powerxx relocs.
311         (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
312         (toc_adjusting_stub_needed): Likewise.
313         (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
314         (ppc64_elf_relocate_section): Handle new powerxx relocs.
315         * bfd-in2.h: Regenerate.
316         * libbfd.h: Regenerate.
317
318 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
319
320         * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
321         * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
322         bpf_elf64_be_vec.
323         * configure: Regenerate.
324
325 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
326
327         * configure: Regenerated.
328         * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
329         (ALL_MACHINES_CFILES): Add cpu-bpf.c.
330         (BFD64_BACKENDS): Add elf64-bpf.lo.
331         (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
332         * Makefile.in (SOURCE_HFILES): Regenerate.
333         * config.bfd (targ_cpu): Handle bpf-*-* targets.
334         * cpu-bpf.c: New file.
335         * elf64-bpf.c: Likewise.
336         * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
337         bpf_elf64_le_vec.
338         * archures.c: Define architecture bfd_arch_bpf and machine
339         bfd_arch_bpf.
340         * reloc.c: Define BFD relocations used by the BPF target.
341         * bfd-in2.h: Regenerated.
342         * libbfd.h: Likewise.
343
344 2019-05-22  Alan Modra  <amodra@gmail.com>
345
346         * elf32-arm.c (arm_allocate_glue_section_space): Clear section
347         contents.
348
349 2019-05-22  Alan Modra  <amodra@gmail.com>
350
351         * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
352         processing on "size error in section".
353
354 2019-05-22  Alan Modra  <amodra@gmail.com>
355
356         * som.c (som_bfd_free_cached_info): Call
357         _bfd_generic_close_and_cleanup.
358
359 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
360
361         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
362         for TLS_TPREL_HI16(/LO16) relocations in shared library.
363
364 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
365
366         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
367         checks.  Search the RELA table for n64 relocations.
368
369 2019-05-21  Matthew Fortune  <matthew.fortune@mips.com>
370             Faraz Shahbazker  <fshahbazker@wavecomp.com>
371
372         * elfxx-mips.c (LA25_BC): New macro.
373         (mips_elf_link_hash_table)<compact_branches>: New field.
374         (STUB_JALRC): New macro.
375         (mipsr6_o32_exec_plt0_entry_compact): New array.
376         (mipsr6_n32_exec_plt0_entry_compact): Likewise.
377         (mipsr6_n64_exec_plt0_entry_compact): Likewise.
378         (mipsr6_exec_plt_entry_compact): Likewise.
379         (mips_elf_create_la25_stub): Use BC instead of J for stubs
380         when compact_branches is true.
381         (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
382         PLT for MIPSR6 with compact_branches.  Do not reorder the
383         compact branches PLT.  Switch the lazy stub for MIPSR6
384         with compact_branches to use JALRC.
385         (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
386         when compact_branches is true.
387         (_bfd_mips_elf_compact_branches): New function.
388         * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
389
390 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
391
392         PR ld/24373
393         * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
394         Fix print formatter.
395
396 2019-05-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
397
398         PR 24460
399         * elf32-arm.c (get_value_helper): Remove.
400         (elf32_arm_final_link_relocate): Fix branch future relocations.
401
402 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
403
404         PR ld/24373
405         * bfd-in.h (enum erratum_84319_opts): New
406         (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
407         int to enum erratum_84319_opts.
408         * bfd-in2.h: Regenerate.
409         * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
410         fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
411         (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
412         (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
413         (_bfd_aarch64_resize_stubs): Amend comment.
414         (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
415         requested.
416         (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
417         (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
418         erratum workaround.
419         (clear_erratum_843419_entry): Update erratum conditional.
420
421 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
422
423         PR ld/24571
424         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
425         when computing distance_short_enough.
426
427 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
428
429         PR ld/24564
430         * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
431         Wrap around even if distance equals avr_pc_wrap_around.
432
433 2019-05-20  Nick Clifton  <nickc@redhat.com>
434
435         * po/fr.po: Updated French translation.
436
437 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
438
439         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
440
441 2019-05-16  Alan Modra  <amodra@gmail.com>
442
443         * elf32-arm.c (elf32_arm_write_section): Revert last change.
444
445 2019-05-15  Alan Modra  <amodra@gmail.com>
446
447         * elf32-arm.c (elf32_arm_write_section): Don't leave
448         error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
449         unitialised section contents.
450
451 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
452
453         PR 19921
454         * verilog.c: (VerilogDataWidth): New variable.
455         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
456
457 2019-05-08  Nick Clifton  <nickc@redhat.com>
458
459         PR 24523
460         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
461         rather than FALSE if encountering a non-ELF file.
462
463 2019-05-06  Alan Modra  <amodra@gmail.com>
464
465         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
466
467 2019-05-06  Alan Modra  <amodra@gmail.com>
468
469         * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
470         (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
471         Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
472         * libbfd.h: Regenerate.
473         * bfd-in2.h: Regenerate.
474
475 2019-05-04  Alan Modra  <amodra@gmail.com>
476
477         PR 24511
478         * syms.c (coff_section_type): Only allow '.', '$' and numeric
479         following the standard section names.
480         (bfd_decode_symclass): Prioritize section flag tests in
481         decode_section_type before name tests in coff_section_type.
482         * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
483         and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
484         their names and choose standard .text section flags for
485         fake_section.
486
487 2019-05-02  Nick Clifton  <nickc@redhat.com>
488
489         PR 24493
490         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
491         .gnu.debugaltlink sections as debugging sections.
492
493 2019-04-30  Alan Modra  <amodra@gmail.com>
494
495         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
496         (struct _ppc64_elf_section_data): Likewise.
497         (ppc64_elf_check_relocs): Set above fields.
498         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
499         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
500         when possible.
501
502 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
503
504         PR ld/24486
505         * elflink.c (elf_link_output_extsym): Don't complain undefined
506         weak dynamic reference.
507
508 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
509
510         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
511         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
512         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
513         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
514         (elfNN_aarch64_small_plt0_pac_entry): Remove.
515         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
516         (elfNN_aarch64_small_plt0_bti_entry): Update.
517         (elfNN_aarch64_small_plt_bti_entry): Update.
518         (elfNN_aarch64_small_plt_pac_entry): Update.
519         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
520         (setup_plt_values): Setup new entries.
521         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
522         (elfNN_aarch64_plt_sym_val): Likewise.
523
524 2019-04-22  Jim Wilson  <jimw@sifive.com>
525
526         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
527
528 2019-04-19  Alan Modra  <amodra@gmail.com>
529
530         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
531
532 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
533
534         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
535         building shared object.
536         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
537
538 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
539
540         PR ld/24458
541         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
542         linker_def.
543
544 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
545
546         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
547         relocation.
548         * bfd-in2.h: Regenerate.
549         * libbfd.h: Likewise.
550
551 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
552
553         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
554         * bfd-in2.h: Regenerated.
555         * libbfd.h: Regenerated.
556
557 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
558
559         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
560         * bfd-in2.h: Regenerated.
561         * libbfd.h: Likewise.
562
563 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
564
565         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
566         * bfd-in2.h: Regenerated.
567         * libbfd.h: Regenerated.
568         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
569         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
570         and R_ARM_THM_BF12 together.
571         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
572
573 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
574
575         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
576         * libbfd.h: Regenerated.
577         * bfd-in2.h: Regenerated.
578         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
579         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
580         and R_ARM_THM_BF18 together.
581         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
582
583 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
584
585         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
586         * bfd-in2.h: Regenerated.
587         * libbfd.h: Regenerated.
588         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
589         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
590         and R_ARM_THM_BF16 together.
591         (get_value_helper): New reloc helper.
592         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
593
594 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
595
596         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
597         * bfd-in2.h: Regenerate.
598         * libbfd.h: Regenerate.
599
600 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
601
602         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
603         * bfd-in2.h: Regenerate.
604         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
605         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
606         and update assert.
607         (using_thumb2): Likewise.
608         (using_thumb2_bl): Update assert.
609         (arch_has_arm_nop): Likewise.
610         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
611         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
612
613 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
614
615         * elf-linker-x86.h (elf_x86_cet_report): New.
616         (elf_linker_x86_params): Add cet_report.
617         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
618         missing IBT and SHSTK properties if needed.
619
620 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
621
622         PR ld/24436
623         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
624         "h != NULL".  Don't check "h != NULL" before calling.
625         bfd_elf_gc_record_vtentry.
626         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
627         * elf32-bfin.c (bfin_check_relocs): Likewise.
628         * elf32-cris.c (cris_elf_check_relocs): Likewise.
629         * elf32-csky.c (csky_elf_check_relocs): Likewise.
630         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
631         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
632         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
633         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
634         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
635         * elf32-i386.c (elf_i386_check_relocs): Likewise.
636         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
637         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
638         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
639         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
640         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
641         * elf32-metag.c (elf_metag_check_relocs): Likewise.
642         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
643         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
644         * elf32-s390.c (elf_s390_check_relocs): Likewise.
645         * elf32-sh.c (sh_elf_check_relocs): Likewise.
646         * elf32-v850.c (v850_elf_check_relocs): Likewise.
647         * elf32-vax.c (elf_vax_check_relocs): Likewise.
648         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
649         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
650         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
651         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
652         * elf64-s390.c (elf_s390_check_relocs): Likewise.
653         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
654         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
655         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
656         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
657         VTENTRY entry.
658
659 2019-04-11  Alan Modra  <amodra@gmail.com>
660
661         PR 24435
662         * elflink.c (elf_link_add_object_symbols): Don't read partial
663         dynamic entries from fuzzed objects.
664
665 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
666
667         PR ld/24302
668         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
669         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
670         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
671
672 2019-04-10  Michael Forney  <mforney@mforney.org>
673
674         PR 24427
675         * doc/chew.c (free_words): Correctly free "push_text" strings.
676
677 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
678
679         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
680
681 2019-04-08  Alan Modra  <amodra@gmail.com>
682
683         * configure.ac (elfxx_x86): Define and use.
684         * configure: Regenerate.
685
686 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
687
688         * elf-linker-x86.h: New file.
689         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
690         to get x86-specific linker options.
691         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
692         (elf_x86_64_check_relocs): Likewise.
693         (elf_x86_64_relocate_section): Likewise.
694         (elf_x86_64_link_setup_gnu_properties): Likewise.
695         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
696         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
697         (_bfd_elf_linker_x86_set_options): New function.
698         * elfxx-x86.h: Include "elf-linker-x86.h".
699         (elf_x86_link_hash_table): Add params.
700
701 2019-04-03  Alan Modra  <amodra@gmail.com>
702
703         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
704         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
705         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
706         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
707         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
708         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
709
710 2019-04-02  Jim Wilson  <jimw@sifive.com>
711
712         PR 24389
713         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
714         ELF header flags to after check for ELF object file.  Loop through
715         sections looking for code sections, if none, then skip ABI checks.
716
717 2019-03-30  Andrew Waterman  <andrew@sifive.com>
718
719         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
720         rd == X_RA case.
721
722 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
723
724         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
725         info->export_dynamic to the conditional.
726
727 2019-03-28  Alan Modra  <amodra@gmail.com>
728
729         PR 24392
730         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
731         * configure: Regenerate.
732         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
733         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
734         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
735         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
736         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
737
738 2019-03-21  Jim Wilson  <jimw@sifive.com>
739
740         PR 24365
741         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
742         verify sym non-NULL before using.  Add identical check using h.
743
744 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
745
746         * elf-bfd.h (struct elf_backend_data): Add argument to
747         merge_gnu_properties.
748         * elf-properties.c (elf_merge_gnu_properties): Add argument to
749         itself and while calling bed->merge_gnu_properties.
750         (elf_merge_gnu_property_list): Update the calls for
751         elf_merge_gnu_properties.
752         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
753         of --force-bti warning and add argument.
754         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
755         warning.
756         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
757         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
758         declaration.
759
760 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
761
762         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
763         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
764         (elf_backend_fixup_gnu_properties): Define for AArch64.
765
766 2019-03-18  Alan Modra  <amodra@gmail.com>
767
768         PR 24355
769         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
770         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
771         attempt at writing glink stubs only once.
772
773 2019-03-16  Alan Modra  <amodra@gmail.com>
774
775         PR 24337
776         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
777         (_bfd_elf_rel_local_sym): Likewise.
778         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
779         section of symbols with unrecognized shndx.
780
781 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
782
783         PR ld/24267
784         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
785         section.
786         * cofflink.c (coff_link_add_symbols): Check for symbols defined
787         in discarded section.
788
789 2019-03-15  Alan Modra  <amodra@gmail.com>
790
791         PR 24339
792         * elflink.c (elf_link_add_object_symbols): Bail out on a local
793         symbol after globals if elf_bad_symtab is not set.
794
795 2019-03-15  Alan Modra  <amodra@gmail.com>
796
797         PR 24337
798         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
799         (_bfd_elf_rel_local_sym): Likewise.
800
801 2019-03-15  Alan Modra  <amodra@gmail.com>
802
803         PR 24336
804         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
805         object files with sh_size not a multiple of sh_entsize.
806
807 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
808
809         PR ld/24338
810         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
811         input with bad relocation.
812
813 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
814
815         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
816
817 2019-03-14  Nick Clifton  <nickc@redhat.com>
818
819         PR 24334
820         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
821         (save_section_vma): Initialise field to the number of entries in
822         the sec_vma table.
823         (section_vma_same): Check that the number of entries in the
824         sec_vma table matches the number of sections in the bfd.
825
826 2019-03-14  Nick Clifton  <nickc@redhat.com>
827
828         PR 24333
829         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
830         section owner pointer when adding the default symbol.
831
832 2019-03-14  Nick Clifton  <nickc@redhat.com>
833
834         PR 24332
835         * elflink.c (elf_link_add_object_symbols): Add new local variable
836         extversym_end.  Initialise it to point to the end of the version
837         symbol table, if present.  Check it when initialising and updating
838         the ever pointer.
839
840 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
841
842         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
843         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
844         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
845         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
846         and PLT_PAC_PLT.
847         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
848         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
849         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
850
851 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
852             Szabolcs Nagy  <szabolcs.nagy@arm.com>
853
854         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
855         (aarch64_bti_pac_info): New.
856         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
857         (bfd_elf32_aarch64_set_options): Likewise.
858         * bfd-in2.h: Regenerate
859         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
860         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
861         (elfNN_aarch64_small_plt0_bti_entry): New.
862         (elfNN_aarch64_small_plt_bti_entry): New.
863         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
864         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
865         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
866         tlsdesc_plt_entry_size fields.
867         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
868         (setup_plt_values): New helper function.
869         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
870         bti enable type.
871         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
872         fixed macros.
873         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
874         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
875         to plt stubs instead of fixed ones and update filling them according
876         to the need for bti.
877         (elfNN_aarch64_init_small_plt0_entry): Likewise.
878         (elfNN_aarch64_finish_dynamic_sections): Likewise.
879         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
880         (elfNN_aarch64_plt_sym_val): Update size accordingly.
881         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
882         is set.
883         (bfd_elfNN_get_synthetic_symtab): Define.
884         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
885         and mising BTI NOTE SECTION.
886
887
888 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
889
890         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
891         linker created inputs from merge.
892         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
893         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
894         (elfNN_aarch64_link_setup_gnu_properties): New.
895         (elfNN_aarch64_merge_gnu_properties): New.
896         (elf_backend_setup_gnu_properties): Define for AArch64.
897         (elf_backend_merge_gnu_properties): Likewise.
898         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
899         (_bfd_aarch64_elf_parse_gnu_properties): Define.
900         (_bfd_aarch64_elf_merge_gnu_properties): Define.
901         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
902         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
903         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
904         (elf_backend_parse_gnu_properties): Define for AArch64.
905
906 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
907
908         PR ld/24322
909         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
910         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
911
912 2019-03-12  Alan Modra  <amodra@gmail.com>
913
914         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
915         nmemb parameter.  Use bfd_alloc2.
916         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
917         Delete assertion.
918         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
919         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
920         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
921         doesn't overflow.
922         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
923         (assign_section_numbers): Style fix.
924         (swap_out_syms): Use bfd_malloc2.
925         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
926         overflow.
927         (_bfd_elf_make_empty_symbol): Style fix.
928         (elfobj_grok_stapsdt_note_1): Formatting.
929         * elfcode.h (elf_object_p): Use bfd_alloc2.
930         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
931         (elf_slurp_symbol_table): Use bfd_zalloc2.
932         (elf_slurp_reloc_table): Use bfd_alloc2.
933         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
934         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
935         size calculation doesn't overflow.
936         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
937         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
938         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
939
940 2019-03-08  Alan Modra  <amodra@gmail.com>
941
942         PR 24311
943         * merge.c (merge_strings): Return secinfo.  Don't pad section
944         to alignment here.
945         (_bfd_merge_sections): Pad section to alignment here, if input
946         sections contributing to merged output all pad to alignment.
947         Formatting.
948
949 2019-03-06  Nick Clifton  <nickc@redhat.com>
950
951         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
952         table pointer.
953         * coffgen.c (coff_find_nearest_line_with_names): Do not call
954         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
955
956 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
957
958         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
959         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
960
961         PR 20113
962         * elf32-s390.c (allocate_dynrelocs): Update comment.
963
964 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
965
966         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
967
968 2019-02-28  Nick Clifton  <nickc@redhat.com>
969
970         PR 24273
971         * elf.c (bfd_elf_string_from_elf_section): Check for a string
972         section that is not NUL terminated.
973
974 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
975
976         PR ld/24276
977         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
978         by linker when checking copy reloc on protected symbol.
979
980 2019-02-24  Alan Modra  <amodra@gmail.com>
981
982         PR 24144
983         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
984
985 2019-02-20  Eric Tsai  <erictsai@cadence.com>
986
987         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
988         sections between the call site and call destination and adjust
989         call distance by the largest alignment.
990
991 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
992
993         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
994         * elf.c (elfcore_grok_aarch_pauth): New function.
995         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
996         (elfcore_write_aarch_pauth): New function.
997         (elfcore_write_register_note): Check for AArch64 pauth section.
998
999 2019-02-20  Alan Modra  <amodra@gmail.com>
1000
1001         PR 24225
1002         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
1003         return value.
1004
1005 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
1006
1007         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
1008         Darwin hosts, not just or1k.
1009         * configure: Regenerate.
1010
1011 2019-02-20  Alan Modra  <amodra@gmail.com>
1012
1013         PR 24236
1014         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
1015         sentinel NUL to string buffer nearer to loop where it is used.
1016         Don't go past sentinel when scanning strings, and don't write
1017         NUL again.
1018         * archive.c (do_slurp_coff_armap): Simplify string handling to
1019         archive64.c style.
1020
1021 2019-02-19  Alan Modra  <amodra@gmail.com>
1022
1023         PR 24235
1024         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
1025         attempting to prevent read past end of section.
1026
1027 2019-02-18  Alan Modra  <amodra@gmail.com>
1028
1029         PR 24225
1030         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
1031         PRIx64 to generate warning messages.  Print local sym names too.
1032
1033 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
1034
1035         * elf32-arc (INIT_SYM_STRING): Delete.
1036         (FINI_SYM_STRING): Likewise.
1037         (init_str): Likewise.
1038         (fini_str): Likewise.
1039
1040 2019-02-08  Alan Modra  <amodra@gmail.com>
1041
1042         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
1043         for bss-plt" warning to make it an error.
1044
1045 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1046
1047         PR ld/18841
1048         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
1049         reloc_class_ifunc for ifunc symbols.
1050         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
1051
1052 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1053
1054         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
1055         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
1056
1057 2019-02-07  Nick Clifton  <nickc@redhat.com>
1058
1059         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
1060         into the definitely obsolete list.
1061
1062 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
1063
1064         PR ld/24151
1065         * elf64-x86-64.c (elf_x86_64_need_pic): Check
1066         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
1067         (elf_x86_64_relocate_section): Move PIC check for PC-relative
1068         relocations to ...
1069         (elf_x86_64_check_relocs): Here.
1070         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
1071         to check if a symbol is defined in a non-shared object.
1072         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
1073
1074 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
1075
1076         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
1077         of 'labs' (and fix GCC warning).
1078
1079 2019-01-25  Nick Clifton  <nickc@redhat.com>
1080
1081         * po/ru.po: Updated Russian translation.
1082
1083 2019-01-23  Nick Clifton  <nickc@redhat.com>
1084
1085         * po/fr.po: Updated French translation.
1086
1087 2019-01-21  Nick Clifton  <nickc@redhat.com>
1088
1089         * po/pt.po: Updated Portuguese translation.
1090         * po/uk.po: Updated Ukranian translation.
1091
1092 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
1093
1094         PR 24108
1095         * elf32-nds32.c (nds32_relocate_section): Add space between words
1096         in error message.
1097         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
1098         error message.
1099         (riscv_i_or_e_p): Likewise.
1100         (riscv_merge_arch_attr_info): Likewise.
1101
1102 2019-01-19  Nick Clifton  <nickc@redhat.com>
1103
1104         * version.m4: Reset to 2.32.51
1105         * configure: Regenerate.
1106         * po/bfd.pot: Regenerate.
1107
1108 2018-06-24  Nick Clifton  <nickc@redhat.com>
1109
1110         2.32 branch created.
1111
1112 2019-01-16  Kito Cheng  <kito@andestech.com>
1113
1114         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
1115         for OBJ_ATTR_PROC.
1116
1117 2019-01-16  Kito Cheng  <kito@andestech.com>
1118             Nelson Chu  <nelson@andestech.com>
1119
1120         * elfnn-riscv.c (in_subsets): New.
1121         (out_subsets): Likewise.
1122         (merged_subsets): Likewise.
1123         (riscv_std_ext_p): Likewise.
1124         (riscv_non_std_ext_p): Likewise.
1125         (riscv_std_sv_ext_p): Likewise.
1126         (riscv_non_std_sv_ext_p): Likewise.
1127         (riscv_version_mismatch): Likewise.
1128         (riscv_i_or_e_p): Likewise.
1129         (riscv_merge_std_ext): Likewise.
1130         (riscv_merge_non_std_and_sv_ext): Likewise.
1131         (riscv_merge_arch_attr_info): Likewise.
1132         (riscv_merge_attributes): Likewise.
1133         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
1134
1135         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
1136         (elf_backend_obj_attrs_vendor): Define.
1137         (elf_backend_obj_attrs_section_type): Likewise.
1138         (elf_backend_obj_attrs_section): Likewise.
1139         (elf_backend_obj_attrs_arg_type): Define as
1140         riscv_elf_obj_attrs_arg_type.
1141         * elfxx-riscv.c (riscv_estimate_digit): New.
1142         (riscv_estimate_arch_strlen1): Likewise.
1143         (riscv_estimate_arch_strlen): Likewise.
1144         (riscv_arch_str1): Likewise.
1145         (riscv_arch_str): Likewise.
1146         * elfxx-riscv.h (riscv_arch_str): Declare.
1147
1148 2019-01-14  John Darrington <john@darrington.wattle.id.au>
1149
1150         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
1151         * libbfd.h: regen.
1152         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
1153         source field.  (md_apply_fix): Apply final fix
1154         to BFD_RELOC_S12Z_OPR.
1155         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
1156
1157 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
1158
1159         PR 20113
1160         * elf32-s390.c (allocate_dynrelocs): Update comment.
1161
1162 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
1163
1164         * warning.m4: Adjust egrep pattern for non-GNU compilers.
1165         * configure: Regenerate.
1166
1167 2019-01-08  Alan Modra  <amodra@gmail.com>
1168
1169         PR 23699
1170         PR 24065
1171         * ihex.c (ihex_write_object_contents): Properly check 32-bit
1172         address range.
1173
1174 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
1175
1176         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
1177         * bfd/bfd-in2.h: Regenerate.
1178         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
1179         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
1180
1181 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
1182
1183         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
1184         default target, little endian target is more suitable.
1185
1186 2019-01-04  Alan Modra  <amodra@gmail.com>
1187
1188         PR 24061
1189         PR 21786
1190         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
1191         adjust all callers.
1192         (EQ_VALUE_IN_FIELD): Likewise.
1193         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
1194
1195 2019-01-01  Alan Modra  <amodra@gmail.com>
1196
1197         Update year range in copyright notice of all files.
1198
1199 For older changes see ChangeLog-2018
1200 \f
1201 Copyright (C) 2019 Free Software Foundation, Inc.
1202
1203 Copying and distribution of this file, with or without modification,
1204 are permitted in any medium without royalty provided the copyright
1205 notice and this notice are preserved.
1206
1207 Local Variables:
1208 mode: change-log
1209 left-margin: 8
1210 fill-column: 74
1211 version-control: never
1212 End: