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