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