[ARC] Add linker relaxation.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
2
3 * elf32-arc.c (bfd_get_32_me): New function.
4 (bfd_put_32_me): Likewise.
5 (arc_elf_relax_section): Likewise.
6 (bfd_elf32_bfd_relax_section): Define.
7
8 2019-07-24 Alan Modra <amodra@gmail.com>
9
10 * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
11 elf_backend_final_write_processing, don't pass linker arg.
12 (_bfd_elf_final_write_processing): Update prototype.
13 * elf.c (_bfd_elf_write_object_contents): Adjust call.
14 (_bfd_elf_final_write_processing): Return error on incompatible
15 OSABI and has_gnu_osabi. Remove linker arg.
16 * elf-nacl.h (nacl_final_write_processing): Update prototype.
17 * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
18 * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
19 (_bfd_mips_elf_final_write_processing): Likewise.
20 * elf-hppa.h (elf_hppa_final_write_processing): Return status
21 and remove linker arg.
22 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
23 * elf-nacl.c (nacl_final_write_processing): Likewise.
24 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
25 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
26 * elf32-arm.c (arm_final_write_processing): Likewise.
27 (elf32_arm_final_write_processing): Likewise.
28 (elf32_arm_nacl_final_write_processing): Likewise.
29 (elf32_arm_vxworks_final_write_processing): Likewise.
30 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
31 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
32 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
33 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
34 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
35 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
36 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
37 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
38 * elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
39 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
40 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
41 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
42 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
43 * elf32-ppc.c (ppc_final_write_processing): Likewise.
44 (ppc_elf_final_write_processing): Likewise.
45 (ppc_elf_vxworks_final_write_processing): Likewise.
46 * elf32-sparc.c (sparc_final_write_processing): Likewise.
47 (elf32_sparc_final_write_processing): Likewise.
48 (elf32_sparc_vxworks_final_write_processing): Likewise.
49 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
50 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
51 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
52 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
53 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
54 * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
55 (_bfd_mips_elf_final_write_processing): Likewise.
56
57 2019-07-24 Alan Modra <amodra@gmail.com>
58
59 * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
60 early.
61 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
62 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
63
64 2019-07-24 Alan Modra <amodra@gmail.com>
65
66 * elf32-visium.c (visium_elf_post_process_headers): Don't set
67 EI_OSABI header byte here.
68 (ELF_OSABI): Define.
69
70 2019-07-23 Alan Modra <amodra@gmail.com>
71
72 * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
73 * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
74 (get_program_header_size): Formatting. Only test SH_GNU_MBIND
75 when elf_gnu_osabi_mbind is set.
76 (_bfd_elf_map_sections_to_segments): Likewise.
77 (_bfd_elf_init_private_section_data): Likewise.
78 (_bfd_elf_final_write_processing): Update comment.
79 * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
80 (elf_backend_special_sections): Define without .tbss for linux.
81
82 2019-07-23 Alan Modra <amodra@gmail.com>
83
84 * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
85 Remove none, any, all enums.
86 (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
87 (_bfd_elf_final_write_processing): Declare.
88 * elf.c (_bfd_elf_write_object_contents): Unconditionally call
89 elf_backend_final_write_processing.
90 (_bfd_elf_post_process_headers): Move body of function to..
91 (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
92 only when not already set. Adjust for rename.
93 * elfxx-target.h (elf_backend_final_write_processing): Default to
94 _bfd_elf_final_write_processing.
95 * elf-hppa.h (elf_hppa_final_write_processing): Call
96 _bfd_elf_final_write_processing.
97 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
98 * elf-nacl.c (nacl_final_write_processing): Likewise.
99 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
100 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
101 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
102 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
103 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
104 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
105 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
106 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
107 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
108 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
109 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
110 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
111 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
112 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
113 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
114 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
115 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
116 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
117 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
118 * elf32-arm.c (arm_final_write_processing): Split out from..
119 (elf32_arm_final_write_processing): ..here. Call
120 _bfd_elf_final_write_processing.
121 (elf32_arm_nacl_final_write_processing): Adjust.
122 * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
123 (_bfd_mips_elf_final_write_processing): ..here. Call
124 _bfd_elf_final_write_processing.
125 * elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
126 * elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
127 * elf32-ppc.c (ppc_final_write_processing): Split out from..
128 (ppc_elf_final_write_processing): ..here. Call
129 _bfd_elf_final_write_processing.
130 (ppc_elf_vxworks_final_write_processing): Adjust.
131 * elf32-sparc.c (sparc_final_write_processing): Split out from..
132 (elf32_sparc_final_write_processing): ..here. Call
133 _bfd_elf_final_write_processing.
134 (elf32_sparc_vxworks_final_write_processing): Adjust.
135 * elf32-d10v.c (elf_backend_final_write_processing): Don't define.
136 * elf32-d30v.c (elf_backend_final_write_processing): Don't define.
137 * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
138 * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
139 * elf32-s12z.c (elf_backend_final_write_processing): Don't define.
140 * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
141 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
142 * elflink.c (elf_link_add_object_symbols): Likewise.
143 (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
144 instead.
145
146 2019-07-23 Omar Majid <omajid@redhat.com>
147
148 * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
149 I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
150 AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
151 AMD64_NETBSD_MAGIC.
152 * peXXigen.c: Add comment about source of .NET magic numbers.
153
154 2019-07-19 Alan Modra <amodra@gmail.com>
155
156 * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
157 (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
158 (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
159 (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
160 * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
161 (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
162 (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
163 (ppc64_elf_check_relocs): Support pcrel tls relocs.
164 (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
165 * bfd-in2.h: Regenerate.
166 * libbfd.h: Regenerate.
167
168 2019-07-18 Alan Modra <amodra@gmail.com>
169
170 * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
171 a TLS section symbol for edited relocs. Tighten TLS symbol/reloc
172 match test.
173
174 2019-07-18 Alan Modra <amodra@gmail.com>
175
176 * elf64-ppc.c (TLS_EXPLICIT): Define as 256.
177 (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
178 is more than 8 bits.
179 (ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and
180 tls_type vars unsigned int.
181 (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
182 to select r_type edit.
183
184 2019-07-18 Alan Modra <amodra@gmail.com>
185
186 * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
187 Correct comment.
188 * elf64-ppc.c (TLS_GDIE): Likewise.
189
190 2019-07-18 Alan Modra <amodra@gmail.com>
191
192 * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
193 range of tp-relative offsets.
194
195 2019-07-15 Alan Modra <amodra@gmail.com>
196
197 * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
198 alias is no longer bfd_link_hash_defined, clear the alias.
199
200 2019-07-13 Alan Modra <amodra@gmail.com>
201
202 * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
203 tls_sec.
204 (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
205 (_bfd_elf_init_2_index_sections): Likewise.
206 * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
207 relocations for local TLS symbols, use STN_UNDEF as the relocation
208 symbol.
209 * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
210 leave TLS symbol value in the addend.
211
212 2019-07-08 Alan Modra <amodra@gmail.com>
213
214 PR 24785
215 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
216 size before reading first word.
217
218 2019-07-02 Nick Clifton <nickc@redhat.com>
219
220 PR 24717
221 * elf.c (is_debuginfo_file): New function.
222 (assign_file_positions_for_non_load_sections): Do not warn about
223 allocated sections outside of loadable segments if they are found
224 in a debuginfo file.
225 * elf-bfd.h (is_debuginfo_file): Prototype.
226
227 2019-07-02 Nick Clifton <nickc@redhat.com>
228
229 PR 24753
230 * compress.c (bfd_get_full_section_contents): Do not complain
231 about linker created sections that are larger than the file size.
232
233 2019-07-02 Christophe Lyon <christophe.lyon@linaro.org>
234
235 * bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
236 (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
237 for CMSE stubs.
238 (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
239
240 2019-07-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
241
242 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
243 sections when .text section contain secure entry functions
244 is marked.
245
246 2019-07-01 Nick Clifton <nickc@redhat.com>
247
248 PR 23839
249 * elf32-arm.c (elf32_arm_update_relocs): Do not include the
250 section VMA in the offset used to update exidx relocs.
251
252 2019-06-28 Nick Clifton <nickc@redhat.com>
253
254 PR 24708
255 * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
256 large version reference section.
257 * compress.c (bfd_get_full_section_contents): Check for an
258 uncompressed section whose size is larger than the file size.
259
260 2019-06-28 Alan Modra <amodra@gmail.com>
261
262 * format.c (bfd_check_format_matches): Don't match plugin target
263 if another target matches. Expand comment.
264 * targets.c (_bfd_target_vector): Move plugin_vec after all other
265 non-corefile targets, outside !SELECT_VECS.
266 * config.bfd: Don't handle targ=plugin here.
267 * configure.ac: Don't add plugin to enable_targets or handle in
268 target loop setting selvecs and other target vars.
269 * configure: Regenerate.
270
271 2019-06-26 Nick Clifton <nickc@redhat.com>
272
273 PR 24703
274 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
275 messages for failures.
276 * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
277 if returning an error value.
278
279 2019-06-25 Jan Beulich <jbeulich@suse.com>
280
281 * elf-properties.c (elf_find_and_remove_property): Rename last
282 parameter. Mention it in comment.
283
284 2019-06-24 Ilia Diachkov <ilia.diachkov@optimitech.com>
285
286 * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
287 SEC_MERGE or SEC_CODE flags are set.
288 (_bfd_riscv_relax_section): New local symtype. Set sym_sec and
289 symtype consistently. Don't include sec_addr (sym_sec) in symval.
290 Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
291 Add sec_addr (sym_sec) after handling merge sections.
292
293 2019-06-24 H.J. Lu <hongjiu.lu@intel.com>
294
295 PR ld/24721
296 * elf-properties.c (elf_merge_gnu_property_list): Remove the
297 property after reporting property removal.
298
299 2019-06-23 Alan Modra <amodra@gmail.com>
300
301 PR 24704
302 * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
303 (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
304 Reduce range of offsets allowed for other GOT relocs.
305
306 2019-06-23 Alan Modra <amodra@gmail.com>
307
308 PR 24689
309 * elfcode.h (elf_object_p): Warning fix.
310
311 2019-06-21 Alan Modra <amodra@gmail.com>
312
313 PR 24689
314 * elfcode.h (elf_object_p): Check type of e_shstrndx section.
315
316 2019-06-19 Alan Modra <amodra@gmail.com>
317
318 PR 24697
319 * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
320 R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset.
321
322 2019-06-19 Alan Modra <amodra@gmail.com>
323
324 * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
325 functions that require r2 valid to use local entry.
326 (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
327
328 2019-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
329
330 * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
331 (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
332 with elfNN_aarch64_allocate_local_dynrelocs.
333
334 2019-06-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
335
336 * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
337
338 2019-06-14 Alan Modra <amodra@gmail.com>
339
340 * Makefile.in: Regenerate.
341 * configure: Regenerate.
342
343 2019-06-14 Alan Modra <amodra@gmail.com>
344
345 * elf64-ppc.c: Fix comments involving paddi.
346
347 2019-06-12 Adam Lackorzymski <adam@os.inf.tu-dresden.de>
348
349 PR 24643
350 * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
351 absent, or the bfd is not in the ELF formart.
352 * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
353
354 2019-06-10 Christos Zoulas <christos@zoulas.com>
355
356 PR 24650
357 * elf.c (elfcore_make_auxv_note_section): New function.
358 (elfcore_grok_note): Use it.
359 (elfcore_grok_freebsd_note): Likewise.
360 (elfcore_grok_openbsd_note): Likewise.
361 (elfcore_grok_netbsd_note): Likewise. Plus add support for
362 NT_NETBSDCORE_AUXV notes.
363
364 2019-06-06 Sudakshina Das <sudi.das@arm.com>
365
366 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
367 alignment of the new gnu property section.
368
369 2019-06-06 Sudakshina Das <sudi.das@arm.com>
370
371 * bfd-in.h: Change comment.
372 * bfd-in2.h: Regenerate.
373 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
374 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
375 Likwise.
376
377 2019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
378
379 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
380 Remove overflow check.
381
382 2019-05-28 Alan Modra <amodra@gmail.com>
383
384 PR 24596
385 * cofflink.c (coff_link_check_archive_element): Don't assume
386 element is a coff object file after calling add_archive_element.
387
388 2019-05-28 Alan Modra <amodra@gmail.com>
389
390 PR 24596
391 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
392 attempt to set sh_entsize for excluded PLT section.
393
394 2019-05-28 Alan Modra <amodra@gmail.com>
395
396 PR 24596
397 * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
398 to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
399 allocated in alpha_dynamic_entries_for_reloc.
400
401 2019-05-28 Alan Modra <amodra@gmail.com>
402
403 PR 24596
404 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
405 on NULL output_section.
406 * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
407
408 2019-05-28 Alan Modra <amodra@gmail.com>
409
410 PR 24596
411 * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
412 entry when MUST_FIND. Abort when MUST_FIND not found.
413 (elf_m68k_get_bfd2got_entry): Likewise.
414 (elf_m68k_relocate_section): Remove now useless assert.
415
416 2019-05-28 Alan Modra <amodra@gmail.com>
417
418 PR 24596
419 * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
420 from bfd_link_info, not an output section owner.
421 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
422 (elf_hppa_final_link_relocate): Likewise.
423
424 2019-05-28 Alan Modra <amodra@gmail.com>
425
426 PR 24596
427 * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
428 create_object_symbols_section, obj_textsec, obj_datasec or
429 obj_bsssec. Fix other errors in placement.
430 * config.bfd: Obsolete tic30-aout.
431
432 2019-05-28 Alan Modra <amodra@gmail.com>
433
434 PR 24596
435 * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
436 end of section list as well as section_count.
437 * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
438 section list before returning error.
439
440 2019-05-27 Alan Modra <amodra@gmail.com>
441
442 * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
443
444 2019-05-27 Alan Modra <amodra@gmail.com>
445
446 PR 24596
447 * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
448
449 2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
450
451 * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
452 (struct elf_aarch64_link_hash_table): Add variant_pcs member.
453 (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
454 (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
455 (elf_backend_merge_symbol_attribute): Define.
456
457 2019-05-24 Alan Modra <amodra@gmail.com>
458
459 * po/SRC-POTFILES.in: Regenerate.
460
461 2019-05-24 Alan Modra <amodra@gmail.com>
462
463 * elf64-ppc.c: Comment on powerxx _notoc stub variants.
464 (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
465 (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
466 (struct ppc_link_hash_table): Add powerxx_stubs.
467 (ppc64_elf_check_relocs): Set powerxx_stubs.
468 (build_powerxx_offset, size_powerxx_offset),
469 (num_relocs_for_powerxx_offset),
470 (emit_relocs_for_powerxx_offset): New functions.
471 (plt_stub_size): Size powerxx stubs.
472 (ppc_build_one_stub): Emit powerxx stubs.
473 (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
474 powerxx stubs.
475
476 2019-05-24 Alan Modra <amodra@gmail.com>
477
478 * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
479 R_PPC64_GOT_PCREL34.
480 (xlate_pcrel_opt): New function.
481 (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
482 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
483 for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
484
485 2019-05-24 Alan Modra <amodra@gmail.com>
486
487 * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
488 (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
489 (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
490 (BFD_RELOC_PPC64_PLT_PCREL34),
491 (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
492 (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
493 (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
494 (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
495 (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
496 * elf64-ppc.c (PNOP): Define.
497 (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
498 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
499 (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
500 relocs.
501 (ppc64_elf_prefix_reloc): New function.
502 (struct ppc_link_hash_table): Add notoc_plt.
503 (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
504 (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
505 R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
506 (ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
507 has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
508 possible need for dynamic relocs on non-pcrel powerxx relocs.
509 (dec_dynrel_count): Handle non-pcrel powerxx relocs.
510 (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
511 (toc_adjusting_stub_needed): Likewise.
512 (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
513 (ppc64_elf_relocate_section): Handle new powerxx relocs.
514 * bfd-in2.h: Regenerate.
515 * libbfd.h: Regenerate.
516
517 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
518
519 * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
520 * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
521 bpf_elf64_be_vec.
522 * configure: Regenerate.
523
524 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
525
526 * configure: Regenerated.
527 * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
528 (ALL_MACHINES_CFILES): Add cpu-bpf.c.
529 (BFD64_BACKENDS): Add elf64-bpf.lo.
530 (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
531 * Makefile.in (SOURCE_HFILES): Regenerate.
532 * config.bfd (targ_cpu): Handle bpf-*-* targets.
533 * cpu-bpf.c: New file.
534 * elf64-bpf.c: Likewise.
535 * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
536 bpf_elf64_le_vec.
537 * archures.c: Define architecture bfd_arch_bpf and machine
538 bfd_arch_bpf.
539 * reloc.c: Define BFD relocations used by the BPF target.
540 * bfd-in2.h: Regenerated.
541 * libbfd.h: Likewise.
542
543 2019-05-22 Alan Modra <amodra@gmail.com>
544
545 * elf32-arm.c (arm_allocate_glue_section_space): Clear section
546 contents.
547
548 2019-05-22 Alan Modra <amodra@gmail.com>
549
550 * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
551 processing on "size error in section".
552
553 2019-05-22 Alan Modra <amodra@gmail.com>
554
555 * som.c (som_bfd_free_cached_info): Call
556 _bfd_generic_close_and_cleanup.
557
558 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
559
560 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
561 for TLS_TPREL_HI16(/LO16) relocations in shared library.
562
563 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
564
565 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
566 checks. Search the RELA table for n64 relocations.
567
568 2019-05-21 Matthew Fortune <matthew.fortune@mips.com>
569 Faraz Shahbazker <fshahbazker@wavecomp.com>
570
571 * elfxx-mips.c (LA25_BC): New macro.
572 (mips_elf_link_hash_table)<compact_branches>: New field.
573 (STUB_JALRC): New macro.
574 (mipsr6_o32_exec_plt0_entry_compact): New array.
575 (mipsr6_n32_exec_plt0_entry_compact): Likewise.
576 (mipsr6_n64_exec_plt0_entry_compact): Likewise.
577 (mipsr6_exec_plt_entry_compact): Likewise.
578 (mips_elf_create_la25_stub): Use BC instead of J for stubs
579 when compact_branches is true.
580 (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
581 PLT for MIPSR6 with compact_branches. Do not reorder the
582 compact branches PLT. Switch the lazy stub for MIPSR6
583 with compact_branches to use JALRC.
584 (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
585 when compact_branches is true.
586 (_bfd_mips_elf_compact_branches): New function.
587 * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
588
589 2019-05-21 Tamar Christina <tamar.christina@arm.com>
590
591 PR ld/24373
592 * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
593 Fix print formatter.
594
595 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
596
597 PR 24460
598 * elf32-arm.c (get_value_helper): Remove.
599 (elf32_arm_final_link_relocate): Fix branch future relocations.
600
601 2019-05-21 Tamar Christina <tamar.christina@arm.com>
602
603 PR ld/24373
604 * bfd-in.h (enum erratum_84319_opts): New
605 (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
606 int to enum erratum_84319_opts.
607 * bfd-in2.h: Regenerate.
608 * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
609 fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
610 (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
611 (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
612 (_bfd_aarch64_resize_stubs): Amend comment.
613 (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
614 requested.
615 (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
616 (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
617 erratum workaround.
618 (clear_erratum_843419_entry): Update erratum conditional.
619
620 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
621
622 PR ld/24571
623 * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
624 when computing distance_short_enough.
625
626 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
627
628 PR ld/24564
629 * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
630 Wrap around even if distance equals avr_pc_wrap_around.
631
632 2019-05-20 Nick Clifton <nickc@redhat.com>
633
634 * po/fr.po: Updated French translation.
635
636 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
637
638 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
639
640 2019-05-16 Alan Modra <amodra@gmail.com>
641
642 * elf32-arm.c (elf32_arm_write_section): Revert last change.
643
644 2019-05-15 Alan Modra <amodra@gmail.com>
645
646 * elf32-arm.c (elf32_arm_write_section): Don't leave
647 error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
648 unitialised section contents.
649
650 2019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
651
652 PR 19921
653 * verilog.c: (VerilogDataWidth): New variable.
654 (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
655
656 2019-05-08 Nick Clifton <nickc@redhat.com>
657
658 PR 24523
659 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
660 rather than FALSE if encountering a non-ELF file.
661
662 2019-05-06 Alan Modra <amodra@gmail.com>
663
664 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
665
666 2019-05-06 Alan Modra <amodra@gmail.com>
667
668 * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
669 (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
670 Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
671 * libbfd.h: Regenerate.
672 * bfd-in2.h: Regenerate.
673
674 2019-05-04 Alan Modra <amodra@gmail.com>
675
676 PR 24511
677 * syms.c (coff_section_type): Only allow '.', '$' and numeric
678 following the standard section names.
679 (bfd_decode_symclass): Prioritize section flag tests in
680 decode_section_type before name tests in coff_section_type.
681 * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
682 and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
683 their names and choose standard .text section flags for
684 fake_section.
685
686 2019-05-02 Nick Clifton <nickc@redhat.com>
687
688 PR 24493
689 * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
690 .gnu.debugaltlink sections as debugging sections.
691
692 2019-04-30 Alan Modra <amodra@gmail.com>
693
694 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
695 (struct _ppc64_elf_section_data): Likewise.
696 (ppc64_elf_check_relocs): Set above fields.
697 (ppc64_elf_edit_toc): Add a pass over GOT relocs.
698 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
699 when possible.
700
701 2019-04-26 H.J. Lu <hongjiu.lu@intel.com>
702
703 PR ld/24486
704 * elflink.c (elf_link_output_extsym): Don't complain undefined
705 weak dynamic reference.
706
707 2019-04-25 Sudakshina Das <sudi.das@arm.com>
708
709 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
710 (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
711 (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
712 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
713 (elfNN_aarch64_small_plt0_pac_entry): Remove.
714 (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
715 (elfNN_aarch64_small_plt0_bti_entry): Update.
716 (elfNN_aarch64_small_plt_bti_entry): Update.
717 (elfNN_aarch64_small_plt_pac_entry): Update.
718 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
719 (setup_plt_values): Setup new entries.
720 (elfNN_aarch64_finish_dynamic_sections): Remove size change.
721 (elfNN_aarch64_plt_sym_val): Likewise.
722
723 2019-04-22 Jim Wilson <jimw@sifive.com>
724
725 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
726
727 2019-04-19 Alan Modra <amodra@gmail.com>
728
729 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
730
731 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
732
733 * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
734 building shared object.
735 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
736
737 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
738
739 PR ld/24458
740 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
741 linker_def.
742
743 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
744
745 * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
746 relocation.
747 * bfd-in2.h: Regenerate.
748 * libbfd.h: Likewise.
749
750 2019-04-15 Sudakshina Das <sudi.das@arm.com>
751
752 * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
753 * bfd-in2.h: Regenerated.
754 * libbfd.h: Regenerated.
755
756 2019-04-15 Sudakshina Das <sudi.das@arm.com>
757
758 * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
759 * bfd-in2.h: Regenerated.
760 * libbfd.h: Likewise.
761
762 2019-04-15 Sudakshina Das <sudi.das@arm.com>
763
764 * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
765 * bfd-in2.h: Regenerated.
766 * libbfd.h: Regenerated.
767 * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
768 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
769 and R_ARM_THM_BF12 together.
770 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
771
772 2019-04-15 Sudakshina Das <sudi.das@arm.com>
773
774 * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
775 * libbfd.h: Regenerated.
776 * bfd-in2.h: Regenerated.
777 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
778 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
779 and R_ARM_THM_BF18 together.
780 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
781
782 2019-04-15 Sudakshina Das <sudi.das@arm.com>
783
784 * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
785 * bfd-in2.h: Regenerated.
786 * libbfd.h: Regenerated.
787 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
788 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
789 and R_ARM_THM_BF16 together.
790 (get_value_helper): New reloc helper.
791 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
792
793 2019-04-15 Sudakshina Das <sudi.das@arm.com>
794
795 * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
796 * bfd-in2.h: Regenerate.
797 * libbfd.h: Regenerate.
798
799 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
800
801 * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
802 * bfd-in2.h: Regenerate.
803 * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
804 * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
805 and update assert.
806 (using_thumb2): Likewise.
807 (using_thumb2_bl): Update assert.
808 (arch_has_arm_nop): Likewise.
809 (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
810 (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
811
812 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
813
814 * elf-linker-x86.h (elf_x86_cet_report): New.
815 (elf_linker_x86_params): Add cet_report.
816 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
817 missing IBT and SHSTK properties if needed.
818
819 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
820
821 PR ld/24436
822 * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
823 "h != NULL". Don't check "h != NULL" before calling.
824 bfd_elf_gc_record_vtentry.
825 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
826 * elf32-bfin.c (bfin_check_relocs): Likewise.
827 * elf32-cris.c (cris_elf_check_relocs): Likewise.
828 * elf32-csky.c (csky_elf_check_relocs): Likewise.
829 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
830 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
831 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
832 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
833 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
834 * elf32-i386.c (elf_i386_check_relocs): Likewise.
835 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
836 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
837 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
838 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
839 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
840 * elf32-metag.c (elf_metag_check_relocs): Likewise.
841 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
842 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
843 * elf32-s390.c (elf_s390_check_relocs): Likewise.
844 * elf32-sh.c (sh_elf_check_relocs): Likewise.
845 * elf32-v850.c (v850_elf_check_relocs): Likewise.
846 * elf32-vax.c (elf_vax_check_relocs): Likewise.
847 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
848 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
849 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
850 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
851 * elf64-s390.c (elf_s390_check_relocs): Likewise.
852 * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
853 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
854 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
855 * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
856 VTENTRY entry.
857
858 2019-04-11 Alan Modra <amodra@gmail.com>
859
860 PR 24435
861 * elflink.c (elf_link_add_object_symbols): Don't read partial
862 dynamic entries from fuzzed objects.
863
864 2019-04-11 Tamar Christina <tamar.christina@arm.com>
865
866 PR ld/24302
867 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
868 DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
869 (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
870
871 2019-04-10 Michael Forney <mforney@mforney.org>
872
873 PR 24427
874 * doc/chew.c (free_words): Correctly free "push_text" strings.
875
876 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
877
878 * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
879
880 2019-04-08 Alan Modra <amodra@gmail.com>
881
882 * configure.ac (elfxx_x86): Define and use.
883 * configure: Regenerate.
884
885 2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
886
887 * elf-linker-x86.h: New file.
888 * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
889 to get x86-specific linker options.
890 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
891 (elf_x86_64_check_relocs): Likewise.
892 (elf_x86_64_relocate_section): Likewise.
893 (elf_x86_64_link_setup_gnu_properties): Likewise.
894 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
895 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
896 (_bfd_elf_linker_x86_set_options): New function.
897 * elfxx-x86.h: Include "elf-linker-x86.h".
898 (elf_x86_link_hash_table): Add params.
899
900 2019-04-03 Alan Modra <amodra@gmail.com>
901
902 * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
903 * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
904 * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
905 * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
906 * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
907 * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
908
909 2019-04-02 Jim Wilson <jimw@sifive.com>
910
911 PR 24389
912 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
913 ELF header flags to after check for ELF object file. Loop through
914 sections looking for code sections, if none, then skip ABI checks.
915
916 2019-03-30 Andrew Waterman <andrew@sifive.com>
917
918 * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
919 rd == X_RA case.
920
921 2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
922
923 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
924 info->export_dynamic to the conditional.
925
926 2019-03-28 Alan Modra <amodra@gmail.com>
927
928 PR 24392
929 * configure.ac: Invoke AC_CHECK_SIZEOF(int).
930 * configure: Regenerate.
931 * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
932 workaround with SIZEOF_LONG vs. SIZEOF_INT check.
933 * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
934 * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
935 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
936
937 2019-03-21 Jim Wilson <jimw@sifive.com>
938
939 PR 24365
940 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
941 verify sym non-NULL before using. Add identical check using h.
942
943 2019-03-21 Sudakshina Das <sudi.das@arm.com>
944
945 * elf-bfd.h (struct elf_backend_data): Add argument to
946 merge_gnu_properties.
947 * elf-properties.c (elf_merge_gnu_properties): Add argument to
948 itself and while calling bed->merge_gnu_properties.
949 (elf_merge_gnu_property_list): Update the calls for
950 elf_merge_gnu_properties.
951 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
952 of --force-bti warning and add argument.
953 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
954 warning.
955 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
956 * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
957 declaration.
958
959 2019-03-20 Sudakshina Das <sudi.das@arm.com>
960
961 * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
962 * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
963 (elf_backend_fixup_gnu_properties): Define for AArch64.
964
965 2019-03-18 Alan Modra <amodra@gmail.com>
966
967 PR 24355
968 * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
969 for local iplt syms with ent->plt.offset == -1. Remove ineffective
970 attempt at writing glink stubs only once.
971
972 2019-03-16 Alan Modra <amodra@gmail.com>
973
974 PR 24337
975 * elf.c (_bfd_elf_rela_local_sym): Revert last change.
976 (_bfd_elf_rel_local_sym): Likewise.
977 * elflink.c (elf_link_input_bfd): Use bfd_und_section for
978 section of symbols with unrecognized shndx.
979
980 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
981
982 PR ld/24267
983 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
984 section.
985 * cofflink.c (coff_link_add_symbols): Check for symbols defined
986 in discarded section.
987
988 2019-03-15 Alan Modra <amodra@gmail.com>
989
990 PR 24339
991 * elflink.c (elf_link_add_object_symbols): Bail out on a local
992 symbol after globals if elf_bad_symtab is not set.
993
994 2019-03-15 Alan Modra <amodra@gmail.com>
995
996 PR 24337
997 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
998 (_bfd_elf_rel_local_sym): Likewise.
999
1000 2019-03-15 Alan Modra <amodra@gmail.com>
1001
1002 PR 24336
1003 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
1004 object files with sh_size not a multiple of sh_entsize.
1005
1006 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1007
1008 PR ld/24338
1009 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
1010 input with bad relocation.
1011
1012 22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
1013
1014 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
1015
1016 2019-03-14 Nick Clifton <nickc@redhat.com>
1017
1018 PR 24334
1019 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
1020 (save_section_vma): Initialise field to the number of entries in
1021 the sec_vma table.
1022 (section_vma_same): Check that the number of entries in the
1023 sec_vma table matches the number of sections in the bfd.
1024
1025 2019-03-14 Nick Clifton <nickc@redhat.com>
1026
1027 PR 24333
1028 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
1029 section owner pointer when adding the default symbol.
1030
1031 2019-03-14 Nick Clifton <nickc@redhat.com>
1032
1033 PR 24332
1034 * elflink.c (elf_link_add_object_symbols): Add new local variable
1035 extversym_end. Initialise it to point to the end of the version
1036 symbol table, if present. Check it when initialising and updating
1037 the ever pointer.
1038
1039 2019-03-13 Sudakshina Das <sudi.das@arm.com>
1040
1041 * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
1042 (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
1043 (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
1044 (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
1045 and PLT_PAC_PLT.
1046 (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
1047 (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
1048 (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
1049
1050 2019-03-13 Sudakshina Das <sudi.das@arm.com>
1051 Szabolcs Nagy <szabolcs.nagy@arm.com>
1052
1053 * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
1054 (aarch64_bti_pac_info): New.
1055 (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
1056 (bfd_elf32_aarch64_set_options): Likewise.
1057 * bfd-in2.h: Regenerate
1058 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
1059 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
1060 (elfNN_aarch64_small_plt0_bti_entry): New.
1061 (elfNN_aarch64_small_plt_bti_entry): New.
1062 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
1063 (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
1064 (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
1065 tlsdesc_plt_entry_size fields.
1066 (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
1067 (setup_plt_values): New helper function.
1068 (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
1069 bti enable type.
1070 (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
1071 fixed macros.
1072 (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
1073 (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
1074 to plt stubs instead of fixed ones and update filling them according
1075 to the need for bti.
1076 (elfNN_aarch64_init_small_plt0_entry): Likewise.
1077 (elfNN_aarch64_finish_dynamic_sections): Likewise.
1078 (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
1079 (elfNN_aarch64_plt_sym_val): Update size accordingly.
1080 (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
1081 is set.
1082 (bfd_elfNN_get_synthetic_symtab): Define.
1083 (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
1084 and mising BTI NOTE SECTION.
1085
1086
1087 2019-03-13 Sudakshina Das <sudi.das@arm.com>
1088
1089 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
1090 linker created inputs from merge.
1091 * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
1092 GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
1093 (elfNN_aarch64_link_setup_gnu_properties): New.
1094 (elfNN_aarch64_merge_gnu_properties): New.
1095 (elf_backend_setup_gnu_properties): Define for AArch64.
1096 (elf_backend_merge_gnu_properties): Likewise.
1097 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
1098 (_bfd_aarch64_elf_parse_gnu_properties): Define.
1099 (_bfd_aarch64_elf_merge_gnu_properties): Define.
1100 * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
1101 (_bfd_aarch64_elf_parse_gnu_properties): Declare.
1102 (_bfd_aarch64_elf_merge_gnu_properties): Declare.
1103 (elf_backend_parse_gnu_properties): Define for AArch64.
1104
1105 2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
1106
1107 PR ld/24322
1108 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
1109 merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
1110
1111 2019-03-12 Alan Modra <amodra@gmail.com>
1112
1113 * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
1114 nmemb parameter. Use bfd_alloc2.
1115 (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
1116 Delete assertion.
1117 (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
1118 (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
1119 * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
1120 doesn't overflow.
1121 * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
1122 (assign_section_numbers): Style fix.
1123 (swap_out_syms): Use bfd_malloc2.
1124 (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
1125 overflow.
1126 (_bfd_elf_make_empty_symbol): Style fix.
1127 (elfobj_grok_stapsdt_note_1): Formatting.
1128 * elfcode.h (elf_object_p): Use bfd_alloc2.
1129 (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
1130 (elf_slurp_symbol_table): Use bfd_zalloc2.
1131 (elf_slurp_reloc_table): Use bfd_alloc2.
1132 (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
1133 * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
1134 size calculation doesn't overflow.
1135 (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
1136 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
1137 * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
1138
1139 2019-03-08 Alan Modra <amodra@gmail.com>
1140
1141 PR 24311
1142 * merge.c (merge_strings): Return secinfo. Don't pad section
1143 to alignment here.
1144 (_bfd_merge_sections): Pad section to alignment here, if input
1145 sections contributing to merged output all pad to alignment.
1146 Formatting.
1147
1148 2019-03-06 Nick Clifton <nickc@redhat.com>
1149
1150 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
1151 table pointer.
1152 * coffgen.c (coff_find_nearest_line_with_names): Do not call
1153 _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
1154
1155 2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
1156
1157 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
1158 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
1159
1160 PR 20113
1161 * elf32-s390.c (allocate_dynrelocs): Update comment.
1162
1163 2019-02-28 Tamar Christina <tamar.christina@arm.com>
1164
1165 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
1166
1167 2019-02-28 Nick Clifton <nickc@redhat.com>
1168
1169 PR 24273
1170 * elf.c (bfd_elf_string_from_elf_section): Check for a string
1171 section that is not NUL terminated.
1172
1173 2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
1174
1175 PR ld/24276
1176 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
1177 by linker when checking copy reloc on protected symbol.
1178
1179 2019-02-24 Alan Modra <amodra@gmail.com>
1180
1181 PR 24144
1182 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
1183
1184 2019-02-20 Eric Tsai <erictsai@cadence.com>
1185
1186 * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
1187 sections between the call site and call destination and adjust
1188 call distance by the largest alignment.
1189
1190 2019-02-20 Alan Hayward <alan.hayward@arm.com>
1191
1192 * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
1193 * elf.c (elfcore_grok_aarch_pauth): New function.
1194 (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
1195 (elfcore_write_aarch_pauth): New function.
1196 (elfcore_write_register_note): Check for AArch64 pauth section.
1197
1198 2019-02-20 Alan Modra <amodra@gmail.com>
1199
1200 PR 24225
1201 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
1202 return value.
1203
1204 2019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
1205
1206 * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
1207 Darwin hosts, not just or1k.
1208 * configure: Regenerate.
1209
1210 2019-02-20 Alan Modra <amodra@gmail.com>
1211
1212 PR 24236
1213 * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
1214 sentinel NUL to string buffer nearer to loop where it is used.
1215 Don't go past sentinel when scanning strings, and don't write
1216 NUL again.
1217 * archive.c (do_slurp_coff_armap): Simplify string handling to
1218 archive64.c style.
1219
1220 2019-02-19 Alan Modra <amodra@gmail.com>
1221
1222 PR 24235
1223 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
1224 attempting to prevent read past end of section.
1225
1226 2019-02-18 Alan Modra <amodra@gmail.com>
1227
1228 PR 24225
1229 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
1230 PRIx64 to generate warning messages. Print local sym names too.
1231
1232 2019-02-09 Vineet Gupta <vgupta@synopsys.com>
1233
1234 * elf32-arc (INIT_SYM_STRING): Delete.
1235 (FINI_SYM_STRING): Likewise.
1236 (init_str): Likewise.
1237 (fini_str): Likewise.
1238
1239 2019-02-08 Alan Modra <amodra@gmail.com>
1240
1241 * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
1242 for bss-plt" warning to make it an error.
1243
1244 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
1245
1246 PR ld/18841
1247 * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
1248 reloc_class_ifunc for ifunc symbols.
1249 * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
1250
1251 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
1252
1253 * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
1254 <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
1255
1256 2019-02-07 Nick Clifton <nickc@redhat.com>
1257
1258 * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
1259 into the definitely obsolete list.
1260
1261 2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
1262
1263 PR ld/24151
1264 * elf64-x86-64.c (elf_x86_64_need_pic): Check
1265 SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
1266 (elf_x86_64_relocate_section): Move PIC check for PC-relative
1267 relocations to ...
1268 (elf_x86_64_check_relocs): Here.
1269 (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
1270 to check if a symbol is defined in a non-shared object.
1271 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
1272
1273 2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
1274
1275 * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
1276 of 'labs' (and fix GCC warning).
1277
1278 2019-01-25 Nick Clifton <nickc@redhat.com>
1279
1280 * po/ru.po: Updated Russian translation.
1281
1282 2019-01-23 Nick Clifton <nickc@redhat.com>
1283
1284 * po/fr.po: Updated French translation.
1285
1286 2019-01-21 Nick Clifton <nickc@redhat.com>
1287
1288 * po/pt.po: Updated Portuguese translation.
1289 * po/uk.po: Updated Ukranian translation.
1290
1291 2019-01-21 Yuri Chornoivan <yurchor@ukr.net>
1292
1293 PR 24108
1294 * elf32-nds32.c (nds32_relocate_section): Add space between words
1295 in error message.
1296 * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
1297 error message.
1298 (riscv_i_or_e_p): Likewise.
1299 (riscv_merge_arch_attr_info): Likewise.
1300
1301 2019-01-19 Nick Clifton <nickc@redhat.com>
1302
1303 * version.m4: Reset to 2.32.51
1304 * configure: Regenerate.
1305 * po/bfd.pot: Regenerate.
1306
1307 2018-06-24 Nick Clifton <nickc@redhat.com>
1308
1309 2.32 branch created.
1310
1311 2019-01-16 Kito Cheng <kito@andestech.com>
1312
1313 * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
1314 for OBJ_ATTR_PROC.
1315
1316 2019-01-16 Kito Cheng <kito@andestech.com>
1317 Nelson Chu <nelson@andestech.com>
1318
1319 * elfnn-riscv.c (in_subsets): New.
1320 (out_subsets): Likewise.
1321 (merged_subsets): Likewise.
1322 (riscv_std_ext_p): Likewise.
1323 (riscv_non_std_ext_p): Likewise.
1324 (riscv_std_sv_ext_p): Likewise.
1325 (riscv_non_std_sv_ext_p): Likewise.
1326 (riscv_version_mismatch): Likewise.
1327 (riscv_i_or_e_p): Likewise.
1328 (riscv_merge_std_ext): Likewise.
1329 (riscv_merge_non_std_and_sv_ext): Likewise.
1330 (riscv_merge_arch_attr_info): Likewise.
1331 (riscv_merge_attributes): Likewise.
1332 (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
1333
1334 * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
1335 (elf_backend_obj_attrs_vendor): Define.
1336 (elf_backend_obj_attrs_section_type): Likewise.
1337 (elf_backend_obj_attrs_section): Likewise.
1338 (elf_backend_obj_attrs_arg_type): Define as
1339 riscv_elf_obj_attrs_arg_type.
1340 * elfxx-riscv.c (riscv_estimate_digit): New.
1341 (riscv_estimate_arch_strlen1): Likewise.
1342 (riscv_estimate_arch_strlen): Likewise.
1343 (riscv_arch_str1): Likewise.
1344 (riscv_arch_str): Likewise.
1345 * elfxx-riscv.h (riscv_arch_str): Declare.
1346
1347 2019-01-14 John Darrington <john@darrington.wattle.id.au>
1348
1349 * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
1350 * libbfd.h: regen.
1351 * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
1352 source field. (md_apply_fix): Apply final fix
1353 to BFD_RELOC_S12Z_OPR.
1354 * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
1355
1356 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
1357
1358 PR 20113
1359 * elf32-s390.c (allocate_dynrelocs): Update comment.
1360
1361 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
1362
1363 * warning.m4: Adjust egrep pattern for non-GNU compilers.
1364 * configure: Regenerate.
1365
1366 2019-01-08 Alan Modra <amodra@gmail.com>
1367
1368 PR 23699
1369 PR 24065
1370 * ihex.c (ihex_write_object_contents): Properly check 32-bit
1371 address range.
1372
1373 2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
1374
1375 * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
1376 * bfd/bfd-in2.h: Regenerate.
1377 * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
1378 * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
1379
1380 2019-01-04 Lifang Xia <lifang_xia@c-sky.com>
1381
1382 * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
1383 default target, little endian target is more suitable.
1384
1385 2019-01-04 Alan Modra <amodra@gmail.com>
1386
1387 PR 24061
1388 PR 21786
1389 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
1390 adjust all callers.
1391 (EQ_VALUE_IN_FIELD): Likewise.
1392 * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
1393
1394 2019-01-01 Alan Modra <amodra@gmail.com>
1395
1396 Update year range in copyright notice of all files.
1397
1398 For older changes see ChangeLog-2018
1399 \f
1400 Copyright (C) 2019 Free Software Foundation, Inc.
1401
1402 Copying and distribution of this file, with or without modification,
1403 are permitted in any medium without royalty provided the copyright
1404 notice and this notice are preserved.
1405
1406 Local Variables:
1407 mode: change-log
1408 left-margin: 8
1409 fill-column: 74
1410 version-control: never
1411 End:
This page took 0.082078 seconds and 5 git commands to generate.