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