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