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