bfd: xtensa: fix shrink_dynamic_reloc_sections for export-dynamic
[deliverable/binutils-gdb.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:
This page took 0.047567 seconds and 5 git commands to generate.