arm bfd.h tidy
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2019-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
14 2019-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
20 2019-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
29 2019-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
36 2019-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
44 2019-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
50 2019-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
57 2019-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
63 2019-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
70 2019-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
89 2019-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
112 2019-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
121 2019-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
144 2019-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
150 2019-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
195 2019-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
221 2019-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
227 2019-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
269 2019-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
276 2019-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
286 2019-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
295 2019-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
306 2019-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
311 2019-09-11 Tom Tromey <tom@tromey.com>
312
313 * opncls.c (bfd_set_filename): New function.
314 * bfd-in2.h: Regenerate.
315
316 2019-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
355 2019-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
448 2019-09-09 Phil Blundell <pb@pbcl.net>
449
450 binutils 2.33 branch created.
451
452 2019-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
460 2019-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
468 2019-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
474 2019-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
488 2019-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.
493 (read_alt_indirect_string): Likewise.
494 (read_alt_indirect_ref): Likewise.
495
496 2019-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
502 2019-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
507 2019-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
513 2019-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
521 2019-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
528 2019-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
534 2019-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
545 2019-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
550 2019-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
555 2019-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
563 2019-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
569 2019-08-22 Dennis Zhang <dennis.zhang@arm.com>
570
571 * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
572
573 2019-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
579 2019-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
588 2019-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
596 2019-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
601 2019-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
612 2019-08-19 Tom Tromey <tromey@adacore.com>
613
614 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
615 holding symbols.
616
617 2019-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
626 2019-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
633 2019-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
640 2019-08-16 Alan Modra <amodra@gmail.com>
641
642 * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
643
644 2019-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
650 2019-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
655 2019-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
663 2019-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
669 2019-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
683 2019-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
729 2019-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
735 2019-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
741 2019-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
746 2019-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
753 2019-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
759 2019-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
771 2019-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
780 2019-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
786 2019-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
792 2019-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
801 2019-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
808 2019-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
857 2019-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
864 2019-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
870 2019-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
882 2019-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
946 2019-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
954 2019-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
968 2019-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
974 2019-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
984 2019-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
990 2019-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
995 2019-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
1000 2019-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
1012 2019-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
1018 2019-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
1027 2019-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
1033 2019-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
1040 2019-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
1046 2019-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
1052 2019-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
1060 2019-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
1071 2019-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
1079 2019-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
1084 2019-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
1093 2019-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
1099 2019-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
1106 2019-06-23 Alan Modra <amodra@gmail.com>
1107
1108 PR 24689
1109 * elfcode.h (elf_object_p): Warning fix.
1110
1111 2019-06-21 Alan Modra <amodra@gmail.com>
1112
1113 PR 24689
1114 * elfcode.h (elf_object_p): Check type of e_shstrndx section.
1115
1116 2019-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
1122 2019-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
1128 2019-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
1134 2019-06-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
1135
1136 * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
1137
1138 2019-06-14 Alan Modra <amodra@gmail.com>
1139
1140 * Makefile.in: Regenerate.
1141 * configure: Regenerate.
1142
1143 2019-06-14 Alan Modra <amodra@gmail.com>
1144
1145 * elf64-ppc.c: Fix comments involving paddi.
1146
1147 2019-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
1154 2019-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
1164 2019-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
1169 2019-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
1177 2019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
1178
1179 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
1180 Remove overflow check.
1181
1182 2019-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
1188 2019-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
1194 2019-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
1201 2019-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
1208 2019-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
1216 2019-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
1224 2019-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
1232 2019-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
1240 2019-05-27 Alan Modra <amodra@gmail.com>
1241
1242 * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
1243
1244 2019-05-27 Alan Modra <amodra@gmail.com>
1245
1246 PR 24596
1247 * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
1248
1249 2019-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
1257 2019-05-24 Alan Modra <amodra@gmail.com>
1258
1259 * po/SRC-POTFILES.in: Regenerate.
1260
1261 2019-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
1276 2019-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
1285 2019-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
1317 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1318
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
1324 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1325
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
1343 2019-05-22 Alan Modra <amodra@gmail.com>
1344
1345 * elf32-arm.c (arm_allocate_glue_section_space): Clear section
1346 contents.
1347
1348 2019-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
1353 2019-05-22 Alan Modra <amodra@gmail.com>
1354
1355 * som.c (som_bfd_free_cached_info): Call
1356 _bfd_generic_close_and_cleanup.
1357
1358 2019-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
1363 2019-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
1368 2019-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
1389 2019-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
1395 2019-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
1401 2019-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
1420 2019-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
1426 2019-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
1432 2019-05-20 Nick Clifton <nickc@redhat.com>
1433
1434 * po/fr.po: Updated French translation.
1435
1436 2019-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
1440 2019-05-16 Alan Modra <amodra@gmail.com>
1441
1442 * elf32-arm.c (elf32_arm_write_section): Revert last change.
1443
1444 2019-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
1450 2019-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
1456 2019-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
1462 2019-05-06 Alan Modra <amodra@gmail.com>
1463
1464 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
1465
1466 2019-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
1474 2019-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
1486 2019-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
1492 2019-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
1501 2019-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
1507 2019-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
1523 2019-04-22 Jim Wilson <jimw@sifive.com>
1524
1525 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
1526
1527 2019-04-19 Alan Modra <amodra@gmail.com>
1528
1529 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
1530
1531 2019-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
1537 2019-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
1543 2019-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
1550 2019-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
1556 2019-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
1562 2019-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
1572 2019-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
1582 2019-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
1593 2019-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
1599 2019-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
1612 2019-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
1619 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
1620
1621 PR ld/24436
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
1658 2019-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
1664 2019-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
1671 2019-04-10 Michael Forney <mforney@mforney.org>
1672
1673 PR 24427
1674 * doc/chew.c (free_words): Correctly free "push_text" strings.
1675
1676 2019-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
1680 2019-04-08 Alan Modra <amodra@gmail.com>
1681
1682 * configure.ac (elfxx_x86): Define and use.
1683 * configure: Regenerate.
1684
1685 2019-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
1700 2019-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
1709 2019-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
1716 2019-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
1721 2019-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
1726 2019-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
1737 2019-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
1743 2019-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
1759 2019-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
1765 2019-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
1772 2019-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
1780 2019-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
1788 2019-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
1794 2019-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
1800 2019-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
1806 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1807
1808 PR ld/24338
1809 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
1810 input with bad relocation.
1811
1812 22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1813
1814 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
1815
1816 2019-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
1825 2019-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
1831 2019-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
1839 2019-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
1850 2019-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
1887 2019-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
1905 2019-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
1911 2019-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
1939 2019-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
1948 2019-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
1955 2019-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
1963 2019-02-28 Tamar Christina <tamar.christina@arm.com>
1964
1965 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
1966
1967 2019-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
1973 2019-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
1979 2019-02-24 Alan Modra <amodra@gmail.com>
1980
1981 PR 24144
1982 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
1983
1984 2019-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
1990 2019-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
1998 2019-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
2004 2019-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
2010 2019-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
2020 2019-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
2026 2019-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
2032 2019-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
2039 2019-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
2044 2019-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
2051 2019-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
2056 2019-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
2061 2019-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
2073 2019-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
2078 2019-01-25 Nick Clifton <nickc@redhat.com>
2079
2080 * po/ru.po: Updated Russian translation.
2081
2082 2019-01-23 Nick Clifton <nickc@redhat.com>
2083
2084 * po/fr.po: Updated French translation.
2085
2086 2019-01-21 Nick Clifton <nickc@redhat.com>
2087
2088 * po/pt.po: Updated Portuguese translation.
2089 * po/uk.po: Updated Ukranian translation.
2090
2091 2019-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
2101 2019-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
2107 2018-06-24 Nick Clifton <nickc@redhat.com>
2108
2109 2.32 branch created.
2110
2111 2019-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
2116 2019-01-16 Kito Cheng <kito@andestech.com>
2117 Nelson Chu <nelson@andestech.com>
2118
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
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
2147 2019-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
2156 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
2157
2158 PR 20113
2159 * elf32-s390.c (allocate_dynrelocs): Update comment.
2160
2161 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
2162
2163 * warning.m4: Adjust egrep pattern for non-GNU compilers.
2164 * configure: Regenerate.
2165
2166 2019-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
2173 2019-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
2180 2019-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
2185 2019-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
2194 2019-01-01 Alan Modra <amodra@gmail.com>
2195
2196 Update year range in copyright notice of all files.
2197
2198 For older changes see ChangeLog-2018
2199 \f
2200 Copyright (C) 2019 Free Software Foundation, Inc.
2201
2202 Copying and distribution of this file, with or without modification,
2203 are permitted in any medium without royalty provided the copyright
2204 notice and this notice are preserved.
2205
2206 Local Variables:
2207 mode: change-log
2208 left-margin: 8
2209 fill-column: 74
2210 version-control: never
2211 End:
This page took 0.090968 seconds and 4 git commands to generate.