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