bfd: xtensa: fix shrink_dynamic_reloc_sections for export-dynamic
[external/binutils.git] / bfd / ChangeLog
1 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
2
3         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
4         info->export_dynamic to the conditional.
5
6 2019-03-28  Alan Modra  <amodra@gmail.com>
7
8         PR 24392
9         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
10         * configure: Regenerate.
11         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
12         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
13         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
14         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
15         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
16
17 2019-03-21  Jim Wilson  <jimw@sifive.com>
18
19         PR 24365
20         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
21         verify sym non-NULL before using.  Add identical check using h.
22
23 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
24
25         * elf-bfd.h (struct elf_backend_data): Add argument to
26         merge_gnu_properties.
27         * elf-properties.c (elf_merge_gnu_properties): Add argument to
28         itself and while calling bed->merge_gnu_properties.
29         (elf_merge_gnu_property_list): Update the calls for
30         elf_merge_gnu_properties.
31         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
32         of --force-bti warning and add argument.
33         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
34         warning.
35         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
36         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
37         declaration.
38
39 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
40
41         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
42         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
43         (elf_backend_fixup_gnu_properties): Define for AArch64.
44
45 2019-03-18  Alan Modra  <amodra@gmail.com>
46
47         PR 24355
48         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
49         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
50         attempt at writing glink stubs only once.
51
52 2019-03-16  Alan Modra  <amodra@gmail.com>
53
54         PR 24337
55         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
56         (_bfd_elf_rel_local_sym): Likewise.
57         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
58         section of symbols with unrecognized shndx.
59
60 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
61
62         PR ld/24267
63         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
64         section.
65         * cofflink.c (coff_link_add_symbols): Check for symbols defined
66         in discarded section.
67
68 2019-03-15  Alan Modra  <amodra@gmail.com>
69
70         PR 24339
71         * elflink.c (elf_link_add_object_symbols): Bail out on a local
72         symbol after globals if elf_bad_symtab is not set.
73
74 2019-03-15  Alan Modra  <amodra@gmail.com>
75
76         PR 24337
77         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
78         (_bfd_elf_rel_local_sym): Likewise.
79
80 2019-03-15  Alan Modra  <amodra@gmail.com>
81
82         PR 24336
83         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
84         object files with sh_size not a multiple of sh_entsize.
85
86 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
87
88         PR ld/24338
89         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
90         input with bad relocation.
91
92 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
93
94         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
95
96 2019-03-14  Nick Clifton  <nickc@redhat.com>
97
98         PR 24334
99         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
100         (save_section_vma): Initialise field to the number of entries in
101         the sec_vma table.
102         (section_vma_same): Check that the number of entries in the
103         sec_vma table matches the number of sections in the bfd.
104
105 2019-03-14  Nick Clifton  <nickc@redhat.com>
106
107         PR 24333
108         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
109         section owner pointer when adding the default symbol.
110
111 2019-03-14  Nick Clifton  <nickc@redhat.com>
112
113         PR 24332
114         * elflink.c (elf_link_add_object_symbols): Add new local variable
115         extversym_end.  Initialise it to point to the end of the version
116         symbol table, if present.  Check it when initialising and updating
117         the ever pointer.
118
119 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
120
121         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
122         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
123         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
124         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
125         and PLT_PAC_PLT.
126         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
127         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
128         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
129
130 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
131             Szabolcs Nagy  <szabolcs.nagy@arm.com>
132
133         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
134         (aarch64_bti_pac_info): New.
135         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
136         (bfd_elf32_aarch64_set_options): Likewise.
137         * bfd-in2.h: Regenerate
138         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
139         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
140         (elfNN_aarch64_small_plt0_bti_entry): New.
141         (elfNN_aarch64_small_plt_bti_entry): New.
142         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
143         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
144         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
145         tlsdesc_plt_entry_size fields.
146         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
147         (setup_plt_values): New helper function.
148         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
149         bti enable type.
150         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
151         fixed macros.
152         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
153         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
154         to plt stubs instead of fixed ones and update filling them according
155         to the need for bti.
156         (elfNN_aarch64_init_small_plt0_entry): Likewise.
157         (elfNN_aarch64_finish_dynamic_sections): Likewise.
158         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
159         (elfNN_aarch64_plt_sym_val): Update size accordingly.
160         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
161         is set.
162         (bfd_elfNN_get_synthetic_symtab): Define.
163         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
164         and mising BTI NOTE SECTION.
165
166
167 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
168
169         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
170         linker created inputs from merge.
171         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
172         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
173         (elfNN_aarch64_link_setup_gnu_properties): New.
174         (elfNN_aarch64_merge_gnu_properties): New.
175         (elf_backend_setup_gnu_properties): Define for AArch64.
176         (elf_backend_merge_gnu_properties): Likewise.
177         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
178         (_bfd_aarch64_elf_parse_gnu_properties): Define.
179         (_bfd_aarch64_elf_merge_gnu_properties): Define.
180         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
181         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
182         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
183         (elf_backend_parse_gnu_properties): Define for AArch64.
184
185 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
186
187         PR ld/24322
188         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
189         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
190
191 2019-03-12  Alan Modra  <amodra@gmail.com>
192
193         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
194         nmemb parameter.  Use bfd_alloc2.
195         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
196         Delete assertion.
197         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
198         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
199         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
200         doesn't overflow.
201         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
202         (assign_section_numbers): Style fix.
203         (swap_out_syms): Use bfd_malloc2.
204         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
205         overflow.
206         (_bfd_elf_make_empty_symbol): Style fix.
207         (elfobj_grok_stapsdt_note_1): Formatting.
208         * elfcode.h (elf_object_p): Use bfd_alloc2.
209         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
210         (elf_slurp_symbol_table): Use bfd_zalloc2.
211         (elf_slurp_reloc_table): Use bfd_alloc2.
212         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
213         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
214         size calculation doesn't overflow.
215         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
216         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
217         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
218
219 2019-03-08  Alan Modra  <amodra@gmail.com>
220
221         PR 24311
222         * merge.c (merge_strings): Return secinfo.  Don't pad section
223         to alignment here.
224         (_bfd_merge_sections): Pad section to alignment here, if input
225         sections contributing to merged output all pad to alignment.
226         Formatting.
227
228 2019-03-06  Nick Clifton  <nickc@redhat.com>
229
230         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
231         table pointer.
232         * coffgen.c (coff_find_nearest_line_with_names): Do not call
233         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
234
235 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
236
237         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
238         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
239
240         PR 20113
241         * elf32-s390.c (allocate_dynrelocs): Update comment.
242
243 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
244
245         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
246
247 2019-02-28  Nick Clifton  <nickc@redhat.com>
248
249         PR 24273
250         * elf.c (bfd_elf_string_from_elf_section): Check for a string
251         section that is not NUL terminated.
252
253 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
254
255         PR ld/24276
256         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
257         by linker when checking copy reloc on protected symbol.
258
259 2019-02-24  Alan Modra  <amodra@gmail.com>
260
261         PR 24144
262         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
263
264 2019-02-20  Eric Tsai  <erictsai@cadence.com>
265
266         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
267         sections between the call site and call destination and adjust
268         call distance by the largest alignment.
269
270 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
271
272         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
273         * elf.c (elfcore_grok_aarch_pauth): New function.
274         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
275         (elfcore_write_aarch_pauth): New function.
276         (elfcore_write_register_note): Check for AArch64 pauth section.
277
278 2019-02-20  Alan Modra  <amodra@gmail.com>
279
280         PR 24225
281         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
282         return value.
283
284 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
285
286         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
287         Darwin hosts, not just or1k.
288         * configure: Regenerate.
289
290 2019-02-20  Alan Modra  <amodra@gmail.com>
291
292         PR 24236
293         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
294         sentinel NUL to string buffer nearer to loop where it is used.
295         Don't go past sentinel when scanning strings, and don't write
296         NUL again.
297         * archive.c (do_slurp_coff_armap): Simplify string handling to
298         archive64.c style.
299
300 2019-02-19  Alan Modra  <amodra@gmail.com>
301
302         PR 24235
303         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
304         attempting to prevent read past end of section.
305
306 2019-02-18  Alan Modra  <amodra@gmail.com>
307
308         PR 24225
309         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
310         PRIx64 to generate warning messages.  Print local sym names too.
311
312 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
313
314         * elf32-arc (INIT_SYM_STRING): Delete.
315         (FINI_SYM_STRING): Likewise.
316         (init_str): Likewise.
317         (fini_str): Likewise.
318
319 2019-02-08  Alan Modra  <amodra@gmail.com>
320
321         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
322         for bss-plt" warning to make it an error.
323
324 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
325
326         PR ld/18841
327         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
328         reloc_class_ifunc for ifunc symbols.
329         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
330
331 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
332
333         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
334         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
335
336 2019-02-07  Nick Clifton  <nickc@redhat.com>
337
338         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
339         into the definitely obsolete list.
340
341 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
342
343         PR ld/24151
344         * elf64-x86-64.c (elf_x86_64_need_pic): Check
345         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
346         (elf_x86_64_relocate_section): Move PIC check for PC-relative
347         relocations to ...
348         (elf_x86_64_check_relocs): Here.
349         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
350         to check if a symbol is defined in a non-shared object.
351         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
352
353 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
354
355         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
356         of 'labs' (and fix GCC warning).
357
358 2019-01-25  Nick Clifton  <nickc@redhat.com>
359
360         * po/ru.po: Updated Russian translation.
361
362 2019-01-23  Nick Clifton  <nickc@redhat.com>
363
364         * po/fr.po: Updated French translation.
365
366 2019-01-21  Nick Clifton  <nickc@redhat.com>
367
368         * po/pt.po: Updated Portuguese translation.
369         * po/uk.po: Updated Ukranian translation.
370
371 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
372
373         PR 24108
374         * elf32-nds32.c (nds32_relocate_section): Add space between words
375         in error message.
376         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
377         error message.
378         (riscv_i_or_e_p): Likewise.
379         (riscv_merge_arch_attr_info): Likewise.
380
381 2019-01-19  Nick Clifton  <nickc@redhat.com>
382
383         * version.m4: Reset to 2.32.51
384         * configure: Regenerate.
385         * po/bfd.pot: Regenerate.
386
387 2018-06-24  Nick Clifton  <nickc@redhat.com>
388
389         2.32 branch created.
390
391 2019-01-16  Kito Cheng  <kito@andestech.com>
392
393         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
394         for OBJ_ATTR_PROC.
395
396 2019-01-16  Kito Cheng  <kito@andestech.com>
397             Nelson Chu  <nelson@andestech.com>
398
399         * elfnn-riscv.c (in_subsets): New.
400         (out_subsets): Likewise.
401         (merged_subsets): Likewise.
402         (riscv_std_ext_p): Likewise.
403         (riscv_non_std_ext_p): Likewise.
404         (riscv_std_sv_ext_p): Likewise.
405         (riscv_non_std_sv_ext_p): Likewise.
406         (riscv_version_mismatch): Likewise.
407         (riscv_i_or_e_p): Likewise.
408         (riscv_merge_std_ext): Likewise.
409         (riscv_merge_non_std_and_sv_ext): Likewise.
410         (riscv_merge_arch_attr_info): Likewise.
411         (riscv_merge_attributes): Likewise.
412         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
413
414         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
415         (elf_backend_obj_attrs_vendor): Define.
416         (elf_backend_obj_attrs_section_type): Likewise.
417         (elf_backend_obj_attrs_section): Likewise.
418         (elf_backend_obj_attrs_arg_type): Define as
419         riscv_elf_obj_attrs_arg_type.
420         * elfxx-riscv.c (riscv_estimate_digit): New.
421         (riscv_estimate_arch_strlen1): Likewise.
422         (riscv_estimate_arch_strlen): Likewise.
423         (riscv_arch_str1): Likewise.
424         (riscv_arch_str): Likewise.
425         * elfxx-riscv.h (riscv_arch_str): Declare.
426
427 2019-01-14  John Darrington <john@darrington.wattle.id.au>
428
429         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
430         * libbfd.h: regen.
431         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
432         source field.  (md_apply_fix): Apply final fix
433         to BFD_RELOC_S12Z_OPR.
434         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
435
436 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
437
438         PR 20113
439         * elf32-s390.c (allocate_dynrelocs): Update comment.
440
441 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
442
443         * warning.m4: Adjust egrep pattern for non-GNU compilers.
444         * configure: Regenerate.
445
446 2019-01-08  Alan Modra  <amodra@gmail.com>
447
448         PR 23699
449         PR 24065
450         * ihex.c (ihex_write_object_contents): Properly check 32-bit
451         address range.
452
453 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
454
455         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
456         * bfd/bfd-in2.h: Regenerate.
457         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
458         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
459
460 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
461
462         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
463         default target, little endian target is more suitable.
464
465 2019-01-04  Alan Modra  <amodra@gmail.com>
466
467         PR 24061
468         PR 21786
469         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
470         adjust all callers.
471         (EQ_VALUE_IN_FIELD): Likewise.
472         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
473
474 2019-01-01  Alan Modra  <amodra@gmail.com>
475
476         Update year range in copyright notice of all files.
477
478 For older changes see ChangeLog-2018
479 \f
480 Copyright (C) 2019 Free Software Foundation, Inc.
481
482 Copying and distribution of this file, with or without modification,
483 are permitted in any medium without royalty provided the copyright
484 notice and this notice are preserved.
485
486 Local Variables:
487 mode: change-log
488 left-margin: 8
489 fill-column: 74
490 version-control: never
491 End: