1 2020-02-19 Alan Modra <amodra@gmail.com>
3 * elf.c (bfd_section_from_shdr): Use bfd_zalloc rather than
5 (assign_section_numbers): Likewise.
6 (elf_map_symbols): Likewise, and bfd_alloc rather than bfd_alloc2.
7 (_bfd_elf_map_sections_to_segments): Use bfd_malloc rather than
8 bfd_malloc2, size_t amt, and unsigned tls_count.
9 (rewrite_elf_program_header): Use bfd_malloc and size_t amt.
10 * elflink.c (elf_create_symbuf): Use bfd_malloc.
11 (elf_output_implib): Use bfd_alloc.
13 2020-02-19 Alan Modra <amodra@gmail.com>
15 * bfd.c (struct bfd): Move format and direction to other
16 bitfields. Add "size".
17 * bfdio.c (bfd_get_size): Cache size when not writing file.
18 * opncls.c (bfd_get_debug_link_info_1): Allow for bfd_get_size
19 returning zero, ie. unknown.
20 (bfd_get_alt_debug_link_info): Likewise.
21 * bfd-in2.h: Regenerate.
23 2020-02-19 Alan Modra <amodra@gmail.com>
25 * coffgen.c (_bfd_coff_get_external_symbols): Don't call
26 bfd_get_file_size twice.
27 (_bfd_coff_read_string_table): Allow for bfd_get_file_size
28 zero, ie. unknown, return.
29 * elf-attrs.c (_bfd_elf_parse_attributes): Likewise.
30 * elfcode.h (elf_swap_shdr_in): Likewise.
31 (elf_object_p): Don't call bfd_get_file_size twice and correct
34 2020-02-19 Alan Modra <amodra@gmail.com>
36 * mach-o.c (bfd_mach_o_flatten_sections): Return a bfd_boolean,
37 FALSE if memory alloc fails. Adjust calls.
38 * som.c (som_prep_for_fixups): Likewise.
39 * vms-alpha.c (alpha_vms_add_fixup_lp, alpha_vms_add_fixup_ca),
40 (alpha_vms_add_fixup_qr, alpha_vms_add_fixup_lr),
41 (alpha_vms_add_lw_reloc, alpha_vms_add_qw_reloc): Likewise.
42 * som.c (som_build_and_write_symbol_table): Return via error_return
44 * vms-alpha.c (VEC_APPEND): Adjust for vector_grow1 changes.
45 (VEC_APPEND_EL): Delete.
46 (vector_grow1): Return pointer to element. Catch overflow.
47 Return NULL on memory allocation failure.
48 (alpha_vms_add_fixup_lp): Replace VEC_APPEND_EL with VEC_APPEND.
49 (alpha_vms_add_fixup_ca): Likewise.
50 (alpha_vms_link_add_object_symbols): Check VEC_APPEND result
52 * elf.c (bfd_section_from_shdr): Check bfd_zalloc2 result.
54 2020-02-19 Alan Modra <amodra@gmail.com>
56 * aix386-core.c (aix386_core_file_p): Use size_t for "amt".
57 * aout-target.h (object_p): Likewise.
58 * aout-tic30.c (tic30_aout_object_p): Likewise.
59 * aoutx.h (some_aout_object_p, mkobject, make_empty_symbol),
60 (emit_stringtab, write_syms, link_hash_table_create),
61 (aout_link_write_other_symbol): Likewise.
62 * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p),
63 (bfd_ar_hdr_from_filesystem, _bfd_write_archive_contents),
64 (_bfd_compute_and_write_armap): Likewise.
65 * archures.c (bfd_arch_list): Likewise.
66 * bfd.c (bfd_record_phdr): Likewise.
67 * binary.c (binary_canonicalize_symtab): Likewise.
68 * cisco-core.c (cisco_core_file_validate): Likewise.
69 * coff-arm.c (coff_arm_link_hash_table_create, find_thumb_glue),
70 (find_arm_glue, record_arm_to_thumb_glue),
71 (record_thumb_to_arm_glue): Likewise.
72 * coff-ppc.c (ppc_coff_link_hash_table_create, record_toc),
73 (ppc_allocate_toc_section): Likewise.
74 * coff-rs6000.c (_bfd_xcoff_mkobject, _bfd_xcoff_archive_p): Likewise.
75 * coff-sh.c (sh_relax_section): Likewise.
76 * coff64-rs6000.c (xcoff64_archive_p): Likewise.
77 * coffcode.h (handle_COMDAT, coff_new_section_hook),
78 (coff_set_alignment_hook, coff_mkobject),
79 (coff_compute_section_file_positions): Likewise.
80 * coffgen.c (coff_make_empty_symbol, coff_bfd_make_debug_symbol),
81 (coff_find_nearest_line_with_names),
82 ( bfd_coff_set_symbol_class): Likewise.
83 * cofflink.c (_bfd_coff_link_hash_table_create),
84 (_bfd_coff_link_input_bfd): Likewise.
85 * dwarf1.c (alloc_dwarf1_unit, alloc_dwarf1_func): Likewise.
86 * dwarf2.c (read_abbrevs, read_attribute_value, add_line_info),
87 (build_line_info_table, sort_line_sequences),
88 (line_info_add_include_dir, line_info_add_file_name),
89 (decode_line_info, scan_unit_for_symbols, parse_comp_unit),
90 (place_sections, _bfd_dwarf2_slurp_debug_info): Likewise.
91 * ecoff.c (_bfd_ecoff_mkobject, _bfd_ecoff_make_empty_symbol),
92 (_bfd_ecoff_find_nearest_line),
93 (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
94 * ecofflink.c (bfd_ecoff_debug_init): Likewise.
95 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Likewise.
96 * elf-m10300.c (mn10300_elf_relax_section),
97 (elf32_mn10300_link_hash_table_create): Likewise.
98 * elf-strtab.c (_bfd_elf_strtab_init): Likewise.
99 * elf.c (make_mapping, copy_elf_program_header): Likewise.
100 * elf32-arm.c (elf32_arm_link_hash_table_create),
101 (elf32_arm_setup_section_lists, elf32_arm_check_relocs),
102 (elf32_arm_new_section_hook): Likewise.
103 * elf32-avr.c (elf_avr_new_section_hook),
104 (elf32_avr_link_hash_table_create, get_local_syms),
105 (elf32_avr_setup_section_lists): Likewise.
106 * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create),
107 (bfin_link_hash_table_create): Likewise.
108 * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
109 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
110 * elf32-csky.c (csky_elf_link_hash_table_create),
111 (csky_elf_check_relocs, elf32_csky_setup_section_lists): Likewise.
112 * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
113 * elf32-hppa.c (elf32_hppa_link_hash_table_create),
114 (elf32_hppa_setup_section_lists, get_local_syms): Likewise.
115 * elf32-i386.c (elf_i386_check_relocs): Likewise.
116 * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
117 * elf32-m32r.c (m32r_elf_link_hash_table_create),
118 (m32r_elf_check_relocs): Likewise.
119 * elf32-m68hc1x.c (m68hc11_elf_hash_table_create),
120 (elf32_m68hc11_setup_section_lists),
121 (elf32_m68hc11_size_stubs): Likewise.
122 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
123 * elf32-metag.c (elf_metag_link_hash_table_create),
124 (elf_metag_setup_section_lists): Likewise.
125 * elf32-microblaze.c (microblaze_elf_link_hash_table_create),
126 (microblaze_elf_check_relocs): Likewise.
127 * elf32-nds32.c (nds32_elf_link_hash_table_create),
128 (nds32_elf_check_relocs): Likewise.
129 * elf32-nios2.c (nios2_elf32_setup_section_lists),
130 (get_local_syms, nios2_elf32_check_relocs),
131 (nios2_elf32_link_hash_table_create): Likewise.
132 * elf32-or1k.c (or1k_elf_link_hash_table_create),
133 (or1k_elf_check_relocs): Likewise.
134 * elf32-ppc.c (ppc_elf_modify_segment_map, update_plt_info): Likewise.
135 * elf32-pru.c (pru_elf32_link_hash_table_create): Likewise.
136 * elf32-s390.c (elf_s390_link_hash_table_create),
137 (elf_s390_check_relocs): Likewise.
138 * elf32-score.c (score_elf_create_got_section),
139 (s3_elf32_score_new_section_hook),
140 (elf32_score_link_hash_table_create): Likewise.
141 * elf32-score7.c (score_elf_create_got_section),
142 (s7_elf32_score_new_section_hook): Likewise.
143 * elf32-sh.c (sh_elf_link_hash_table_create),
144 (sh_elf_check_relocs): Likewise.
145 * elf32-tic6x.c (elf32_tic6x_link_hash_table_create),
146 (elf32_tic6x_new_section_hook, elf32_tic6x_check_relocs): Likewise.
147 * elf32-tilepro.c (tilepro_elf_link_hash_table_create),
148 (tilepro_elf_check_relocs): Likewise.
149 * elf32-v850.c (remember_hi16s_reloc): Likewise.
150 * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
151 * elf32-xtensa.c (elf_xtensa_link_hash_table_create),
152 (elf_xtensa_new_section_hook): Likewise.
153 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create),
154 (get_got_entry, elf64_alpha_check_relocs): Likewise.
155 * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
156 * elf64-ia64-vms.c (elf64_ia64_object_p): Likewise.
157 * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
158 * elf64-ppc.c (ppc64_elf_new_section_hook),
159 (ppc64_elf_link_hash_table_create, update_local_sym_info),
160 (update_plt_info, ppc64_elf_check_relocs): Likewise.
161 * elf64-s390.c (elf_s390_link_hash_table_create),
162 (elf_s390_check_relocs): Likewise.
163 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
164 * elflink.c (bfd_elf_link_record_local_dynamic_symbol),
165 (_bfd_elf_link_find_version_dependencies, elf_link_add_object_symbols),
166 (elf_link_add_archive_symbols, compute_bucket_count),
167 (bfd_elf_size_dynsym_hash_dynstr, _bfd_elf_link_hash_table_create),
168 (bfd_elf_get_bfd_needed_list, elf_link_swap_symbols_out),
169 (bfd_elf_final_link): Likewise.
170 * elfnn-aarch64.c (elfNN_aarch64_link_hash_table_create),
171 (elfNN_aarch64_setup_section_lists, elfNN_aarch64_check_relocs),
172 (elfNN_aarch64_new_section_hook): Likewise.
173 * elfnn-ia64.c (elfNN_ia64_object_p): Likewise.
174 * elfnn-riscv.c (riscv_elf_link_hash_table_create),
175 (riscv_elf_check_relocs): Likewise.
176 * elfxx-mips.c (_bfd_mips_elf_new_section_hook),
177 (_bfd_mips_elf_add_symbol_hook, _bfd_mips_elf_check_relocs),
178 (_bfd_mips_elf_modify_segment_map, _bfd_mips_elf_set_section_contents),
179 (_bfd_mips_elf_link_hash_table_create): Likewise.
180 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create),
181 (_bfd_sparc_elf_check_relocs),
182 (_bfd_sparc_elf_new_section_hook): Likewise.
183 * elfxx-tilegx.c (tilegx_elf_link_hash_table_create),
184 (tilegx_elf_check_relocs): Likewise.
185 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
186 * format.c (bfd_check_format_matches): Likewise.
187 * hash.c (_bfd_stringtab_init): Likewise.
188 * ihex.c (ihex_scan): Likewise.
189 * irix-core.c (irix_core_core_file_p): Likewise.
190 * linker.c (bfd_wrapped_link_hash_lookup),
191 (_bfd_generic_link_hash_table_create),
192 (_bfd_generic_reloc_link_order): Likewise.
193 * lynx-core.c (lynx_core_file_p): Likewise.
194 * netbsd-core.c (netbsd_core_file_p): Likewise.
195 * osf-core.c (osf_core_core_file_p): Likewise.
196 * pdp11.c (some_aout_object_p, mkobject, make_empty_symbol),
197 (link_hash_table_create, aout_link_write_other_symbol): Likewise.
198 * peXXigen.c (_bfd_XX_bfd_copy_private_section_data): Likewise.
199 * peicode.h (pe_mkobject): Likewise.
200 * ppcboot.c (ppcboot_mkobject, ppcboot_canonicalize_symtab): Likewise.
201 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
202 * sco5-core.c (read_uarea): Likewise.
203 * som.c (hppa_som_gen_reloc_type, som_object_p, som_prep_headers),
204 (som_write_fixups, som_write_space_strings, som_write_symbol_strings),
205 (som_finish_writing, som_canonicalize_symtab, som_new_section_hook),
206 (som_bfd_copy_private_section_data, bfd_som_set_section_attributes),
207 (bfd_som_attach_aux_hdr, som_write_armap): Likewise.
208 * srec.c (srec_scan): Likewise.
209 * syms.c (_bfd_generic_make_empty_symbol): Likewise.
210 * targets.c (bfd_target_list): Likewise.
211 * tekhex.c (first_phase, tekhex_sizeof_headers): Likewise.
212 * trad-core.c (trad_unix_core_file_p): Likewise.
213 * vms-alpha.c (vms_initialize, alpha_vms_bfd_link_hash_table_create),
214 (vms_new_section_hook): Likewise.
215 * wasm-module.c (wasm_make_empty_symbol): Likewise.
216 * xcofflink.c (xcoff_get_section_contents),
217 (_bfd_xcoff_bfd_link_hash_table_create, xcoff_set_import_path),
218 (xcoff_find_function, bfd_xcoff_link_record_set, xcoff_build_ldsym),
219 (bfd_xcoff_size_dynamic_sections, xcoff_link_input_bfd): Likewise.
221 2020-02-19 Alan Modra <amodra@gmail.com>
223 * elfxx-riscv.c (riscv_multi_letter_ext_valid_p): Don't use C99.
225 2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
227 * plugin.c (try_load_plugin): Make plugin_list_iter an argument
228 and use it if it isn't NULL. Remove has_plugin_p argument. Add
229 a build_list_p argument. Don't search plugin_list. Short circuit
230 when building the plugin list.
231 (has_plugin): Renamed to has_plugin_list.
232 (bfd_plugin_set_plugin): Don't set has_plugin.
233 (bfd_plugin_specified_p): Check plugin_list instead.
234 (build_plugin_list): New function.
235 (load_plugin): Call build_plugin_list and use plugin_list.
237 2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
240 * plugin.c (try_claim): Always clean up for LTO wrapper.
241 (try_load_plugin): Treat each object as independent. Create a
242 copy for plugin name.
244 2020-02-11 Nick Clifton <nickc@redhat.com>
246 * elf32-msp430.c (msp430_final_link_relocate): Always use longs
247 for addresses in print statements.
248 (msp430_elf_relax_delete_bytes): Likewise.
249 (msp430_elf_relax_add_words): Likewise.
250 (msp430_elf_relax_section): Likewise.
252 2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
254 * plugin.c (add_symbols): Clear plugin_data memory.
256 2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
259 * configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
260 (EXECUTABLE_SUFFIX): Likewise.
261 * config.in: Regenerated.
262 * configure: Likewise.
263 * plugin.c (bfd_plugin_close_and_cleanup): Removed.
264 (plugin_list_entry): Add all_symbols_read, cleanup_handler,
265 gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
266 real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
267 (get_lto_wrapper): New.
268 (setup_lto_wrapper_env): Likewise.
269 (current_plugin): Likewise.
270 (register_all_symbols_read): Likewise.
271 (register_cleanup): Likewise.
272 (get_symbols): Likewise.
273 (add_input_file): Likewise.
274 (bfd_plugin_close_and_cleanup): Likewise.
275 (claim_file): Removed.
276 (register_claim_file): Set current_plugin->claim_file.
277 (add_symbols): Make a copy of LTO symbols. Set lto_nsyms and
278 lto_syms in current_plugin.
279 (try_claim): Use current_plugin->claim_file. Call LTO plugin
280 all_symbols_read handler. Copy real symbols to plugin_data.
281 Call LTO plugin cleanup handler. Clean up for LTO wrapper.
282 (try_load_plugin): Don't reuse the previous plugin for LTO
283 wrapper. Set up GCC LTO wrapper if possible. Don't set
284 plugin_list_iter->claim_file.
285 (bfd_plugin_canonicalize_symtab): Use real LTO symbols if
287 * plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
290 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
292 * elf32-msp430.c (msp430_elf_relax_section): Before relaxing a branch,
293 check if previous instruction matches a conditional jump inserted
294 earlier. Invert conditional jump and delete branch in this case.
296 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
298 * elf32-msp430.c (msp430_elf_relax_add_two_words): Rename to
299 msp430_elf_relax_add_words. Support insertion of either one or two
301 (msp430_elf_relax_section): Catch opcode of 0x3c00 when relocation
302 needs to be grown. Handle insertion of branch instruction to replace
305 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
307 * elf32-msp430.c (msp430_final_link_relocate): Add printf statements for
308 debugging relocations.
309 (msp430_elf_relax_delete_bytes): Likewise.
310 (msp430_elf_relax_add_two_words): Likewise.
311 (msp430_elf_relax_section): Likewise.
313 2020-02-10 Alan Modra <amodra@gmail.com>
315 * archures.c: Wrap overlong z80 comments.
316 * bfd-in2.h: Regenerate.
318 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
321 * archures.c: Add GBZ80 and Z80N machine values.
322 * reloc.c: Add BFD_RELOC_Z80_16_BE.
323 * coff-z80.c: Add support for new reloc.
324 * coffcode.h: Add support for new machine values.
325 * cpu-z80.c: Add support for new machine names.
326 * elf32-z80.c: Add support for new reloc.
327 * bfd-in2.h: Regenerate.
328 * libbfd.h: Regenerate.
330 2020-02-07 Nick Clifton <nickc@redhat.com>
333 * elf.c (rewrite_elf_program_header): Do not complain if no
334 sections are mapped to a segment.
336 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
339 * elflink.c (_bfd_elf_gc_mark_extra_sections): Issue an error
340 for garbage collection on __patchable_function_entries section
341 without linked-to section.
343 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
346 * bfd-in2.h: Regenerated.
347 * elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
348 on section if gc_mark of any of its linked-to sections is set
349 and don't set gc_mark again.
350 * section.c (asection): Add linked_to_symbol_name to map_head
353 2020-02-06 Maciej W. Rozycki <macro@wdc.com>
355 * elf32-v850.c (v850_elf_relax_section): Fix the index used for
356 reporting an unrecognized instruction with R_V850_LONGJUMP.
358 2020-02-05 Alan Modra <amodra@gmail.com>
360 * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
362 2020-02-04 Alan Modra <amodra@gmail.com>
364 * elf32-ppc.c (ppc_elf_relocate_section): After applying
365 R_PPC_VLE_ADDR20, goto copy_reloc.
367 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
369 * bfd-in2.h: Regenerated.
370 * section.c (SEC_ASSEMBLER_SECTION_ID): Fix a typo in comments.
372 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
375 * bfd-in2.h: Regenerated.
376 * ecoff.c (bfd_debug_section): Add section_id.
377 * section.c (bfd_section): Add section_id.
378 (SEC_ASSEMBLER_SECTION_ID): New.
379 (BFD_FAKE_SECTION): Add section_id.
381 2020-02-01 Nick Clifton <nickc@redhat.com>
383 * config.bfd: Move the c30-aout and tic30-aout targets onto the
386 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
388 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): DW_EH_PE_datarel
389 encodings are relative to the GOT on nios2, too.
391 2020-01-31 Alan Modra <amodra@gmail.com>
393 * Makefile.am (elf32-target.h, elf64-target.h): Don't use a temp
394 file. Use $< and $@ in rules.
395 (elf32-aarch64.c, elf64-aarch64.c): Likewise.
396 (elf32-ia64.c, elf64-ia64.c): Likewise.
397 (elf32-riscv.c, elf64-riscv.c): Likewise.
398 (peigen.c, pepigen.c, pex64igen.c): Likewise.
399 (elf32-aarch64.c, elf64-aarch64.c): Don't emit $srcdir on #line.
400 (elf32-riscv.c, elf64-riscv.c): Likewise, and use $(SED).
401 (elf32-ia64.c, elf64-ia64.c): Do emit #line.
402 (peigen.c, pepigen.c, pex64igen.c): Likewise.
403 * Makefile.in: Regenerate.
405 2020-01-31 Alan Modra <amodra@gmail.com>
408 * elf.c (setup_group): Don't clear entire section contents,
409 just the padding after group flags. Release alloc'd memory
410 after a seek or read failure.
412 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
414 * peXXigen.c (pe_is_repro): New function.
415 (_bfd_XX_print_private_bfd_data_common): Note timestamp is
416 actually a build hash if PE_IMAGE_DEBUG_TYPE_REPRO is present.
418 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
420 * peXXigen.c (debug_type_names): Add names for new debug data type
423 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
425 * peXXigen.c (pe_print_debugdata): Fix the iteration variable for
426 inner loop. Fix a memory leak.
428 2020-01-30 Alan Modra <amodra@gmail.com>
430 * coffgen.c (coff_real_object_p): Don't clear obj_coff_keep_syms
431 or obj_coff_keep_strings here.
432 (coff_get_normalized_symtab): Free external syms directly.
433 * xcofflink.c (xcoff_link_input_bfd): Restore obj_coff_keep_syms
436 2020-01-27 Jim Wilson <jimw@sifive.com>
438 * cpu-riscv.c (riscv_scan): New.
439 (N): Change bfd_default_scan to riscv_scan.
441 2020-01-27 Andreas Schwab <schwab@suse.de>
443 * Makefile.am (ALL_MACHINES): Remove cpu-plugin.lo.
444 (ALL_MACHINES_CFILES): Remove cpu-plugin.c.
445 * Makefile.in: Regenerate.
446 * cpu-plugin.c: Remove.
447 * archures.c (enum bfd_architecture): Remove bfd_arch_plugin.
448 (bfd_plugin_arch): Remove declaration.
449 * bfd-in2.h: Regenerate.
450 * po/SRC-POTFILES.in: Regenerate.
452 2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
453 Alan Modra <amodra@gmail.com>
456 * elflink.c (_bfd_elf_gc_mark_rsec): Mark all weak aliases.
458 2020-01-24 Jim Wilson <jimw@sifive.com>
460 * elfxx-riscv.c (riscv_get_prefix_class): Format s case like others.
461 (riscv_parse_prefixed_ext): Fix s extension comment and reword to
462 avoid over long line.
464 2020-01-24 Nick Clifton <nickc@redhat.com>
467 * coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
468 syms and keep strings flags as these may have been set in order to
469 prevent a bogus call to free.
471 2020-01-23 Nick Clifton <nickc@redhat.com>
473 * po/fr.po: Updated French translation.
475 2020-01-23 Alan Modra <amodra@gmail.com>
478 * elf.c (assign_file_positions_for_load_sections): Avoid divide
479 by zero when p_align is zero.
481 2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
483 * bfd/elfnn-riscv.c (riscv_skip_prefix): New.
484 (riscv_prefix_cmp): Likewise.
485 (riscv_non_std_ext_p): Deleted.
486 (riscv_std_sv_ext_p): Likewise.
487 (riscv_non_std_sv_ext_p): Likewise.
488 (riscv_merge_non_std_and_sv_ext): Rename to...
489 (riscv_merge_multi_letter_ext): and modified to use riscv_prefix_cmp.
490 (riscv_merge_arch_attr_info): Replace 3 calls to
491 riscv_merge_non_std_and_sv_ext with single call to
492 riscv_merge_multi_letter_ext.
493 * bfd/elfxx-riscv.c (riscv_parse_std_ext): Break if we
494 encounter a 'z' prefix.
495 (riscv_get_prefix_class): New function, return prefix class based
496 on first few characters of input string.
497 (riscv_parse_config): New structure to factor out minor differences
498 in extension class parsing behaviour.
499 (riscv_parse_sv_or_non_std_ext): Rename to...
500 (riscv_parse_prefixed_ext): and parameterise with
502 (riscv_std_z_ext_strtab, riscv_std_s_ext_strtab): New.
503 (riscv_multi_letter_ext_valid_p): New.
504 (riscv_ext_x_valid_p, riscv_ext_z_valid_p, riscv_ext_s_valid_p): New.
505 (riscv_parse_subset): Delegate all non-single-letter parsing work
506 to riscv_parse_prefixed_ext.
507 * bfd/elfxx-riscv.h (riscv_isa_ext_class): New type.
508 (riscv_get_prefix_class): Declare.
510 2020-01-22 Alan Modra <amodra@gmail.com>
512 * elf64-ppc.c (struct ppc_link_hash_table): Add tga_group.
513 (ppc64_elf_archive_symbol_lookup): Extract __tls_get_addr_opt for
515 (ppc64_elf_size_stubs): Add section for linker generated
516 __tls_get_addr_desc wrapper function. Loop at least once if
517 generating this function.
518 (emit_tga_desc, emit_tga_desc_eh_frame): New functions.
519 (ppc64_elf_build_stubs): Generate __tls_get_addr_desc.
521 2020-01-22 Alan Modra <amodra@gmail.com>
523 * elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
524 * elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
526 (is_tls_get_addr): Match tga_desc and tga_desc_df too.
527 (STDU_R1_0R1, ADDI_R1_R1): Define.
528 (tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
529 (ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd. Indirect
530 tga_desc_fd to opt_fd, and tga_desc to opt. Set
531 no_tls_get_addr_regsave.
532 (branch_reloc_hash_match): Add hash3 and hash4.
533 (ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
534 (ppc64_elf_size_dynamic_sections): Likewise.
535 (ppc64_elf_relocate_section): Likewise.
536 (plt_stub_size, build_plt_stub): Likewise. Size regsave
538 (build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
540 (ppc_size_one_stub): Handle tga_desc_fd and tga_desc too. Size
541 eh_frame for regsave __tls_get_addr.
543 2020-01-22 Alan Modra <amodra@gmail.com>
545 * elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
546 which __tls_get_addr calls will be eliminated.
548 2020-01-20 Nick Clifton <nickc@redhat.com>
550 * po/pt.po: Updates Portuguese translation.
551 * po/ru.po: Updated Russian translation.
552 * po/uk.po: Updated Ukranian translation.
554 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
557 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
558 "rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
560 (elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
561 transition, relax "rex leal x@tlsdesc(%rip), %reg" to
562 "rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
563 "rex leal x@tlsdesc(%rip), %reg" to
564 "rex movl x@gottpoff(%rip), %eax". For both transitions, relax
565 "call *(%eax)" to "nopl (%rax)".
567 2020-01-20 Alan Modra <amodra@gmail.com>
569 * elf64-ppc.c (LD_R11_0R3, CMPDI_R11_0, STD_R11_0R1, LD_R11_0R1),
570 (MTLR_R11): Don't define.
571 (LD_R0_0R3, CMPDI_R0_0): Define.
572 (build_tls_get_addr_stub): Don't use r11 in stub.
574 2020-01-20 Alan Modra <amodra@gmail.com>
576 * elf64-ppc.c (ppc_elf_hash_entry): New function, use throughout file.
577 (defined_sym_val, is_tls_get_addr): Likewise.
579 2020-01-18 Nick Clifton <nickc@redhat.com>
581 * version.m4 (BFD_VERSION): Set to 2.34.50.
582 * configure: Regenerate.
583 * po/bfd.pot: Regenerate.
585 2020-01-18 Nick Clifton <nickc@redhat.com>
587 Binutils 2.34 branch created.
589 2020-01-17 Christian Biesinger <cbiesinger@google.com>
591 * coff-arm.c: Fix spelling error (seperate).
592 * elfxx-riscv.c (riscv_parse_sv_or_non_std_ext): Fix spelling
594 * sysdep.h (strnlen): Fix spelling error (seperate).
596 2020-01-15 Lars Brinkhoff <lars@nocrew.org>
599 * pdp11.c (TARGET_PAGE_SIZE): Set to 8192.
601 2020-01-15 Alan Modra <amodra@gmail.com>
604 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
605 (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
606 of function symbols unless dot symbols are present. Do warn
607 whenever one is created, regardles of whether a PLT entry is
608 also emitted for the function symbol.
610 2020-01-14 Alan Modra <amodra@gmail.com>
612 * som.c (som_bfd_count_ar_symbols): Error when file position
613 of symbols on chains is not strictly increasing.
615 2020-01-14 Alan Modra <amodra@gmail.com>
617 * vms.h (VMS_DEBUG): Define as 0.
618 * vms-alpha.c (image_write): Move debug output after bounds check.
620 (_bfd_vms_slurp_eihd): Warning fix.
621 (_bfd_vms_slurp_etir): Init variables to avoid bogus warnings.
623 2020-01-13 Alan Modra <amodra@gmail.com>
625 * vms-alpha.c (_bfd_vms_slurp_egsd): Ensure minimum size even
626 for "ignored" records.
628 2020-01-13 Alan Modra <amodra@gmail.com>
630 * wasm-module.c (wasm_scan_name_function_section): Formatting.
631 Delete asect name check. Move asect NULL check to wasm_object_p.
632 Correct bounds check of sizes against end. Replace uses of
633 bfd_zalloc with bfd_alloc, zeroing only necessary bytes. Use
634 just one bfd_release.
635 (wasm_scan): Don't use malloc/strdup for section names,
636 bfd_alloc instead. Simplify code prefixing section name.
637 Formatting. Don't attempt to free memory here..
638 (wasm_object_p): ..do so here.
640 2020-01-10 Szabolcs Nagy <szabolcs.nagy@arm.com>
643 * elf32-arm.c (elf32_arm_final_link_relocate): Use
644 UNDEFWEAK_NO_DYNAMIC_RELOC.
645 (allocate_dynrelocs_for_symbol): Likewise.
647 2020-01-10 Tamar Christina <tamar.christina@arm.com>
650 * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
652 2020-01-10 Alan Modra <amodra@gmail.com>
654 * coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.
656 2020-01-09 Nick Clifton <nickc@redhat.com>
659 * bfd.c (bfd_convert_section_contents): Check for a compress
660 header size that is larger than the actual section size.
662 2020-01-08 Alan Modra <amodra@gmail.com>
665 * elflink.c (bfd_elf_final_link): Call _bfd_fix_excluded_sec_syms
666 after removing sections.
668 2020-01-06 Jim Wilson <jimw@sifive.com>
671 * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Add
672 check for !bfd_link_pic (info).
673 <R_RISCV_CALL_PLT>: Move next to R_RISCV_CALL.
674 <R_RISCV_JAL>: Add comment.
675 (_bfd_riscv_relax_section): For plt.offset check, add check for
676 bfd_link_pic (info). Add comment.
678 2020-01-06 Alan Modra <amodra@gmail.com>
680 * format.c (bfd_check_format_matches): Ignore bfd_error on target
681 match failures. Don't init to bfd_error_wrong_format before
682 calling _bfd_check_format.
684 2020-01-06 Alan Modra <amodra@gmail.com>
686 * vms-alpha.c (_bfd_vms_push, _bfd_vms_pop): Return pass/fail
687 status rather than exiting on stack overflow or underflow.
688 (_bfd_vms_slurp_etir): Adjust to suit.
690 2020-01-06 Alan Modra <amodra@gmail.com>
692 * som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.
694 2020-01-06 Alan Modra <amodra@gmail.com>
696 * mach-o.c (bfd_mach_o_read_dylinker): Don't read past end of
697 command. Check name offset is within command.
698 (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib),
699 (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints),
700 (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab),
701 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid),
702 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str),
703 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min),
704 (bfd_mach_o_read_encryption_info, bfd_mach_o_read_source_version),
705 (bfd_mach_o_read_encryption_info_64, bfd_mach_o_read_main),
706 (bfd_mach_o_read_note, bfd_mach_o_read_build_version),
707 (bfd_mach_o_read_segment): Similarly.
708 (bfd_mach_o_read_thread): Properly bound check thread struct.
709 Don't repeat checks on second loop.
710 (bfd_mach_o_read_command): Fail on invalid command length.
712 2020-01-04 Alan Modra <amodra@gmail.com>
714 * format.c (bfd_check_format_matches): Add preserve_match.
715 Save initial bfd state in "preserve", matched bfd state in
716 "preserve_match". Save just the first match. Release
717 bfd_alloc memory. Restore and finish preserved state as
718 appropriate on all function exit paths.
720 2020-01-04 Alan Modra <amodra@gmail.com>
722 * mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.
724 2020-01-04 Alan Modra <amodra@gmail.com>
726 * coffgen.c (coff_real_object_p): Free malloc'd memory on target
729 2020-01-03 Nick Clifton <nickc@redhat.com>
732 (bfd_pef_parse_function_stubs): Correct the test that ensures that
733 there is enough data remaining in the code buffer before
734 attempting to read a function stub.
736 2020-01-03 Nick Clifton <nickc@redhat.com>
739 * elf-properties.c (_bfd_elf_convert_gnu_properties): Check the
740 return value from bfd_malloc.
741 * elf32-arm.c (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
742 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Likewise.
743 (elf32_arm_filter_cmse_symbols): Likewise.
744 (elf32_arm_write_section): Likewise.
745 * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
746 (bfd_mach_o_follow_dsym): Likewise.
747 * pef.c (bfd_pef_print_loader_section): Likewise.
748 (bfd_pef_scan_start_address): Likewise.
749 (bfd_pef_parse_function_stubs): Likewise.
750 (bfd_pef_parse_symbols): Likewise.
752 2020-01-03 Sergei Trofimovich <siarheit@google.com>
754 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): don't fail
755 on binary inputs ld/PR25316.
756 (is_ia64_elf): new helper to filter on ia64 objects.
758 2020-01-03 Jan Beulich <jbeulich@suse.com>
760 * mach-o.c (cpusubtype, bfd_mach_o_header_p): Insert underscore
762 (bfd_mach_o_scan): Insert underscore in two variable names.
764 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
766 * Makefile.am: Add z80-elf target support.
767 * configure.ac: Likewise.
768 * targets.c: Likewise.
769 * Makefile.in: Regenerate.
770 * configure: Regenerate.
771 * config.bfd: Add z80-elf target support and new arches: ez80 and
773 * elf32-z80.c: New file.
774 * archures.c: Add new z80 architectures: eZ80 and Z180.
775 * coffcode.h: Likewise.
776 * cpu-z80.c: Likewise.
777 * coff-z80.c: Add new relocations for Z80 target and local label
779 * reloc.c: Add new relocs.
780 * bfd-in2.h: Regenerate.
781 * libbfd.h: Regenerate.
783 2020-01-02 Tamar Christina <tamar.christina@arm.com>
787 * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Set ELF class.
789 2020-01-01 Alan Modra <amodra@gmail.com>
791 Update year range in copyright notice of all files.
793 For older changes see ChangeLog-2019
795 Copyright (C) 2020 Free Software Foundation, Inc.
797 Copying and distribution of this file, with or without modification,
798 are permitted in any medium without royalty provided the copyright
799 notice and this notice are preserved.
805 version-control: never