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