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