Fix an assertion failure in the BFD library when parsing a corrupt SREC format file.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2021-04-21 Nick Clifton <nickc@redhat.com>
2
3 PR 27759
4 * srec.c (srec_read_section): Replace assertions with error
5 returns.
6
7 2021-04-20 Clément Chigot <clement.chigot@atos.net>
8
9 PR binutils/21700
10 * reloc.c (BFD_RELOC_PPC_NEG): New relocation.
11 * bfd-in2.h: Regenerate.
12 * libbfd.h: Regenerate.
13 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Add
14 BFD_RELOC_PPC_NEG handler.
15 (xcoff_reloc_type_neg): Correctly substract addend.
16 * coff64-rs6000.c (xcoff64_howto_table): Add R_NEG_32
17 howto.
18 (xcoff64_rtype2howto): Add handler for R_NEG_32.
19 (xcoff64_reloc_type_lookup): Add BFD_RELOC_PPC_NEG handler.
20 * xcofflink.c (xcoff_need_ldrel_p): Check output section
21 for R_POS-like relocations. New argument added.
22 (xcoff_mark): Adapt to new xcoff_need_ldrel_p argument.
23 (xcoff_link_input_bfd): Likewise.
24
25 2021-04-16 Alan Modra <amodra@gmail.com>
26
27 PR 27567
28 * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
29 (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
30 ignore alignment checks when return is false. Formatting.
31
32 2021-04-15 Nelson Chu <nelson.chu@sifive.com>
33
34 PR27584
35 * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to
36 omit local and empty symbols since they usually generated to
37 mark the auipc instructions.
38
39 2021-04-15 Lifang Xia<lifang_xia@c-sky.com>
40
41 * elf32-csky.c (csky_elf_howto_table)
42 <R_CKCORE_PCREL_IMM16BY2>: Set special_function to
43 bfd_elf_generic_reloc.
44 <R_CKCORE_PCREL_IMM16BY4>: Likewise.
45 <R_CKCORE_PCREL_IMM10BY4>: Likewise.
46 <R_CKCORE_PCREL_IMM18BY2>: Likewise.
47 <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
48
49 2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
50
51 PR binutils/27708
52 * elf.c (assign_file_positions_for_non_load_sections): Set
53 p_memsz to p_filesz for the loadable PT_NOTE segment.
54
55 2021-04-14 Frederic Cambus <fred@statdns.com>
56
57 * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef
58 checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
59
60 2021-04-14 Alan Modra <amodra@gmail.com>
61
62 PR 27631
63 * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
64 when hh might be NULL, test for NULL first.
65
66 2021-04-14 Alan Modra <amodra@gmail.com>
67
68 PR 27630
69 * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when
70 hash might be NULL, cast instead.
71
72 2021-04-13 Clément Chigot <clement.chigot@atos.net>
73
74 * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
75
76 2021-04-13 Nelson Chu <nelson.chu@sifive.com>
77
78 * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning
79 when the version of input or output is RISCV_UNKNOWN_VERSION, since
80 the extension is added implicitly.
81 * elfxx-riscv.c: Updated the obsolete comments.
82 (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h.
83 * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
84
85 2021-04-12 Alan Modra <amodra@gmail.com>
86
87 * elf-bfd.h (ENABLE_CHECKING): Define.
88 (elf_link_hash_lookup): Abort if wrong type of hash table.
89 * configure.ac (--enable-checking): Add support.
90 * config.in: Regenerate.
91 * configure: Regenerate.
92
93 2021-04-12 Alan Modra <amodra@gmail.com>
94
95 * elf-bfd.h (is_elf_hash_table): Convert macro to inline function.
96 (elf_link_hash_lookup, elf_link_hash_traverse): Likewise.
97 (elf_hash_table, elf_hash_table_id): Likewise.
98 * elf32-arm.c (elf32_arm_setup_section_lists): Delete redundant
99 is_elf_hash_table check.
100 * elf32-csky.c (elf32_csky_setup_section_lists): Likewise.
101 * elf32-hppa.c (clobber_millicode_symbols): Correct param types.
102 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
103 * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free: Likewise.
104 (elfNN_ia64_global_dyn_sym_thunk: Likewise.
105 * elf64-ia64-vms.c (elf64_ia64_global_dyn_info_free): Likewise.
106 (elf64_ia64_global_dyn_sym_thunk): Likewise.
107 (elf64_vms_link_add_object_symbols): Pass base type of hash table
108 to is_elf_hash_table.
109 * elflink.c (_bfd_elf_dynamic_symbol_p): Likewise.
110 (_bfd_elf_symbol_refs_local_p, _bfd_elf_add_dynamic_entry): Likewise.
111 (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise.
112 (_bfd_elf_link_check_relocs, elf_link_add_object_symbols): Likewise.
113 (bfd_elf_final_link): Likewise.
114 * elfnn-aarch64.c (elfNN_aarch64_setup_section_lists): Likewise.
115 * elf64-ppc.c (ppc64_elf_set_toc): Likewise. Use bfd_link_hash_lookup.
116
117 2021-04-12 Alan Modra <amodra@gmail.com>
118
119 * elf-bfd.h (struct elf_backend_data): Return bfd_link_hash_entry*
120 from elf_backend_archive_symbol_lookup.
121 (_bfd_elf_archive_symbol_lookup): Return bfd_link_hash_entry*.
122 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Likewise. Check
123 we have a ppc_hash_table before accessing ppc_link_hash_entry
124 fields.
125 * elflink.c (_bfd_elf_archive_symbol_lookup): Return
126 bfd_link_hash_entry*.
127 (elf_link_add_archive_symbols): Adjust to suit.
128
129 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
130
131 * elfxx-riscv.c (riscv_parse_std_ext): Fixed the wrong versions of
132 i-ext when expanding g-ext.
133
134 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
135
136 * elfxx-riscv.c (riscv_ext_dont_care_version): Removed.
137 (riscv_parse_add_subset): Always add the implicit extensions, even if
138 their versions are RISCV_UNKNOWN_VERSION.
139 (riscv_parse_std_ext): Delay to add i-ext as the implicit extension
140 in the riscv_parse_add_implicit_subsets. Besides, add g-ext as the
141 implicit extension after it has been expanded.
142 (riscv_parse_add_implicit_subsets): Updated.
143
144 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
145
146 * elfxx-riscv.c (riscv_std_z_ext_strtab): Moved forward.
147 (riscv_std_s_ext_strtab): Likewise.
148 (riscv_std_h_ext_strtab): Likewise.
149 (riscv_std_zxm_ext_strtab): Added for the zxm prefix.
150 (enum riscv_prefix_ext_class): Moved forward and renamed from
151 riscv_isa_ext_class. Reorder them according to the parsing order,
152 since the enum values are used to check the orders in the
153 riscv_compare_subsets.
154 (struct riscv_parse_prefix_config): Moved forward and renamed from
155 riscv_parse_config_t. Also removed the ext_valid_p field, the
156 related functions are replaced by riscv_valid_prefixed_ext.
157 (parse_config): Moved forward and updated. The more letters of the
158 prefix string, the more forward it must be defined. Otherwise, we
159 will get the wrong mapping when using strncmp in riscv_get_prefix_class.
160 (riscv_get_prefix_class): Moved forward. Support to parse the
161 multi-letter prefix, like zxm.
162 (riscv_known_prefixed_ext): New function, check if the prefixed
163 extension is supported according to the right riscv_std_*_ext_strtab.
164 (riscv_valid_prefixed_ext): New function, used to replace the
165 riscv_ext_*_valid_p functions.
166 (riscv_init_ext_order): Do not set the values for prefix keywords
167 since they may have multiple letters for now.
168 (riscv_compare_subsets): Set the order values of prefix keywords
169 to negative numbers according to the riscv_prefix_ext_class.
170 (riscv_parse_std_ext): Call riscv_get_prefix_class to see if we
171 have parsed the prefixed extensions.
172 (riscv_parse_prefixed_ext): Updated and removed the parameter config.
173 Report error when the prefix is unknown.
174 (riscv_parse_subset): Do not parse the prefixed extensions according
175 to the orders in the parse_config. Remove the confused message and
176 let riscv_parse_prefixed_ext to report the details.
177 * elfxx-riscv.h (enum riscv_isa_ext_class): Moved to elfxx-riscv.c.
178 (riscv_get_prefix_class): Removed to static.
179
180 2021-04-08 Mike Frysinger <vapier@gentoo.org>
181
182 * configure.ac (ACX_BUGURL): Use https://.
183 * configure.com (COPY_TEXT): Likewise.
184 * configure: Regenerate.
185
186 2021-04-05 Alan Modra <amodra@gmail.com>
187
188 * configure.ac: Don't check for long long or long double type.
189 Don't check for alloca.h, limits.h, stddef.h, stdlib.h, string.h,
190 strings.h, time.h, wchar.h, wctype.h or sys/time.h. Don't check
191 for strtoull, free, malloc, realloc, getenv, strstr, snprintf,
192 vsnprintf, strlen or setitimer. Sort AC_CHECK_DECLS.
193 (AC_ISC_POSIX): Don't invoke.
194 (AC_HEADER_TIME, AC_HEADER_DIRENT, ACX_HEADER_STRING): Likewise.
195 * sysdep.h: Remove many HAVE_*_H checks and fallback declarations.
196 Do test HAVE_SYS_TYPES_H. Don't include sys/time.h. Reorder
197 header order as per automake AC_INCLUDES_DEFAULT.
198 * bfd-in.h: Include inttypes.h unconditionally.
199 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Assume long long and
200 long double are available.
201 (bfd_scan_vma): Assume long long and strtoull are available.
202 * elflink.c: Include limits.h unconditionally.
203 * elfnn-riscv.c: Likewise.
204 * wasm-module.c: Likewise.
205 * hpux-core.c: Include dirent.h unconditionally.
206 * trad-core.c: Likewise.
207 * hosts/x86-64linux.h: Include stdlib.h unconditionally.
208 * peXXigen.c: Remove HAVE_WCHAR_H and HAVE_WCTYPE_H checks.
209 * elf32-m68hc1x.c: Don't include alloca-conf.h.
210 * elf64-hppa.c: Likewise.
211 * som.c: Likewise.
212 * wasm-module.c: Likewise.
213 * xsym.c: Likewise.
214 * bfd-in2.h: Regenerate.
215 * config.in: Regenerate.
216 * configure: Regenerate.
217
218 2021-04-01 Tamar Christina <tamar.christina@arm.com>
219
220 PR ld/26659
221 * cofflink.c (_bfd_coff_generic_relocate_section): Ignore overflow.
222
223 2021-04-01 Martin Liska <mliska@suse.cz>
224
225 * ecoff.c (strneq): Remove strneq and use startswith.
226 (_bfd_ecoff_slurp_armap): Likewise.
227
228 2021-04-01 Martin Liska <mliska@suse.cz>
229
230 * elf-bfd.h (bfd_section_is_ctf): Use startswith function.
231 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
232 (elf_get_reloc_section): Likewise.
233 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
234 * elf32-m32r.c (m32r_elf_section_flags): Likewise.
235 * elf32-microblaze.c (microblaze_elf_size_dynamic_sections): Likewise.
236 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
237 (nds32_elf_relocate_section): Likewise.
238 (nds32_elf_action_discarded): Likewise.
239 (nds32_elf_check_relocs): Likewise.
240 (nds32_elf_section_flags): Likewise.
241 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
242 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
243 * elf32-rx.c (rx_table_find): Likewise.
244 (rx_table_map): Likewise.
245 * elf32-spu.c (spu_elf_backend_symbol_processing): Likewise.
246 (spu_elf_find_overlays): Likewise.
247 (needs_ovl_stub): Likewise.
248 (allocate_spuear_stubs): Likewise.
249 (build_spuear_stubs): Likewise.
250 (mark_overlay_section): Likewise.
251 (spu_elf_auto_overlay): Likewise.
252 (spu_elf_output_symbol_hook): Likewise.
253 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
254 * elf32-xtensa.c (xtensa_property_section_name): Likewise.
255 * elf64-ppc.c (ppc64_elf_section_flags): Likewise.
256 (ppc64_elf_relocate_section): Likewise.
257 * elflink.c (resolve_section): Likewise.
258 (UNARY_OP): Likewise.
259 (BINARY_OP_HEAD): Likewise.
260 (elf_link_input_bfd): Likewise.
261 * elfnn-riscv.c (riscv_elf_size_dynamic_sections): Likewise.
262 * elfxx-riscv.c (riscv_parse_subset): Likewise.
263 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
264 * opncls.c (get_build_id): Likewise.
265
266 2021-03-31 Alan Modra <amodra@gmail.com>
267
268 PR 27671
269 * bfd-in.h: Don't poison FALSE or TRUE.
270 * bfd-in2.h: Regenerate.
271
272 2021-03-31 Alan Modra <amodra@gmail.com>
273
274 * sysdep.h: POISON_BFD_BOOLEAN: Define.
275 * aix5ppc-core.c, * aout-cris.c, * aout-ns32k.c, * aout-target.h,
276 * aoutx.h, * arc-got.h, * archive.c, * archive64.c, * archures.c,
277 * bfd-in.h, * bfd.c, * bfdwin.c, * binary.c, * cache.c,
278 * coff-alpha.c, * coff-arm.c, * coff-arm.h, * coff-bfd.c,
279 * coff-bfd.h, * coff-go32.c, * coff-i386.c, * coff-ia64.c,
280 * coff-mcore.c, * coff-mips.c, * coff-rs6000.c, * coff-sh.c,
281 * coff-stgo32.c, * coff-tic30.c, * coff-tic4x.c, * coff-tic54x.c,
282 * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, * coff64-rs6000.c,
283 * coffcode.h, * coffgen.c, * cofflink.c, * compress.c,
284 * corefile.c, * cpu-aarch64.c, * cpu-aarch64.h, * cpu-alpha.c,
285 * cpu-arc.c, * cpu-arm.c, * cpu-arm.h, * cpu-avr.c, * cpu-bfin.c,
286 * cpu-bpf.c, * cpu-cr16.c, * cpu-cris.c, * cpu-crx.c,
287 * cpu-csky.c, * cpu-d10v.c, * cpu-d30v.c, * cpu-dlx.c,
288 * cpu-epiphany.c, * cpu-fr30.c, * cpu-frv.c, * cpu-ft32.c,
289 * cpu-h8300.c, * cpu-hppa.c, * cpu-i386.c, * cpu-ia64.c,
290 * cpu-iamcu.c, * cpu-ip2k.c, * cpu-iq2000.c, * cpu-k1om.c,
291 * cpu-l1om.c, * cpu-lm32.c, * cpu-m10200.c, * cpu-m10300.c,
292 * cpu-m32c.c, * cpu-m32r.c, * cpu-m68hc11.c, * cpu-m68hc12.c,
293 * cpu-m68k.c, * cpu-m9s12x.c, * cpu-m9s12xg.c, * cpu-mcore.c,
294 * cpu-mep.c, * cpu-metag.c, * cpu-microblaze.c, * cpu-mips.c,
295 * cpu-mmix.c, * cpu-moxie.c, * cpu-msp430.c, * cpu-mt.c,
296 * cpu-nds32.c, * cpu-nfp.c, * cpu-nios2.c, * cpu-ns32k.c,
297 * cpu-or1k.c, * cpu-pdp11.c, * cpu-pj.c, * cpu-powerpc.c,
298 * cpu-pru.c, * cpu-riscv.c, * cpu-rl78.c, * cpu-rs6000.c,
299 * cpu-rx.c, * cpu-s12z.c, * cpu-s390.c, * cpu-score.c,
300 * cpu-sh.c, * cpu-sparc.c, * cpu-spu.c, * cpu-tic30.c,
301 * cpu-tic4x.c, * cpu-tic54x.c, * cpu-tic6x.c, * cpu-tilegx.c,
302 * cpu-tilepro.c, * cpu-v850.c, * cpu-v850_rh850.c, * cpu-vax.c,
303 * cpu-visium.c, * cpu-wasm32.c, * cpu-xc16x.c, * cpu-xgate.c,
304 * cpu-xstormy16.c, * cpu-xtensa.c, * cpu-z80.c, * cpu-z8k.c,
305 * dwarf1.c, * dwarf2.c, * ecoff-bfd.h, * ecoff.c, * ecofflink.c,
306 * elf-attrs.c, * elf-bfd.h, * elf-eh-frame.c, * elf-hppa.h,
307 * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-nacl.c,
308 * elf-nacl.h, * elf-properties.c, * elf-s390-common.c,
309 * elf-s390.h, * elf-strtab.c, * elf-vxworks.c, * elf-vxworks.h,
310 * elf.c, * elf32-am33lin.c, * elf32-arc.c, * elf32-arm.c,
311 * elf32-arm.h, * elf32-avr.c, * elf32-avr.h, * elf32-bfin.c,
312 * elf32-bfin.h, * elf32-cr16.c, * elf32-cr16.h, * elf32-cris.c,
313 * elf32-crx.c, * elf32-csky.c, * elf32-csky.h, * elf32-d10v.c,
314 * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
315 * elf32-fr30.c, * elf32-frv.c, * elf32-ft32.c, * elf32-gen.c,
316 * elf32-h8300.c, * elf32-hppa.c, * elf32-hppa.h, * elf32-i386.c,
317 * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
318 * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
319 * elf32-m68hc1x.c, * elf32-m68hc1x.h, * elf32-m68k.c,
320 * elf32-m68k.h, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
321 * elf32-metag.h, * elf32-microblaze.c, * elf32-mips.c,
322 * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
323 * elf32-nios2.c, * elf32-nios2.h, * elf32-or1k.c, * elf32-pj.c,
324 * elf32-ppc.c, * elf32-ppc.h, * elf32-pru.c, * elf32-rl78.c,
325 * elf32-rx.c, * elf32-s12z.c, * elf32-s390.c, * elf32-score.c,
326 * elf32-score.h, * elf32-score7.c, * elf32-sh-relocs.h,
327 * elf32-sh.c, * elf32-sparc.c, * elf32-spu.c, * elf32-spu.h,
328 * elf32-tic6x.c, * elf32-tic6x.h, * elf32-tilegx.c,
329 * elf32-tilepro.c, * elf32-v850.c, * elf32-v850.h,
330 * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
331 * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
332 * elf32-xtensa.c, * elf32-z80.c, * elf64-alpha.c, * elf64-bpf.c,
333 * elf64-gen.c, * elf64-hppa.c, * elf64-ia64-vms.c,
334 * elf64-mips.c, * elf64-mmix.c, * elf64-nfp.c, * elf64-ppc.c,
335 * elf64-ppc.h, * elf64-s390.c, * elf64-sparc.c,
336 * elf64-tilegx.c, * elf64-x86-64.c, * elfcode.h,
337 * elfcore.h, * elflink.c, * elfn32-mips.c, * elfnn-aarch64.c,
338 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-aarch64.c,
339 * elfxx-aarch64.h, * elfxx-ia64.c, * elfxx-ia64.h,
340 * elfxx-mips.c, * elfxx-mips.h, * elfxx-riscv.c, * elfxx-riscv.h,
341 * elfxx-sparc.c, * elfxx-sparc.h, * elfxx-target.h,
342 * elfxx-tilegx.c, * elfxx-tilegx.h, * elfxx-x86.c, * elfxx-x86.h,
343 * format.c, * genlink.h, * hash.c, * i386aout.c, * i386lynx.c,
344 * i386msdos.c, * ihex.c, * libaout.h, * libbfd-in.h,
345 * libbfd.c, * libcoff-in.h, * libecoff.h, * libpei.h,
346 * libxcoff.h, * linker.c, * mach-o-aarch64.c, * mach-o-arm.c,
347 * mach-o-i386.c, * mach-o-x86-64.c, * mach-o.c, * mach-o.h,
348 * merge.c, * mmo.c, * netbsd.h, * opncls.c, * pc532-mach.c,
349 * pdp11.c, * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-sh.c,
350 * pe-x86_64.c, * peXXigen.c, * pef.c, * pei-arm.c, * pei-i386.c,
351 * pei-ia64.c, * pei-mcore.c, * pei-sh.c, * pei-x86_64.c,
352 * peicode.h, * plugin.c, * plugin.h, * ppcboot.c, * reloc.c,
353 * reloc16.c, * rs6000-core.c, * section.c, * simple.c, * som.c,
354 * som.h, * srec.c, * stabs.c, * syms.c, * targets.c, * tekhex.c,
355 * verilog.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c, * vms.h,
356 * wasm-module.c, * xcofflink.c, * xcofflink.h, * xsym.c,
357 * xsym.h: Replace bfd_boolean with bool, FALSE with false, and
358 TRUE with true throughout.
359 * bfd-in2.h: Regenerate.
360 * libbfd.h: Regenerate.
361 * libcoff.h: Regenerate.
362
363 2021-03-31 Alan Modra <amodra@gmail.com>
364
365 * bfd-in.h: Include stdbool.h.
366 (bfd_boolean): Define as bool
367 * bfd-in2.h: Regenerate.
368
369 2021-03-31 Alan Modra <amodra@gmail.com>
370
371 * .gitignore: Delete bfd_stdint.h entry.
372 * Makefile.am (bfdinclude_HEADERS): Delete bfd_stdint.h.
373 (BUILD_HFILES, LOCAL_H_DEPS): Likewise.
374 * bfd-in.h: Include stdint.h in place of bfd_stdint.h.
375 * configure.ac: Don't invoke GCC_HEADER_STDINT.
376 * configure.com: Don't create bfd_stdint.h.
377 * Makefile.in: Regenerate.
378 * aclocal.m4: Regenerate.
379 * bfd-in2.h: Regenerate.
380 * config.in: Regenerate.
381 * configure: Regenerate.
382 * doc/Makefile.in: Regenerate.
383 * po/BLD-POTFILES.in: Regenerate.
384
385 2021-03-31 Alan Modra <amodra@gmail.com>
386
387 * bfd-in.h: Include string.h.
388 (LITMEMCPY, LITSTRCPY): Delete.
389 * bfd-in2.h: Regenerate.
390
391 2021-03-30 Alan Modra <amodra@gmail.com>
392
393 * elflink.c (elf_link_add_object_symbols): Don't set h->indx
394 unless is_elf_hash_table.
395
396 2021-03-29 Alan Modra <amodra@gmail.com>
397
398 * aoutx.h (aout_link_write_symbols): Don't cast boolean expression
399 to bfd_boolean.
400 * elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
401 against FALSE.
402 * elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
403 (is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
404 (is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
405 (is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
406 * elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
407 * elf32-nds32.c (insert_nds32_elf_blank): Likewise.
408 * elf32-rx.c (rx_set_section_contents): Likewise.
409 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
410 * elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
411 * mach-o.c (bfd_mach_o_read_command): Likewise.
412 * targets.c (bfd_get_target_info): Likewise.
413
414 2021-03-29 Alan Modra <amodra@gmail.com>
415
416 * coff-z80.c (z80_is_local_label_name): Return bfd_boolean.
417 * elf32-z80.c (z80_is_local_label_name): Likewise.
418 * elf32-spu.c (spu_elf_modify_headers): Likewise.
419 * elf32-nds32.h (struct elf_nds32_link_hash_table <hyper_relax>):
420 Change type to int.
421 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Correct test
422 for error return from vms_write_data_block.
423
424 2021-03-29 Alan Modra <amodra@gmail.com>
425
426 * elf32-i386.c (elf_i386_finish_local_dynamic_symbol): Return int.
427 * elf64-ia64-vms.c (elf64_ia64_local_dyn_info_free): Likewise.
428 (elf64_ia64_local_dyn_sym_thunk): Likewise.
429 * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol): Likewise.
430 * elfnn-aarch64.c (elfNN_aarch64_allocate_local_ifunc_dynrelocs),
431 (elfNN_aarch64_finish_local_dynamic_symbol): Likewise.
432 * elfnn-ia64.c (elfNN_ia64_local_dyn_info_free): Likewise.
433 (elfNN_ia64_local_dyn_sym_thunk): Likewise.
434 * elfnn-riscv.c (allocate_local_ifunc_dynrelocs): Likewise.
435 (riscv_pcrel_reloc_eq): Likewise.
436 (riscv_elf_finish_local_dynamic_symbol): Likewise.
437 * elfxx-sparc.c (allocate_local_dynrelocs): Likewise.
438 (finish_local_dynamic_symbol): Likewise.
439 * elfxx-x86.c (elf_x86_allocate_local_dynreloc): Likewise.
440 * elfxx-mips.c (mips_elf_resolve_got_page_ref): Likewise.
441 (mips_elf_count_got_symbols): Change return type to bfd_boolean.
442
443 2021-03-29 Alan Modra <amodra@gmail.com>
444
445 * elflink.c (elf_link_output_symstrtab): Make flinfo parameter
446 a void pointer.
447 (bfd_elf_final_link): Delete out_sym_func typedef and don't cast
448 elf_link_output_symstrtab when calling output_arch_syms and
449 output_arch_local_syms.
450 * elf-bfd.h (struct elf_backend_data <elf_backend_output_arch_syms,
451 elf_backend_output_arch_local_syms>): Change return type of func
452 arg to match elf_link_output_symstrtab.
453 * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Correct
454 return type.
455 * elf32-nds32.c (nds32_elf_output_symbol_hook): Correct return type.
456 (nds32_elf_output_arch_syms): Correct func return type.
457
458 2021-03-29 Alan Modra <amodra@gmail.com>
459
460 * elf-m10200.c (mn10200_elf_relocate_section): Return int.
461 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
462 * elf32-arc.c (elf_arc_relocate_section): Likewise.
463 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
464 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
465 * elf32-bfin.c (bfin_relocate_section): Likewise.
466 (bfinfdpic_relocate_section): Likewise.
467 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
468 * elf32-cris.c (cris_elf_relocate_section): Likewise.
469 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
470 * elf32-csky.c (csky_elf_relocate_section): Likewise.
471 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
472 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
473 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
474 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
475 * elf32-ft32.c (ft32_elf_relocate_section): Likewise.
476 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
477 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
478 * elf32-i386.c (elf_i386_relocate_section): Likewise.
479 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
480 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
481 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
482 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
483 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
484 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
485 * elf32-m68hc1x.h (elf32_m68hc11_relocate_section): Likewise.
486 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
487 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
488 * elf32-mep.c (mep_elf_relocate_section): Likewise.
489 * elf32-metag.c (elf_metag_relocate_section): Likewise.
490 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
491 * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
492 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
493 * elf32-mt.c (mt_elf_relocate_section): Likewise.
494 * elf32-nds32.c (nds32_elf_relocate_section): Likewise.
495 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
496 * elf32-or1k.c (or1k_elf_relocate_section): Likewise.
497 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
498 * elf32-pru.c (pru_elf32_relocate_section): Likewise.
499 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
500 * elf32-rx.c (rx_elf_relocate_section): Likewise.
501 * elf32-s390.c (elf_s390_relocate_section): Likewise.
502 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
503 (_bfd_score_elf_relocate_section): Likewise.
504 * elf32-score.h (s7_bfd_score_elf_relocate_section): Likewise.
505 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
506 * elf32-sh.c (sh_elf_relocate_section): Likewise.
507 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
508 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
509 * elf32-v850.c (v850_elf_relocate_section): Likewise.
510 * elf32-vax.c (elf_vax_relocate_section): Likewise.
511 * elf32-visium.c (visium_elf_relocate_section): Likewise.
512 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
513 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
514 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
515 * elf32-z80.c (z80_elf_relocate_section): Likewise.
516 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
517 (elf64_alpha_relocate_section): Likewise.
518 * elf64-bpf.c (bpf_elf_relocate_section): Likewise.
519 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
520 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
521 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
522 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
523 * elf64-s390.c (elf_s390_relocate_section): Likewise.
524 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
525 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
526 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
527 * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
528 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
529 * elfxx-mips.h (_bfd_mips_elf_relocate_section): Likewise.
530 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
531 * elfxx-sparc.h (_bfd_sparc_elf_relocate_section): Likewise.
532 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
533 * elfxx-tilegx.h (tilegx_elf_relocate_section): Likewise.
534
535 2021-03-26 Keith Seitz <keiths@redhat.com>
536
537 * elfcore.h (_bfd_elf_core_find_build_id): Seek file
538 offset of program headers after calling elf_read_notes.
539
540 2021-03-23 Jan Beulich <jbeulich@suse.com>
541
542 * dwarf2.c (read_indexed_string): Rename index to idx.
543
544 2021-03-22 Martin Liska <mliska@suse.cz>
545
546 * bfd-in.h (startswith): Add startswith function.
547 (CONST_STRNEQ): Remove.
548 * bfd-in2.h (startswith): Regenerate with make headers.
549 * archive.c (bfd_slurp_armap): Replace usage of CONST_STRNEQ with startswith.
550 (_bfd_slurp_extended_name_table): Likewise.
551 * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
552 * bfd.c (bfd_get_sign_extend_vma): Likewise.
553 (bfd_convert_section_size): Likewise.
554 (bfd_convert_section_contents): Likewise.
555 * coff-stgo32.c (go32exe_create_stub): Likewise.
556 (go32exe_check_format): Likewise.
557 * coffcode.h (styp_to_sec_flags): Likewise.
558 (GNU_DEBUGALTLINK): Likewise.
559 * coffgen.c (_bfd_coff_section_already_linked): Likewise.
560 (coff_gc_sweep): Likewise.
561 (bfd_coff_gc_sections): Likewise.
562 * cofflink.c (coff_link_add_symbols): Likewise.
563 (process_embedded_commands): Likewise.
564 * compress.c (bfd_is_section_compressed_with_header): Likewise.
565 (bfd_init_section_decompress_status): Likewise.
566 * dwarf2.c (find_debug_info): Likewise.
567 (place_sections): Likewise.
568 * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
569 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
570 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
571 (assign_section_numbers): Likewise.
572 (elfcore_grok_win32pstatus): Likewise.
573 * elf32-arm.c (cmse_scan): Likewise.
574 (elf32_arm_gc_mark_extra_sections): Likewise.
575 (elf32_arm_size_dynamic_sections): Likewise.
576 (is_arm_elf_unwind_section_name): Likewise.
577 * elf32-bfin.c (bfin_size_dynamic_sections): Likewise.
578 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
579 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
580 * elf32-csky.c (csky_elf_size_dynamic_sections): Likewise.
581 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
582 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
583 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
584 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
585 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
586 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
587 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
588 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
589 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
590 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
591 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
592 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
593 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
594 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
595 * elf32-tic6x.c (is_tic6x_elf_unwind_section_name): Likewise.
596 (elf32_tic6x_size_dynamic_sections): Likewise.
597 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
598 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
599 (xtensa_is_insntable_section): Likewise.
600 (xtensa_is_littable_section): Likewise.
601 (xtensa_is_proptable_section): Likewise.
602 (xtensa_property_section_name): Likewise.
603 (xtensa_callback_required_dependence): Likewise.
604 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
605 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
606 * elf64-ia64-vms.c (is_unwind_section_name): Likewise.
607 (get_reloc_section): Likewise.
608 (elf64_ia64_size_dynamic_sections): Likewise.
609 (elf64_ia64_object_p): Likewise.
610 * elf64-mmix.c (mmix_elf_add_symbol_hook): Likewise.
611 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
612 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
613 * elflink.c (elf_link_add_object_symbols): Likewise.
614 (_bfd_elf_gc_mark_extra_sections): Likewise.
615 (bfd_elf_parse_eh_frame_entries): Likewise.
616 (_bfd_elf_section_already_linked): Likewise.
617 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
618 * elfnn-ia64.c (is_unwind_section_name): Likewise.
619 (elfNN_ia64_size_dynamic_sections): Likewise.
620 (elfNN_ia64_object_p): Likewise.
621 * elfxx-mips.c (FN_STUB_P): Likewise.
622 (CALL_STUB_P): Likewise.
623 (CALL_FP_STUB_P): Likewise.
624 (_bfd_mips_elf_section_from_shdr): Likewise.
625 (_bfd_mips_elf_fake_sections): Likewise.
626 (_bfd_mips_elf_size_dynamic_sections): Likewise.
627 (_bfd_mips_final_write_processing): Likewise.
628 (_bfd_mips_elf_final_link): Likewise.
629 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
630 * elfxx-x86.c (elf_i386_is_reloc_section): Likewise.
631 (elf_x86_64_is_reloc_section): Likewise.
632 * hpux-core.c (thread_section_p): Likewise.
633 * libcoff.h (bfd_pei_p): Likewise.
634 * linker.c (REAL): Likewise.
635 (unwrap_hash_lookup): Likewise.
636 (_bfd_generic_link_add_one_symbol): Likewise.
637 * mmo.c (mmo_internal_write_section): Likewise.
638 * osf-core.c (osf_core_core_file_p): Likewise.
639 * pef.c (bfd_pef_print_symbol): Likewise.
640 * pei-x86_64.c (pex64_print_all_pdata_sections): Likewise.
641 * som.c (som_slurp_symbol_table): Likewise.
642 (som_slurp_armap): Likewise.
643 * wasm-module.c (wasm_compute_custom_section_file_position): Likewise.
644
645 2021-03-22 Jan Beulich <jbeulich@suse.com>
646
647 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Add missing
648 language translation wrapping to _bfd_error_handler()
649 invocations.
650
651 2021-03-21 Alan Modra <amodra@gmail.com>
652
653 * bfd-in.h (startswith): New inline.
654 (CONST_STRNEQ): Use startswith.
655 * bfd-in2.h: Regenerate.
656
657 2021-03-20 Alan Modra <amodra@gmail.com>
658
659 PR 27590
660 * elf.c (_bfd_elf_make_section_from_shdr): Remove SHF_EXCLUDE
661 test for .gnu.debuglto*.
662
663 2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
664
665 PR ld/27590
666 * elf.c (_bfd_elf_make_section_from_shdr): Treat
667 .gnu.debuglto_.debug_ section as debugging section unless it is
668 marked with SHF_EXCLUDE.
669 * elflink.c (elf_create_symbuf): Revert commit 994b2513281.
670 (bfd_elf_match_symbols_in_sections): Ignore section symbols when
671 matching non-debugging sections or linkonce section with comdat
672 section.
673
674 2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
675
676 PR ld/27587
677 * dwarf2.c (read_attribute_value): Check version >= 3 for
678 DW_FORM_ref_addr.
679
680 2021-03-16 Nick Clifton <nickc@redhat.com>
681
682 * peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
683 overrun by using sizeof of the destination x_fname field as the
684 limit for a memcpy.
685
686 2021-03-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
687
688 * elfxx-riscv.c (riscv_std_z_ext_strtab): Add zba, zbb and zbc.
689
690 2021-03-12 Clément Chigot <clement.chigot@atos.net>
691
692 * reloc.c (BFD_RELOC_PPC_TLS_LE, BFD_RELOC_PPC_TLS_IE,
693 BFD_RELOC_PPC_TLS_M, BFD_RELOC_PPC_TLS_ML, BFD_RELOC_PPC64_TLS_GD,
694 BFD_RELOC_PPC64_TLS_LD, BFD_RELOC_PPC64_TLS_LE,
695 BFD_RELOC_PPC64_TLS_IE, BFD_RELOC_PPC64_TLS_M,
696 BFD_RELOC_PPC64_TLS_ML): New relocations.
697 * bfd-in2.h: Regenerate.
698 * libbfd.h: Regenerate.
699 * coff-rs6000.c (xcoff_calculate_relocation): Call
700 xcoff_reloc_type_tls for TLS relocations.
701 (xcoff_howto_table): Implement TLS relocations.
702 (_bfd_xcoff_reloc_type_lookup): Add cases TLS relocations.
703 (xcoff_reloc_type_tls): New function.
704 * coff64-rs6000.c (xcoff_calculate_relocation): Likewise.
705 (xcoff_howto_table): Likewise.
706 (_bfd_xcoff_reloc_type_lookup): Likewise.
707 * coffcode.h (sec_to_styp_flags): Handle TLS sections.
708 (styp_to_sec_flags): Likewise.
709 (coff_compute_section_file_positions): Avoid file offset
710 optimisation for .data when the previous section is .tdata.
711 (coff_write_object_contents): Handle TLS sections.
712 * coffswap.h (coff_swap_aouthdr_out): Add support for
713 new fields in aouthdr.
714 * libxcoff.h (xcoff_reloc_type_tls): Add prototype.
715 * xcofflink.c (xcoff_link_add_symbols): Handle XMC_UL.
716 (xcoff_need_ldrel_p): Add cases for TLS relocations.
717 (xcoff_create_ldrel): Add l_symndx for TLS sections.
718
719 2021-03-12 Clément Chigot <clement.chigot@atos.net>
720
721 * reloc.c (BFD_RELOC_PPC_TOC16_HI, BFD_RELOC_PPC_TOC16_LO):
722 New relocations.
723 * bfd-in2.h: Regenerate.
724 * libbfd.h: Regenerate.
725 * coff-rs6000.c (xcoff_calculate_relocation): Call
726 xcoff_reloc_type_toc for R_TOCU and R_TOCL.
727 (xcoff_howto_table): Remove src_mask for TOC relocations.
728 Add R_TOCU and R_TOCL howtos.
729 (_bfd_xcoff_reloc_type_lookup): Add cases for
730 BFD_RELOC_PPC_TOC16_HI and BFD_RELOC_PPC_TOC16_LO.
731 (xcoff_reloc_type_toc): Compute the whole offset.
732 Implement R_TOCU and R_TOCL.
733 * coff64-rs6000.c (xcoff64_calculate_relocation):
734 Likewise.
735 (xcoff64_howto_table): Likewise.
736 (xcoff64_reloc_type_lookup): Likewise.
737
738 2021-03-12 Clément Chigot <clement.chigot@atos.net>
739
740 * coff-rs6000.c (xcoff_calculate_relocation): Correct and
741 add new relocations.
742 (xcoff_howto_table): Likewise.
743 (xcoff_rtype2howto): Increase r_type maximum value.
744 (xcoff_ppc_relocate_section): Reuse predefined HOWTOs instead
745 of create a new one from scratch. Enable only some relocations
746 to have a changing r_size.
747 * coff64-rs6000.c (xcoff64_calculate_relocation): Likewise.
748 (xcoff64_howto_table): Likewise.
749 (xcoff64_rtype2howto): Likewise.
750 (xcoff64_ppc_relocate_section): Likewise.
751 * libxcoff.h (XCOFF_MAX_CALCULATE_RELOCATION): Fix value.
752
753 2021-03-12 Clément Chigot <clement.chigot@atos.net>
754
755 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Move.
756
757 2021-03-12 Clément Chigot <clement.chigot@atos.net>
758
759 * coff64-rs6000.c (xcoff64_write_object_contents): Remove.
760 * coffcode.h (coff_write_object_contents): Add bfd_mach_ppc_620
761 support for o_cputype field. Avoid creating an empty a.out header
762 for XCOFF64.
763
764 2021-03-12 Clément Chigot <clement.chigot@atos.net>
765
766 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): Add
767 missing smclass.
768
769 2021-03-11 Nelson Chu <nelson.chu@sifive.com>
770
771 * elfnn-riscv.c (riscv_elf_link_hash_table): New boolean
772 restart_relax, used to check if we need to run the whole
773 relaxations from relax pass 0 to 2 again.
774 (riscv_elf_link_hash_table_create): Init restart_relax to FALSE.
775 (_bfd_riscv_relax_align): Remove obsolete sec_flg0 set.
776 (_bfd_riscv_relax_delete): Set again to TRUE if we do delete the code.
777 (bfd_elfNN_riscv_restart_relax_sections): New function. Called by
778 after_allocation to check if we need to run the whole relaxations again.
779 (_bfd_riscv_relax_section): We will only enter into the relax pass 3
780 when the restart_relax is FALSE; At last set restart_relax to TRUE if
781 again is TRUE, too.
782 * elfxx-riscv.h (bfd_elf32_riscv_restart_relax_sections): Declaration.
783 (bfd_elf64_riscv_restart_relax_sections): Likewise.
784
785 2021-03-10 Jan Beulich <jbeulich@suse.com>
786
787 * cofflink.c (_bfd_coff_write_global_sym): Range-check symbol
788 offset.
789
790 2021-03-10 Alan Modra <amodra@gmail.com>
791 Jan Beulich <jbeulich@suse.com>
792
793 * elf.c (bfd_elf_generic_reloc): Make references between debug
794 sections use section relative values.
795
796 2021-03-09 Jan Beulich <jbeulich@suse.com>
797
798 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Diagnose out of range RVA.
799
800 2021-03-05 H.J. Lu <hongjiu.lu@intel.com>
801
802 PR ld/27425
803 PR ld/27432
804 * bfd.c (_bfd_get_link_info): New function.
805 * elf-bfd.h (output_elf_obj_tdata): Add link_info.
806 (elf_link_info): New.
807 * libbfd-in.h (_bfd_get_link_info): New prototype.
808 * coff-x86_64.c (coff_amd64_reloc): Also subtract __ImageBase for
809 R_AMD64_IMAGEBASE when generating x86-64 ELF executable.
810 * pe-x86_64.c: Include "coff/internal.h" and "libcoff.h".
811 (pex64_link_add_symbols): New function.
812 (coff_bfd_link_add_symbols): New macro.
813 * libbfd.h: Regenerated.
814
815 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
816 Andrew Burgess <andrew.burgess@embecosm.com>
817
818 * elf-bfd.h (elfcore_write_riscv_csr): Declare.
819 * elf.c (elfcore_grok_riscv_csr): New function.
820 (elfcore_grok_note): Handle NT_RISCV_CSR.
821 (elfcore_write_riscv_csr): New function.
822 (elfcore_write_register_note): Handle '.reg-riscv-csr'.
823
824 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
825 Andrew Burgess <andrew.burgess@embecosm.com>
826
827 * elfnn-riscv.c (PRPSINFO_PR_FNAME_LENGTH): Define.
828 (PRPSINFO_PR_PSARGS_LENGTH): Define.
829 (riscv_write_core_note): New function.
830 (riscv_elf_grok_psinfo): Make use of two new length defines.
831 (elf_backend_write_core_note): Define.
832
833 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
834 Andrew Burgess <andrew.burgess@embecosm.com>
835
836 * elf-bfd.h (elfcore_write_gdb_tdesc): Declare new function.
837 * elf.c (elfcore_grok_gdb_tdesc): New function.
838 (elfcore_grok_note): Handle NT_GDB_TDESC.
839 (elfcore_write_gdb_tdesc): New function.
840 (elfcore_write_register_note): Handle NT_GDB_TDESC.
841
842 2021-03-05 Nick Clifton <nickc@redhat.com>
843
844 PR 27521
845 * dwarf2.c (is_str_attr): Add DW_FORM_strx* forms.
846 (read_indexed_string): Placeholder function.
847 (read_attribute_value): Handle DW_FORM_strx* and DW_FORM_addrx*
848 forms.
849
850 2021-03-05 Alan Modra <amodra@gmail.com>
851
852 * reloc.c (bfd_perform_relocation): Revert 2021-01-12 and
853 2020-09-16 changes.
854 * coff-x86_64.c (coff_amd64_reloc): Do more or less the same
855 adjustments here instead. Separate pc-relative adjustments
856 from symbol related adjustments. Tidy comments and formatting.
857
858 2021-03-04 Jan Beulich <jbeulich@suse.com>
859
860 * coffcode.h (sec_to_styp_flags): Don't set IMAGE_SCN_LNK_* in
861 final PE images.
862
863 2021-03-04 Alan Modra <amodra@gmail.com>
864
865 * rs6000-core.c (rs6000coff_core_p): Correct prototype.
866
867 2021-03-03 Alan Modra <amodra@gmail.com>
868
869 PR 27500
870 * elflink.c (_bfd_elf_gc_mark_rsec): Do special start/stop
871 processing not when start/stop symbol section is unmarked but
872 on first time a start/stop symbol is processed.
873
874 2021-03-03 Alan Modra <amodra@gmail.com>
875
876 * reloc.c: Include x86_64.h rather than internal.h.
877
878 2021-03-02 Nick Clifton <nickc@redhat.com>
879
880 PR 27484
881 * dwarf2.c (scan_unit_for_symbols): Scan twice, once to accumulate
882 function and variable tags and a second time to resolve their
883 attributes.
884
885 2021-03-02 Nick Alcock <nick.alcock@oracle.com>
886
887 * elf-strtab.c (_bfd_elf_strtab_str): Skip strings with zero refcount.
888
889 2021-03-02 Alan Modra <amodra@gmail.com>
890
891 PR 27451
892 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore synthesized
893 linker defined start/stop symbols when start_stop_gc.
894
895 2021-03-02 Alan Modra <amodra@gmail.com>
896
897 * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimise got
898 indirect to pc-relative or toc-relative for undefined symbols.
899
900 2021-03-01 Alan Modra <amodra@gmail.com>
901 Fangrui Song <maskray@google.com>
902
903 * elflink.c (_bfd_elf_gc_mark_rsec): Ignore synthesized linker
904 defined start/stop symbols when start_stop_gc.
905 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
906 (bfd_elf_define_start_stop): Don't modify ldscript_def syms.
907 * linker.c (bfd_generic_define_start_stop): Likewise.
908
909 2021-02-25 Alan Modra <amodra@gmail.com>
910
911 PR 27441
912 * elf-bfd.h (struct elf_link_hash_entry): Add ref_ir_nonweak.
913 * elflink.c (elf_link_add_object_symbols): Set ref_ir_nonweak and
914 use when deciding an as-needed library should be loaded instead
915 of using the binding of the library definition.
916
917 2021-02-24 Alan Modra <amodra@gmail.com>
918
919 PR 27459
920 * coff-stgo32.c (go32exe_check_format): Sanity check size of
921 header to avoid a buffer overflow.
922
923 2021-02-22 Alan Modra <amodra@gmail.com>
924
925 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Remove BFD_RELOC_16.
926 * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
927
928 2021-02-19 Nelson Chu <nelson.chu@sifive.com>
929
930 PR 27158
931 * elfnn-riscv.c (perform_relocation): Updated encoding macros.
932 (_bfd_riscv_relax_call): Likewise.
933 (_bfd_riscv_relax_lui): Likewise.
934 * elfxx-riscv.c (howto_table): Likewise.
935
936 2021-02-18 Nelson Chu <nelson.chu@sifive.com>
937
938 * Makefile.am: Added cpu-riscv.h.
939 * Makefile.in: Regenerated.
940 * po/SRC-POTFILES.in: Regenerated.
941 * cpu-riscv.h: Added to support spec versions controlling.
942 Also added extern arrays and functions for cpu-riscv.c.
943 (enum riscv_spec_class): Define all spec classes here uniformly.
944 (struct riscv_spec): Added for all specs.
945 (RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
946 (RISCV_GET_SPEC_NAME): Likewise.
947 (RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
948 (RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
949 (RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
950 * cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
951 (riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
952 (riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
953 (riscv_priv_specs): Moved below.
954 (riscv_get_priv_spec_class_from_numbers): Likewise, updated.
955 (riscv_isa_specs): Moved from include/opcode/riscv.h.
956 * elfnn-riscv.c: Included cpu-riscv.h.
957 (riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
958 * elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
959 (RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
960 * elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
961
962 2021-02-17 Alan Modra <amodra@gmail.com>
963
964 * wasm-module.c: Guard include of limits.h.
965 (CHAR_BIT): Provide backup define.
966 (wasm_read_leb128): Use CHAR_BIT to size "result" in bits.
967 Correct signed overflow checking.
968
969 2021-02-17 Nelson Chu <nelson.chu@sifive.com>
970
971 PR 27200
972 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Delay
973 copying the elf flags from input BFD to output BFD, until we have
974 checked if the input BFD has no code section or not. Also fix the
975 problem that we only check the first section rather than the entire
976 sections for input BFD.
977
978 2021-02-16 Alan Modra <amodra@gmail.com>
979
980 * libbfd.c (_bfd_read_unsigned_leb128): Avoid excessive shift.
981 (_bfd_safe_read_leb128, _bfd_read_signed_leb128): Likewise.
982
983 2021-02-15 Jan Beulich <jbeulich@suse.com>
984
985 * doc/Makefile.am: Replace "cp -p" by "$(LN_S)".
986 * doc/Makefile.in: Re-generate.
987
988 2021-02-15 Alan Modra <amodra@gmail.com>
989
990 * elf32-nds32.c (nds32_get_section_contents): Replace
991 bfd_malloc_and_get_section with bfd_get_full_section_contents.
992 (nds32_elf_relax_delete_blanks): Init contents.
993 (nds32_elf_relax_section, nds32_relax_fp_as_gp): Likewise.
994
995 2021-02-15 Alan Modra <amodra@gmail.com>
996
997 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
998 bfd_get_full_section_contents.
999
1000 2021-02-14 Alan Modra <amodra@gmail.com>
1001
1002 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Apply
1003 all fixes to bfd_generic_get_relocated_section_contents since this
1004 function was split out.
1005
1006 2021-02-11 Alan Modra <amodra@gmail.com>
1007
1008 * config.bfd: Remove ia64 from obsolete list.
1009
1010 2021-02-11 Alan Modra <amodra@gmail.com>
1011
1012 PR ld/22269
1013 * elfnn-ia64.c: Revert 2017-10-14 git commit db41f6eb5234.
1014
1015 2021-02-11 Alan Modra <amodra@gmail.com>
1016
1017 PR 27294
1018 * elf32-avr.c (avr_elf32_load_records_from_section): Use
1019 bfd_malloc_and_get_section. Use bfd_byte* vars and remove then
1020 unnecessary casts.
1021
1022 2021-02-11 Alan Modra <amodra@gmail.com>
1023
1024 PR 27291
1025 * section.c (bfd_get_section_contents): Avoid possible overflow
1026 when range checking offset and count.
1027 (bfd_set_section_contents): Likewise.
1028
1029 2021-02-03 Nick Alcock <nick.alcock@oracle.com>
1030
1031 * configure.ac (SHARED_LIBADD): Remove explicit -lintl population in
1032 favour of LIBINTL.
1033 * configure: Regenerated.
1034
1035 2021-02-09 Alan Modra <amodra@gmail.com>
1036
1037 * config.bfd (arm*-*-symbianelf*): Move from obsolete to removed.
1038 * configure.ac: Delete symbian entries.
1039 * elf-bfd.h (enum elf_target_os): Delete is_symbian.
1040 * elf32-arm.c: Remove symbian support. Formatting.
1041 * targets.c: Delete symbian entries.
1042 * configure: Regenerate.
1043
1044 2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
1045
1046 PR ld/19609
1047 * elf64-x86-64.c (elf_x86_64_relocate_section): Provide more
1048 info when failed to convert GOTPCREL relocation.
1049
1050 2021-02-04 Nelson Chu <nelson.chu@sifive.com>
1051
1052 * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed zb*.
1053
1054 2021-02-04 Alan Modra <amodra@gmail.com>
1055
1056 PR 27311
1057 * elflink.c (elf_link_add_object_symbols): Don't pull in as-needed
1058 libraries for IR references on pass over libraries after LTO
1059 recompilation.
1060
1061 2021-02-03 Alan Modra <amodra@gmail.com>
1062
1063 PR 27311
1064 * elflink.c (_bfd_elf_add_default_symbol): Revert last two changes.
1065 (elf_link_add_object_symbols): Here too. Don't pull in as-needed
1066 libraries when H is an indirect symbol after calling
1067 _bfd_elf_add_default_symbol.
1068
1069 2021-02-03 Alan Modra <amodra@gmail.com>
1070
1071 PR 27311
1072 * elflink.c (_bfd_elf_add_default_symbol): Clear override when
1073 undecorated symbol will have a different version.
1074
1075 2021-02-02 Alan Modra <amodra@gmail.com>
1076
1077 PR 27311
1078 * elflink.c (_bfd_elf_add_default_symbol): Add override parameter.
1079 Use when handling default versioned symbol. Rename existing
1080 override variable to nondef_override and use for non-default
1081 versioned symbol.
1082 (elf_link_add_object_symbols): Adjust call to suit. Don't
1083 pull in as-needed libraries when override is set.
1084
1085 2021-02-01 Emery Hemingway <ehmry@posteo.net>
1086
1087 * config.bfd: Add *-*-genode* as a target for AArch64 and x86.
1088
1089 2021-02-01 Egor Vishnyakov <lenvampir@yandex.ru>
1090
1091 PR 27254
1092 * elf32-rl78.c (rl78_elf_relocate_section): Fix calculation of
1093 offset for the R_RL78_RH_SADDR relocation.
1094
1095 2021-01-29 Alan Modra <amodra@gmail.com>
1096
1097 PR 27271
1098 * elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
1099 on symbols defined in absolute or other special sections.
1100
1101 2021-01-28 Alan Modra <amodra@gmail.com>
1102
1103 PR 27259
1104 * elflink.c (_bfd_elf_gc_mark_extra_sections): Use linker_mark to
1105 prevent endless looping of linked-to sections.
1106
1107 2020-12-17 Mihails Strasuns <mihails.strasuns@intel.com>
1108
1109 * bfd-elf.h (elfcore_write_file_note): New function.
1110 * elf.c (elfcore_write_file_note): New function.
1111
1112 2021-01-26 Alan Modra <amodra@gmail.com>
1113
1114 * elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
1115
1116 2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
1117
1118 PR binutils/27231
1119 * dwarf2.c (read_rnglists): Ignore empty range when parsing line
1120 number tables.
1121
1122 2021-01-23 H.J. Lu <hongjiu.lu@intel.com>
1123
1124 PR binutils/27231
1125 * dwarf2.c (read_rnglists): Advance rngs_ptr after
1126 _bfd_safe_read_leb128 when parsing DW_RLE_offset_pair.
1127
1128 2021-01-20 Alan Modra <amodra@gmail.com>
1129
1130 * elf32-ppc.c: Delete outdated comment.
1131 (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
1132 * elf64-ppc.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
1133
1134 2021-01-20 Alan Modra <amodra@gmail.com>
1135
1136 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't assume
1137 section symbols are present.
1138
1139 2021-01-19 Alan Modra <amodra@gmail.com>
1140
1141 * elf64-ppc.c (elf_hash_entry): New inline function. Use
1142 throughout to replace casts.
1143 (branch_reloc_hash_match): Remove const from params.
1144 (use_local_plt): New function.
1145 (allocate_dynrelocs, ppc_build_one_stub, ppc_size_one_stub),
1146 (build_global_entry_stubs_and_plt, ppc64_elf_relocate_section):
1147 Use use_local_plt.
1148 * elf32-ppc.c (use_local_plt): New function.
1149 (allocate_dynrelocs, ppc_elf_relocate_section),
1150 (write_global_sym_plt): Use use_local_plt.
1151
1152 2021-01-17 H.J. Lu <hongjiu.lu@intel.com>
1153
1154 PR ld/27193
1155 * elflink.c (elf_create_symbuf): Also ignore section symbols.
1156
1157 2021-01-16 H.J. Lu <hongjiu.lu@intel.com>
1158
1159 PR ld/23169
1160 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): Don't
1161 check pointer_equality_needed.
1162
1163 2021-01-15 H.J. Lu <hongjiu.lu@intel.com>
1164
1165 * elf-linker-x86.h (elf_linker_x86_params): Add
1166 report_relative_reloc.
1167 * elf32-i386.c (elf_i386_relocate_section): Call
1168 _bfd_x86_elf_link_report_relative_reloc to report relative
1169 relocations for -z report-relative-reloc.
1170 (elf_i386_finish_dynamic_symbol): Likewse.
1171 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewse.
1172 (elf_x86_64_finish_dynamic_symbol): Likewse.
1173 * elfxx-x86.c (_bfd_x86_elf_link_report_relative_reloc): New
1174 function.
1175 * elfxx-x86.h (_bfd_x86_elf_link_report_relative_reloc): New
1176 prototype.
1177
1178 2021-01-16 Alan Modra <amodra@gmail.com>
1179
1180 * compress.c (decompress_contents): Tidy inflateEnd result test.
1181
1182 2021-01-16 Alan Modra <amodra@gmail.com>
1183
1184 PR 26002
1185 * elflink.c (elf_link_output_extsym): Use version 1 in
1186 .gnu.version for undefined unversioned symbols.
1187
1188 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1189
1190 * elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
1191 caused the by previous commit accidentally.
1192
1193 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1194
1195 * elfnn-riscv.c: Indent, labels and GNU coding standards tidy,
1196 also aligned the code.
1197
1198 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1199
1200 * elfnn-riscv.c (riscv_merge_attributes): Fix typos of messages.
1201
1202 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1203
1204 * elfnn-riscv.c: Comments tidy and improvement.
1205 * elfxx-riscv.c: Likewise.
1206 * elfxx-riscv.h: Likewise.
1207
1208 2021-01-14 H.J. Lu <hongjiu.lu@intel.com>
1209
1210 PR ld/26688
1211 * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
1212 section for R_BFIN_FUNCDESC.
1213
1214 2021-01-14 Nick Clifton <nickc@redhat.com>
1215
1216 * elf.c (elfcore_grok_win32pstatus): Check for a note type of 0.
1217
1218 2021-01-13 Alan Modra <amodra@gmail.com>
1219
1220 * Makefile.in: Regenerate.
1221 * doc/Makefile.in: Regenerate.
1222
1223 2021-01-13 Alan Modra <amodra@gmail.com>
1224
1225 PR 27160
1226 * section.c (struct bfd_section): Remove pattern field.
1227 (BFD_FAKE_SECTION): Adjust to suit.
1228 * bfd-in2.h: Regenerate.
1229 * elflink.c (compare_link_order, elf_fixup_link_order): Delete.
1230 (bfd_elf_final_link): Don't call elf_fixup_link_order.
1231
1232 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
1233
1234 PR binutils/26792
1235 * configure.ac: Use GNU_MAKE_JOBSERVER.
1236 * aclocal.m4: Regenerated.
1237 * configure: Likewise.
1238
1239 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
1240
1241 PR ld/27171
1242 * reloc.c (bfd_perform_relocation): Adjust R_AMD64_DIR64 and
1243 R_AMD64_DIR32 relocations for PE/x86-64 inputs.
1244
1245 2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
1246
1247 PR ld/27173
1248 * configure: Regenerated.
1249
1250 2021-01-11 Nick Clifton <nickc@redhat.com>
1251
1252 * po/fr.po: Updated French translation.
1253 * po/pt.po: Updated Portuguese translation.
1254 * po/sr.po: Updated Serbian translation.
1255 * po/uk.po: Updated Ukranian translation.
1256
1257 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
1258
1259 * configure: Regenerated.
1260
1261 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
1262
1263 PR ld/27166
1264 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle
1265 -z lam-u48 and -z lam-u57.
1266
1267 2021-01-09 Nick Clifton <nickc@redhat.com>
1268
1269 * version.m4: Change to 2.36.50.
1270 * configure: Regenerate.
1271 * po/bfd.pot: Regenerate.
1272
1273 2021-01-09 Nick Clifton <nickc@redhat.com>
1274
1275 * 2.36 release branch crated.
1276
1277 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
1278
1279 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Also set
1280 LAM_U57 when setting LAM_U48.
1281
1282 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
1283
1284 PR ld/26256
1285 PR ld/27160
1286 * elflink.c (elf_fixup_link_order): Verify that fixing up
1287 SHF_LINK_ORDER doesn't increase the output section size.
1288
1289 2021-01-09 Alan Modra <amodra@gmail.com>
1290
1291 * configure: Regenerate.
1292
1293 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
1294
1295 * configure: Regenerate.
1296
1297 2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
1298
1299 PR 27109
1300 * aix386-core.c (core_aix386_vec): Initialize
1301 keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
1302 * aout-target.h (MY (vec)): Likewise.
1303 * binary.c (binary_vec): Likewise.
1304 * cisco-core.c (core_cisco_be_vec): Likewise.
1305 (core_cisco_le_vec): Likewise.
1306 * coff-alpha.c (alpha_ecoff_le_vec): Likewise.
1307 * coff-i386.c (TARGET_SYM): Likewise.
1308 (TARGET_SYM_BIG): Likewise.
1309 * coff-ia64.c (TARGET_SYM): Likewise.
1310 * coff-mips.c (mips_ecoff_le_vec): Likewise.
1311 (mips_ecoff_be_vec): Likewise.
1312 (mips_ecoff_bele_vec): Likewise.
1313 * coff-rs6000.c (rs6000_xcoff_vec): Likewise.
1314 (powerpc_xcoff_vec): Likewise.
1315 * coff-sh.c (sh_coff_small_vec): Likewise.
1316 (sh_coff_small_le_vec): Likewise.
1317 * coff-tic30.c (tic30_coff_vec): Likewise.
1318 * coff-tic54x.c (tic54x_coff0_vec): Likewise.
1319 (tic54x_coff0_beh_vec): Likewise.
1320 (tic54x_coff1_vec): Likewise.
1321 (tic54x_coff1_beh_vec): Likewise.
1322 (tic54x_coff2_vec): Likewise.
1323 (tic54x_coff2_beh_vec): Likewise.
1324 * coff-x86_64.c (TARGET_SYM): Likewise.
1325 (TARGET_SYM_BIG): Likewise.
1326 * coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
1327 (rs6000_xcoff64_aix_vec): Likewise.
1328 * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
1329 (CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
1330 (CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
1331 * elfxx-target.h (TARGET_BIG_SYM): Likewise.
1332 (TARGET_LITTLE_SYM): Likewise.
1333 * hppabsd-core.c (core_hppabsd_vec): Likewise.
1334 * hpux-core.c (core_hpux_vec): Likewise.
1335 * i386msdos.c (i386_msdos_vec): Likewise.
1336 * ihex.c (ihex_vec): Likewise.
1337 * irix-core.c (core_irix_vec): Likewise.
1338 * mach-o-target.c (TARGET_NAME): Likewise.
1339 * mmo.c (mmix_mmo_vec): Likewise.
1340 * netbsd-core.c (core_netbsd_vec): Likewise.
1341 * osf-core.c (core_osf_vec): Likewise.
1342 * pdp11.c (MY (vec)): Likewise.
1343 * pef.c (pef_vec): Likewise.
1344 (pef_xlib_vec): Likewise.
1345 * plugin.c (plugin_vec): Likewise.
1346 * ppcboot.c (powerpc_boot_vec): Likewise.
1347 * ptrace-core.c (core_ptrace_vec): Likewise.
1348 * sco5-core.c (core_sco5_vec): Likewise.
1349 * som.c (hppa_som_vec): Likewise.
1350 * srec.c (srec_vec): Likewise.
1351 (symbolsrec_vec): Likewise.
1352 * tekhex.c (tekhex_vec): Likewise.
1353 * trad-core.c (core_trad_vec): Likewise.
1354 * verilog.c (verilog_vec): Likewise.
1355 * vms-alpha.c (alpha_vms_vec): Likewise.
1356 * vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
1357 * wasm-module.c (wasm_vec): Likewise.
1358 * xsym.c (sym_vec): Likewise.
1359 * elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
1360 isn't set.
1361 (elf_map_symbols): Don't include ignored section symbols.
1362 * elfcode.h (elf_slurp_symbol_table): Also set
1363 BSF_SECTION_SYM_USED on STT_SECTION symbols.
1364 * elflink.c (bfd_elf_final_link): Generated section symbols only
1365 when emitting relocations or reqired.
1366 * elfxx-x86.h (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
1367 * syms.c (BSF_SECTION_SYM_USED): New.
1368 * targets.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
1369 (bfd_target): Add keep_unused_section_symbols.
1370 (bfd_keep_unused_section_symbols): New.
1371 * bfd-in2.h: Regenerated.
1372
1373 2021-01-07 Nick Clifton <nickc@redhat.com>
1374
1375 PR 25713
1376 * bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
1377 absolute paths and check to see if they are longer than MAX_PATH.
1378
1379 2021-01-07 Philipp Tomsich <prt@gnu.org>
1380
1381 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zihintpause.
1382
1383 2021-01-07 Claire Xenia Wolf <claire@symbioticeda.com>
1384 Jim Wilson <jimw@sifive.com>
1385 Andrew Waterman <andrew@sifive.com>
1386 Maxim Blinov <maxim.blinov@embecosm.com>
1387 Kito Cheng <kito.cheng@sifive.com>
1388 Nelson Chu <nelson.chu@sifive.com>
1389
1390 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zba, zbb and zbc.
1391
1392 2021-01-06 H.J. Lu <hongjiu.lu@intel.com>
1393
1394 * elf32-bfin.c (bfin_check_relocs): Check bfd_link_hash_indirect.
1395 (bfinfdpic_check_relocs): Likewise.
1396
1397 2021-01-06 Alan Modra <amodra@gmail.com>
1398
1399 * elf32-score.c (s3_bfd_score_info_to_howto): Report an error
1400 on unknown r_type.
1401 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
1402
1403 2021-01-06 Alan Modra <amodra@gmail.com>
1404
1405 * config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
1406 (sparc64-*-solaris2*): Add sparc_elf64_vec and
1407 sparc_elf32_vec.
1408
1409 2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
1410
1411 * config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
1412 riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
1413 * configure.ac: Handle riscv_elf[32|64]_be_vec.
1414 * configure: Regenerate.
1415 * elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
1416 riscv_is_insn_reloc.
1417 (riscv_get_insn): RISC-V instructions are always little endian, but
1418 bfd_get may be used for big-endian, so add new riscv_get_insn to handle
1419 the insturctions.
1420 (riscv_put_insn): Likewsie.
1421 (riscv_is_insn_reloc): Check if we are relocaing an instruction.
1422 (perform_relocation): Call riscv_is_insn_reloc to decide if we should
1423 use riscv_[get|put]_insn or bfd_[get|put].
1424 (riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
1425 or bfd_[get|put]l16 for code.
1426 (riscv_elf_relocate_section): Likewise.
1427 (riscv_elf_finish_dynamic_symbol): Likewise.
1428 (riscv_elf_finish_dynamic_sections): Likewise.
1429 (_bfd_riscv_relax_call): Likewise.
1430 (_bfd_riscv_relax_lui): Likewise.
1431 (_bfd_riscv_relax_align): Likewise.
1432 (_bfd_riscv_relax_pc): Likewise.
1433 (riscv_elf_object_p): Handled for big endian.
1434 (TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
1435 * targets.c: Add riscv_elf[32|64]_be_vec.
1436 (_bfd_target_vector): Likewise.
1437
1438 2021-01-05 Alan Modra <amodra@gmail.com>
1439
1440 * elflink.c (bfd_elf_link_record_dynamic_symbol): Handle no_export
1441 for relocatable executable.
1442
1443 2021-01-05 Alan Modra <amodra@gmail.com>
1444
1445 * vms-alpha.c (_bfd_vms_slurp_egsd): Read flags after size check.
1446
1447 2021-01-05 Nelson Chu <nelson.chu@sifive.com>
1448
1449 * elfnn-riscv.c (allocate_dynrelocs): When we are generating pde,
1450 make sure gp symbol is output as a dynamic symbol.
1451
1452 2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
1453
1454 PR ld/26256
1455 * elflink.c (compare_link_order): Place unordered sections before
1456 ordered sections.
1457 (elf_fixup_link_order): Add a link info argument. Allow mixed
1458 ordered and unordered input sections for non-relocatable link.
1459 Sort the consecutive bfd_indirect_link_order sections with the
1460 same pattern. Change the offsets of the bfd_indirect_link_order
1461 sections only.
1462 (bfd_elf_final_link): Pass info to elf_fixup_link_order.
1463 * section.c (bfd_section): Add pattern.
1464 (BFD_FAKE_SECTION): Initialize pattern to NULL.
1465 * bfd-in2.h: Regenerated.
1466
1467 2021-01-04 Alexander Fedotov <alfedotov@gmail.com>
1468
1469 * elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
1470 of private flags with 0x.
1471 * elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
1472
1473 2021-01-04 Alan Modra <amodra@gmail.com>
1474
1475 PR 26822
1476 * elflink.c (elf_link_input_bfd): Use the file base name in
1477 linker generated STT_FILE symbols.
1478
1479 2021-01-04 Nelson Chu <nelson.chu@sifive.com>
1480
1481 * elfxx-riscv.c (riscv_compare_subsets): Removed static.
1482 * elfxx-riscv.h: Add declaration.
1483 * elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
1484 riscv_compare_subsets to check the orders.
1485 (riscv_skip_prefix): Removed.
1486 (riscv_prefix_cmp): Removed.
1487
1488 2021-01-04 Alan Modra <amodra@gmail.com>
1489
1490 PR 26741
1491 * elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
1492 calculating subset version length.
1493
1494 2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
1495
1496 * xcofflink.c: Correct spelling in comments.
1497
1498 2021-01-01 Alan Modra <amodra@gmail.com>
1499
1500 Update year range in copyright notice of all files.
1501
1502 For older changes see ChangeLog-2020
1503 \f
1504 Copyright (C) 2021 Free Software Foundation, Inc.
1505
1506 Copying and distribution of this file, with or without modification,
1507 are permitted in any medium without royalty provided the copyright
1508 notice and this notice are preserved.
1509
1510 Local Variables:
1511 mode: change-log
1512 left-margin: 8
1513 fill-column: 74
1514 version-control: never
1515 End:
This page took 0.062651 seconds and 4 git commands to generate.