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