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