MIPS/LD: Reject tprel_hi and tprel_lo relocations in shared library
[external/binutils.git] / bfd / ChangeLog
1 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
2
3         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
4         for TLS_TPREL_HI16(/LO16) relocations in shared library.
5
6 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
7
8         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
9         checks.  Search the RELA table for n64 relocations.
10
11 2019-05-21  Matthew Fortune  <matthew.fortune@mips.com>
12             Faraz Shahbazker  <fshahbazker@wavecomp.com>
13
14         * elfxx-mips.c (LA25_BC): New macro.
15         (mips_elf_link_hash_table)<compact_branches>: New field.
16         (STUB_JALRC): New macro.
17         (mipsr6_o32_exec_plt0_entry_compact): New array.
18         (mipsr6_n32_exec_plt0_entry_compact): Likewise.
19         (mipsr6_n64_exec_plt0_entry_compact): Likewise.
20         (mipsr6_exec_plt_entry_compact): Likewise.
21         (mips_elf_create_la25_stub): Use BC instead of J for stubs
22         when compact_branches is true.
23         (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
24         PLT for MIPSR6 with compact_branches.  Do not reorder the
25         compact branches PLT.  Switch the lazy stub for MIPSR6
26         with compact_branches to use JALRC.
27         (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
28         when compact_branches is true.
29         (_bfd_mips_elf_compact_branches): New function.
30         * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
31
32 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
33
34         PR ld/24373
35         * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
36         Fix print formatter.
37
38 2019-05-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
39
40         PR 24460
41         * elf32-arm.c (get_value_helper): Remove.
42         (elf32_arm_final_link_relocate): Fix branch future relocations.
43
44 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
45
46         PR ld/24373
47         * bfd-in.h (enum erratum_84319_opts): New
48         (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
49         int to enum erratum_84319_opts.
50         * bfd-in2.h: Regenerate.
51         * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
52         fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
53         (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
54         (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
55         (_bfd_aarch64_resize_stubs): Amend comment.
56         (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
57         requested.
58         (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
59         (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
60         erratum workaround.
61         (clear_erratum_843419_entry): Update erratum conditional.
62
63 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
64
65         PR ld/24571
66         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
67         when computing distance_short_enough.
68
69 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
70
71         PR ld/24564
72         * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
73         Wrap around even if distance equals avr_pc_wrap_around.
74
75 2019-05-20  Nick Clifton  <nickc@redhat.com>
76
77         * po/fr.po: Updated French translation.
78
79 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
80
81         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
82
83 2019-05-16  Alan Modra  <amodra@gmail.com>
84
85         * elf32-arm.c (elf32_arm_write_section): Revert last change.
86
87 2019-05-15  Alan Modra  <amodra@gmail.com>
88
89         * elf32-arm.c (elf32_arm_write_section): Don't leave
90         error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
91         unitialised section contents.
92
93 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
94
95         PR 19921
96         * verilog.c: (VerilogDataWidth): New variable.
97         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
98
99 2019-05-08  Nick Clifton  <nickc@redhat.com>
100
101         PR 24523
102         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
103         rather than FALSE if encountering a non-ELF file.
104
105 2019-05-06  Alan Modra  <amodra@gmail.com>
106
107         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
108
109 2019-05-06  Alan Modra  <amodra@gmail.com>
110
111         * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
112         (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
113         Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
114         * libbfd.h: Regenerate.
115         * bfd-in2.h: Regenerate.
116
117 2019-05-04  Alan Modra  <amodra@gmail.com>
118
119         PR 24511
120         * syms.c (coff_section_type): Only allow '.', '$' and numeric
121         following the standard section names.
122         (bfd_decode_symclass): Prioritize section flag tests in
123         decode_section_type before name tests in coff_section_type.
124         * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
125         and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
126         their names and choose standard .text section flags for
127         fake_section.
128
129 2019-05-02  Nick Clifton  <nickc@redhat.com>
130
131         PR 24493
132         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
133         .gnu.debugaltlink sections as debugging sections.
134
135 2019-04-30  Alan Modra  <amodra@gmail.com>
136
137         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
138         (struct _ppc64_elf_section_data): Likewise.
139         (ppc64_elf_check_relocs): Set above fields.
140         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
141         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
142         when possible.
143
144 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
145
146         PR ld/24486
147         * elflink.c (elf_link_output_extsym): Don't complain undefined
148         weak dynamic reference.
149
150 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
151
152         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
153         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
154         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
155         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
156         (elfNN_aarch64_small_plt0_pac_entry): Remove.
157         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
158         (elfNN_aarch64_small_plt0_bti_entry): Update.
159         (elfNN_aarch64_small_plt_bti_entry): Update.
160         (elfNN_aarch64_small_plt_pac_entry): Update.
161         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
162         (setup_plt_values): Setup new entries.
163         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
164         (elfNN_aarch64_plt_sym_val): Likewise.
165
166 2019-04-22  Jim Wilson  <jimw@sifive.com>
167
168         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
169
170 2019-04-19  Alan Modra  <amodra@gmail.com>
171
172         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
173
174 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
175
176         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
177         building shared object.
178         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
179
180 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
181
182         PR ld/24458
183         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
184         linker_def.
185
186 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
187
188         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
189         relocation.
190         * bfd-in2.h: Regenerate.
191         * libbfd.h: Likewise.
192
193 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
194
195         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
196         * bfd-in2.h: Regenerated.
197         * libbfd.h: Regenerated.
198
199 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
200
201         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
202         * bfd-in2.h: Regenerated.
203         * libbfd.h: Likewise.
204
205 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
206
207         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
208         * bfd-in2.h: Regenerated.
209         * libbfd.h: Regenerated.
210         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
211         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
212         and R_ARM_THM_BF12 together.
213         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
214
215 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
216
217         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
218         * libbfd.h: Regenerated.
219         * bfd-in2.h: Regenerated.
220         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
221         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
222         and R_ARM_THM_BF18 together.
223         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
224
225 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
226
227         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
228         * bfd-in2.h: Regenerated.
229         * libbfd.h: Regenerated.
230         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
231         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
232         and R_ARM_THM_BF16 together.
233         (get_value_helper): New reloc helper.
234         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
235
236 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
237
238         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
239         * bfd-in2.h: Regenerate.
240         * libbfd.h: Regenerate.
241
242 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
243
244         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
245         * bfd-in2.h: Regenerate.
246         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
247         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
248         and update assert.
249         (using_thumb2): Likewise.
250         (using_thumb2_bl): Update assert.
251         (arch_has_arm_nop): Likewise.
252         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
253         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
254
255 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
256
257         * elf-linker-x86.h (elf_x86_cet_report): New.
258         (elf_linker_x86_params): Add cet_report.
259         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
260         missing IBT and SHSTK properties if needed.
261
262 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
263
264         PR ld/24436
265         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
266         "h != NULL".  Don't check "h != NULL" before calling.
267         bfd_elf_gc_record_vtentry.
268         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
269         * elf32-bfin.c (bfin_check_relocs): Likewise.
270         * elf32-cris.c (cris_elf_check_relocs): Likewise.
271         * elf32-csky.c (csky_elf_check_relocs): Likewise.
272         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
273         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
274         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
275         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
276         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
277         * elf32-i386.c (elf_i386_check_relocs): Likewise.
278         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
279         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
280         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
281         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
282         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
283         * elf32-metag.c (elf_metag_check_relocs): Likewise.
284         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
285         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
286         * elf32-s390.c (elf_s390_check_relocs): Likewise.
287         * elf32-sh.c (sh_elf_check_relocs): Likewise.
288         * elf32-v850.c (v850_elf_check_relocs): Likewise.
289         * elf32-vax.c (elf_vax_check_relocs): Likewise.
290         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
291         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
292         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
293         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
294         * elf64-s390.c (elf_s390_check_relocs): Likewise.
295         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
296         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
297         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
298         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
299         VTENTRY entry.
300
301 2019-04-11  Alan Modra  <amodra@gmail.com>
302
303         PR 24435
304         * elflink.c (elf_link_add_object_symbols): Don't read partial
305         dynamic entries from fuzzed objects.
306
307 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
308
309         PR ld/24302
310         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
311         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
312         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
313
314 2019-04-10  Michael Forney  <mforney@mforney.org>
315
316         PR 24427
317         * doc/chew.c (free_words): Correctly free "push_text" strings.
318
319 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
320
321         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
322
323 2019-04-08  Alan Modra  <amodra@gmail.com>
324
325         * configure.ac (elfxx_x86): Define and use.
326         * configure: Regenerate.
327
328 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
329
330         * elf-linker-x86.h: New file.
331         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
332         to get x86-specific linker options.
333         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
334         (elf_x86_64_check_relocs): Likewise.
335         (elf_x86_64_relocate_section): Likewise.
336         (elf_x86_64_link_setup_gnu_properties): Likewise.
337         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
338         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
339         (_bfd_elf_linker_x86_set_options): New function.
340         * elfxx-x86.h: Include "elf-linker-x86.h".
341         (elf_x86_link_hash_table): Add params.
342
343 2019-04-03  Alan Modra  <amodra@gmail.com>
344
345         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
346         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
347         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
348         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
349         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
350         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
351
352 2019-04-02  Jim Wilson  <jimw@sifive.com>
353
354         PR 24389
355         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
356         ELF header flags to after check for ELF object file.  Loop through
357         sections looking for code sections, if none, then skip ABI checks.
358
359 2019-03-30  Andrew Waterman  <andrew@sifive.com>
360
361         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
362         rd == X_RA case.
363
364 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
365
366         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
367         info->export_dynamic to the conditional.
368
369 2019-03-28  Alan Modra  <amodra@gmail.com>
370
371         PR 24392
372         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
373         * configure: Regenerate.
374         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
375         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
376         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
377         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
378         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
379
380 2019-03-21  Jim Wilson  <jimw@sifive.com>
381
382         PR 24365
383         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
384         verify sym non-NULL before using.  Add identical check using h.
385
386 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
387
388         * elf-bfd.h (struct elf_backend_data): Add argument to
389         merge_gnu_properties.
390         * elf-properties.c (elf_merge_gnu_properties): Add argument to
391         itself and while calling bed->merge_gnu_properties.
392         (elf_merge_gnu_property_list): Update the calls for
393         elf_merge_gnu_properties.
394         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
395         of --force-bti warning and add argument.
396         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
397         warning.
398         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
399         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
400         declaration.
401
402 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
403
404         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
405         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
406         (elf_backend_fixup_gnu_properties): Define for AArch64.
407
408 2019-03-18  Alan Modra  <amodra@gmail.com>
409
410         PR 24355
411         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
412         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
413         attempt at writing glink stubs only once.
414
415 2019-03-16  Alan Modra  <amodra@gmail.com>
416
417         PR 24337
418         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
419         (_bfd_elf_rel_local_sym): Likewise.
420         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
421         section of symbols with unrecognized shndx.
422
423 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
424
425         PR ld/24267
426         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
427         section.
428         * cofflink.c (coff_link_add_symbols): Check for symbols defined
429         in discarded section.
430
431 2019-03-15  Alan Modra  <amodra@gmail.com>
432
433         PR 24339
434         * elflink.c (elf_link_add_object_symbols): Bail out on a local
435         symbol after globals if elf_bad_symtab is not set.
436
437 2019-03-15  Alan Modra  <amodra@gmail.com>
438
439         PR 24337
440         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
441         (_bfd_elf_rel_local_sym): Likewise.
442
443 2019-03-15  Alan Modra  <amodra@gmail.com>
444
445         PR 24336
446         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
447         object files with sh_size not a multiple of sh_entsize.
448
449 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
450
451         PR ld/24338
452         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
453         input with bad relocation.
454
455 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
456
457         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
458
459 2019-03-14  Nick Clifton  <nickc@redhat.com>
460
461         PR 24334
462         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
463         (save_section_vma): Initialise field to the number of entries in
464         the sec_vma table.
465         (section_vma_same): Check that the number of entries in the
466         sec_vma table matches the number of sections in the bfd.
467
468 2019-03-14  Nick Clifton  <nickc@redhat.com>
469
470         PR 24333
471         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
472         section owner pointer when adding the default symbol.
473
474 2019-03-14  Nick Clifton  <nickc@redhat.com>
475
476         PR 24332
477         * elflink.c (elf_link_add_object_symbols): Add new local variable
478         extversym_end.  Initialise it to point to the end of the version
479         symbol table, if present.  Check it when initialising and updating
480         the ever pointer.
481
482 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
483
484         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
485         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
486         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
487         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
488         and PLT_PAC_PLT.
489         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
490         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
491         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
492
493 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
494             Szabolcs Nagy  <szabolcs.nagy@arm.com>
495
496         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
497         (aarch64_bti_pac_info): New.
498         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
499         (bfd_elf32_aarch64_set_options): Likewise.
500         * bfd-in2.h: Regenerate
501         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
502         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
503         (elfNN_aarch64_small_plt0_bti_entry): New.
504         (elfNN_aarch64_small_plt_bti_entry): New.
505         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
506         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
507         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
508         tlsdesc_plt_entry_size fields.
509         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
510         (setup_plt_values): New helper function.
511         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
512         bti enable type.
513         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
514         fixed macros.
515         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
516         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
517         to plt stubs instead of fixed ones and update filling them according
518         to the need for bti.
519         (elfNN_aarch64_init_small_plt0_entry): Likewise.
520         (elfNN_aarch64_finish_dynamic_sections): Likewise.
521         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
522         (elfNN_aarch64_plt_sym_val): Update size accordingly.
523         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
524         is set.
525         (bfd_elfNN_get_synthetic_symtab): Define.
526         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
527         and mising BTI NOTE SECTION.
528
529
530 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
531
532         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
533         linker created inputs from merge.
534         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
535         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
536         (elfNN_aarch64_link_setup_gnu_properties): New.
537         (elfNN_aarch64_merge_gnu_properties): New.
538         (elf_backend_setup_gnu_properties): Define for AArch64.
539         (elf_backend_merge_gnu_properties): Likewise.
540         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
541         (_bfd_aarch64_elf_parse_gnu_properties): Define.
542         (_bfd_aarch64_elf_merge_gnu_properties): Define.
543         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
544         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
545         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
546         (elf_backend_parse_gnu_properties): Define for AArch64.
547
548 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
549
550         PR ld/24322
551         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
552         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
553
554 2019-03-12  Alan Modra  <amodra@gmail.com>
555
556         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
557         nmemb parameter.  Use bfd_alloc2.
558         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
559         Delete assertion.
560         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
561         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
562         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
563         doesn't overflow.
564         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
565         (assign_section_numbers): Style fix.
566         (swap_out_syms): Use bfd_malloc2.
567         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
568         overflow.
569         (_bfd_elf_make_empty_symbol): Style fix.
570         (elfobj_grok_stapsdt_note_1): Formatting.
571         * elfcode.h (elf_object_p): Use bfd_alloc2.
572         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
573         (elf_slurp_symbol_table): Use bfd_zalloc2.
574         (elf_slurp_reloc_table): Use bfd_alloc2.
575         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
576         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
577         size calculation doesn't overflow.
578         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
579         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
580         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
581
582 2019-03-08  Alan Modra  <amodra@gmail.com>
583
584         PR 24311
585         * merge.c (merge_strings): Return secinfo.  Don't pad section
586         to alignment here.
587         (_bfd_merge_sections): Pad section to alignment here, if input
588         sections contributing to merged output all pad to alignment.
589         Formatting.
590
591 2019-03-06  Nick Clifton  <nickc@redhat.com>
592
593         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
594         table pointer.
595         * coffgen.c (coff_find_nearest_line_with_names): Do not call
596         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
597
598 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
599
600         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
601         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
602
603         PR 20113
604         * elf32-s390.c (allocate_dynrelocs): Update comment.
605
606 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
607
608         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
609
610 2019-02-28  Nick Clifton  <nickc@redhat.com>
611
612         PR 24273
613         * elf.c (bfd_elf_string_from_elf_section): Check for a string
614         section that is not NUL terminated.
615
616 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
617
618         PR ld/24276
619         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
620         by linker when checking copy reloc on protected symbol.
621
622 2019-02-24  Alan Modra  <amodra@gmail.com>
623
624         PR 24144
625         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
626
627 2019-02-20  Eric Tsai  <erictsai@cadence.com>
628
629         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
630         sections between the call site and call destination and adjust
631         call distance by the largest alignment.
632
633 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
634
635         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
636         * elf.c (elfcore_grok_aarch_pauth): New function.
637         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
638         (elfcore_write_aarch_pauth): New function.
639         (elfcore_write_register_note): Check for AArch64 pauth section.
640
641 2019-02-20  Alan Modra  <amodra@gmail.com>
642
643         PR 24225
644         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
645         return value.
646
647 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
648
649         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
650         Darwin hosts, not just or1k.
651         * configure: Regenerate.
652
653 2019-02-20  Alan Modra  <amodra@gmail.com>
654
655         PR 24236
656         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
657         sentinel NUL to string buffer nearer to loop where it is used.
658         Don't go past sentinel when scanning strings, and don't write
659         NUL again.
660         * archive.c (do_slurp_coff_armap): Simplify string handling to
661         archive64.c style.
662
663 2019-02-19  Alan Modra  <amodra@gmail.com>
664
665         PR 24235
666         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
667         attempting to prevent read past end of section.
668
669 2019-02-18  Alan Modra  <amodra@gmail.com>
670
671         PR 24225
672         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
673         PRIx64 to generate warning messages.  Print local sym names too.
674
675 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
676
677         * elf32-arc (INIT_SYM_STRING): Delete.
678         (FINI_SYM_STRING): Likewise.
679         (init_str): Likewise.
680         (fini_str): Likewise.
681
682 2019-02-08  Alan Modra  <amodra@gmail.com>
683
684         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
685         for bss-plt" warning to make it an error.
686
687 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
688
689         PR ld/18841
690         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
691         reloc_class_ifunc for ifunc symbols.
692         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
693
694 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
695
696         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
697         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
698
699 2019-02-07  Nick Clifton  <nickc@redhat.com>
700
701         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
702         into the definitely obsolete list.
703
704 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
705
706         PR ld/24151
707         * elf64-x86-64.c (elf_x86_64_need_pic): Check
708         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
709         (elf_x86_64_relocate_section): Move PIC check for PC-relative
710         relocations to ...
711         (elf_x86_64_check_relocs): Here.
712         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
713         to check if a symbol is defined in a non-shared object.
714         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
715
716 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
717
718         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
719         of 'labs' (and fix GCC warning).
720
721 2019-01-25  Nick Clifton  <nickc@redhat.com>
722
723         * po/ru.po: Updated Russian translation.
724
725 2019-01-23  Nick Clifton  <nickc@redhat.com>
726
727         * po/fr.po: Updated French translation.
728
729 2019-01-21  Nick Clifton  <nickc@redhat.com>
730
731         * po/pt.po: Updated Portuguese translation.
732         * po/uk.po: Updated Ukranian translation.
733
734 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
735
736         PR 24108
737         * elf32-nds32.c (nds32_relocate_section): Add space between words
738         in error message.
739         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
740         error message.
741         (riscv_i_or_e_p): Likewise.
742         (riscv_merge_arch_attr_info): Likewise.
743
744 2019-01-19  Nick Clifton  <nickc@redhat.com>
745
746         * version.m4: Reset to 2.32.51
747         * configure: Regenerate.
748         * po/bfd.pot: Regenerate.
749
750 2018-06-24  Nick Clifton  <nickc@redhat.com>
751
752         2.32 branch created.
753
754 2019-01-16  Kito Cheng  <kito@andestech.com>
755
756         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
757         for OBJ_ATTR_PROC.
758
759 2019-01-16  Kito Cheng  <kito@andestech.com>
760             Nelson Chu  <nelson@andestech.com>
761
762         * elfnn-riscv.c (in_subsets): New.
763         (out_subsets): Likewise.
764         (merged_subsets): Likewise.
765         (riscv_std_ext_p): Likewise.
766         (riscv_non_std_ext_p): Likewise.
767         (riscv_std_sv_ext_p): Likewise.
768         (riscv_non_std_sv_ext_p): Likewise.
769         (riscv_version_mismatch): Likewise.
770         (riscv_i_or_e_p): Likewise.
771         (riscv_merge_std_ext): Likewise.
772         (riscv_merge_non_std_and_sv_ext): Likewise.
773         (riscv_merge_arch_attr_info): Likewise.
774         (riscv_merge_attributes): Likewise.
775         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
776
777         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
778         (elf_backend_obj_attrs_vendor): Define.
779         (elf_backend_obj_attrs_section_type): Likewise.
780         (elf_backend_obj_attrs_section): Likewise.
781         (elf_backend_obj_attrs_arg_type): Define as
782         riscv_elf_obj_attrs_arg_type.
783         * elfxx-riscv.c (riscv_estimate_digit): New.
784         (riscv_estimate_arch_strlen1): Likewise.
785         (riscv_estimate_arch_strlen): Likewise.
786         (riscv_arch_str1): Likewise.
787         (riscv_arch_str): Likewise.
788         * elfxx-riscv.h (riscv_arch_str): Declare.
789
790 2019-01-14  John Darrington <john@darrington.wattle.id.au>
791
792         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
793         * libbfd.h: regen.
794         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
795         source field.  (md_apply_fix): Apply final fix
796         to BFD_RELOC_S12Z_OPR.
797         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
798
799 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
800
801         PR 20113
802         * elf32-s390.c (allocate_dynrelocs): Update comment.
803
804 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
805
806         * warning.m4: Adjust egrep pattern for non-GNU compilers.
807         * configure: Regenerate.
808
809 2019-01-08  Alan Modra  <amodra@gmail.com>
810
811         PR 23699
812         PR 24065
813         * ihex.c (ihex_write_object_contents): Properly check 32-bit
814         address range.
815
816 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
817
818         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
819         * bfd/bfd-in2.h: Regenerate.
820         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
821         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
822
823 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
824
825         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
826         default target, little endian target is more suitable.
827
828 2019-01-04  Alan Modra  <amodra@gmail.com>
829
830         PR 24061
831         PR 21786
832         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
833         adjust all callers.
834         (EQ_VALUE_IN_FIELD): Likewise.
835         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
836
837 2019-01-01  Alan Modra  <amodra@gmail.com>
838
839         Update year range in copyright notice of all files.
840
841 For older changes see ChangeLog-2018
842 \f
843 Copyright (C) 2019 Free Software Foundation, Inc.
844
845 Copying and distribution of this file, with or without modification,
846 are permitted in any medium without royalty provided the copyright
847 notice and this notice are preserved.
848
849 Local Variables:
850 mode: change-log
851 left-margin: 8
852 fill-column: 74
853 version-control: never
854 End: