]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
arm bfd.h tidy
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
f37164d7
AM
12019-09-23 Alan Modra <amodra@gmail.com>
2
3 * bfd-in.h: Move arm declaraions..
4 * cpu-arm.h: ..to here, new file..
5 * coff-arm.h: ..and here, new file..
6 * elf32-arm.h: ..and here, new file.
7 * cpu-arm.c: Include cpu-arm.h.
8 * coff-arm.c: Include cpu-arm.h and coff-arm.h.
9 * elf32-arm.c: Include cpu-arm.h and elf32-arm.h.
10 * pe-arm.c: Move function rename defines later.
11 * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early.
12 * bfd-in2.h: Regenerate.
13
79c2ce54
AM
142019-09-23 Alan Modra <amodra@gmail.com>
15
16 * bfd-in.h: Move tic6x function declaration..
17 * elf32-tic6x.h: ..to here.
18 * bfd-in2.h: Regenerate.
19
a8bfaadb
AM
202019-09-23 Alan Modra <amodra@gmail.com>
21
22 * bfd-in.h: Move aarch64 declarations and defines..
23 * cpu-aarch64.h: ..to here, new file..
24 * elfxx-aarch64.h: ..and here.
25 * cpu-aarch64.c: Include cpu-aarch64.h.
26 * elfnn-aarch64.c: Likewise.
27 * bfd-in2.h: Regenerate.
28
c348479d
AM
292019-09-23 Alan Modra <amodra@gmail.com>
30
31 * bfd-in.h: Delete ticoff function declarations.
32 * coff-tic54x.c (bfd_ticoff_set_section_load_page),
33 (bfd_ticoff_get_section_load_page): Make static.
34 * bfd-in2.h: Regenerate.
35
ca437b1b
AM
362019-09-23 Alan Modra <amodra@gmail.com>
37
38 * bfd-in.h: Move h8300 function declaration to..
39 * cpu-h8300.h: ..here, new file.
40 * cpu-h8300.c: Include cpu-h8300.h.
41 * elf32-h8300.c: Likewise.
42 * bfd-in2.h: Regenerate.
43
3352ae99
AM
442019-09-23 Alan Modra <amodra@gmail.com>
45
46 * bfd-in.h: Move ia64 function declarations..
47 * elfxx-ia64.h: ..to here.
48 * bfd-in2.h: Regenerate.
49
d48d68b6
AM
502019-09-23 Alan Modra <amodra@gmail.com>
51
52 * bfd-in.h: Move v850 function declarations..
53 * elf32-v850.h: ..to here, new file.
54 * elf32-v850.c: Include elf32-v850.h.
55 * bfd-in2.h: Regenerate.
56
7beeaeb8
AM
572019-09-23 Alan Modra <amodra@gmail.com>
58
59 * bfd-in.h: Move mips function declaration to..
60 * elfxx-mips.h: ..here.
61 * bfd-in2.h: Regenerate.
62
6e67e6b0
AM
632019-09-23 Alan Modra <amodra@gmail.com>
64
65 * bfd-in.h: Move csky function declarations to..
66 * elf32-csky.h: ..here, new file.
67 * elf32-csky.c: Include elf32-csky.h.
68 * bfd-in2.h: Regenerate.
69
9d1da81b
JW
702019-09-20 Nelson Chu <nelson.chu@sifive.com>
71
72 * elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak.
73 (riscv_record_pcgp_hi_reloc): New parameter undefined_weak.
74 Set undefined_weak field from it.
75 (relax_func_t): New parameter undefined_weak.
76 (_bfd_riscv_relax_call): New ignored parameter undefined_weak.
77 (_bfd_riscv_relax_tls_le): Likewise.
78 (_bfd_riscv_relax_align): Likewise.
79 (_bfd_riscv_relax_delete): Likewise.
80 (_bfd_riscv_relax_lui): New parameter undefined_weak. If true,
81 allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak.
82 (_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs,
83 set undefined_weak from hi_reloc. If true, allow relaxing. For LO12*
84 relocs, set rs1 to x0 when undefined_weak and change to non-pcrel
85 reloc.
86 (_bfd_riscv_relax_section): New local undefined_weak. Set for
87 undef weak relocs that can be relaxed. Pass to relax_func call.
88
a48931cc
AM
892019-09-20 Alan Modra <amodra@gmail.com>
90
91 * bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma),
92 (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
93 (bfd_section_userdata, bfd_is_com_section, discarded_section),
94 (bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros.
95 * bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit),
96 (bfd_section_list_remove, bfd_section_list_append),
97 (bfd_section_list_prepend, bfd_section_list_insert_after),
98 (bfd_section_list_insert_before, bfd_section_removed_from_list):
99 New inline functions.
100 * section.c (bfd_is_und_section, bfd_is_abs_section),
101 (bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove),
102 (bfd_section_list_append, bfd_section_list_prepend),
103 (bfd_section_list_insert_after, bfd_section_list_insert_before),
104 (bfd_section_removed_from_list): Delete macros.
105 (bfd_section_name, bfd_section_size, bfd_section_vma),
106 (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
107 (bfd_section_userdata, bfd_is_com_section, bfd_is_und_section),
108 (bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section),
109 (discarded_section): New inline functions.
110 * bfd-in2.h: Regenerate.
111
af30dc12
AM
1122019-09-20 Alan Modra <amodra@gmail.com>
113
114 * bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
115 (bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete.
116 * bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
117 (bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions.
118 * targets.c (bfd_asymbol_flavour): Likewise.
119 * bfd-in2.h: Regenerate.
120
00f93c44
AM
1212019-09-20 Alan Modra <amodra@gmail.com>
122
123 * archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
124 * bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
125 (bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
126 (bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
127 (bfd_get_file_flags, bfd_applicable_file_flags),
128 (bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
129 (bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
130 (bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
131 (bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
132 * bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
133 (bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
134 (bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
135 (bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
136 (bfd_usrdata, bfd_set_usrdata): New inline functions.
137 * targets.c (bfd_get_target, bfd_get_flavour),
138 (bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
139 (bfd_little_endian, bfd_header_big_endian),
140 (bfd_header_little_endian, bfd_applicable_section_flags),
141 (bfd_get_symbol_leading_char): New inline functions.
142 * bfd-in2.h: Regenerate.
143
e59a1001
AM
1442019-09-20 Alan Modra <amodra@gmail.com>
145
146 * elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function.
147 (ppc64_elf_relocate_section): Warn if emitting unsupported dynamic
148 relocations.
149
fd361982
AM
1502019-09-18 Alan Modra <amodra@gmail.com>
151
152 * bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
153 (bfd_get_section_lma, bfd_get_section_alignment),
154 (bfd_get_section_size, bfd_get_section_flags),
155 (bfd_get_section_userdata): Delete.
156 (bfd_section_name, bfd_section_size, bfd_section_vma),
157 (bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
158 (bfd_section_flags, bfd_section_userdata): New.
159 (bfd_is_com_section): Rename parameter.
160 * section.c (bfd_set_section_userdata, bfd_set_section_vma),
161 (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
162 (bfd_set_section_size): Delete bfd parameter, rename section parameter.
163 (bfd_set_section_lma): New.
164 * bfd-in2.h: Regenerate.
165 * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
166 update callers.
167 * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
168 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
169 * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
170 * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
171 * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
172 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
173 * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
174 * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
175 * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
176 * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
177 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
178 * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
179 * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
180 * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
181 * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
182 * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
183 * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
184 * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
185 * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
186 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
187 * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
188 * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
189 * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
190 * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
191 * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
192 * xcofflink.c: Update throughout for bfd section macro and function
193 changes.
194
e6f7f6d1
AM
1952019-09-18 Alan Modra <amodra@gmail.com>
196
197 * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
198 (bfd_get_output_section): Delete.
199 (bfd_asymbol_base): Delete.
200 (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
201 (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
202 (bfd_set_asymbol_name): New macro.
203 * bfd-in2.h: Regenerate.
204 * aout-cris.c: Update throughout to use bfd_asymbol_section.
205 * aoutx.h: Likewise.
206 * cofflink.c: Likewise.
207 * dwarf2.c: Likewise.
208 * ecoff.c: Likewise.
209 * elf.c: Likewise.
210 * elf32-arm.c: Likewise.
211 * elf32-mips.c: Likewise.
212 * elf32-score.c: Likewise.
213 * elf32-score7.c: Likewise.
214 * elfn32-mips.c: Likewise.
215 * elfnn-aarch64.c: Likewise.
216 * elfxx-mips.c: Likewise.
217 * linker.c: Likewise.
218 * pdp11.c: Likewise.
219 * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
220
e0b2a78c
SM
2212019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
222
223 * Makefile.in: Re-generate.
224 * configure: Re-generate.
225 * doc/Makefile.in: Re-generate.
226
ed48ec2e
AM
2272019-09-18 Alan Modra <amodra@gmail.com>
228
229 * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
230 macros.
231 * pdp11.c (slurp_symbol_table): Likewise.
232 * som.c (som_slurp_symbol_table): Likewise.
233 * coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
234 * coffcode.h (coff_slurp_symbol_table): Likewise.
235 * cofflink.c (_bfd_coff_final_link): Likewise.
236 * ecoff.c (ecoff_slurp_symbolic_header): Likewise.
237 (_bfd_ecoff_slurp_symbolic_info): Likewise.
238 (_bfd_ecoff_slurp_symbol_table): Likewise.
239 (_bfd_ecoff_bfd_final_link): Likewise.
240 * elf.c (_bfd_elf_canonicalize_symtab): Likewise.
241 * elflink.c (elf_link_output_symstrtab): Likewise.
242 (bfd_elf_final_link): Likewise.
243 * peicode.h (pe_ILF_build_a_bfd): Likewise.
244 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
245 * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
246 start_address or symcount using bfd_get macros.
247 * coffgen.c (coff_real_object_p): Likewise.
248 * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
249 * som.c (som_object_setup, som_slurp_symbol_table): Likewise.
250 * elfcore.h (elf_core_file_p): Don't set start_address using
251 bfd_get macro.
252 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
253 using bfd_get macro.
254 * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
255 * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
256 or symcount using bfd_get macros.
257 (_bfd_generic_final_link, generic_add_output_symbol): Likewise.
258 * syms.c (bfd_set_symtab): Likewise.
259 * vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
260 * archive.c (do_slurp_bsd_armap): Don't set has_armap using
261 bfd_has_map macro.
262 (do_slurp_coff_armap, bfd_slurp_armap): Likewise.
263 * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
264 * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
265 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
266 * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
267 * som.c (som_slurp_armap): Likewise.
268
01c2b261
AM
2692019-09-18 Alan Modra <amodra@gmail.com>
270
271 * archures.c (bfd_get_arch): Make param const.
272 (bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
273 (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
274 * bfd-in2.h: Regenerate.
275
1d38e9d1
AM
2762019-09-18 Alan Modra <amodra@gmail.com>
277
278 * bfd-in.h (carsym.name): Make const.
279 * reloc.c (struct reloc_howto_struct.name): Likewise.
280 * targets.c (bfd_target.name): Likewise.!
281 * bfd.c (bfd_get_sign_extend_vma): Make variable const.
282 * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
283 when setting carsym.name.
284 * bfd-in2.h: Regenerate.
285
90d92a63
AM
2862019-09-18 Alan Modra <amodra@gmail.com>
287
288 * mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace
289 xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an
290 error status. Adjust calls.
291 * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
292 Close bfd on failure. Replace xstrdup/bfd_alloc use with
293 bfd_malloc. Use bfd_set_filename.
294
1bdd8fac
AM
2952019-09-18 Alan Modra <amodra@gmail.com>
296
297 * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
298 (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
299 (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
300 needs_copy even if all relocs are in rw sections.
301 (dec_dynrel_count): Handle TOC16 relocs.
302 (ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
303 (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
304 semantic change.
305
bb695960
PB
3062019-09-16 Phil Blundell <pb@pbcl.net>
307
308 * version.m4: Set version to 2.33.50.
309 * Makefile.in, configure, doc/Makefile.in: Regenerated.
310
64b2d4a0
TT
3112019-09-11 Tom Tromey <tom@tromey.com>
312
313 * opncls.c (bfd_set_filename): New function.
314 * bfd-in2.h: Regenerate.
315
cb7f4b29
AM
3162019-09-11 Alan Modra <amodra@gmail.com>
317
318 * targets.c (struct bfd_target): Add _bfd_group_name.
319 (BFD_JUMP_TABLE): Likewise.
320 * coffgen.c (bfd_coff_group_name): New function.
321 * elf.c (bfd_elf_group_name): New function.
322 * linker.c (_bfd_nolink_bfd_group_name): New function.
323 * section.c (bfd_generic_group_name): New function.
324 * elf-bfd.h (bfd_elf_group_name): Declare.
325 * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare.
326 * libcoff-in.h (bfd_coff_group_name): Declare.
327 * aout-target.h (MY_bfd_group_name): Define.
328 * aout-tic30.c (MY_bfd_group_name): Define.
329 * bfd.c (bfd_group_name): Define.
330 * binary.c (binary_bfd_group_name): Define.
331 * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define.
332 * coff-mips.c (_bfd_ecoff_bfd_group_name): Define.
333 * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define.
334 * coffcode.h (coff_bfd_group_name): Define.
335 * elfxx-target.h (bfd_elfNN_bfd_group_name): Define.
336 * i386msdos.c (msdos_bfd_group_name): Define.
337 * ihex.c (ihex_bfd_group_name): Define.
338 * mach-o-target.c (bfd_mach_o_bfd_group_name): Define.
339 * mmo.c (mmo_bfd_group_name): Define.
340 * pef.c (bfd_pef_bfd_group_name): Define.
341 * plugin.c (bfd_plugin_bfd_group_name): Define.
342 * ppcboot.c (ppcboot_bfd_group_name): Define.
343 * som.c (som_bfd_group_name): Define.
344 * srec.c (srec_bfd_group_name): Define.
345 * tekhex.c (tekhex_bfd_group_name): Define.
346 * verilog.c (verilog_bfd_group_name): Define.
347 * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define.
348 * xsym.c (bfd_sym_bfd_group_name): Define.
349 * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field.
350 (rs6000_xcoff64_aix_vec): Likewise.
351 * bfd-in2.h: Regenerate.
352 * libbfd.h: Regenerate.
353 * libcoff.h: Regenerate.
354
aebcfb76
NC
3552019-09-10 Nick Clifton <nickc@redhat.com>
356
357 PR 24907
358 * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn
359 field.
360 (bfd_default_arch_struct): Initialise the new field.
361 * bfd-in2.h: Regenerate.
362 * cpu-aarch64.c: Initialise the new field.
363 * cpu-alpha.c: Likewise.
364 * cpu-arc.c: Likewise.
365 * cpu-arm.c: Likewise.
366 * cpu-avr.c: Likewise.
367 * cpu-bfin.c: Likewise.
368 * cpu-bpf.c: Likewise.
369 * cpu-cr16.c: Likewise.
370 * cpu-cr16c.c: Likewise.
371 * cpu-cris.c: Likewise.
372 * cpu-crx.c: Likewise.
373 * cpu-csky.c: Likewise.
374 * cpu-d10v.c: Likewise.
375 * cpu-d30v.c: Likewise.
376 * cpu-dlx.c: Likewise.
377 * cpu-epiphany.c: Likewise.
378 * cpu-fr30.c: Likewise.
379 * cpu-frv.c: Likewise.
380 * cpu-ft32.c: Likewise.
381 * cpu-h8300.c: Likewise.
382 * cpu-hppa.c: Likewise.
383 * cpu-i386.c: Likewise.
384 * cpu-ia64.c: Likewise.
385 * cpu-iamcu.c: Likewise.
386 * cpu-ip2k.c: Likewise.
387 * cpu-iq2000.c: Likewise.
388 * cpu-k1om.c: Likewise.
389 * cpu-l1om.c: Likewise.
390 * cpu-lm32.c: Likewise.
391 * cpu-m10200.c: Likewise.
392 * cpu-m10300.c: Likewise.
393 * cpu-m32c.c: Likewise.
394 * cpu-m32r.c: Likewise.
395 * cpu-m68hc11.c: Likewise.
396 * cpu-m68hc12.c: Likewise.
397 * cpu-m68k.c: Likewise.
398 * cpu-m9s12x.c: Likewise.
399 * cpu-m9s12xg.c: Likewise.
400 * cpu-mcore.c: Likewise.
401 * cpu-mep.c: Likewise.
402 * cpu-metag.c: Likewise.
403 * cpu-microblaze.c: Likewise.
404 * cpu-mips.c: Likewise.
405 * cpu-mmix.c: Likewise.
406 * cpu-moxie.c: Likewise.
407 * cpu-msp430.c: Likewise.
408 * cpu-mt.c: Likewise.
409 * cpu-nds32.c: Likewise.
410 * cpu-nfp.c: Likewise.
411 * cpu-nios2.c: Likewise.
412 * cpu-ns32k.c: Likewise.
413 * cpu-or1k.c: Likewise.
414 * cpu-pdp11.c: Likewise.
415 * cpu-pj.c: Likewise.
416 * cpu-plugin.c: Likewise.
417 * cpu-powerpc.c: Likewise.
418 * cpu-pru.c: Likewise.
419 * cpu-riscv.c: Likewise.
420 * cpu-rl78.c: Likewise.
421 * cpu-rs6000.c: Likewise.
422 * cpu-rx.c: Likewise.
423 * cpu-s12z.c: Likewise.
424 * cpu-s390.c: Likewise.
425 * cpu-score.c: Likewise.
426 * cpu-sh.c: Likewise.
427 * cpu-sparc.c: Likewise.
428 * cpu-spu.c: Likewise.
429 * cpu-tic30.c: Likewise.
430 * cpu-tic4x.c: Likewise.
431 * cpu-tic54x.c: Likewise.
432 * cpu-tic6x.c: Likewise.
433 * cpu-tic80.c: Likewise.
434 * cpu-tilegx.c: Likewise.
435 * cpu-tilepro.c: Likewise.
436 * cpu-v850.c: Likewise.
437 * cpu-v850_rh850.c: Likewise.
438 * cpu-vax.c: Likewise.
439 * cpu-visium.c: Likewise.
440 * cpu-wasm32.c: Likewise.
441 * cpu-xc16x.c: Likewise.
442 * cpu-xgate.c: Likewise.
443 * cpu-xstormy16.c: Likewise.
444 * cpu-xtensa.c: Likewise.
445 * cpu-z80.c: Likewise.
446 * cpu-z8k.c: Likewise.
447
60391a25
PB
4482019-09-09 Phil Blundell <pb@pbcl.net>
449
450 binutils 2.33 branch created.
451
b16c44de
AM
4522019-09-06 Alan Modra <amodra@gmail.com>
453
454 * aout-target.h (object_p): Formatting.
455 * bfd-in.h (bfd_get_filename): Don't cast to char*.
456 * corefile.c (generic_core_file_matches_executable_p): Constify
457 variables and remove cast.
458 * bfd-in2.h: Regenerate.
459
133a1f60
AM
4602019-09-05 Alan Modra <amodra@gmail.com>
461
462 * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in
463 GOT_PCREL and PLT_PCREL relocs as affecting the value stored
464 in the GOT/PLT entry rather than affecting the offset to that
465 GOI/PLT entry.
466 (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
467
77486630
AM
4682019-09-05 Alan Modra <amodra@gmail.com>
469
470 * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores
471 in second instruction.
472 (ppc64_elf_relocate_section): Likewise.
473
89bdc77e
AM
4742019-09-05 Alan Modra <amodra@gmail.com>
475
476 PR 24955
477 * libbfd-in.h (bfd_strdup): New inline function.
478 * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close
479 bfd on error.
480 * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup.
481 * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream
482 on error.
483 (bfd_openstreamr): Use bfd_strdup.
484 (bfd_openr_iovec, bfd_openw, bfd_create): Likewise.
485 * plugin.c (try_load_plugin): Use bfd_malloc.
486 * libbfd.h: Regenerate.
487
22b31fea
AM
4882019-09-02 Alan Modra <amodra@gmail.com>
489
490 PR 11983
491 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename
492 on success. Tidy.
217d2eaa
AM
493 (read_alt_indirect_string): Likewise.
494 (read_alt_indirect_ref): Likewise.
22b31fea 495
3e7bd7f2
JW
4962019-08-31 Jim Wilson <jimw@sifive.com>
497
498 PR 23825
499 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD,
500 SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
501
fdd50269
JW
5022019-08-30 Jim Wilson <jimw@sifive.com>
503
504 * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc
505 error, call bfd_set_error, set ret to FALSE, and goto out label.
506
6744bcad
L
5072019-08-30 H.J. Lu <hongjiu.lu@intel.com>
508
509 PR ld/24951
510 * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS,
511 BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive.
512
c0d9f31d
AM
5132019-08-29 Alan Modra <amodra@gmail.com>
514
515 PR 24697
516 * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
517 when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
518 R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other
519 reloc.
520
dd9b12c2
AM
5212019-08-29 Alan Modra <amodra@gmail.com>
522
523 * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset
524 on second insn, return it in poff.
525 (ppc64_elf_relocate_section): Add offset to paddi addend for
526 PCREL_OPT.
527
507685a3
JW
5282019-08-28 Jim Wilson <jimw@sifive.com>
529
530 * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs
531 section when setting max_alignment. Update comment.
532 (_bfd_riscv_relax_pc): Likewise.
533
83cf0d04
AM
5342019-08-29 Alan Modra <amodra@gmail.com>
535
536 PR 24891
537 * bfd.c (struct bfd): Add no_element_cache.
538 * archive.c (_bfd_get_elt_at_filepos): Don't add element to
539 archive cache when no_element_cache.
540 (bfd_generic_archive_p): Set no_element_cache when opening first
541 element to check format. Close first element too.
542 (do_slurp_bsd_armap): Don't zero ardata->cache here.
543 * bfd-in2.h: Regenerate.
544
6d5554a6
AM
5452019-08-24 Alan Modra <amodra@gmail.com>
546
547 * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
548 symbols from GOT optimisation.
549
09f7b0de
SH
5502019-08-23 Stafford Horne <shorne@gmail.com>
551
552 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
553 PLT GOT entries.
554
a7ba3896
NC
5552019-08-23 Nick Clifton <nickc@redhat.com>
556
557 PR 24456
558 * elf.c (bfd_section_from_shdr): Issue an informative warning
559 message and continue processing other sections after encountering
560 a reloc section for a section which already has other relocs
561 associated with it.
562
2600d80c
AM
5632019-08-23 Alan Modra <amodra@gmail.com>
564
565 PR 24933
566 * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
567 on error without freeing plts[] contents.
568
0535e5d7
DZ
5692019-08-22 Dennis Zhang <dennis.zhang@arm.com>
570
571 * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
572
03da31c6
NC
5732019-08-22 Nick Clifton <nickc@redhat.com>
574
575 PR 24922
576 * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
577 reading data from extra records.
578
652afeef
TC
5792019-08-22 Tamar Christina <tamar.christina@arm.com>
580
581 PR ld/24601
582 * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS.
583 Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation.
584 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it.
585 * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning
586 for weak TLS.
587
baf46cd7
AM
5882019-08-22 Alan Modra <amodra@gmail.com>
589
590 * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL,
591 instead recognize CMSE_PREFIX in symbol name.
592 (elf32_arm_gc_mark_extra_sections): Likewise.
593 (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL.
594 (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL.
595
546053ac
DZ
5962019-08-20 Dennis Zhang <dennis.zhang@arm.com>
597
598 * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
599 Cortex-A77, cortex-A65AE, and Cortex-A76AE.
600
b4e87f2c
TC
6012019-08-20 Tamar Christina <tamar.christina@arm.com>
602
603 * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
604 elf32_arm_stub_long_branch_v4t_thumb_thumb,
605 elf32_arm_stub_long_branch_v4t_thumb_arm,
606 elf32_arm_stub_short_branch_v4t_thumb_arm,
607 elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
608 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
609 elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
610 previous instruction.
611
3eb185c9
TT
6122019-08-19 Tom Tromey <tromey@adacore.com>
613
614 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
615 holding symbols.
616
903b777d
AM
6172019-08-19 Alan Modra <amodra@gmail.com>
618
619 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
620 to has_optrel.
621 (struct _ppc64_elf_section_data): Likewise.
622 (ppc64_elf_check_relocs): Set has_optrel for more relocs.
623 (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
624 than TOC loop. Check PLT16 insns too.
625
81e8046d
L
6262019-08-16 H.J. Lu <hongjiu.lu@intel.com>
627
628 PR ld/24905
629 * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
630 PC-relative relocations back to ...
631 (elf_x86_64_relocate_section): Here.
632
b4c555cf
ML
6332019-08-16 Martin Liska <mliska@suse.cz>
634
635 PR ld/24912
636 * elflink.c: Report error only for not relocatable.
637 * linker.c (_bfd_generic_link_add_one_symbol): Do not handle
638 here lto_slim_object as it's handled in caller.
639
63f6e94f
AM
6402019-08-16 Alan Modra <amodra@gmail.com>
641
642 * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
643
080a4883
JW
6442019-08-15 Jim Wilson <jimw@sifive.com>
645
646 * elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
647 RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
648 to c.li instruction, and use ENCODE_RVC_IMM to set value.
649
05192282
TT
6502019-08-15 Tom Tromey <tromey@adacore.com>
651
652 * dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
653 of section.
654
dfc19da6
AM
6552019-08-14 Alan Modra <amodra@gmail.com>
656
657 PR 24623
658 * dwarf2.c (stash_comp_unit): New function, extracted from..
659 (_bfd_dwarf2_find_nearest_line): ..here.
660 (find_abstract_instance): Parse comp units and decode line info
661 as needed.
662
c327a44f
AM
6632019-08-14 Alan Modra <amodra@gmail.com>
664
665 * dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
666 (comp_unit_find_nearest_line): Use it here..
667 (_bfd_dwarf2_find_symbol_bias): ..and here.
668
9defd221
AM
6692019-08-14 Alan Modra <amodra@gmail.com>
670
671 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
672 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
673 * coffgen.c (coff_find_nearest_line_with_names): Adjust
674 _bfd_dwarf2_find_nearest_line calls.
675 * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
676 * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
677 * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
678 * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
679 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
680 * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
681 * libbfd.h: Regenerate.
682
f16a9783
MS
6832019-08-09 Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com>
684
685 * elf-bfd.h (struct elf_backend_data): New members.
686 * elflink.c (_bfd_elf_link_create_dynamic_sections): Create
687 .gnu.hash section if necessary.
688 (struct collect_gnu_hash_codes): New member.
689 (elf_gnu_hash_process_symidx): New function name.
690 (elf_renumber_gnu_hash_syms): Ignore local and undefined
691 symbols. Record xlat location for every symbol which should have
692 a .MIPS.xhash entry.
693 (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
694 dynamic section if necessary.
695 (GNU_HASH_SECTION_NAME): New define.
696 (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
697 Update the section size info.
698 * elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
699 (struct mips_elf_link_hash_entry): New member.
700 (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
701 table location.
702 (mips_elf_sort_hash_table): Initialize the pointer to the
703 .MIPS.xhash section.
704 (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
705 translation table entry with the symbol dynindx.
706 (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
707 (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
708 info.
709 (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
710 section.
711 (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
712 dynamic section.
713 (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
714 (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
715 sh_link info.
716 (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
717 (MIPS_LIBC_ABI_XHASH): New ABI version enum value.
718 (_bfd_mips_post_process_headers): Mark the ABI version as
719 MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
720 but not a .hash section.
721 (_bfd_mips_elf_record_xhash_symbol): New function. Record a
722 position in the translation table, associated with the hash
723 entry.
724 * elfxx-mips.h (literal_reloc_p): Define
725 elf_backend_record_xhash_symbol backend hook.
726 * elfxx-target.h: Initialize elf_backend_record_xhash_symbol
727 backend hook.
728
fc8de8e2
JM
7292019-08-07 Jose E. Marchesi <jose.marchesi@oracle.com>
730
731 * elf64-bpf.c (bpf_elf_relocate_section): New function.
732 (bpf_elf_insn_disp_reloc): Delete function.
733 (elf_backend_relocate_section): Define.
734
97b031c5
AM
7352019-08-07 Alan Modra <amodra@gmail.com>
736
737 PR 24644
738 * archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
739 for overflow in expressions involving nsymz.
740
0f52d45a
JW
7412019-08-01 Ilia Diachkov <ilia.diachkov@optimitech.com>
742
743 * elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
744 two pages in relro presence.
745
e0d0c518
MF
7462019-08-01 Max Filippov <jcmvbkbc@gmail.com>
747
748 * elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
749 (get_wsr_lbeg_opcode): New functions.
750 (check_loop_aligned): Detect relaxed loops and adjust loop_len
751 and insn_len for the first actual instruction of the loop.
752
34d5c40a
AM
7532019-07-30 Alan Modra <amodra@gmail.com>
754
755 PR 24768
756 * bfd.c (struct bfd): Add lto_slim_object flag.
757 * bfd-in2.h: Regenerate.
758
cc5277b1
ML
7592019-07-29 Martin Liska <mliska@suse.cz>
760
761 PR 24768
762 * archive.c (_bfd_compute_and_write_armap): Come up with
763 report_plugin_err variable.
764 * bfd-in2.h (struct bfd): Add lto_slim_object flag.
765 * elf.c (struct lto_section): New.
766 (_bfd_elf_make_section_from_shdr): Parse content of
767 .gnu_lto_.lto section.
768 * elflink.c: Report error for a missing LTO plugin.
769 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
770
4538d1c7
AM
7712019-07-28 Alan Modra <amodra@gmail.com>
772
773 PR 24857
774 PR 24339
775 * elflink.c (elf_link_add_object_symbols): Report an informative
776 error on finding local symbols with index equal or greater than
777 symbol table sh_info. Correct comment. Allow such symbols in
778 dynamic objects. Abort on NULL section for symbol.
779
6dd17ae0
AM
7802019-07-26 Alan Modra <amodra@gmail.com>
781
782 * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
783 (elf_linker): Don't define.
784 * elflink.c (bfd_elf_final_link): Don't set elf_linker.
785
c7c860d2
YS
7862019-07-25 YunQiang Su <syq@debian.org>
787
788 PR 24832
789 * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
790 mips inputs.
791
95967518
CZ
7922019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
793
794 * elf32-arc.c (bfd_get_32_me): Add a small description, fix
795 formating.
796 (reloc_type_to_name): Fix formating.
797 (arc_elf_object_p): Likewise.
798 (debug_arc_reloc): Likewise.
799 (arc_do_relocation): Likewise.
800
ef551643
CZ
8012019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
802
803 * elf32-arc.c (bfd_get_32_me): New function.
804 (bfd_put_32_me): Likewise.
805 (arc_elf_relax_section): Likewise.
806 (bfd_elf32_bfd_relax_section): Define.
807
cc364be6
AM
8082019-07-24 Alan Modra <amodra@gmail.com>
809
810 * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
811 elf_backend_final_write_processing, don't pass linker arg.
812 (_bfd_elf_final_write_processing): Update prototype.
813 * elf.c (_bfd_elf_write_object_contents): Adjust call.
814 (_bfd_elf_final_write_processing): Return error on incompatible
815 OSABI and has_gnu_osabi. Remove linker arg.
816 * elf-nacl.h (nacl_final_write_processing): Update prototype.
817 * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
818 * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
819 (_bfd_mips_elf_final_write_processing): Likewise.
820 * elf-hppa.h (elf_hppa_final_write_processing): Return status
821 and remove linker arg.
822 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
823 * elf-nacl.c (nacl_final_write_processing): Likewise.
824 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
825 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
826 * elf32-arm.c (arm_final_write_processing): Likewise.
827 (elf32_arm_final_write_processing): Likewise.
828 (elf32_arm_nacl_final_write_processing): Likewise.
829 (elf32_arm_vxworks_final_write_processing): Likewise.
830 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
831 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
832 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
833 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
834 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
835 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
836 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
837 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
838 * elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
839 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
840 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
841 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
842 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
843 * elf32-ppc.c (ppc_final_write_processing): Likewise.
844 (ppc_elf_final_write_processing): Likewise.
845 (ppc_elf_vxworks_final_write_processing): Likewise.
846 * elf32-sparc.c (sparc_final_write_processing): Likewise.
847 (elf32_sparc_final_write_processing): Likewise.
848 (elf32_sparc_vxworks_final_write_processing): Likewise.
849 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
850 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
851 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
852 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
853 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
854 * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
855 (_bfd_mips_elf_final_write_processing): Likewise.
856
c5e20471
AM
8572019-07-24 Alan Modra <amodra@gmail.com>
858
859 * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
860 early.
861 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
862 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
863
7613ca5e
AM
8642019-07-24 Alan Modra <amodra@gmail.com>
865
866 * elf32-visium.c (visium_elf_post_process_headers): Don't set
867 EI_OSABI header byte here.
868 (ELF_OSABI): Define.
869
df3a023b
AM
8702019-07-23 Alan Modra <amodra@gmail.com>
871
872 * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
873 * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
874 (get_program_header_size): Formatting. Only test SH_GNU_MBIND
875 when elf_gnu_osabi_mbind is set.
876 (_bfd_elf_map_sections_to_segments): Likewise.
877 (_bfd_elf_init_private_section_data): Likewise.
878 (_bfd_elf_final_write_processing): Update comment.
879 * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
880 (elf_backend_special_sections): Define without .tbss for linux.
881
06f44071
AM
8822019-07-23 Alan Modra <amodra@gmail.com>
883
884 * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
885 Remove none, any, all enums.
886 (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
887 (_bfd_elf_final_write_processing): Declare.
888 * elf.c (_bfd_elf_write_object_contents): Unconditionally call
889 elf_backend_final_write_processing.
890 (_bfd_elf_post_process_headers): Move body of function to..
891 (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
892 only when not already set. Adjust for rename.
893 * elfxx-target.h (elf_backend_final_write_processing): Default to
894 _bfd_elf_final_write_processing.
895 * elf-hppa.h (elf_hppa_final_write_processing): Call
896 _bfd_elf_final_write_processing.
897 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
898 * elf-nacl.c (nacl_final_write_processing): Likewise.
899 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
900 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
901 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
902 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
903 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
904 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
905 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
906 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
907 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
908 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
909 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
910 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
911 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
912 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
913 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
914 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
915 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
916 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
917 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
918 * elf32-arm.c (arm_final_write_processing): Split out from..
919 (elf32_arm_final_write_processing): ..here. Call
920 _bfd_elf_final_write_processing.
921 (elf32_arm_nacl_final_write_processing): Adjust.
922 * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
923 (_bfd_mips_elf_final_write_processing): ..here. Call
924 _bfd_elf_final_write_processing.
925 * elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
926 * elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
927 * elf32-ppc.c (ppc_final_write_processing): Split out from..
928 (ppc_elf_final_write_processing): ..here. Call
929 _bfd_elf_final_write_processing.
930 (ppc_elf_vxworks_final_write_processing): Adjust.
931 * elf32-sparc.c (sparc_final_write_processing): Split out from..
932 (elf32_sparc_final_write_processing): ..here. Call
933 _bfd_elf_final_write_processing.
934 (elf32_sparc_vxworks_final_write_processing): Adjust.
935 * elf32-d10v.c (elf_backend_final_write_processing): Don't define.
936 * elf32-d30v.c (elf_backend_final_write_processing): Don't define.
937 * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
938 * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
939 * elf32-s12z.c (elf_backend_final_write_processing): Don't define.
940 * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
941 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
942 * elflink.c (elf_link_add_object_symbols): Likewise.
943 (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
944 instead.
945
1dd1bc4d
OM
9462019-07-23 Omar Majid <omajid@redhat.com>
947
948 * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
949 I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
950 AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
951 AMD64_NETBSD_MAGIC.
952 * peXXigen.c: Add comment about source of .NET magic numbers.
953
c213164a
AM
9542019-07-19 Alan Modra <amodra@gmail.com>
955
956 * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
957 (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
958 (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
959 (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
960 * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
961 (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
962 (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
963 (ppc64_elf_check_relocs): Support pcrel tls relocs.
964 (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
965 * bfd-in2.h: Regenerate.
966 * libbfd.h: Regenerate.
967
71c4e95a
AM
9682019-07-18 Alan Modra <amodra@gmail.com>
969
970 * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
971 a TLS section symbol for edited relocs. Tighten TLS symbol/reloc
972 match test.
973
46e9995a
AM
9742019-07-18 Alan Modra <amodra@gmail.com>
975
976 * elf64-ppc.c (TLS_EXPLICIT): Define as 256.
977 (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
978 is more than 8 bits.
979 (ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and
980 tls_type vars unsigned int.
981 (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
982 to select r_type edit.
983
b00a0a86
AM
9842019-07-18 Alan Modra <amodra@gmail.com>
985
986 * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
987 Correct comment.
988 * elf64-ppc.c (TLS_GDIE): Likewise.
989
0b147428
AM
9902019-07-18 Alan Modra <amodra@gmail.com>
991
992 * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
993 range of tp-relative offsets.
994
5b9d7a9a
AM
9952019-07-15 Alan Modra <amodra@gmail.com>
996
997 * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
998 alias is no longer bfd_link_hash_defined, clear the alias.
999
f26a3287
AM
10002019-07-13 Alan Modra <amodra@gmail.com>
1001
1002 * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
1003 tls_sec.
1004 (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
1005 (_bfd_elf_init_2_index_sections): Likewise.
1006 * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
1007 relocations for local TLS symbols, use STN_UNDEF as the relocation
1008 symbol.
1009 * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
1010 leave TLS symbol value in the addend.
1011
62a47958
AM
10122019-07-08 Alan Modra <amodra@gmail.com>
1013
1014 PR 24785
1015 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
1016 size before reading first word.
1017
1faa385f
NC
10182019-07-02 Nick Clifton <nickc@redhat.com>
1019
1020 PR 24717
1021 * elf.c (is_debuginfo_file): New function.
1022 (assign_file_positions_for_non_load_sections): Do not warn about
1023 allocated sections outside of loadable segments if they are found
1024 in a debuginfo file.
1025 * elf-bfd.h (is_debuginfo_file): Prototype.
1026
125f83f6
NC
10272019-07-02 Nick Clifton <nickc@redhat.com>
1028
1029 PR 24753
1030 * compress.c (bfd_get_full_section_contents): Do not complain
1031 about linker created sections that are larger than the file size.
1032
4d83e8d9
CL
10332019-07-02 Christophe Lyon <christophe.lyon@linaro.org>
1034
1035 * bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
1036 (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
1037 for CMSE stubs.
1038 (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
1039
bb32413f
SP
10402019-07-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
1041
1042 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
1043 sections when .text section contain secure entry functions
1044 is marked.
1045
539300fb
NC
10462019-07-01 Nick Clifton <nickc@redhat.com>
1047
1048 PR 23839
1049 * elf32-arm.c (elf32_arm_update_relocs): Do not include the
1050 section VMA in the offset used to update exidx relocs.
1051
7e56c51c
NC
10522019-06-28 Nick Clifton <nickc@redhat.com>
1053
1054 PR 24708
1055 * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
1056 large version reference section.
1057 * compress.c (bfd_get_full_section_contents): Check for an
1058 uncompressed section whose size is larger than the file size.
1059
999d6dff
AM
10602019-06-28 Alan Modra <amodra@gmail.com>
1061
1062 * format.c (bfd_check_format_matches): Don't match plugin target
1063 if another target matches. Expand comment.
1064 * targets.c (_bfd_target_vector): Move plugin_vec after all other
1065 non-corefile targets, outside !SELECT_VECS.
1066 * config.bfd: Don't handle targ=plugin here.
1067 * configure.ac: Don't add plugin to enable_targets or handle in
1068 target loop setting selvecs and other target vars.
1069 * configure: Regenerate.
1070
a68aa5d3
NC
10712019-06-26 Nick Clifton <nickc@redhat.com>
1072
1073 PR 24703
1074 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
1075 messages for failures.
1076 * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
1077 if returning an error value.
1078
ab9f654c
JB
10792019-06-25 Jan Beulich <jbeulich@suse.com>
1080
1081 * elf-properties.c (elf_find_and_remove_property): Rename last
1082 parameter. Mention it in comment.
1083
04b865dc
JW
10842019-06-24 Ilia Diachkov <ilia.diachkov@optimitech.com>
1085
1086 * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
1087 SEC_MERGE or SEC_CODE flags are set.
1088 (_bfd_riscv_relax_section): New local symtype. Set sym_sec and
1089 symtype consistently. Don't include sec_addr (sym_sec) in symval.
1090 Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
1091 Add sec_addr (sym_sec) after handling merge sections.
1092
f93ab3a0
L
10932019-06-24 H.J. Lu <hongjiu.lu@intel.com>
1094
1095 PR ld/24721
1096 * elf-properties.c (elf_merge_gnu_property_list): Remove the
1097 property after reporting property removal.
1098
bb22a418
AM
10992019-06-23 Alan Modra <amodra@gmail.com>
1100
1101 PR 24704
1102 * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
1103 (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
1104 Reduce range of offsets allowed for other GOT relocs.
1105
14b2a8e4
AM
11062019-06-23 Alan Modra <amodra@gmail.com>
1107
1108 PR 24689
1109 * elfcode.h (elf_object_p): Warning fix.
1110
890f750a
AM
11112019-06-21 Alan Modra <amodra@gmail.com>
1112
1113 PR 24689
1114 * elfcode.h (elf_object_p): Check type of e_shstrndx section.
1115
6f5601c4
AM
11162019-06-19 Alan Modra <amodra@gmail.com>
1117
1118 PR 24697
1119 * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
1120 R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset.
1121
4a4e7361
AM
11222019-06-19 Alan Modra <amodra@gmail.com>
1123
1124 * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
1125 functions that require r2 valid to use local entry.
1126 (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
1127
39c05d94
SN
11282019-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
1129
1130 * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
1131 (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
1132 with elfNN_aarch64_allocate_local_dynrelocs.
1133
e30d1fa1
SN
11342019-06-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
1135
1136 * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
1137
3a3a077c
AM
11382019-06-14 Alan Modra <amodra@gmail.com>
1139
1140 * Makefile.in: Regenerate.
1141 * configure: Regenerate.
1142
d4b87b1e
AM
11432019-06-14 Alan Modra <amodra@gmail.com>
1144
1145 * elf64-ppc.c: Fix comments involving paddi.
1146
62e0492f
AL
11472019-06-12 Adam Lackorzymski <adam@os.inf.tu-dresden.de>
1148
1149 PR 24643
1150 * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
1151 absent, or the bfd is not in the ELF formart.
1152 * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
1153
58e07198
CZ
11542019-06-10 Christos Zoulas <christos@zoulas.com>
1155
1156 PR 24650
1157 * elf.c (elfcore_make_auxv_note_section): New function.
1158 (elfcore_grok_note): Use it.
1159 (elfcore_grok_freebsd_note): Likewise.
1160 (elfcore_grok_openbsd_note): Likewise.
1161 (elfcore_grok_netbsd_note): Likewise. Plus add support for
1162 NT_NETBSDCORE_AUXV notes.
1163
237df8fe
SD
11642019-06-06 Sudakshina Das <sudi.das@arm.com>
1165
1166 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
1167 alignment of the new gnu property section.
1168
8bf6d176
SD
11692019-06-06 Sudakshina Das <sudi.das@arm.com>
1170
1171 * bfd-in.h: Change comment.
1172 * bfd-in2.h: Regenerate.
1173 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
1174 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
1175 Likwise.
1176
1e129bbe
FS
11772019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
1178
1179 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
1180 Remove overflow check.
1181
0f4a61b4
AM
11822019-05-28 Alan Modra <amodra@gmail.com>
1183
1184 PR 24596
1185 * cofflink.c (coff_link_check_archive_element): Don't assume
1186 element is a coff object file after calling add_archive_element.
1187
94667ab1
AM
11882019-05-28 Alan Modra <amodra@gmail.com>
1189
1190 PR 24596
1191 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
1192 attempt to set sh_entsize for excluded PLT section.
1193
28fbeab8
AM
11942019-05-28 Alan Modra <amodra@gmail.com>
1195
1196 PR 24596
1197 * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
1198 to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
1199 allocated in alpha_dynamic_entries_for_reloc.
1200
a0f6fd21
AM
12012019-05-28 Alan Modra <amodra@gmail.com>
1202
1203 PR 24596
1204 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
1205 on NULL output_section.
1206 * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
1207
c83004d5
AM
12082019-05-28 Alan Modra <amodra@gmail.com>
1209
1210 PR 24596
1211 * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
1212 entry when MUST_FIND. Abort when MUST_FIND not found.
1213 (elf_m68k_get_bfd2got_entry): Likewise.
1214 (elf_m68k_relocate_section): Remove now useless assert.
1215
586338b8
AM
12162019-05-28 Alan Modra <amodra@gmail.com>
1217
1218 PR 24596
1219 * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
1220 from bfd_link_info, not an output section owner.
1221 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
1222 (elf_hppa_final_link_relocate): Likewise.
1223
a7b34aba
AM
12242019-05-28 Alan Modra <amodra@gmail.com>
1225
1226 PR 24596
1227 * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
1228 create_object_symbols_section, obj_textsec, obj_datasec or
1229 obj_bsssec. Fix other errors in placement.
1230 * config.bfd: Obsolete tic30-aout.
1231
0eb32b6e
AM
12322019-05-28 Alan Modra <amodra@gmail.com>
1233
1234 PR 24596
1235 * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
1236 end of section list as well as section_count.
1237 * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
1238 section list before returning error.
1239
ce5aecf8
AM
12402019-05-27 Alan Modra <amodra@gmail.com>
1241
1242 * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
1243
3d7d6a6f
AM
12442019-05-27 Alan Modra <amodra@gmail.com>
1245
1246 PR 24596
1247 * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
1248
823710d5
SN
12492019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
1250
1251 * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
1252 (struct elf_aarch64_link_hash_table): Add variant_pcs member.
1253 (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
1254 (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
1255 (elf_backend_merge_symbol_attribute): Define.
1256
405b5bd8
AM
12572019-05-24 Alan Modra <amodra@gmail.com>
1258
1259 * po/SRC-POTFILES.in: Regenerate.
1260
04bdff6a
AM
12612019-05-24 Alan Modra <amodra@gmail.com>
1262
1263 * elf64-ppc.c: Comment on powerxx _notoc stub variants.
1264 (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
1265 (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
1266 (struct ppc_link_hash_table): Add powerxx_stubs.
1267 (ppc64_elf_check_relocs): Set powerxx_stubs.
1268 (build_powerxx_offset, size_powerxx_offset),
1269 (num_relocs_for_powerxx_offset),
1270 (emit_relocs_for_powerxx_offset): New functions.
1271 (plt_stub_size): Size powerxx stubs.
1272 (ppc_build_one_stub): Emit powerxx stubs.
1273 (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
1274 powerxx stubs.
1275
4a421c53
AM
12762019-05-24 Alan Modra <amodra@gmail.com>
1277
1278 * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
1279 R_PPC64_GOT_PCREL34.
1280 (xlate_pcrel_opt): New function.
1281 (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
1282 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
1283 for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
1284
5663e321
AM
12852019-05-24 Alan Modra <amodra@gmail.com>
1286
1287 * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
1288 (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
1289 (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
1290 (BFD_RELOC_PPC64_PLT_PCREL34),
1291 (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
1292 (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
1293 (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
1294 (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
1295 (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
1296 * elf64-ppc.c (PNOP): Define.
1297 (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
1298 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
1299 (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
1300 relocs.
1301 (ppc64_elf_prefix_reloc): New function.
1302 (struct ppc_link_hash_table): Add notoc_plt.
1303 (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
1304 (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
1305 R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
1306 (ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
1307 has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
1308 possible need for dynamic relocs on non-pcrel powerxx relocs.
1309 (dec_dynrel_count): Handle non-pcrel powerxx relocs.
1310 (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
1311 (toc_adjusting_stub_needed): Likewise.
1312 (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
1313 (ppc64_elf_relocate_section): Handle new powerxx relocs.
1314 * bfd-in2.h: Regenerate.
1315 * libbfd.h: Regenerate.
1316
fd0de36e
JM
13172019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1318
45d5293f
JM
1319 * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
1320 * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
1321 bpf_elf64_be_vec.
1322 * configure: Regenerate.
1323
13242019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1325
fd0de36e
JM
1326 * configure: Regenerated.
1327 * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
1328 (ALL_MACHINES_CFILES): Add cpu-bpf.c.
1329 (BFD64_BACKENDS): Add elf64-bpf.lo.
1330 (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
1331 * Makefile.in (SOURCE_HFILES): Regenerate.
1332 * config.bfd (targ_cpu): Handle bpf-*-* targets.
1333 * cpu-bpf.c: New file.
1334 * elf64-bpf.c: Likewise.
1335 * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
1336 bpf_elf64_le_vec.
1337 * archures.c: Define architecture bfd_arch_bpf and machine
1338 bfd_arch_bpf.
1339 * reloc.c: Define BFD relocations used by the BPF target.
1340 * bfd-in2.h: Regenerated.
1341 * libbfd.h: Likewise.
1342
b0f4fbf8
AM
13432019-05-22 Alan Modra <amodra@gmail.com>
1344
1345 * elf32-arm.c (arm_allocate_glue_section_space): Clear section
1346 contents.
1347
9ec2f606
AM
13482019-05-22 Alan Modra <amodra@gmail.com>
1349
1350 * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
1351 processing on "size error in section".
1352
4decd602
AM
13532019-05-22 Alan Modra <amodra@gmail.com>
1354
1355 * som.c (som_bfd_free_cached_info): Call
1356 _bfd_generic_close_and_cleanup.
1357
b474a202
FS
13582019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
1359
1360 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
1361 for TLS_TPREL_HI16(/LO16) relocations in shared library.
1362
304f09d0
FS
13632019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
1364
1365 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
1366 checks. Search the RELA table for n64 relocations.
1367
3734320d
MF
13682019-05-21 Matthew Fortune <matthew.fortune@mips.com>
1369 Faraz Shahbazker <fshahbazker@wavecomp.com>
1370
1371 * elfxx-mips.c (LA25_BC): New macro.
1372 (mips_elf_link_hash_table)<compact_branches>: New field.
1373 (STUB_JALRC): New macro.
1374 (mipsr6_o32_exec_plt0_entry_compact): New array.
1375 (mipsr6_n32_exec_plt0_entry_compact): Likewise.
1376 (mipsr6_n64_exec_plt0_entry_compact): Likewise.
1377 (mipsr6_exec_plt_entry_compact): Likewise.
1378 (mips_elf_create_la25_stub): Use BC instead of J for stubs
1379 when compact_branches is true.
1380 (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
1381 PLT for MIPSR6 with compact_branches. Do not reorder the
1382 compact branches PLT. Switch the lazy stub for MIPSR6
1383 with compact_branches to use JALRC.
1384 (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
1385 when compact_branches is true.
1386 (_bfd_mips_elf_compact_branches): New function.
1387 * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
1388
64672071
TC
13892019-05-21 Tamar Christina <tamar.christina@arm.com>
1390
1391 PR ld/24373
1392 * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
1393 Fix print formatter.
1394
e6f65e75
AV
13952019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
1396
1397 PR 24460
1398 * elf32-arm.c (get_value_helper): Remove.
1399 (elf32_arm_final_link_relocate): Fix branch future relocations.
1400
739b5c9c
TC
14012019-05-21 Tamar Christina <tamar.christina@arm.com>
1402
1403 PR ld/24373
1404 * bfd-in.h (enum erratum_84319_opts): New
1405 (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
1406 int to enum erratum_84319_opts.
1407 * bfd-in2.h: Regenerate.
1408 * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
1409 fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
1410 (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
1411 (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
1412 (_bfd_aarch64_resize_stubs): Amend comment.
1413 (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
1414 requested.
1415 (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
1416 (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
1417 erratum workaround.
1418 (clear_erratum_843419_entry): Update erratum conditional.
1419
7622049e
SKS
14202019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
1421
1422 PR ld/24571
1423 * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
1424 when computing distance_short_enough.
1425
338ba755
SKS
14262019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
1427
1428 PR ld/24564
1429 * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
1430 Wrap around even if distance equals avr_pc_wrap_around.
1431
999b073b
NC
14322019-05-20 Nick Clifton <nickc@redhat.com>
1433
1434 * po/fr.po: Updated French translation.
1435
a7ad558c
AV
14362019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1437
1438 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
1439
a2699ef2
AM
14402019-05-16 Alan Modra <amodra@gmail.com>
1441
1442 * elf32-arm.c (elf32_arm_write_section): Revert last change.
1443
3a1bb98c
AM
14442019-05-15 Alan Modra <amodra@gmail.com>
1445
1446 * elf32-arm.c (elf32_arm_write_section): Don't leave
1447 error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
1448 unitialised section contents.
1449
37d0d091
JH
14502019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
1451
1452 PR 19921
1453 * verilog.c: (VerilogDataWidth): New variable.
1454 (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
1455
79299211
NC
14562019-05-08 Nick Clifton <nickc@redhat.com>
1457
1458 PR 24523
1459 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
1460 rather than FALSE if encountering a non-ELF file.
1461
e1cbf07a
AM
14622019-05-06 Alan Modra <amodra@gmail.com>
1463
1464 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
1465
334d91b9
AM
14662019-05-06 Alan Modra <amodra@gmail.com>
1467
1468 * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
1469 (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
1470 Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
1471 * libbfd.h: Regenerate.
1472 * bfd-in2.h: Regenerate.
1473
a288c270
AM
14742019-05-04 Alan Modra <amodra@gmail.com>
1475
1476 PR 24511
1477 * syms.c (coff_section_type): Only allow '.', '$' and numeric
1478 following the standard section names.
1479 (bfd_decode_symclass): Prioritize section flag tests in
1480 decode_section_type before name tests in coff_section_type.
1481 * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
1482 and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
1483 their names and choose standard .text section flags for
1484 fake_section.
1485
2cdc1a97
NC
14862019-05-02 Nick Clifton <nickc@redhat.com>
1487
1488 PR 24493
1489 * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
1490 .gnu.debugaltlink sections as debugging sections.
1491
066f4018
AM
14922019-04-30 Alan Modra <amodra@gmail.com>
1493
1494 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
1495 (struct _ppc64_elf_section_data): Likewise.
1496 (ppc64_elf_check_relocs): Set above fields.
1497 (ppc64_elf_edit_toc): Add a pass over GOT relocs.
1498 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
1499 when possible.
1500
c54f1524
L
15012019-04-26 H.J. Lu <hongjiu.lu@intel.com>
1502
1503 PR ld/24486
1504 * elflink.c (elf_link_output_extsym): Don't complain undefined
1505 weak dynamic reference.
1506
68bb0359
SD
15072019-04-25 Sudakshina Das <sudi.das@arm.com>
1508
1509 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
1510 (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
1511 (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
1512 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
1513 (elfNN_aarch64_small_plt0_pac_entry): Remove.
1514 (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
1515 (elfNN_aarch64_small_plt0_bti_entry): Update.
1516 (elfNN_aarch64_small_plt_bti_entry): Update.
1517 (elfNN_aarch64_small_plt_pac_entry): Update.
1518 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
1519 (setup_plt_values): Setup new entries.
1520 (elfNN_aarch64_finish_dynamic_sections): Remove size change.
1521 (elfNN_aarch64_plt_sym_val): Likewise.
1522
79b8e8ab
JW
15232019-04-22 Jim Wilson <jimw@sifive.com>
1524
1525 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
1526
fce97736
AM
15272019-04-19 Alan Modra <amodra@gmail.com>
1528
1529 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
1530
9a7f0679
L
15312019-04-17 H.J. Lu <hongjiu.lu@intel.com>
1532
1533 * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
1534 building shared object.
1535 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
1536
4e84a8f8
L
15372019-04-17 H.J. Lu <hongjiu.lu@intel.com>
1538
1539 PR ld/24458
1540 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
1541 linker_def.
1542
32c36c3c
AV
15432019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1544
1545 * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
1546 relocation.
1547 * bfd-in2.h: Regenerate.
1548 * libbfd.h: Likewise.
1549
60f993ce
AV
15502019-04-15 Sudakshina Das <sudi.das@arm.com>
1551
1552 * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
1553 * bfd-in2.h: Regenerated.
1554 * libbfd.h: Regenerated.
1555
f6b2b12d
AV
15562019-04-15 Sudakshina Das <sudi.das@arm.com>
1557
1558 * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
1559 * bfd-in2.h: Regenerated.
1560 * libbfd.h: Likewise.
1561
1889da70
AV
15622019-04-15 Sudakshina Das <sudi.das@arm.com>
1563
1564 * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
1565 * bfd-in2.h: Regenerated.
1566 * libbfd.h: Regenerated.
1567 * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
1568 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
1569 and R_ARM_THM_BF12 together.
1570 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
1571
1caf72a5
AV
15722019-04-15 Sudakshina Das <sudi.das@arm.com>
1573
1574 * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
1575 * libbfd.h: Regenerated.
1576 * bfd-in2.h: Regenerated.
1577 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
1578 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
1579 and R_ARM_THM_BF18 together.
1580 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
1581
e5d6e09e
AV
15822019-04-15 Sudakshina Das <sudi.das@arm.com>
1583
1584 * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
1585 * bfd-in2.h: Regenerated.
1586 * libbfd.h: Regenerated.
1587 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
1588 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
1589 and R_ARM_THM_BF16 together.
1590 (get_value_helper): New reloc helper.
1591 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
1592
e12437dc
AV
15932019-04-15 Sudakshina Das <sudi.das@arm.com>
1594
1595 * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
1596 * bfd-in2.h: Regenerate.
1597 * libbfd.h: Regenerate.
1598
031254f2
AV
15992019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1600
1601 * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
1602 * bfd-in2.h: Regenerate.
1603 * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
1604 * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
1605 and update assert.
1606 (using_thumb2): Likewise.
1607 (using_thumb2_bl): Update assert.
1608 (arch_has_arm_nop): Likewise.
1609 (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
1610 (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
1611
233a0083
L
16122019-04-11 H.J. Lu <hongjiu.lu@intel.com>
1613
1614 * elf-linker-x86.h (elf_x86_cet_report): New.
1615 (elf_linker_x86_params): Add cet_report.
1616 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
1617 missing IBT and SHSTK properties if needed.
1618
a0ea3a14
L
16192019-04-11 H.J. Lu <hongjiu.lu@intel.com>
1620
ca4e6331 1621 PR ld/24436
a0ea3a14
L
1622 * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
1623 "h != NULL". Don't check "h != NULL" before calling.
1624 bfd_elf_gc_record_vtentry.
1625 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1626 * elf32-bfin.c (bfin_check_relocs): Likewise.
1627 * elf32-cris.c (cris_elf_check_relocs): Likewise.
1628 * elf32-csky.c (csky_elf_check_relocs): Likewise.
1629 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1630 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1631 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1632 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1633 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1634 * elf32-i386.c (elf_i386_check_relocs): Likewise.
1635 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1636 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1637 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1638 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1639 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1640 * elf32-metag.c (elf_metag_check_relocs): Likewise.
1641 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
1642 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1643 * elf32-s390.c (elf_s390_check_relocs): Likewise.
1644 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1645 * elf32-v850.c (v850_elf_check_relocs): Likewise.
1646 * elf32-vax.c (elf_vax_check_relocs): Likewise.
1647 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
1648 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1649 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1650 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1651 * elf64-s390.c (elf_s390_check_relocs): Likewise.
1652 * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
1653 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1654 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1655 * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
1656 VTENTRY entry.
1657
9bff840e
AM
16582019-04-11 Alan Modra <amodra@gmail.com>
1659
1660 PR 24435
1661 * elflink.c (elf_link_add_object_symbols): Don't read partial
1662 dynamic entries from fuzzed objects.
1663
ce12121b
TC
16642019-04-11 Tamar Christina <tamar.christina@arm.com>
1665
1666 PR ld/24302
1667 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
1668 DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
1669 (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
1670
b05971a6
MF
16712019-04-10 Michael Forney <mforney@mforney.org>
1672
1673 PR 24427
1674 * doc/chew.c (free_words): Correctly free "push_text" strings.
1675
3ae61bb6
L
16762019-04-08 H.J. Lu <hongjiu.lu@intel.com>
1677
1678 * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
1679
5f2a6b85
AM
16802019-04-08 Alan Modra <amodra@gmail.com>
1681
1682 * configure.ac (elfxx_x86): Define and use.
1683 * configure: Regenerate.
1684
5b9c07b2
L
16852019-04-06 H.J. Lu <hongjiu.lu@intel.com>
1686
1687 * elf-linker-x86.h: New file.
1688 * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
1689 to get x86-specific linker options.
1690 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
1691 (elf_x86_64_check_relocs): Likewise.
1692 (elf_x86_64_relocate_section): Likewise.
1693 (elf_x86_64_link_setup_gnu_properties): Likewise.
1694 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
1695 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
1696 (_bfd_elf_linker_x86_set_options): New function.
1697 * elfxx-x86.h: Include "elf-linker-x86.h".
1698 (elf_x86_link_hash_table): Add params.
1699
4b24dd1a
AM
17002019-04-03 Alan Modra <amodra@gmail.com>
1701
1702 * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
1703 * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
1704 * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
1705 * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
1706 * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
1707 * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
1708
87f98bac
JW
17092019-04-02 Jim Wilson <jimw@sifive.com>
1710
1711 PR 24389
1712 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
1713 ELF header flags to after check for ELF object file. Loop through
1714 sections looking for code sections, if none, then skip ABI checks.
1715
ae2b14c7
JW
17162019-03-30 Andrew Waterman <andrew@sifive.com>
1717
1718 * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
1719 rd == X_RA case.
1720
2487ef07
MF
17212019-03-29 Max Filippov <jcmvbkbc@gmail.com>
1722
1723 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
1724 info->export_dynamic to the conditional.
1725
242a1159
AM
17262019-03-28 Alan Modra <amodra@gmail.com>
1727
1728 PR 24392
1729 * configure.ac: Invoke AC_CHECK_SIZEOF(int).
1730 * configure: Regenerate.
1731 * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
1732 workaround with SIZEOF_LONG vs. SIZEOF_INT check.
1733 * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
1734 * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
1735 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
1736
a9f5a551
JW
17372019-03-21 Jim Wilson <jimw@sifive.com>
1738
1739 PR 24365
1740 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
1741 verify sym non-NULL before using. Add identical check using h.
1742
4e539114
SD
17432019-03-21 Sudakshina Das <sudi.das@arm.com>
1744
1745 * elf-bfd.h (struct elf_backend_data): Add argument to
1746 merge_gnu_properties.
1747 * elf-properties.c (elf_merge_gnu_properties): Add argument to
1748 itself and while calling bed->merge_gnu_properties.
1749 (elf_merge_gnu_property_list): Update the calls for
1750 elf_merge_gnu_properties.
1751 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
1752 of --force-bti warning and add argument.
1753 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
1754 warning.
1755 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
1756 * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
1757 declaration.
1758
acde6c6b
SD
17592019-03-20 Sudakshina Das <sudi.das@arm.com>
1760
1761 * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
1762 * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
1763 (elf_backend_fixup_gnu_properties): Define for AArch64.
1764
8cd1fe1b
AM
17652019-03-18 Alan Modra <amodra@gmail.com>
1766
1767 PR 24355
1768 * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
1769 for local iplt syms with ent->plt.offset == -1. Remove ineffective
1770 attempt at writing glink stubs only once.
1771
6835821b
AM
17722019-03-16 Alan Modra <amodra@gmail.com>
1773
1774 PR 24337
1775 * elf.c (_bfd_elf_rela_local_sym): Revert last change.
1776 (_bfd_elf_rel_local_sym): Likewise.
1777 * elflink.c (elf_link_input_bfd): Use bfd_und_section for
1778 section of symbols with unrecognized shndx.
1779
2219ae0b
L
17802019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1781
1782 PR ld/24267
1783 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
1784 section.
1785 * cofflink.c (coff_link_add_symbols): Check for symbols defined
1786 in discarded section.
1787
fe3fef62
AM
17882019-03-15 Alan Modra <amodra@gmail.com>
1789
1790 PR 24339
1791 * elflink.c (elf_link_add_object_symbols): Bail out on a local
1792 symbol after globals if elf_bad_symtab is not set.
1793
1ff31e13
AM
17942019-03-15 Alan Modra <amodra@gmail.com>
1795
1796 PR 24337
1797 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
1798 (_bfd_elf_rel_local_sym): Likewise.
1799
f55b1e32
AM
18002019-03-15 Alan Modra <amodra@gmail.com>
1801
1802 PR 24336
1803 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
1804 object files with sh_size not a multiple of sh_entsize.
1805
da0d12d2
L
18062019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1807
418d4036
L
1808 PR ld/24338
1809 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
1810 input with bad relocation.
1811
181222019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1813
da0d12d2
L
1814 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
1815
d7f848c3
NC
18162019-03-14 Nick Clifton <nickc@redhat.com>
1817
1818 PR 24334
1819 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
1820 (save_section_vma): Initialise field to the number of entries in
1821 the sec_vma table.
1822 (section_vma_same): Check that the number of entries in the
1823 sec_vma table matches the number of sections in the bfd.
1824
6cc71b82
NC
18252019-03-14 Nick Clifton <nickc@redhat.com>
1826
1827 PR 24333
1828 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
1829 section owner pointer when adding the default symbol.
1830
be22c732
NC
18312019-03-14 Nick Clifton <nickc@redhat.com>
1832
1833 PR 24332
1834 * elflink.c (elf_link_add_object_symbols): Add new local variable
1835 extversym_end. Initialise it to point to the end of the version
1836 symbol table, if present. Check it when initialising and updating
1837 the ever pointer.
1838
1dbade74
SD
18392019-03-13 Sudakshina Das <sudi.das@arm.com>
1840
1841 * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
1842 (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
1843 (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
1844 (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
1845 and PLT_PAC_PLT.
1846 (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
1847 (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
1848 (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
1849
37c18eed
SD
18502019-03-13 Sudakshina Das <sudi.das@arm.com>
1851 Szabolcs Nagy <szabolcs.nagy@arm.com>
1852
1853 * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
1854 (aarch64_bti_pac_info): New.
1855 (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
1856 (bfd_elf32_aarch64_set_options): Likewise.
1857 * bfd-in2.h: Regenerate
1858 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
1859 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
1860 (elfNN_aarch64_small_plt0_bti_entry): New.
1861 (elfNN_aarch64_small_plt_bti_entry): New.
1862 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
1863 (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
1864 (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
1865 tlsdesc_plt_entry_size fields.
1866 (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
1867 (setup_plt_values): New helper function.
1868 (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
1869 bti enable type.
1870 (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
1871 fixed macros.
1872 (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
1873 (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
1874 to plt stubs instead of fixed ones and update filling them according
1875 to the need for bti.
1876 (elfNN_aarch64_init_small_plt0_entry): Likewise.
1877 (elfNN_aarch64_finish_dynamic_sections): Likewise.
1878 (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
1879 (elfNN_aarch64_plt_sym_val): Update size accordingly.
1880 (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
1881 is set.
1882 (bfd_elfNN_get_synthetic_symtab): Define.
1883 (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
1884 and mising BTI NOTE SECTION.
1885
1886
cd702818
SD
18872019-03-13 Sudakshina Das <sudi.das@arm.com>
1888
1889 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
1890 linker created inputs from merge.
1891 * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
1892 GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
1893 (elfNN_aarch64_link_setup_gnu_properties): New.
1894 (elfNN_aarch64_merge_gnu_properties): New.
1895 (elf_backend_setup_gnu_properties): Define for AArch64.
1896 (elf_backend_merge_gnu_properties): Likewise.
1897 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
1898 (_bfd_aarch64_elf_parse_gnu_properties): Define.
1899 (_bfd_aarch64_elf_merge_gnu_properties): Define.
1900 * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
1901 (_bfd_aarch64_elf_parse_gnu_properties): Declare.
1902 (_bfd_aarch64_elf_merge_gnu_properties): Declare.
1903 (elf_backend_parse_gnu_properties): Define for AArch64.
1904
44b27f95
L
19052019-03-13 H.J. Lu <hongjiu.lu@intel.com>
1906
1907 PR ld/24322
1908 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
1909 merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
1910
7a6e0d89
AM
19112019-03-12 Alan Modra <amodra@gmail.com>
1912
1913 * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
1914 nmemb parameter. Use bfd_alloc2.
1915 (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
1916 Delete assertion.
1917 (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
1918 (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
1919 * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
1920 doesn't overflow.
1921 * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
1922 (assign_section_numbers): Style fix.
1923 (swap_out_syms): Use bfd_malloc2.
1924 (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
1925 overflow.
1926 (_bfd_elf_make_empty_symbol): Style fix.
1927 (elfobj_grok_stapsdt_note_1): Formatting.
1928 * elfcode.h (elf_object_p): Use bfd_alloc2.
1929 (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
1930 (elf_slurp_symbol_table): Use bfd_zalloc2.
1931 (elf_slurp_reloc_table): Use bfd_alloc2.
1932 (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
1933 * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
1934 size calculation doesn't overflow.
1935 (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
1936 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
1937 * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
1938
ebd2263b
AM
19392019-03-08 Alan Modra <amodra@gmail.com>
1940
1941 PR 24311
1942 * merge.c (merge_strings): Return secinfo. Don't pad section
1943 to alignment here.
1944 (_bfd_merge_sections): Pad section to alignment here, if input
1945 sections contributing to merged output all pad to alignment.
1946 Formatting.
1947
219d6836
NC
19482019-03-06 Nick Clifton <nickc@redhat.com>
1949
1950 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
1951 table pointer.
1952 * coffgen.c (coff_find_nearest_line_with_names): Do not call
1953 _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
1954
24801b15
AK
19552019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
1956
1957 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
1958 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
1959
1960 PR 20113
1961 * elf32-s390.c (allocate_dynrelocs): Update comment.
1962
4ffd2909
TC
19632019-02-28 Tamar Christina <tamar.christina@arm.com>
1964
1965 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
1966
eed5def8
NC
19672019-02-28 Nick Clifton <nickc@redhat.com>
1968
1969 PR 24273
1970 * elf.c (bfd_elf_string_from_elf_section): Check for a string
1971 section that is not NUL terminated.
1972
5cfe428c
L
19732019-02-27 H.J. Lu <hongjiu.lu@intel.com>
1974
1975 PR ld/24276
1976 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
1977 by linker when checking copy reloc on protected symbol.
1978
f616c36b
AM
19792019-02-24 Alan Modra <amodra@gmail.com>
1980
1981 PR 24144
1982 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
1983
eed62915
MF
19842019-02-20 Eric Tsai <erictsai@cadence.com>
1985
1986 * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
1987 sections between the call site and call destination and adjust
1988 call distance by the largest alignment.
1989
e6c3b5bf
AH
19902019-02-20 Alan Hayward <alan.hayward@arm.com>
1991
1992 * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
1993 * elf.c (elfcore_grok_aarch_pauth): New function.
1994 (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
1995 (elfcore_write_aarch_pauth): New function.
1996 (elfcore_write_register_note): Check for AArch64 pauth section.
1997
34d75fb5
AM
19982019-02-20 Alan Modra <amodra@gmail.com>
1999
2000 PR 24225
2001 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
2002 return value.
2003
edd01d07
MR
20042019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
2005
2006 * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
2007 Darwin hosts, not just or1k.
2008 * configure: Regenerate.
2009
8abac803
AM
20102019-02-20 Alan Modra <amodra@gmail.com>
2011
2012 PR 24236
2013 * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
2014 sentinel NUL to string buffer nearer to loop where it is used.
2015 Don't go past sentinel when scanning strings, and don't write
2016 NUL again.
2017 * archive.c (do_slurp_coff_armap): Simplify string handling to
2018 archive64.c style.
2019
179f2db0
AM
20202019-02-19 Alan Modra <amodra@gmail.com>
2021
2022 PR 24235
2023 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
2024 attempting to prevent read past end of section.
2025
a31b8bd9
AM
20262019-02-18 Alan Modra <amodra@gmail.com>
2027
2028 PR 24225
2029 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
2030 PRIx64 to generate warning messages. Print local sym names too.
2031
a0e90a73
CZ
20322019-02-09 Vineet Gupta <vgupta@synopsys.com>
2033
2034 * elf32-arc (INIT_SYM_STRING): Delete.
2035 (FINI_SYM_STRING): Likewise.
2036 (init_str): Likewise.
2037 (fini_str): Likewise.
2038
482f3505
AM
20392019-02-08 Alan Modra <amodra@gmail.com>
2040
2041 * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
2042 for bss-plt" warning to make it an error.
2043
b2abe1bd
EB
20442019-02-07 Eric Botcazou <ebotcazou@adacore.com>
2045
2046 PR ld/18841
2047 * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
2048 reloc_class_ifunc for ifunc symbols.
2049 * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
2050
68a09132
EB
20512019-02-07 Eric Botcazou <ebotcazou@adacore.com>
2052
2053 * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
2054 <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
2055
2012bf01
NC
20562019-02-07 Nick Clifton <nickc@redhat.com>
2057
2058 * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
2059 into the definitely obsolete list.
2060
83924b38
L
20612019-02-05 H.J. Lu <hongjiu.lu@intel.com>
2062
2063 PR ld/24151
2064 * elf64-x86-64.c (elf_x86_64_need_pic): Check
2065 SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
2066 (elf_x86_64_relocate_section): Move PIC check for PC-relative
2067 relocations to ...
2068 (elf_x86_64_check_relocs): Here.
2069 (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
2070 to check if a symbol is defined in a non-shared object.
2071 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
2072
453f8e1e
SDJ
20732019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
2074
2075 * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
2076 of 'labs' (and fix GCC warning).
2077
9ed1348c
NC
20782019-01-25 Nick Clifton <nickc@redhat.com>
2079
2080 * po/ru.po: Updated Russian translation.
2081
d9938630
NC
20822019-01-23 Nick Clifton <nickc@redhat.com>
2083
2084 * po/fr.po: Updated French translation.
2085
375cd423
NC
20862019-01-21 Nick Clifton <nickc@redhat.com>
2087
2088 * po/pt.po: Updated Portuguese translation.
2089 * po/uk.po: Updated Ukranian translation.
2090
acef8081
YC
20912019-01-21 Yuri Chornoivan <yurchor@ukr.net>
2092
2093 PR 24108
2094 * elf32-nds32.c (nds32_relocate_section): Add space between words
2095 in error message.
2096 * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
2097 error message.
2098 (riscv_i_or_e_p): Likewise.
2099 (riscv_merge_arch_attr_info): Likewise.
2100
f48dfe41
NC
21012019-01-19 Nick Clifton <nickc@redhat.com>
2102
2103 * version.m4: Reset to 2.32.51
2104 * configure: Regenerate.
2105 * po/bfd.pot: Regenerate.
2106
f974f26c
NC
21072018-06-24 Nick Clifton <nickc@redhat.com>
2108
2109 2.32 branch created.
2110
a4bf3d07
JW
21112019-01-16 Kito Cheng <kito@andestech.com>
2112
2113 * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
2114 for OBJ_ATTR_PROC.
2115
2dc8dd17
JW
21162019-01-16 Kito Cheng <kito@andestech.com>
2117 Nelson Chu <nelson@andestech.com>
2118
7d7a7d7c
JW
2119 * elfnn-riscv.c (in_subsets): New.
2120 (out_subsets): Likewise.
2121 (merged_subsets): Likewise.
2122 (riscv_std_ext_p): Likewise.
2123 (riscv_non_std_ext_p): Likewise.
2124 (riscv_std_sv_ext_p): Likewise.
2125 (riscv_non_std_sv_ext_p): Likewise.
2126 (riscv_version_mismatch): Likewise.
2127 (riscv_i_or_e_p): Likewise.
2128 (riscv_merge_std_ext): Likewise.
2129 (riscv_merge_non_std_and_sv_ext): Likewise.
2130 (riscv_merge_arch_attr_info): Likewise.
2131 (riscv_merge_attributes): Likewise.
2132 (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
2133
2dc8dd17
JW
2134 * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
2135 (elf_backend_obj_attrs_vendor): Define.
2136 (elf_backend_obj_attrs_section_type): Likewise.
2137 (elf_backend_obj_attrs_section): Likewise.
2138 (elf_backend_obj_attrs_arg_type): Define as
2139 riscv_elf_obj_attrs_arg_type.
2140 * elfxx-riscv.c (riscv_estimate_digit): New.
2141 (riscv_estimate_arch_strlen1): Likewise.
2142 (riscv_estimate_arch_strlen): Likewise.
2143 (riscv_arch_str1): Likewise.
2144 (riscv_arch_str): Likewise.
2145 * elfxx-riscv.h (riscv_arch_str): Declare.
2146
d5dcaf1b
JD
21472019-01-14 John Darrington <john@darrington.wattle.id.au>
2148
2149 * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
2150 * libbfd.h: regen.
2151 * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
2152 source field. (md_apply_fix): Apply final fix
2153 to BFD_RELOC_S12Z_OPR.
2154 * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
2155
5a12586d
MT
21562019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
2157
f466c305 2158 PR 20113
5a12586d
MT
2159 * elf32-s390.c (allocate_dynrelocs): Update comment.
2160
3107326d
AP
21612019-01-09 Andrew Paprocki <andrew@ishiboo.com>
2162
2163 * warning.m4: Adjust egrep pattern for non-GNU compilers.
2164 * configure: Regenerate.
2165
a9859e01
AM
21662019-01-08 Alan Modra <amodra@gmail.com>
2167
2168 PR 23699
2169 PR 24065
2170 * ihex.c (ihex_write_object_contents): Properly check 32-bit
2171 address range.
2172
c8c89dac
YS
21732019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
2174
2175 * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
2176 * bfd/bfd-in2.h: Regenerate.
2177 * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
2178 * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
2179
d9858c37
LX
21802019-01-04 Lifang Xia <lifang_xia@c-sky.com>
2181
2182 * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
2183 default target, little endian target is more suitable.
2184
677bd4c6
AM
21852019-01-04 Alan Modra <amodra@gmail.com>
2186
2187 PR 24061
2188 PR 21786
2189 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
2190 adjust all callers.
2191 (EQ_VALUE_IN_FIELD): Likewise.
2192 * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
2193
82704155
AM
21942019-01-01 Alan Modra <amodra@gmail.com>
2195
2196 Update year range in copyright notice of all files.
2197
d5c04e1b 2198For older changes see ChangeLog-2018
3499769a 2199\f
d5c04e1b 2200Copyright (C) 2019 Free Software Foundation, Inc.
3499769a
AM
2201
2202Copying and distribution of this file, with or without modification,
2203are permitted in any medium without royalty provided the copyright
2204notice and this notice are preserved.
2205
2206Local Variables:
2207mode: change-log
2208left-margin: 8
2209fill-column: 74
2210version-control: never
2211End: