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