PR27291, integer overflow in bfd_get_section_contents
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2021-02-11 Alan Modra <amodra@gmail.com>
2
3 PR 27291
4 * section.c (bfd_get_section_contents): Avoid possible overflow
5 when range checking offset and count.
6 (bfd_set_section_contents): Likewise.
7
8 2021-02-03 Nick Alcock <nick.alcock@oracle.com>
9
10 * configure.ac (SHARED_LIBADD): Remove explicit -lintl population in
11 favour of LIBINTL.
12 * configure: Regenerated.
13
14 2021-02-09 Alan Modra <amodra@gmail.com>
15
16 * config.bfd (arm*-*-symbianelf*): Move from obsolete to removed.
17 * configure.ac: Delete symbian entries.
18 * elf-bfd.h (enum elf_target_os): Delete is_symbian.
19 * elf32-arm.c: Remove symbian support. Formatting.
20 * targets.c: Delete symbian entries.
21 * configure: Regenerate.
22
23 2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
24
25 PR ld/19609
26 * elf64-x86-64.c (elf_x86_64_relocate_section): Provide more
27 info when failed to convert GOTPCREL relocation.
28
29 2021-02-04 Nelson Chu <nelson.chu@sifive.com>
30
31 * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed zb*.
32
33 2021-02-04 Alan Modra <amodra@gmail.com>
34
35 PR 27311
36 * elflink.c (elf_link_add_object_symbols): Don't pull in as-needed
37 libraries for IR references on pass over libraries after LTO
38 recompilation.
39
40 2021-02-03 Alan Modra <amodra@gmail.com>
41
42 PR 27311
43 * elflink.c (_bfd_elf_add_default_symbol): Revert last two changes.
44 (elf_link_add_object_symbols): Here too. Don't pull in as-needed
45 libraries when H is an indirect symbol after calling
46 _bfd_elf_add_default_symbol.
47
48 2021-02-03 Alan Modra <amodra@gmail.com>
49
50 PR 27311
51 * elflink.c (_bfd_elf_add_default_symbol): Clear override when
52 undecorated symbol will have a different version.
53
54 2021-02-02 Alan Modra <amodra@gmail.com>
55
56 PR 27311
57 * elflink.c (_bfd_elf_add_default_symbol): Add override parameter.
58 Use when handling default versioned symbol. Rename existing
59 override variable to nondef_override and use for non-default
60 versioned symbol.
61 (elf_link_add_object_symbols): Adjust call to suit. Don't
62 pull in as-needed libraries when override is set.
63
64 2021-02-01 Emery Hemingway <ehmry@posteo.net>
65
66 * config.bfd: Add *-*-genode* as a target for AArch64 and x86.
67
68 2021-02-01 Egor Vishnyakov <lenvampir@yandex.ru>
69
70 PR 27254
71 * elf32-rl78.c (rl78_elf_relocate_section): Fix calculation of
72 offset for the R_RL78_RH_SADDR relocation.
73
74 2021-01-29 Alan Modra <amodra@gmail.com>
75
76 PR 27271
77 * elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
78 on symbols defined in absolute or other special sections.
79
80 2021-01-28 Alan Modra <amodra@gmail.com>
81
82 PR 27259
83 * elflink.c (_bfd_elf_gc_mark_extra_sections): Use linker_mark to
84 prevent endless looping of linked-to sections.
85
86 2020-12-17 Mihails Strasuns <mihails.strasuns@intel.com>
87
88 * bfd-elf.h (elfcore_write_file_note): New function.
89 * elf.c (elfcore_write_file_note): New function.
90
91 2021-01-26 Alan Modra <amodra@gmail.com>
92
93 * elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
94
95 2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
96
97 PR binutils/27231
98 * dwarf2.c (read_rnglists): Ignore empty range when parsing line
99 number tables.
100
101 2021-01-23 H.J. Lu <hongjiu.lu@intel.com>
102
103 PR binutils/27231
104 * dwarf2.c (read_rnglists): Advance rngs_ptr after
105 _bfd_safe_read_leb128 when parsing DW_RLE_offset_pair.
106
107 2021-01-20 Alan Modra <amodra@gmail.com>
108
109 * elf32-ppc.c: Delete outdated comment.
110 (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
111 * elf64-ppc.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
112
113 2021-01-20 Alan Modra <amodra@gmail.com>
114
115 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't assume
116 section symbols are present.
117
118 2021-01-19 Alan Modra <amodra@gmail.com>
119
120 * elf64-ppc.c (elf_hash_entry): New inline function. Use
121 throughout to replace casts.
122 (branch_reloc_hash_match): Remove const from params.
123 (use_local_plt): New function.
124 (allocate_dynrelocs, ppc_build_one_stub, ppc_size_one_stub),
125 (build_global_entry_stubs_and_plt, ppc64_elf_relocate_section):
126 Use use_local_plt.
127 * elf32-ppc.c (use_local_plt): New function.
128 (allocate_dynrelocs, ppc_elf_relocate_section),
129 (write_global_sym_plt): Use use_local_plt.
130
131 2021-01-17 H.J. Lu <hongjiu.lu@intel.com>
132
133 PR ld/27193
134 * elflink.c (elf_create_symbuf): Also ignore section symbols.
135
136 2021-01-16 H.J. Lu <hongjiu.lu@intel.com>
137
138 PR ld/23169
139 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): Don't
140 check pointer_equality_needed.
141
142 2021-01-15 H.J. Lu <hongjiu.lu@intel.com>
143
144 * elf-linker-x86.h (elf_linker_x86_params): Add
145 report_relative_reloc.
146 * elf32-i386.c (elf_i386_relocate_section): Call
147 _bfd_x86_elf_link_report_relative_reloc to report relative
148 relocations for -z report-relative-reloc.
149 (elf_i386_finish_dynamic_symbol): Likewse.
150 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewse.
151 (elf_x86_64_finish_dynamic_symbol): Likewse.
152 * elfxx-x86.c (_bfd_x86_elf_link_report_relative_reloc): New
153 function.
154 * elfxx-x86.h (_bfd_x86_elf_link_report_relative_reloc): New
155 prototype.
156
157 2021-01-16 Alan Modra <amodra@gmail.com>
158
159 * compress.c (decompress_contents): Tidy inflateEnd result test.
160
161 2021-01-16 Alan Modra <amodra@gmail.com>
162
163 PR 26002
164 * elflink.c (elf_link_output_extsym): Use version 1 in
165 .gnu.version for undefined unversioned symbols.
166
167 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
168
169 * elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
170 caused the by previous commit accidentally.
171
172 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
173
174 * elfnn-riscv.c: Indent, labels and GNU coding standards tidy,
175 also aligned the code.
176
177 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
178
179 * elfnn-riscv.c (riscv_merge_attributes): Fix typos of messages.
180
181 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
182
183 * elfnn-riscv.c: Comments tidy and improvement.
184 * elfxx-riscv.c: Likewise.
185 * elfxx-riscv.h: Likewise.
186
187 2021-01-14 H.J. Lu <hongjiu.lu@intel.com>
188
189 PR ld/26688
190 * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
191 section for R_BFIN_FUNCDESC.
192
193 2021-01-14 Nick Clifton <nickc@redhat.com>
194
195 * elf.c (elfcore_grok_win32pstatus): Check for a note type of 0.
196
197 2021-01-13 Alan Modra <amodra@gmail.com>
198
199 * Makefile.in: Regenerate.
200 * doc/Makefile.in: Regenerate.
201
202 2021-01-13 Alan Modra <amodra@gmail.com>
203
204 PR 27160
205 * section.c (struct bfd_section): Remove pattern field.
206 (BFD_FAKE_SECTION): Adjust to suit.
207 * bfd-in2.h: Regenerate.
208 * elflink.c (compare_link_order, elf_fixup_link_order): Delete.
209 (bfd_elf_final_link): Don't call elf_fixup_link_order.
210
211 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
212
213 PR binutils/26792
214 * configure.ac: Use GNU_MAKE_JOBSERVER.
215 * aclocal.m4: Regenerated.
216 * configure: Likewise.
217
218 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
219
220 PR ld/27171
221 * reloc.c (bfd_perform_relocation): Adjust R_AMD64_DIR64 and
222 R_AMD64_DIR32 relocations for PE/x86-64 inputs.
223
224 2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
225
226 PR ld/27173
227 * configure: Regenerated.
228
229 2021-01-11 Nick Clifton <nickc@redhat.com>
230
231 * po/fr.po: Updated French translation.
232 * po/pt.po: Updated Portuguese translation.
233 * po/sr.po: Updated Serbian translation.
234 * po/uk.po: Updated Ukranian translation.
235
236 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
237
238 * configure: Regenerated.
239
240 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
241
242 PR ld/27166
243 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle
244 -z lam-u48 and -z lam-u57.
245
246 2021-01-09 Nick Clifton <nickc@redhat.com>
247
248 * version.m4: Change to 2.36.50.
249 * configure: Regenerate.
250 * po/bfd.pot: Regenerate.
251
252 2021-01-09 Nick Clifton <nickc@redhat.com>
253
254 * 2.36 release branch crated.
255
256 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
257
258 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Also set
259 LAM_U57 when setting LAM_U48.
260
261 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
262
263 PR ld/26256
264 PR ld/27160
265 * elflink.c (elf_fixup_link_order): Verify that fixing up
266 SHF_LINK_ORDER doesn't increase the output section size.
267
268 2021-01-09 Alan Modra <amodra@gmail.com>
269
270 * configure: Regenerate.
271
272 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
273
274 * configure: Regenerate.
275
276 2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
277
278 PR 27109
279 * aix386-core.c (core_aix386_vec): Initialize
280 keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
281 * aout-target.h (MY (vec)): Likewise.
282 * binary.c (binary_vec): Likewise.
283 * cisco-core.c (core_cisco_be_vec): Likewise.
284 (core_cisco_le_vec): Likewise.
285 * coff-alpha.c (alpha_ecoff_le_vec): Likewise.
286 * coff-i386.c (TARGET_SYM): Likewise.
287 (TARGET_SYM_BIG): Likewise.
288 * coff-ia64.c (TARGET_SYM): Likewise.
289 * coff-mips.c (mips_ecoff_le_vec): Likewise.
290 (mips_ecoff_be_vec): Likewise.
291 (mips_ecoff_bele_vec): Likewise.
292 * coff-rs6000.c (rs6000_xcoff_vec): Likewise.
293 (powerpc_xcoff_vec): Likewise.
294 * coff-sh.c (sh_coff_small_vec): Likewise.
295 (sh_coff_small_le_vec): Likewise.
296 * coff-tic30.c (tic30_coff_vec): Likewise.
297 * coff-tic54x.c (tic54x_coff0_vec): Likewise.
298 (tic54x_coff0_beh_vec): Likewise.
299 (tic54x_coff1_vec): Likewise.
300 (tic54x_coff1_beh_vec): Likewise.
301 (tic54x_coff2_vec): Likewise.
302 (tic54x_coff2_beh_vec): Likewise.
303 * coff-x86_64.c (TARGET_SYM): Likewise.
304 (TARGET_SYM_BIG): Likewise.
305 * coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
306 (rs6000_xcoff64_aix_vec): Likewise.
307 * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
308 (CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
309 (CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
310 * elfxx-target.h (TARGET_BIG_SYM): Likewise.
311 (TARGET_LITTLE_SYM): Likewise.
312 * hppabsd-core.c (core_hppabsd_vec): Likewise.
313 * hpux-core.c (core_hpux_vec): Likewise.
314 * i386msdos.c (i386_msdos_vec): Likewise.
315 * ihex.c (ihex_vec): Likewise.
316 * irix-core.c (core_irix_vec): Likewise.
317 * mach-o-target.c (TARGET_NAME): Likewise.
318 * mmo.c (mmix_mmo_vec): Likewise.
319 * netbsd-core.c (core_netbsd_vec): Likewise.
320 * osf-core.c (core_osf_vec): Likewise.
321 * pdp11.c (MY (vec)): Likewise.
322 * pef.c (pef_vec): Likewise.
323 (pef_xlib_vec): Likewise.
324 * plugin.c (plugin_vec): Likewise.
325 * ppcboot.c (powerpc_boot_vec): Likewise.
326 * ptrace-core.c (core_ptrace_vec): Likewise.
327 * sco5-core.c (core_sco5_vec): Likewise.
328 * som.c (hppa_som_vec): Likewise.
329 * srec.c (srec_vec): Likewise.
330 (symbolsrec_vec): Likewise.
331 * tekhex.c (tekhex_vec): Likewise.
332 * trad-core.c (core_trad_vec): Likewise.
333 * verilog.c (verilog_vec): Likewise.
334 * vms-alpha.c (alpha_vms_vec): Likewise.
335 * vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
336 * wasm-module.c (wasm_vec): Likewise.
337 * xsym.c (sym_vec): Likewise.
338 * elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
339 isn't set.
340 (elf_map_symbols): Don't include ignored section symbols.
341 * elfcode.h (elf_slurp_symbol_table): Also set
342 BSF_SECTION_SYM_USED on STT_SECTION symbols.
343 * elflink.c (bfd_elf_final_link): Generated section symbols only
344 when emitting relocations or reqired.
345 * elfxx-x86.h (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
346 * syms.c (BSF_SECTION_SYM_USED): New.
347 * targets.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
348 (bfd_target): Add keep_unused_section_symbols.
349 (bfd_keep_unused_section_symbols): New.
350 * bfd-in2.h: Regenerated.
351
352 2021-01-07 Nick Clifton <nickc@redhat.com>
353
354 PR 25713
355 * bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
356 absolute paths and check to see if they are longer than MAX_PATH.
357
358 2021-01-07 Philipp Tomsich <prt@gnu.org>
359
360 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zihintpause.
361
362 2021-01-07 Claire Xenia Wolf <claire@symbioticeda.com>
363 Jim Wilson <jimw@sifive.com>
364 Andrew Waterman <andrew@sifive.com>
365 Maxim Blinov <maxim.blinov@embecosm.com>
366 Kito Cheng <kito.cheng@sifive.com>
367 Nelson Chu <nelson.chu@sifive.com>
368
369 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zba, zbb and zbc.
370
371 2021-01-06 H.J. Lu <hongjiu.lu@intel.com>
372
373 * elf32-bfin.c (bfin_check_relocs): Check bfd_link_hash_indirect.
374 (bfinfdpic_check_relocs): Likewise.
375
376 2021-01-06 Alan Modra <amodra@gmail.com>
377
378 * elf32-score.c (s3_bfd_score_info_to_howto): Report an error
379 on unknown r_type.
380 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
381
382 2021-01-06 Alan Modra <amodra@gmail.com>
383
384 * config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
385 (sparc64-*-solaris2*): Add sparc_elf64_vec and
386 sparc_elf32_vec.
387
388 2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
389
390 * config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
391 riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
392 * configure.ac: Handle riscv_elf[32|64]_be_vec.
393 * configure: Regenerate.
394 * elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
395 riscv_is_insn_reloc.
396 (riscv_get_insn): RISC-V instructions are always little endian, but
397 bfd_get may be used for big-endian, so add new riscv_get_insn to handle
398 the insturctions.
399 (riscv_put_insn): Likewsie.
400 (riscv_is_insn_reloc): Check if we are relocaing an instruction.
401 (perform_relocation): Call riscv_is_insn_reloc to decide if we should
402 use riscv_[get|put]_insn or bfd_[get|put].
403 (riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
404 or bfd_[get|put]l16 for code.
405 (riscv_elf_relocate_section): Likewise.
406 (riscv_elf_finish_dynamic_symbol): Likewise.
407 (riscv_elf_finish_dynamic_sections): Likewise.
408 (_bfd_riscv_relax_call): Likewise.
409 (_bfd_riscv_relax_lui): Likewise.
410 (_bfd_riscv_relax_align): Likewise.
411 (_bfd_riscv_relax_pc): Likewise.
412 (riscv_elf_object_p): Handled for big endian.
413 (TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
414 * targets.c: Add riscv_elf[32|64]_be_vec.
415 (_bfd_target_vector): Likewise.
416
417 2021-01-05 Alan Modra <amodra@gmail.com>
418
419 * elflink.c (bfd_elf_link_record_dynamic_symbol): Handle no_export
420 for relocatable executable.
421
422 2021-01-05 Alan Modra <amodra@gmail.com>
423
424 * vms-alpha.c (_bfd_vms_slurp_egsd): Read flags after size check.
425
426 2021-01-05 Nelson Chu <nelson.chu@sifive.com>
427
428 * elfnn-riscv.c (allocate_dynrelocs): When we are generating pde,
429 make sure gp symbol is output as a dynamic symbol.
430
431 2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
432
433 PR ld/26256
434 * elflink.c (compare_link_order): Place unordered sections before
435 ordered sections.
436 (elf_fixup_link_order): Add a link info argument. Allow mixed
437 ordered and unordered input sections for non-relocatable link.
438 Sort the consecutive bfd_indirect_link_order sections with the
439 same pattern. Change the offsets of the bfd_indirect_link_order
440 sections only.
441 (bfd_elf_final_link): Pass info to elf_fixup_link_order.
442 * section.c (bfd_section): Add pattern.
443 (BFD_FAKE_SECTION): Initialize pattern to NULL.
444 * bfd-in2.h: Regenerated.
445
446 2021-01-04 Alexander Fedotov <alfedotov@gmail.com>
447
448 * elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
449 of private flags with 0x.
450 * elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
451
452 2021-01-04 Alan Modra <amodra@gmail.com>
453
454 PR 26822
455 * elflink.c (elf_link_input_bfd): Use the file base name in
456 linker generated STT_FILE symbols.
457
458 2021-01-04 Nelson Chu <nelson.chu@sifive.com>
459
460 * elfxx-riscv.c (riscv_compare_subsets): Removed static.
461 * elfxx-riscv.h: Add declaration.
462 * elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
463 riscv_compare_subsets to check the orders.
464 (riscv_skip_prefix): Removed.
465 (riscv_prefix_cmp): Removed.
466
467 2021-01-04 Alan Modra <amodra@gmail.com>
468
469 PR 26741
470 * elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
471 calculating subset version length.
472
473 2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
474
475 * xcofflink.c: Correct spelling in comments.
476
477 2021-01-01 Alan Modra <amodra@gmail.com>
478
479 Update year range in copyright notice of all files.
480
481 For older changes see ChangeLog-2020
482 \f
483 Copyright (C) 2021 Free Software Foundation, Inc.
484
485 Copying and distribution of this file, with or without modification,
486 are permitted in any medium without royalty provided the copyright
487 notice and this notice are preserved.
488
489 Local Variables:
490 mode: change-log
491 left-margin: 8
492 fill-column: 74
493 version-control: never
494 End:
This page took 0.049006 seconds and 5 git commands to generate.