Fix PR gdb/20948: --write option to GDB causes segmentation fault
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
db727370
JL
12018-09-24 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2
3 PR gdb/20948
4 * elf.c (_bfd_elf_write_object_contents): Return from function
5 early if abfd->direction == both_direction.
6
a767a1c4
SM
72018-09-21 Simon Marchi <simon.marchi@ericsson.com>
8
9 * configure.ac: Check for fls.
10 * elf32-nds32.c (fls): Only define if !HAVE_FLS.
11 * config.in: Re-generate.
12 * configure: Re-generate.
13
ed3162ad
MR
142018-09-20 Maciej W. Rozycki <macro@linux-mips.org>
15
16 * config.bfd <rs6000-*-aix5.[01], rs6000-*-aix[5-9]*>: Remove
17 duplicate `case' selectors.
18
fbaf61ad
NC
192018-09-20 Nelson Chu <nelson.chu1990@gmail.com>
20
21 * elf32-nds32.c (nds32_elf_relax_loadstore):
22 Remove the unused target features.
23 (bfd_elf32_nds32_set_target_option): Remove the unused parameters.
24 (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12,
25 nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls,
26 nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff
27 nds32_elf_relax_gotoff_suff, calculate_plt_memory_address,
28 calculate_plt_offset, calculate_got_memory_address,
29 nds32_elf_check_dup_relocs): Removed.
30 All callers changed.
31 * elf32-nds32.h: Remove the unused macros and defines.
32 (elf_nds32_link_hash_table): Remove the unused variable.
33 (bfd_elf32_nds32_set_target_option): Update prototype.
34 (nds32_elf_ex9_init): Removed.
35 * elf32-nds32.c (nds32_convert_32_to_16): Updated.
36 * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros
37 to initialize array nds32_elf_howto_table in any order
38 without lots of EMPTY_HOWTO.
39 (nds32_reloc_map): Updated.
40 * reloc.c: Add BFD_RELOC_NDS32_LSI.
41 * bfd-in2.h: Regenerated.
42 * bfd/libbfd.h: Regenerated.
43 * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI.
44 (nds32_reloc_map): Likewise.
45 (nds32_elf_relax_flsi): New function.
46 (nds32_elf_relax_section): Support floating load/store relaxation.
47 * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset):
48 New macro.
49 (struct elf_nds32_link_hash_entry): New `offset_to_gp' field.
50 (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields.
51 (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard,
52 nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym):
53 New functions.
54 (nds32_info_to_howto_rel): Add BFD_ASSERT.
55 (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc,
56 nds32_elf_link_hash_table_create, nds32_elf_relocate_section,
57 nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label,
58 bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated.
59 (nds32_elf_final_sda_base): Improve it to find the better gp value.
60 (insert_nds32_elf_blank): Must consider `len' when inserting blanks.
61 * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype.
62 (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'.
63 * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function.
64 (create_got_section): Likewise.
65 (allocate_dynrelocs, nds32_elf_size_dynamic_sections,
66 nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated.
67 (nds32_elf_check_relocs): Fix the issue that the shared library may
68 has TEXTREL entry in the dynamic section.
69 (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs
70 since the TEXTREL issue is fixed in the nds32_elf_check_relocs.
71 (nds32_elf_finish_dynamic_sections): Update and add DT_RELASZ
72 dynamic entry.
73 (calculate_offset): Remove the unused parameter `pic_ext_target' and
74 related codes.
75 All callers changed.
76 (elf_backend_dtrel_excludes_plt): Disable it temporarily since it
77 will cause some errors for our test cases.
78 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Allow to link the
79 generic object.
80 * reloc.c: Add TLS relocations.
81 * libbfd.h: Regenerated.
82 * bfd-in2.h: Regenerated.
83 * elf32-nds32.h (struct section_id_list_t): New.
84 (elf32_nds32_lookup_section_id, elf32_nds32_check_relax_group,
85 elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model):
86 New prototypes.
87 (elf32_nds32_compute_jump_table_size, elf32_nds32_local_tlsdesc_gotent):
88 New macro.
89 (nds32_insertion_sort, bfd_elf32_nds32_set_target_option,
90 elf_nds32_link_hash_table): Updated.
91 * elf32-nds32.c (enum elf_nds32_tls_type): New.
92 (struct elf32_nds32_relax_group_t, struct relax_group_list_t): New.
93 (elf32_nds32_add_dynreloc, patch_tls_desc_to_ie, get_tls_type,
94 fls, ones32, list_insert, list_insert_sibling, dump_chain,
95 elf32_nds32_check_relax_group, elf32_nds32_lookup_section_id,
96 elf32_nds32_unify_relax_group, nds32_elf_unify_tls_model): New functions.
97 (elf_nds32_obj_tdata): Add new fields.
98 (elf32_nds32_relax_group_ptr, nds32_elf_local_tlsdesc_gotent): New macros.
99 (nds32_elf_howto_table): Add TLS relocations.
100 (nds32_reloc_map): Likewise.
101 (nds32_elf_copy_indirect_symbol, nds32_elf_size_dynamic_sections,
102 nds32_elf_finish_dynamic_symbol, elf32_nds32_allocate_local_sym_info,
103 nds32_elf_relocate_section, bfd_elf32_nds32_set_target_option,
104 nds32_elf_check_relocs, allocate_dynrelocs): Updated.
105 (nds32_elf_relax_section): Call nds32_elf_unify_tls_model.
106 (dtpoff_base): Rename it to `gottpof' and then update it.
107
cf93e9c2
AM
1082018-09-20 Alan Modra <amodra@gmail.com>
109
110 PR 23685
111 * peXXigen.c (pe_print_edata): Correct export address table
112 overflow checks. Check dataoff against section size too.
113
30838132
AM
1142018-09-20 Alan Modra <amodra@gmail.com>
115
116 PR 23686
117 * dwarf2.c (read_section): Error when attempting to malloc
118 "(bfd_size_type) -1".
119 * syms.c (_bfd_stab_section_find_nearest_line): Bounds check
120 function_name. Bounds check reloc address. Formatting. Ensure
121 .stabstr zero terminated.
122
8ff71a9c
NC
1232018-09-18 Nick Clifton <nickc@redhat.com>
124
125 PR 23657
126 * elfcode.h (elf_swap_shdr_in): Generate a warning message if an
127 ELF section has contents and size larger than the file size.
128
47275900
MR
1292018-09-14 Maciej W. Rozycki <macro@mips.com>
130
131 PR ld/21375
132 * elfxx-mips.h (_bfd_mips_elf_hide_symbol): New prototype.
133 (_bfd_mips_elf_linker_flags): Update prototype.
134 * elf32-mips.c (elf_backend_hide_symbol): New macro.
135 * elf64-mips.c (elf_backend_hide_symbol): Likewise.
136 * elfn32-mips.c (elf_backend_hide_symbol): Likewise.
137 * elfxx-mips.c (mips_elf_link_hash_table): Add
138 `use_absolute_zero' and `gnu_target' members.
139 (mips_elf_record_global_got_symbol): Call
140 `_bfd_mips_elf_hide_symbol' rather than
141 `_bfd_elf_link_hash_hide_symbol'.
142 (mips_use_local_got_p): Return FALSE if the symbol is absolute.
143 (mips_elf_obtain_contents): Reorder function.
144 (mips_elf_nullify_got_load): New function.
145 (mips_elf_calculate_relocation): Add `contents' parameter.
146 Nullify GOT loads or if it is not possible, then redirect GOT
147 relocations to the `__gnu_absolute_zero' symbol, for references
148 that are supposed to resolve to zero.
149 (mips_elf_define_absolute_zero): New function.
150 (_bfd_mips_elf_check_relocs): Prepare for arrangements made in
151 `mips_elf_calculate_relocation' for references made via the GOT
152 that are supposed to resolve to zero.
153 (_bfd_mips_elf_hide_symbol): New function.
154 (_bfd_mips_elf_linker_flags): Add the `gnu_target' parameter,
155 set the `gnu_target' member of the MIPS hash table.
156 (MIPS_LIBC_ABI_ABSOLUTE): New enumeration constant.
157 (_bfd_mips_post_process_headers): Use it.
158
98e10ffa
MR
1592018-09-14 Maciej W. Rozycki <macro@mips.com>
160
161 * elfxx-mips.c (mips_elf_store_contents): New function...
162 (mips_elf_perform_relocation): ... factored out from here.
163
fe75f42e
LX
1642018-09-14 Lifang Xia <lifang_xia@c-sky.com>
165
166 * elf32-csky.c (csky_elf_howto_table): Fill special_function of
167 R_CKCORE_PCREL32.
168 (csky_elf_relocate_section): Add R_CKCORE_PCREL32 process.
169
a4cd947a
AM
1702018-09-14 Alan Modra <amodra@gmail.com>
171
172 PR 23425
173 * reloc.c (bfd_generic_get_relocated_section_contents): Zero reloc
174 fields in debug sections when reloc is against an undefined symbol
175 and called from bfd_simple_get_relocated_section_contents or
176 similar.
177 * dwarf2.c (find_abstract_instance): Return true for zero offset
178 DW_FORM_ref_addr without returning values.
179
deee88e9
AM
1802018-09-06 Alan Modra <amodra@gmail.com>
181
182 PR 23570
183 * elf32-avr.c (elf_avr_special_sections): New.
184 (elf_backend_special_sections): Define.
185
e920c014
JM
1862018-09-04 Jose E. Marchesi <jose.marchesi@oracle.com>
187
188 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Do not issue an
189 error when an invalid relocation is passed; this is already done
190 by `_bfd_sparc_elf_info_to_howto_ptr'.
191
8410d65b
JM
1922018-09-04 Jose E. Marchesi <jose.marchesi@oracle.com>
193
194 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Issue an
195 error when an invalid symbol index is retrieved in ELF64_R_SYM of
196 a relocation seen in an input file.
197
2542e49e
JL
1982018-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
199 Alan Modra <amodra@gmail.com>
200
201 PR 23595
202 elf.c (copy_elf_program_header): When first segment contains
203 only the headers and SHT_NOBITS sections, use segment p_filesz
204 to calculate header and padding size. Use filepos of the first
205 section otherwise.
206
b986869b
L
207018-08-31 H.J. Lu <hongjiu.lu@intel.com>
208
209 PR ld/23600
210 * archures.c (bfd_arch_get_compatible): Allow an IR object with
211 unknown architecture.
212
3d58e1fc
AM
2132018-08-31 Alan Modra <amodra@gmail.com>
214
215 * elf64-ppc.c (num_relocs_for_offset): New function.
216 (emit_relocs_for_offset): New function.
217 (use_global_in_relocs): New function, split out from..
218 (ppc_build_one_stub): ..here. Output relocations for notoc stubs.
219 (ppc_size_one_stub): Calculate reloc count for notoc stubs.
220 (ppc64_elf_size_stubs): Don't count undefined syms in stub_globals.
221
4a969973
AM
2222018-08-31 Alan Modra <amodra@gmail.com>
223
224 * reloc.c (BFD_RELOC_PPC64_REL16_HIGH, BFD_RELOC_PPC64_REL16_HIGHA),
225 (BFD_RELOC_PPC64_REL16_HIGHER, BFD_RELOC_PPC64_REL16_HIGHERA),
226 (BFD_RELOC_PPC64_REL16_HIGHEST, BFD_RELOC_PPC64_REL16_HIGHESTA):
227 Define.
228 * elf64-ppc.c (ppc64_elf_howto_raw): Add new REL16 howtos.
229 (ppc64_elf_reloc_type_lookup): Translate new REL16 relocs.
230 (ppc64_elf_check_relocs, ppc64_elf_relocate_section): Handle them.
231 * bfd-in2.h: Regenerate.
232 * libbfd.h: Regenerate.
233
f891966f
AM
2342018-08-31 Alan Modra <amodra@gmail.com>
235
236 * elf64-ppc.c: Correct _notoc stub comments.
237 (ppc_build_one_stub): Simplify output of branch for notoc
238 long branch stub. Don't include label offset of 8 bytes in
239 "off" calculation for notoc plt stub. Don't emit insns to get pc.
240 (build_offset): Emit insns to get pc here instead.
241 (size_offset): Add 4 extra insns.
242 (plt_stub_size): Adjust for "off" and size_offset changes.
243 (ppc_size_one_stub): Rearrange code into a switch, duplicating
244 some to better match ppc_build_one_stub.
245
9108bc33
CX
2462018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
247
248 * archures.c (bfd_architecture): New machine
249 bfd_mach_mips_gs264e.
250 * bfd-in2.h (bfd_architecture): Likewise.
251 * cpu-mips.c (enum I_xxx): Likewise.
252 (arch_info_struct): Likewise.
253 * elfxx-mips.c (_bfd_elf_mips_mach): Handle
254 E_MIPS_MACH_GS264E.
255 (mips_set_isa_flags): Likewise.
256 (mips_mach_extensions): Map bfd_mach_mips_gs264e to
257 bfd_mach_mips_gs464e extension.
258
bd782c07
CX
2592018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
260
261 * archures.c (bfd_architecture): New machine
262 bfd_mach_mips_gs464e.
263 * bfd-in2.h (bfd_architecture): Likewise.
264 * cpu-mips.c (enum I_xxx): Likewise.
265 (arch_info_struct): Likewise.
266 * elfxx-mips.c (_bfd_elf_mips_mach): Handle
267 E_MIPS_MACH_GS464E.
268 (mips_set_isa_flags): Likewise.
269 (mips_mach_extensions): Map bfd_mach_mips_gs464e to
270 bfd_mach_mips_gs464 extension.
271
ac8cb70f
CX
2722018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
273
274 * archures.c (bfd_architecture): Rename
275 bfd_mach_mips_loongson_3a to bfd_mach_mips_gs464.
276 * bfd-in2.h (bfd_architecture): Likewise.
277 * cpu-mips.c (enum I_xxx): Likewise.
278 (arch_info_struct): Likewise.
279 * elfxx-mips.c (_bfd_elf_mips_mach): Likewise.
280 (mips_set_isa_flags): Likewise.
281 (mips_mach_extensions): Likewise.
282 (bfd_mips_isa_ext_mach): Likewise.
283 (bfd_mips_isa_ext): Likewise.
284 (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A.
285
a693765e
CX
2862018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
287
288 * elfxx-mips.c (print_mips_ases): Add Loongson EXT2 extension.
289
bdc6c06e
CX
2902018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
291
292 * elfxx-mips.c (infer_mips_abiflags): Use ases instead of
293 isa_ext for infer ABI flags.
294 (print_mips_ases): Add Loongson EXT extension.
295
716c08de
CX
2962018-08-29 Chenghua Xu <paul.hua.gm@gmail.com>
297
298 * elfxx-mips.c (print_mips_ases): Add CAM extension.
299
90c745dc
L
3002018-08-27 H.J. Lu <hongjiu.lu@intel.com>
301
302 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Don't mask
303 out the GNU_PROPERTY_X86_UINT32_VALID bit.
304
7a815dd5
L
3052018-08-25 H.J. Lu <hongjiu.lu@intel.com>
306
307 PR ld/23499
308 * elf.c (_bfd_elf_get_symbol_version_string): Return
309 _("<corrupt>") for corrupt symbol version info.
310
a9eafb08
L
3112018-08-24 H.J. Lu <hongjiu.lu@intel.com>
312
313 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Handle
314 X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED,
315 X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO,
316 X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI
317 instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND.
318 (_bfd_x86_elf_merge_gnu_properties): Likewise.
319 (_bfd_x86_elf_link_setup_gnu_properties): Add X86_FEATURE_2_NEEDED
320 instead of X86_ISA_1_NEEDED.
321 (_bfd_x86_elf_link_fixup_gnu_properties): Handle
322 X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO,
323 X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI,
324 X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of
325 X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND.
326
aa7bca9b
L
3272018-08-24 H.J. Lu <hongjiu.lu@intel.com>
328
329 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Mask out the
330 GNU_PROPERTY_X86_UINT32_VALID bit.
331 (_bfd_x86_elf_link_fixup_gnu_properties): Set the
332 GNU_PROPERTY_X86_UINT32_VALID bit for non-relocatable output.
333
b0ceb98a
Z
3342018-08-23 Zenith423 <zenith432@users.sourceforge.net>
335
336 PR 23460
337 * plugin.c (struct plugin_list_entry): New structure.
338 (plugin_list): New variable.
339 (try_load_plugin): Place opened plugins on a list. Ensure that
340 the refcount in the dynamic loader is kept at 1.
341
f53ad3cf
AM
3422018-08-23 Alan Modra <amodra@gmail.com>
343
344 * elf64-ppc.c (ppc64_elf_relocate_section): Revise "call lacks
345 nop" error message.
346
38cf70ca
NC
3472018-08-23 Nick Clifton <nickc@redhat.com>
348
349 * elf64-hppa.c (elf_hppa_final_link_relocate): Replace unworkable
350 code with an assertion.
351
334d4ced
NC
3522018-08-23 Nick Clifton <nickc@redhat.com>
353
354 PR 23061
355 * coffgen.c (coff_pointerize_aux): Add table_end parameter. Use
356 it to prevent walking off the end of the table.
357 (coff_get_normalized_symtab): Pass internal_end pointer to
358 coff_pointerize_aux.
359
d0abeec8
AM
3602018-08-23 Alan Modra <amodra@gmail.com>
361
362 * elf64-ppc.c (ppc64_elf_relocate_section): Don't miss clearing
363 unresolved_reloc on ppc_stub_plt_call_notoc.
364
9eef0608
L
3652018-08-22 H.J. Lu <hongjiu.lu@intel.com>
366
367 PR ld/23536
368 * development.sh (experimental): New.
369
6f4286c4
HD
3702018-08-22 Helge Deller <deller@gmx.de>
371 Nick Clifton <nickc@redhat.com>
372
373 * elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as
374 the section type of the .PARISC.unwind section on 64-bit binaries
375 and SHT_PROGBITS for 32-bit binaries. Add a comment about it.
376 Add comment about the sh_entsize value.
377
3da64fe4
RA
3782018-08-22 Rafeal Auler <rafaelauler@gmail.com>
379
380 PR 23560
381 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the
382 stub's target, since it may have been changed after the layout.
383
ebf983a4 3842018-08-21 John Darington <john@darrington.wattle.id.au>
4e57b456
JD
385
386 * elf32-s12z.c (opru18_reloc): New function.
ebf983a4 387 (elf_s12z_howto_table): Adjust Howto according to new knowledge.
4e57b456 388
ae19acf3 3892018-08-21 mephi42 <mephi42@gmail.com>
390
391 PR binutils/23315
392 * mach-o.c (bfd_mach_o_mangle_symbols): Update n_type even if
393 data is already considered filled.
394
46807bf4
AM
3952018-08-21 Alan Modra <amodra@gmail.com>
396
397 * elf64-ppc.c (HOW): Define.
398 (ONES): Delete.
399 (ppc64_elf_howto_raw): Use HOW to initialize entries.
400 * elf32-ppc.c (HOW): Define.
401 (ppc_elf_howto_raw): Use HOW to initialize entries, updating
402 R_PPC_VLE_REL15 and R_PPC_VLE_REL24 to use bitpos=0.
403
706704c8
AM
4042018-08-21 Alan Modra <amodra@gmail.com>
405
406 * reloc.c (reloc_howto_type): Typedef.
407 (bfd_symbol): Delete forward declaration.
408 (struct reloc_howto_struct): Add "negate" field. Make "size",
409 "bitsize", "rightshift", "bitpos", "complain_on_overflow",
410 "pc_relative", "partial_inplace", and "pcrel_offset" bitfields.
411 Rearrange for better packing. Revise comments.
412 (HOWTO): Map to rearranged reloc_howto_struct.
413 (bfd_get_reloc_size): Delete now unused cases.
414 (read_reloc, write_reloc): Likewise.
415 (apply_reloc, _bfd_relocate_contents): Test howto->negate
416 rather than howto->size < 0 for negated relocation values.
417 * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Avoid
418 signed/unsigned warning.
419 (xcoff_ppc_relocate_section): Delete "condition is always false"
420 code.
421 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
422 * cpu-ns32k.c (do_ns32k_reloc): Adjust to suit reloc_howto_struct
423 changes.
424 * vms-alpha.c (_bfd_vms_write_etir, alpha_vms_slurp_relocs): Use
425 size 16 for ALPHA_R_LINKAGE.
426 (alpha_howto_table <ALPHA_R_LINKAGE>): Set encoded size and
427 bitsize to zero.
428 * bfd-in.h (reloc_howto_type): Delete.
429 * bfd-in2.h: Regenerate.
430
487096bf
AM
4312018-08-21 Alan Modra <amodra@gmail.com>
432
433 * reloc.c (HOWTO): Revise comment.
434 (NEWHOWTO, HOWTO_PREPARE): Delete.
435 * coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc
436 reloc_howto_struct with reloc_howto_type.
437 * ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise.
438 * vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise.
439 * elf-hppa.h (HOW): Define.
440 (elf_hppa_howto_table): Use it to simplify this table, correcting
441 name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and
442 R_PARISC_LTOFF_FPTR16DF.
443 * elf32-mep.c (MEPREL): Use HOWTO.
444 * bfd-in2.h: Regenerate.
445
865dcc8a
AM
4462018-08-20 Alan Modra <amodra@gmail.com>
447
448 * mmo.c (valid_mmo_symbol_character_set): Initialize and make
449 array const.
450 (mmo_init): Don't init valid_mmo_symbol_character_set.
451
ba1c4c6f
AM
4522018-08-20 Alan Modra <amodra@gmail.com>
453
454 * rs6000-core.c (CORE_COMMONSZ): Balance parentheses in expression.
455
bfb1e8c1
L
4562018-08-17 H.J. Lu <hongjiu.lu@intel.com>
457
458 PR ld/23515
459 * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties.
460 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call
461 backend fixup_gnu_properties if it isn't NULL. Discard
462 .note.gnu.property section if all properties have been removed.
463 * elfxx-target.h (elf_backend_fixup_gnu_properties): New.
464 (elfNN_bed): Initialize fixup_gnu_properties.
465 * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New
466 function.
467 * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New
468 prototype.
469 (elf_backend_fixup_gnu_properties): New.
470
2cdcc330
AM
4712018-08-16 Alan Modra <amodra@gmail.com>
472
473 * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example.
474 Formatting.
475
98641896
L
4762018-08-12 H.J. Lu <hongjiu.lu@intel.com>
477
478 PR binutils/23494
479 * Makefile.am (BFD32_LIBS): Add elf-properties.lo.
480 (BFD32_LIBS_CFILES): Add elf-properties.c.
481 (BFD32_BACKENDS): Remove elf-properties.lo.
482 (BFD32_BACKENDS_CFILES): Remove elf-properties.c.
483 * configure.ac (elf): Remove elf-properties.lo.
484 * Makefile.in: Regenerated.
485 * configure: Likewise.
486
ab9e3428
L
4872018-08-11 H.J. Lu <hongjiu.lu@intel.com>
488
489 PR ld/23428
490 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
491 add X86_ISA_1_NEEDED property only if existing properties won't
492 be removed.
493
1dc9e2d6
AM
4942018-08-11 Alan Modra <amodra@gmail.com>
495
496 * reloc.c (bfd_get_reloc_size): Sort switch.
497 (read_reloc, write_reloc, apply_reloc): New functions.
498 (bfd_perform_relocation, bfd_install_relocation): Use apply_reloc.
499 (_bfd_relocate_contents): Use read_reloc and write_reloc.
500 (_bfd_clear_contents): Likewise.
501
7cf9ebc6
JD
5022018-08-11 John Darrington <john@darrington.wattle.id.au>
503
504 * reloc.c (_bfd_relocate_contents): Handle 3 byte relocs.
505 (_bfd_clear_contents): Likewise.
506 (bfd_perform_relocation): Likewise.
507 (bfd_install_relocation): Likewise.
508
48e30f52
L
5092018-08-10 H.J. Lu <hongjiu.lu@intel.com>
510
511 PR ld/23499
512 * elflink.c (bfd_elf_record_link_assignment): Always clear
513 h->verinfo.verdef when overriding a dynamic definition.
514
9c973a29
L
5152018-08-10 H.J. Lu <hongjiu.lu@intel.com>
516
517 PR binutils/23494
518 * elf-properties.c (elf_get_gnu_property_section_size): Always
519 use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE.
520 (elf_write_gnu_properties): Likewise.
521
6404ab99
L
5222018-08-08 H.J. Lu <hongjiu.lu@intel.com>
523
524 PR binutils/23494
525 * bfd.c (bfd_convert_section_size): Check BFD_DECOMPRESS after
526 calling _bfd_elf_convert_gnu_property_size to convert
527 .note.gnu.property section size.
528 (bfd_convert_section_contents): Check BFD_DECOMPRESS after
529 calling _bfd_elf_convert_gnu_properties to convert
530 .note.gnu.property section.
531 * elf-bfd.h (_bfd_elf_convert_gnu_property_size): New prototype.
532 (_bfd_elf_convert_gnu_properties): Likewise.
533 * elf-properties.c (elf_get_gnu_property_section_size): New
534 function.
535 (elf_write_gnu_properties): Likewise.
536 (_bfd_elf_convert_gnu_property_size): Likewise.
537 (_bfd_elf_convert_gnu_properties): Likewise.
538 (_bfd_elf_link_setup_gnu_properties): Use
539 elf_get_gnu_property_section_size and elf_write_gnu_properties.
540
f7309df2
L
5412018-08-08 H.J. Lu <hongjiu.lu@intel.com>
542
543 PR ld/23486
544 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
545 GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
546 (_bfd_x86_elf_link_setup_gnu_properties): Adding the
547 GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
548 GNU_PROPERTY_X86_ISA_1_USED, property.
549
df136d64
AM
5502018-08-07 Alan Modra <amodra@gmail.com>
551
552 * elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl.
553 Add lr_restore, eh_size and eh_base.
554 (eh_advance, eh_advance_size): New functions.
555 (build_tls_get_addr_stub): Emit EH info for stub.
556 (ppc_build_one_stub): Likewise for _notoc stubs.
557 (ppc_size_one_stub): Size EH info for stub.
558 (group_sections): Init new map_stub fields.
559 (stub_eh_frame_size): Delete.
560 (ppc64_elf_size_stubs): Size EH info for stubs. Set up dummy EH
561 program for stubs.
562 (ppc64_elf_build_stubs): Reinit new map_stub fields. Set FDE
563 offset to stub section here..
564 (ppc64_elf_finish_dynamic_sections): ..rather than here.
565
e81b4c93
AM
5662018-08-07 Alan Modra <amodra@gmail.com>
567
568 * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first
569 instruction of __tls_get_addr_opt stub.
570 (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when
571 dealing with __tls_get_addr_opt stub.
572 (build_tls_get_addr_stub, ppc_size_one_stub): Likewise.
573
6af04484
CZ
5742018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
575
576 * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about
577 efalgs only when in/out exists.
578 (elf32_arc_section_from_shdr): Don't complain about 0x0c
579 section type. It is mwdt compiler specific.
580
2fd43d78 5812018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
582
583 * elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes.
584
db1e1b45 5852018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
586
587 * elf32-arc.c (arc_elf_merge_attributes): Handle
588 Tag_ARC_ATR_version.
589
05d0e962
AM
5902018-08-05 Alan Modra <amodra@gmail.com>
591
592 * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12),
593 (ADDIS_R12_R11, ORIS_R12_R12_0, ORI_R12_R12_0),
594 (SLDI_R12_R12_32, LDX_R12_R11_R12, ADD_R12_R11_R12): Define.
595 (ppc64_elf_howto_raw): Add R_PPC64_REL24_NOTOC entry.
596 (ppc64_elf_reloc_type_lookup): Support R_PPC64_REL24_NOTOC.
597 (ppc_stub_type): Add ppc_stub_long_branch_notoc,
598 ppc_stub_long_branch_both, ppc_stub_plt_branch_notoc,
599 ppc_stub_plt_branch_both, ppc_stub_plt_call_notoc, and
600 ppc_stub_plt_call_both.
601 (is_branch_reloc): Add R_PPC64_REL24_NOTOC.
602 (build_offset, size_offset): New functions.
603 (plt_stub_size): Support plt_call_notoc and plt_call_both.
604 (ppc_build_one_stub, ppc_size_one_stub): Support new stubs.
605 (toc_adjusting_stub_needed): Handle R_PPC64_REL24_NOTOC.
606 (ppc64_elf_size_stubs): Likewise, and new stubs.
607 (ppc64_elf_build_stubs, ppc64_elf_relocate_section): Likewise.
608 * reloc.c: Add BFD_RELOC_PPC64_REL24_NOTOC.
609 * bfd-in2.h: Regenerate.
610 * libbfd.h: Regenerate.
611
3f6ff479
AM
6122018-08-05 Alan Modra <amodra@gmail.com>
613
614 * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols.
615
13755f40
JW
6162018-08-02 Jim Wilson <jimw@sifive.com>
617
618 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn,
619 add SEC_LINKER_CREATED flag.
620
4a9f7d65
NC
6212018-08-01 Nick Clifton <nickc@redhat.com>
622
c25179e7
NC
623 * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings
624 about potentially truncated strncpy operations.
625 (_bfd_xcoff_put_symbol_name): Likewise.
626
4a9f7d65
NC
627 * elf32-avr.c (avr_stub_name): Check for a NULL return from
628 bfd_malloc.
629
103da91b
NC
6302018-08-01 Zenith <zenith432@users.sourceforge.net>
631
632 PR 23460
633 * plugin.c (bfd_plugin_open_input): Close file descriptor if the
634 call to fstat fails.
635 (try_claim): Always close the file descriptor at the end of the
636 function.
637 (try_load_plugin): If a plugin has already been registered, then
638 skip the dlopen and onload steps and go straight to claiming the
639 file. If these is an error, close the plugin.
640
1aa42141
AM
6412018-08-01 Alan Modra <amodra@gmail.com>
642
643 * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed.
644 (ppc_build_one_stub): Don't set stub_offset, instead assert that
645 it is sane. Don't adjust stub_offset for alignment. Adjust size
646 calculation. Use "targ" temp when calculating offsets.
647 (ppc_size_one_stub): Set stub_offset here. Use "targ" temp when
648 calculating offsets. Adjust for alignment before setting
649 tls_get_addr_opt_bctrl.
650
cb86a42a
AM
6512018-08-01 Alan Modra <amodra@gmail.com>
652
653 * po/SRC-POTFILES.in: Regenerate.
654
a05b9f5e
NC
6552018-07-30 Nick Clifton <nickc@redhat.com>
656
657 PR 22706
658 * elf32-sh.c (sh_elf_relocate_section): When processing
659 translation relocs, fail if the relocation offset is too small.
660 Replace BFD_ASSERTs with more helpful error messages.
661
b8891f8d
AJ
6622018-07-30 Andrew Jenner <andrew@codesourcery.com>
663
664 * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY.
665 (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise.
666 * Makefile.in: Regenerated.
667 * archures.c (enum bfd_architecture): Add bfd_arch_csky and
668 related bfd_mach defines.
669 (bfd_csky_arch): Declare.
670 (bfd_archures_list): Add C-SKY.
671 * bfd-in.h (elf32_csky_build_stubs): Declare.
672 (elf32_csky_size_stubs): Declare.
673 (elf32_csky_next_input_section: Declare.
674 (elf32_csky_setup_section_lists): Declare.
675 * bfd-in2.h: Regenerated.
676 * config.bfd: Add C-SKY.
677 * configure.ac: Likewise.
678 * configure: Regenerated.
679 * cpu-csky.c: New file.
680 * elf-bfd.h (enum elf_target_id): Add C-SKY.
681 * elf32-csky.c: New file.
682 * libbfd.h: Regenerated.
683 * reloc.c: Add C-SKY relocations.
684 * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare.
685 (_bfd_target_vector): Add C-SKY target vector entries.
686
469d3b57
JD
6872018-07-27 John Darrington <john@darrington.wattle.id.au>
688
689 * elf32-s12z.c (ELF_TARGET_ID): Don't define.
690
370e4b50
JD
6912018-07-27 John Darrington <john@darrington.wattle.id.au>
692
693 * libbfd.c (bfd_getb24, bfd_getl24): New functions.
694 (bfd_get_24, bfd_put_24): New macros.
695 * bfd-in2.h: Regenerate.
696
cd4d353f
JD
6972018-07-27 John Darrington <john@darrington.wattle.id.au>
698
699 * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment.
700
33cb30a1
AM
7012018-07-26 Alan Modra <amodra@gmail.com>
702
703 * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off
704 for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1.
705
49199304
AM
7062018-07-25 Alan Modra <amodra@gmail.com>
707
708 * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals.
709 Avoid trashing toff with added when used as a symbol index.
710 Ignore R_PPC_PLTREL24 addends in unused example code. Avoid
711 creating unnecessary fixups when relocatable.
712
be3e27bb
AM
7132018-07-25 Alan Modra <amodra@gmail.com>
714
715 * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable
716 -Wstringop-truncation warning for gcc-8.0 too.
717 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
718 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
719 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
720 * elf32-s390.c (elf_s390_write_core_note): Comment fix.
721 * elf64-s390.c (elf_s390_write_core_note): Likewise.
722
67ce483b
AM
7232018-07-24 Alan Modra <amodra@gmail.com>
724
725 PR 23430
726 * dwarf2.c (dwarf_debug_section_enum): Fix comment typo.
727 * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise.
728
f82863d7
MF
7292018-07-23 Max Filippov <jcmvbkbc@gmail.com>
730
731 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move
732 relocation sections consistency check to always check both
733 .rela.dyn and .rela.plt when they exist. Rearrange variable
734 definition and assignment places.
735
5d3a462f
MF
7362018-07-23 Max Filippov <jcmvbkbc@gmail.com>
737
738 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic
739 relocations section for dynamic undefined weak symbols when
740 linking a shared object.
741
01bcaf63
TT
7422018-07-23 Tom Tromey <tom@tromey.com>
743
744 * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0.
745
2376f038
EB
7462018-07-21 Eric Botcazou <ebotcazou@adacore.com>
747
748 * elf32-arm.c (elf32_arm_final_link_relocate) <R_ARM_GOT32>: Small
749 cleanup for the case of a global symbol that binds locally. Also
750 install a value in the GOT slot in the case of a local symbol in
751 a non-PIC link.
752
241e64e3
L
7532018-07-20 H.J. Lu <hongjiu.lu@intel.com>
754
755 PR ld/23428
756 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
757 separate code program header is needed, make sure that the first
758 read-only PT_LOAD segment has no code by adding a
759 GNU_PROPERTY_X86_ISA_1_USED note.
760
8095d2f7
CX
7612018-07-20 Chenghua Xu <paul.hua.gm@gmail.com>
762 Maciej W. Rozycki <macro@mips.com>
763
764 * elfxx-mips.c (print_mips_ases): Add MMI extension.
765
db841b6f
MR
7662018-07-20 Maciej W. Rozycki <macro@mips.com>
767
768 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not
769 create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the
770 dynamic relocation section will be discarded from output.
771 (_bfd_mips_elf_finish_dynamic_sections) <DT_RELSZ>: Assert that
772 the dynamic relocation section will be retained in output.
773
d3554ec1
MR
7742018-07-18 Maciej W. Rozycki <macro@mips.com>
775
776 * xcofflink.c (xcoff_write_global_symbol): Fix symbol type
777 checks for defined weak symbols.
778
c691de6a
MR
7792018-07-17 Maciej W. Rozycki <macro@mips.com>
780
781 * elf32-nds32.c (nds32_elf_relax_loadstore): Use
782 `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking
783 whether the symbol is absolute.
784 (nds32_elf_relax_lo12): Likewise.
785 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
786 (elfNN_aarch64_check_relocs): Likewise.
787 * xcofflink.c (xcoff_need_ldrel_p): Likewise.
788 (bfd_xcoff_import_symbol): Likewise.
789 (xcoff_write_global_symbol): Likewise.
790
d5c928c0
MR
7912018-07-17 Maciej W. Rozycki <macro@mips.com>
792
793 * linker.c (bfd_is_abs_symbol): New macro.
794 * bfd-in2.h: Regenerate.
795
cb2366c1
EBM
7962018-07-16 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
797
798 * elf-bfd.h (elfcore_write_ppc_tar): Add prototype.
799 (elfcore_write_ppc_ppr): Likewise.
800 (elfcore_write_ppc_dscr): Likewise.
801 (elfcore_write_ppc_ebb): Likewise.
802 (elfcore_write_ppc_pmu): Likewise.
803 (elfcore_write_ppc_tm_cgpr): Likewise.
804 (elfcore_write_ppc_tm_cfpr): Likewise.
805 (elfcore_write_ppc_tm_cvmx): Likewise.
806 (elfcore_write_ppc_tm_cvsx): Likewise.
807 (elfcore_write_ppc_tm_spr): Likewise.
808 (elfcore_write_ppc_tm_ctar): Likewise.
809 (elfcore_write_ppc_tm_cppr): Likewise.
810 (elfcore_write_ppc_tm_cdscr): Likewise.
811 * elf.c (elfcore_write_ppc_tar): New function.
812 (elfcore_write_ppc_ppr): Likewise.
813 (elfcore_write_ppc_dscr): Likewise.
814 (elfcore_write_ppc_ebb): Likewise.
815 (elfcore_write_ppc_pmu): Likewise.
816 (elfcore_write_ppc_tm_cgpr): Likewise.
817 (elfcore_write_ppc_tm_cfpr): Likewise.
818 (elfcore_write_ppc_tm_cvmx): Likewise.
819 (elfcore_write_ppc_tm_cvsx): Likewise.
820 (elfcore_write_ppc_tm_spr): Likewise.
821 (elfcore_write_ppc_tm_ctar): Likewise.
822 (elfcore_write_ppc_tm_cppr): Likewise.
823 (elfcore_write_ppc_tm_cdscr): Likewise.
824 (elfcore_write_register_note): Call them.
825 (elfcore_grok_ppc_tar): New function.
826 (elfcore_grok_ppc_ppr): Likewise.
827 (elfcore_grok_ppc_dscr): Likewise.
828 (elfcore_grok_ppc_ebb): Likewise.
829 (elfcore_grok_ppc_pmu): Likewise.
830 (elfcore_grok_ppc_tm_cgpr): Likewise.
831 (elfcore_grok_ppc_tm_cfpr): Likewise.
832 (elfcore_grok_ppc_tm_cvmx): Likewise.
833 (elfcore_grok_ppc_tm_cvsx): Likewise.
834 (elfcore_grok_ppc_tm_spr): Likewise.
835 (elfcore_grok_ppc_tm_ctar): Likewise.
836 (elfcore_grok_ppc_tm_cppr): Likewise.
837 (elfcore_grok_ppc_tm_cdscr): Likewise.
838 (elfcore_grok_note): Call them.
839
1cb83cac
MR
8402018-07-11 Maciej W. Rozycki <macro@mips.com>
841
842 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
843 than `!bfd_link_pic' in determining the dynamic symbol index.
844 Avoid the index of -1.
845 (mips_elf_initialize_tls_slots): Likewise. Flatten code by
846 moving `dyn' to the beginning of the function block.
847
9143e72c
MR
8482018-07-11 Maciej W. Rozycki <macro@mips.com>
849 Rich Felker <bugdal@aerifal.cx>
850
851 PR ld/22570
852 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
853 than `bfd_link_pic' to determine whether dynamic relocations are
854 to be produced.
855 (mips_elf_initialize_tls_slots): Likewise.
856
5270eddc
MR
8572018-07-10 Maciej W. Rozycki <macro@mips.com>
858
859 * elflink.c (bfd_elf_final_link): Rename `remove' local variable
860 to `remove_section'.
861
1594e052
AM
8622018-07-10 Alan Modra <amodra@gmail.com>
863
864 * elf32-xgate.h: Delete.
865 * elf32-xgate.c: Delete unnecessary forward declarations, add two
866 that are now needed.
867 (xgate_elf_bfd_link_hash_table_create)
868 (xgate_elf_bfd_link_hash_table_free)
869 (xgate_elf_set_mach_from_flags, struct xgate_scan_param)
870 (stub_hash_newfunc, elf32_xgate_add_symbol_hook)
871 (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs)
872 (elf32_xgate_build_stubs, elf32_xgate_check_relocs)
873 (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags)
874 (elf32_xgate_post_process_headers): Delete.
875 (elf32_xgate_backend_symbol_processing): New function.
876 (xgate_elf_ignore_reloc, xgate_elf_special_reloc)
877 (_bfd_xgate_elf_print_private_bfd_data): Make static.
878 (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs)
879 (elf_backend_relocate_section, elf_backend_object_p)
880 (elf_backend_final_write_processing, elf_backend_can_gc_sections)
881 (elf_backend_post_process_headers, elf_backend_add_symbol_hook)
882 (bfd_elf32_bfd_link_hash_table_create)
883 (bfd_elf32_bfd_set_private_flags)
884 (xgate_stub_hash_lookup): Don't define.
885 (elf_backend_symbol_processing): Define.
886 * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA.
887
4b8377e7
MR
8882018-07-09 Maciej W. Rozycki <macro@mips.com>
889
890 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set
891 `->needs_lazy_stub' if the stubs output section is the absolute
892 section.
893
872899f1
L
8942018-07-09 H.J. Lu <hongjiu.lu@intel.com>
895
896 PR ld/23388
897 * configure.ac: Use changequote for "i[3-7]86-*-linux-*".
898 * configure: Regenerated.
899
61658d78
AM
9002018-07-09 Alan Modra <amodra@gmail.com>
901
902 * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call
903 _bfd_elf_post_process_headers.
904
c451bb34
MF
9052018-07-06 Max Filippov <jcmvbkbc@gmail.com>
906
907 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate
908 space for dynamic relocation for undefined weak symbol.
909 (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE
910 relocation for undefined weak symbols.
911 (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation
912 section for relocations against undefined weak symbols.
913
ad1cc4e4
AH
9142018-07-06 Alan Hayward <alan.hayward@arm.com>
915
916 * elf.c (elfcore_grok_aarch_sve): New function.
917 (elfcore_grok_note): Check for Aarch64 SVE.
918 (elfcore_write_aarch_sve): New function.
919 (elfcore_write_register_note): Check for Aarch64 SVE.
920 * elf-bfd.h(elfcore_grok_aarch_sve): New declaration.
921
fe75810f
AM
9222018-07-06 Alan Modra <amodra@gmail.com>
923
924 * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use
925 DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally.
926 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
927 * elf32-s390.c (elf_s390_write_core_note): Likewise.
928 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
929 * elf64-s390.c (elf_s390_write_core_note): Likewise.
930 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
931
bb11866d
JW
9322018-07-05 Jim Wilson <jimw@sifive.com>
933
934 * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
935 (riscv64*-*-*): Likewise.
936 (riscv-*-*): Add as an alias for riscv32*-*-*.
937
56ad703d
L
9382018-07-05 H.J. Lu <hongjiu.lu@intel.com>
939
940 PR ld/23372
941 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86
942 ISA properties with empty bits.
943
d8dab054
NC
9442018-07-05 Nick Clifton <nickc@redhat.com>
945
946 * po/ru.po: Updated Russian translation.
947
4a91d0ba
AM
9482018-07-05 Alan Modra <amodra@gmail.com>
949
950 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype.
951 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error
952 on mismatch. Remove "warning: " from messages. Track last bfd
953 used to set tags.
954 (ppc_elf_merge_obj_attributes): Likewise. Handle status from
955 _bfd_elf_ppc_merge_fp_attributes.
956 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status
957 from _bfd_elf_ppc_merge_fp_attributes.
958
db40acb0
L
9592018-07-04 H.J. Lu <hongjiu.lu@intel.com>
960
961 * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h.
962 * Makefile.in: Regenerated.
963
b8a6ced7
AM
9642018-07-03 Alan Modra <amodra@gmail.com>
965
966 * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
967 sections.
968
8d2c8c3d
AM
9692018-07-03 Alan Modra <amodra@gmail.com>
970
971 * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define.
972 * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR.
973 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use
974 ATTR_TYPE_FLAG_INT_VAL. Set ATTR_TYPE_HAS_ERROR on finding
975 incompatible attribute.
976 (ppc_elf_merge_obj_attributes): Likewise. Return
977 _bfd_elf_merge_object_attributes result.
978 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return
979 _bfd_elf_merge_object_attributes result.
980
af0bfb9c
AM
9812018-07-03 Alan Modra <amodra@gmail.com>
982
983 PR 17550
984 * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
985 in discarded sections.
986
12f09816
MR
9872018-07-02 Maciej W. Rozycki <macro@mips.com>
988
989 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set
990 `mark' for symbols created from `mips_elf_dynsym_rtproc_names'
991 list.
992
156f2c00
MR
9932018-07-02 Maciej W. Rozycki <macro@mips.com>
994
995 * elf64-mips.c (micromips_elf64_howto_table_rel): Add
996 R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
997 R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
998 R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
999 R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and
1000 R_MICROMIPS_PC23_S2 relocation entries.
1001 (micromips_elf64_howto_table_rela): Likewise.
1002 (micromips_reloc_map): Likewise.
1003 * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise.
1004 (elf_micromips_howto_table_rela): Likewise.
1005 (micromips_reloc_map): Likewise.
1006
b638b5d5
L
10072018-07-02 H.J. Lu <hongjiu.lu@intel.com>
1008
1009 PR ld/23324
1010 * elf64-x86-64.c (elf_x86_64_relocate_section): Clear the
1011 R_X86_64_converted_reloc_bit bit.
1012
eac61af6
TT
10132018-07-02 Jeff Muizelaar <jrmuizel@gmail.com>
1014 Tom Tromey <tom@tromey.com>
1015
1016 PR 13157
1017 PR 21787
1018 * mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function.
1019 (bfd_mach_o_close_and_cleanup): Redefine.
1020 * archive.c (_bfd_unlink_from_archive_parent): New function,
1021 extracted from..
1022 (_bfd_archive_close_and_cleanup): ..here.
1023 (bfd_generic_archive_p): Do not clear archive's format.
1024 * libbfd-in.h (_bfd_unlink_from_archive_parent): Declare.
1025 * libbfd.h: Regenerate.
1026
c0c468d5
TP
10272018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
1028
1029 * archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ,
1030 bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M,
1031 bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R,
1032 bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define.
1033 * bfd-in2.h: Regenerate.
1034 * cpu-arm.c (arch_info_struct): Add entries for above new
1035 bfd_mach_arm values.
1036 * elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to
1037 bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later
1038 architectures. Force assert failure for any new Tag_CPU_arch value.
1039
a05a5b64
TP
10402018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
1041
1042 * doc/bfdint.texi: Use command-line consistently when used in a
1043 compount word.
1044 * doc/bfdsumm.texi: Likewise.
1045
262e07d0
MR
10462018-06-29 Maciej W. Rozycki <macro@mips.com>
1047
1048 * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
1049 visibility check made for undefined weak symbols.
1050
30aa1306
NC
10512018-06-26 Nick Clifton <nickc@redhat.com>
1052
1053 * po/uk.po: Updated Ukranian translation.
1054
bb69498c
NC
10552018-06-25 Nick Clifton <nickc@redhat.com>
1056
1057 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check
1058 for malloc returning NULL.
1059 (_bfd_aarch64_erratum_843419_fixup): Check for
1060 _bfd_aarch64_erratum_835769_stub_name returning NULL.
1061
71300e2c
NC
10622018-06-24 Nick Clifton <nickc@redhat.com>
1063
1064 * po/bfd.pot: Regenerate.
1065
5127f207
NC
10662018-06-24 Nick Clifton <nickc@redhat.com>
1067
1068 * version.m4: Update version string to 2.31.51.
1069 * configure: Regenerate.
1070
719d8288
NC
10712018-06-24 Nick Clifton <nickc@redhat.com>
1072
1073 2.31 branch created.
1074
1ced1a5f
MR
10752018-06-21 Maciej W. Rozycki <macro@mips.com>
1076
1077 * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding)
1078 (_bfd_mips_elf_cant_unwind_opcode): Correct formatting.
1079
334cd8a7
MR
10802018-06-21 Maciej W. Rozycki <macro@mips.com>
1081
1082 * elfxx-mips.c (_bfd_mips_post_process_headers): Keep
1083 EI_ABIVERSION setting together.
1084
bb29b84d
MR
10852018-06-21 Maciej W. Rozycki <macro@mips.com>
1086
1087 * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT)
1088 (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64)
1089 (MIPS_LIBC_ABI_MAX): New enumeration constants.
1090 (_bfd_mips_post_process_headers): Use them in place of magic
1091 numbers.
1092
25eb8346
JW
10932018-06-21 Jim Wilson <jimw@sifive.com>
1094
1095 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment.
1096 Use SYMBOL_REFERENCES_LOCAL. Add asserts for h->got.offset.
1097
d388f643
AM
10982018-06-21 Alan Modra <amodra@gmail.com>
1099
1100 * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign".
1101 * doc/Makefile.in: Regenerate.
1102
b939d8a0
RL
11032018-06-20 Renlin Li <renlin.li@arm.com>
1104
1105 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET
1106 to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1107 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1108 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
1109 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
1110 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
1111 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
1112 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
1113 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
1114
6077de06
NC
11152018-06-20 Nick Clifton <nickc@redhat.com>
1116
1117 PR 23316
1118 * opncls.c (get_build_id): Check for a negative or excessive data
1119 size in the build-id note.
1120
c6643fcc
NC
11212018-06-20 Nick Clifton <nickc@redhat.com>
1122
1123 PR 23299
1124 * mach-o.c (cputype): New function.
1125 (cpusubtype): New function.
1126 (bfd_mach_o_bfd_print_private_data): New function. Dispalys the
1127 values in the MACH-O file header.
1128 (bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and
1129 cpusubtype fields from the input bfd's mach-o header to the output
1130 bfd.
1131 * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data):
1132 Redefine to bfd_mach_o_bfd_print_private_data.
1133 * mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype.
1134
789ff5b6
MR
11352018-06-19 Maciej W. Rozycki <macro@mips.com>
1136
1137 PR ld/22966
1138 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the
1139 `.got.plt' entry referred is in range.
1140 (mips_finish_exec_plt): Correct the range check for `.got.plt'
1141 start. Replace the assertion used for that with a proper error
1142 message.
1143
6a382bce
MR
11442018-06-19 Maciej W. Rozycki <macro@mips.com>
1145
1146 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix
1147 formatting.
1148
d0ac1c44
SM
11492018-06-19 Simon Marchi <simon.marchi@ericsson.com>
1150
1151 * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11.
1152 (INCLUDES): Rename to ...
1153 (AM_CPPFLAGS): ... this.
1154 * configure.ac: Remove AC_PREREQ.
1155 * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add
1156 info-in-builddir no-texinfo.tex.
1157 (info_TEXINFOS): Rename bfd.texinfo to bfd.texi.
1158 * doc/bfd.texinfo: Rename to ...
1159 * doc/bfd.texi: ... this.
1160 * Makefile.in: Re-generate.
1161 * aclocal.m4: Re-generate.
1162 * config.in: Re-generate.
1163 * configure: Re-generate.
1164 * doc/Makefile.in: Re-generate.
1165
ed1299fe
M
11662018-06-18 Mephi <mephi42@gmail.com>
1167
1168 PR 23297
1169 * mach-o-x86-64.c (x86_64_howto_table): Add entry for
1170 BFD_RELOC_MACH_O_X86_64_RELOC_TLV.
1171 (bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc.
1172 (bfd_mach_o_x86_64_swap_reloc_out): Likewise.
1173 * reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry.
1174 * bfd-in2.h: Regenerate.
1175 * libbfd.h: Regenerate.
1176
6f20c942
FS
11772018-06-14 Faraz Shahbazker <Faraz.Shahbazker@mips.com>
1178
1179 * elfxx-mips.c (print_mips_ases): Add GINV extension.
1180
1f6f5dba
L
11812018-06-14 H.J. Lu <hongjiu.lu@intel.com>
1182
1183 PR binutils/23267
1184 * elf.c (_bfd_elf_get_symbol_version_string): Check if the first
1185 symbol version is base version.
1186
7f923b7f
AM
11872018-06-14 Alan Modra <amodra@gmail.com>
1188
1189 * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs".
1190 * elflink.c (_bfd_elf_init_2_index_sections): Comment fix.
1191 (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs".
1192 (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when
1193 "dynamic_relocs" is not set.
1194 * elfxx-mips.c (count_section_dynsyms): Likewise.
1195
ff91d2f0
AM
11962018-06-14 Alan Modra <amodra@gmail.com>
1197
1198 PR 23282
1199 * bfdio.c (bfd_seek): Optimize away seeks to current position.
1200
730c3174
SE
12012018-06-13 Scott Egerton <scott.egerton@imgtec.com>
1202 Faraz Shahbazker <Faraz.Shahbazker@mips.com>
1203
1204 * elfxx-mips.c (print_mips_ases): Add CRC.
1205
ecf99cc0
L
12062018-06-08 H.J. Lu <hongjiu.lu@intel.com>
1207
1208 PR ld/23161
1209 * elfxx-x86.c (elf_x86_hide_linker_defined): New function.
1210 (_bfd_x86_elf_link_check_relocs): Use it to hide hidden
1211 __bss_start, _end and _edata in shared libraries.
1212
527278f3
AM
12132018-06-07 Alan Modra <amodra@gmail.com>
1214
1215 * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference
1216 __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs.
1217
5c4ce239
AM
12182018-06-05 Alan Modra <amodra@gmail.com>
1219
1220 * bfd.c (struct bfd): Update comment on "where" usage.
1221 * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec",
1222 "iostream", and "where" from containing archive file. Return
1223 error on NULL iovec.
1224 (bfd_bread): Similarly, and return error attempted out of
1225 bounds archive element access.
1226 (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and
1227 "where" from containing archive file.
1228 (bfd_seek): Likewise. Return error on NULL iovec. Don't
1229 attempt to optimize away seeks. Don't paper over errors by
1230 calling bfd_tell.
1231 (bfd_get_mtime): Call bfd_stat rather than iovec->bstat.
1232 (bfd_get_size): Likewise.
1233 (bfd_mmap): Operate on and use iovec of containing archive
1234 file. Return error on NULL iovec.
1235 * cache.c (bfd_cache_lookup_worker): Abort if working on
1236 archive element bfd.
1237 (cache_bread_1): Delete bfd parameter, add FILE* parameter.
1238 Don't ignore zero byte reads.
1239 (cache_bread): Look up FILE* in cache here. Error on NULL
1240 lookup.
1241 (cache_bwrite): Rename "where" to "from".
1242 (cache_bmmap): Don't handle archive elements.
1243 * coffcode.h (coff_slurp_line_table): Exit early on zero
1244 lineno count.
1245 * bfd-in2.h: Regenerate.
1246
27b07675
AM
12472018-06-05 Alan Modra <amodra@gmail.com>
1248
1249 PR 23254
1250 * plugin.c (bfd_plugin_open_input): Allow for possibility of
1251 nested archives. Open file again for plugin.
1252 (try_claim): Don't save and restore file position. Close file
1253 if not claimed.
1254 * sysdep.h (O_BINARY): Define.
1255
4b8e28c7
MF
12562018-06-04 Max Filippov <jcmvbkbc@gmail.com>
1257
1258 * elf32-xtensa.c (xtensa_read_table_entries): Make global.
1259 (compute_fill_extra_space): Drop declaration. Rename function to
1260 xtensa_compute_fill_extra_space.
1261 (compute_ebb_actions, remove_dead_literal): Update references to
1262 compute_fill_extra_space.
1263
8255c61b
MF
12642018-06-04 Volodymyr Arbatov <arbatov@cadence.com>
1265
1266 * elf32-xtensa.c (elf32xtensa_separate_props): New global
1267 variable.
1268 (xtensa_add_names): New function.
1269 (xtensa_property_section_name): Add new parameter
1270 separate_sections, use it to choose property section name.
1271 (xtensa_get_separate_property_section): New function.
1272 (xtensa_get_property_section): Invoke
1273 xtensa_get_separate_property_section to get individual property
1274 section if it exists, common property section otherwise.
1275 (xtensa_make_property_section): Pass elf32xtensa_separate_props
1276 to xtensa_property_section_name.
1277
95da9854
L
12782018-06-04 H.J. Lu <hongjiu.lu@intel.com>
1279
1280 PR binutils/23146
1281 * bfd-in.h: Include "diagnostics.h".
1282 * bfd-in2.h: Regenerated.
1283 * elf32-arm.c (elf32_arm_nabi_write_core_note): Use
1284 DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and
1285 DIAGNOSTIC_POP to silence GCC 8.1 warnings with
1286 -Wstringop-truncation.
1287 * elf32-ppc.c (ppc_elf_write_core_note): Likewse.
1288 * elf32-s390.c (elf_s390_write_core_note): Likewse.
1289 * elf64-ppc.c (ppc64_elf_write_core_note): Likewse.
1290 * elf64-s390.c (elf_s390_write_core_note): Likewse.
1291 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse.
1292
137b5cbd
JW
12932018-06-03 Jim Wilson <jimw@sifive.com>
1294
cf7a5066
JW
1295 PR ld/23244
1296 * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Check
1297 for and handle an undefined weak with no PLT.
1298
137b5cbd
JW
1299 PR ld/22756
1300 * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check
1301 to code that ignores duplicate symbols.
1302
55e99962
L
13032018-06-01 H.J. Lu <hongjiu.lu@intel.com>
1304
1305 * version.m4: Bump version to 2.30.52
1306 * configure: Regenerated.
1307
030157d8
AM
13082018-06-01 Alan Modra <amodra@gmail.com>
1309
1310 * bfd.c (_bfd_error_handler): Arrange for this function to be
1311 declared in bfd-in2.h.
1312 * libbfd-in.h (_bfd_error_handler): Don't declare.
1313 * libbfd.h: Regenerate.
1314 * bfd-in2.h: Regenerate.
1315
421acf18
AC
13162018-05-30 Amaan Cheval <amaan.cheval@gmail.com>
1317
1318 * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems*
1319 This is needed to generate UEFI application image files from ELFs.
1320
92e68c1d
L
13212018-05-28 H.J. Lu <hongjiu.lu@intel.com>
1322
1323 * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry,
1324 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1325 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1326 plt_tlsdesc_got2_insn_end for TLSDESC entry.
1327 (elf_i386_lazy_ibt_plt): Likewise.
1328 (elf_i386_nacl_plt): Likewise.
1329 * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ...
1330 (elf_x86_64_tlsdesc_plt_entry): This.
1331 (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry,
1332 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1333 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1334 plt_tlsdesc_got2_insn_end for TLSDESC entry.
1335 (elf_x86_64_lazy_bnd_plt): Likewise.
1336 (elf_x86_64_lazy_ibt_plt): Likewise.
1337 (elf_x32_lazy_ibt_plt): Likewise.
1338 (elf_x86_64_nacl_plt): Likewise.
1339 (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry,
1340 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
1341 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
1342 plt_tlsdesc_got2_insn_end to update TLSDESC entry.
1343 * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments.
1344 Add plt_tlsdesc_entry, plt_tlsdesc_entry_size,
1345 plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset,
1346 plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end.
1347 (elf_x86_non_lazy_plt_layout): Update comments.
1348 (elf_x86_plt_layout): Likewise.
1349
ac98f9e2
L
13502018-05-28 H.J. Lu <hongjiu.lu@intel.com>
1351
1352 PR ld/23238
1353 * elf-s390-common.c (elf_s390_add_symbol_hook): Removed.
1354 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
1355 (elf_backend_add_symbol_hook): Likewise.
1356 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
1357 (elf_backend_add_symbol_hook): Likewise.
1358 * elf32-s390.c (elf_backend_add_symbol_hook): Likewise.
1359 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1360 (elf_backend_add_symbol_hook): Likewise.
1361 * elf64-s390.c (elf_backend_add_symbol_hook): Likewise.
1362 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1363 * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise.
1364 (elf_backend_add_symbol_hook): Likewise.
1365 * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC
1366 handling.
1367 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1368 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1369 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1370 * elflink.c (elf_link_add_object_symbols): Set
1371 elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols.
1372
099bb8fb
L
13732018-05-26 H.J. Lu <hongjiu.lu@intel.com>
1374
1375 PR ld/23194
1376 * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
1377 * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
1378 Extracted from _bfd_elf_link_assign_sym_version.
1379 (_bfd_elf_link_hide_sym_by_version): New function.
1380 (_bfd_elf_link_assign_sym_version): Use
1381 _bfd_elf_link_hide_versioned_symbol.
1382 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
1383 _bfd_elf_link_hide_sym_by_version instead of
1384 bfd_hide_sym_by_version. Don't check unversioned symbol.
1385
277eb7f6
AM
13862018-05-25 Alan Modra <amodra@gmail.com>
1387
1388 * Makefile.in: Regenerate.
1389 * po/SRC-POTFILES.in: Regenerate.
1390
629dabe3
AM
13912018-05-25 Alan Modra <amodra@gmail.com>
1392
1393 * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
1394 * configure: Regenerate.
1395
9ef6d1e3
L
13962018-05-23 H.J. Lu <hongjiu.lu@intel.com>
1397
1398 * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
1399 to data.
1400
215f5271
AM
14012018-05-22 Alan Modra <amodra@gmail.com>
1402
1403 PR 23207
1404 * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
1405 is NULL.
1406 (elf32_hppa_size_stubs): Only create stubs for load, alloc, code
1407 sections.
1408 (final_link_relocate): Revert last change.
1409
7455c018
AM
14102018-05-22 Alan Modra <amodra@gmail.com>
1411
1412 PR 23207
1413 * elf32-hppa.c (final_link_relocate): Don't look for plt call
1414 stubs in non-alloc sections.
1415
34a87bb0
L
14162018-05-21 H.J. Lu <hongjiu.lu@intel.com>
1417
1418 PR ld/23201
1419 * aout-target.h (MY_bfd_link_hide_symbol): New.
1420 * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
1421 * binary.c (binary_bfd_link_hide_symbol): Likewise.
1422 * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1423 * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1424 * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
1425 * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
1426 * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
1427 * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
1428 * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
1429 * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
1430 * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
1431 * linker.c (_bfd_generic_link_hide_symbol): Likewise.
1432 (bfd_link_hide_symbol): Likewise.
1433 * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
1434 * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
1435 * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
1436 * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
1437 * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
1438 * som.c (som_bfd_link_hide_symbol): Likewise.
1439 * srec.c (srec_bfd_link_hide_symbol): Likewise.
1440 * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
1441 * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
1442 (alpha_vms_bfd_link_hide_symbol): Likewise.
1443 * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
1444 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
1445 _bfd_generic_link_hide_symbol.
1446 (rs6000_xcoff64_aix_vec): Likewise.
1447 * elflink.c (bfd_elf_record_link_assignment): Don't make forced
1448 local symbol dynamic.
1449 (_bfd_elf_link_hide_symbol): New function.
1450 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1451 check root.ldscript_def.
1452 * targets.c (bfd_target): Add _bfd_link_hide_symbol.
1453 (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
1454 * bfd-in2.h: Regenerated.
1455 * libbfd.h: Likewise.
1456
bae363f1
L
14572018-05-21 H.J. Lu <hongjiu.lu@intel.com>
1458
1459 PR binutils/23199
1460 * elf.c (setup_group): Mark section in a section group with
1461 SHF_GROUP.
1462
97373b2e
L
14632018-05-18 H.J. Lu <hongjiu.lu@intel.com>
1464
1465 PR ld/23194
1466 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1467 set eh->local_ref to 1 if a symbol is versioned and there is a
1468 version script.
1469
7f999549
JW
14702018-05-18 Kito Cheng <kito.cheng@gmail.com>
1471
1472 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
1473 EF_RISCV_RVE.
1474
6487709f
JW
14752018-05-18 Jim Wilson <jimw@sifive.com>
1476
1477 * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
1478 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1479 (riscv_elf_relocate_section): Don't generate dynamic relocation if
1480 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1481 (riscv_elf_finish_dynamic_symbol): Likewise.
1482
7b4ae824
JD
14832018-05-18 John Darrington <john@darrington.wattle.id.au>
1484
1485 * Makefile.am: Add s12z files.
1486 * Makefile.in: Regenerate.
1487 * archures.c: Add bfd_s12z_arch.
1488 * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
1489 * bfd-in2.h: Regenerate.
1490 * config.bfd: Add s12z target.
1491 * configure.ac: Add s12z target.
1492 * configure: Regenerate.
1493 * cpu-s12z.c: New file.
1494 * elf32-s12z.c: New file.
1495 * libbfd.c (bfd_putb24): New function.
1496 (bfd_putl24): New function.
1497 * libbfd.h: Regenerate.
1498 * reloc.c: Add s12z relocations.
1499 (bfd_get_reloc_size): Handle size 5 relocs.
1500 * targets.c: Add s12z_elf32_vec.
1501
011b32fd
L
15022018-05-18 H.J. Lu <hongjiu.lu@intel.com>
1503
1504 PR ld/23189
1505 * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
1506 like R_386_GOT32.
1507 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1508 set eh->local_ref to 1 for linker defined symbols.
1509
4bba0fb1
AM
15102018-05-18 Alan Modra <amodra@gmail.com>
1511
1512 PR 23199
1513 * elf.c (setup_group): Formatting. Check that SHT_GROUP entries
1514 don't point at other SHT_GROUP sections. Set shdr corresponding
1515 to invalid entry, to NULL rather than section 0. Identify
1516 SHT_GROUP section index when reporting an error. Cope with NULL
1517 shdr pointer.
1518
8722de9c
AM
15192018-05-18 Alan Modra <amodra@gmail.com>
1520
1521 * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
1522 * configure.ac (HAVE_HIDDEN): Check compiler support for hidden
1523 visibility.
1524 * libbfd.h: Regenerate.
1525 * configure: Regenerate.
1526 * config.in: Regenerate.
1527
0b439543
AM
15282018-05-18 Alan Modra <amodra@gmail.com>
1529
1530 * libbfd-in.h: Add include guard.
1531 * libcoff-in.h: Likewise.
1532 * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
1533 * doc/Makefile.in: Regenerate.
1534 * libbfd.h: Regenerate.
1535 * libcoff.h: Regenerate.
1536
1624c9ca
MR
15372018-05-16 Maciej W. Rozycki <macro@mips.com>
1538
1539 * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
1540
7cf7fcc8
AM
15412018-05-16 Alan Modra <amodra@gmail.com>
1542
1543 PR 22458
1544 * format.c (struct bfd_preserve): Add section_id.
1545 (bfd_preserve_save, bfd_preserve_restore): Save and restore
1546 _bfd_section_id.
1547 (bfd_reinit): Set _bfd_section_id.
1548 (bfd_check_format_matches): Put all matches of any priority into
1549 matching_vector. Save initial section id and start each attempted
1550 match at that section id.
1551 * libbfd-in.h (_bfd_section_id): Declare.
1552 * section.c (_bfd_section_id): Rename from section_id and make
1553 global. Adjust uses.
1554 (bfd_get_next_section_id): Delete.
1555 * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
1556 bfd_get_section_id with _bfd_section_id.
1557 * libbfd.h: Regenerate.
1558 * bfd-in2.h: Regenerate.
1559
810ed4db
CG
15602018-05-15 Christophe Guillon <christophe.guillon@st.com>
1561
1562 * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
1563 of the aux structure are initialised.
1564
1678bd35
FT
15652018-05-15 Francois H. Theron <francois.theron@netronome.com>
1566
1567 * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
1568
293b4d4f
NC
15692018-05-15 Nick Clifton <nickc@redhat.com>
1570
1571 * po/pt.po: New Portuguese translation.
1572 * configure.ac (ALL_LINGUAS): Add pt.
1573 * configure: Regenerate.
1574
4ec09950
L
15752018-05-14 H.J. Lu <hongjiu.lu@intel.com>
1576
1577 PR ld/23169
1578 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
1579 an error on IFUNC pointer defined in PDE.
1580 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
1581 _bfd_x86_elf_link_fixup_ifunc_symbol.
1582 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1583 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
1584 function.
1585 * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
1586
9bc935ef
L
15872018-05-14 H.J. Lu <hongjiu.lu@intel.com>
1588
1589 PR ld/23162
1590 * elfxx-x86.c (elf_x86_linker_defined): New function.
1591 (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
1592 _end and _edata locally defined within executables.
1593
9933dc52
AM
15942018-05-12 Alan Modra <amodra@gmail.com>
1595
1596 PR 20659
1597 * elf.c (rewrite_elf_program_header): Use segment_mark only for
1598 PT_LOAD headers. Delete first_matching_lma and first_suggested_lma.
1599 Instead make matching_lma and suggested_lma pointers to the
1600 sections. Align section vma and lma calculated from segment.
1601 Don't clear includes_phdrs or includes_filehdr based on p_paddr
1602 test. Try to handle alignment padding before first section by
1603 adjusting new segment lma down. Adjust PT_PHDR map p_paddr.
1604
493ffac5
DD
16052018-05-09 Dimitar Dimitrov <dimitar@dinux.eu>
1606
1607 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
1608 conformant to TI ABI.
1609 (pru_elf32_relax_section): Likewise.
1610 (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
1611 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
1612 (pru_elf32_pmem_relocate): Trap - should not get here.
1613 (pru_elf32_relocate_section): Add support for REL relocations.
1614 (elf_info_to_howto_rel): Enable REL.
1615 (elf_backend_may_use_rel_p): Likewise.
1616 (elf_backend_may_use_rela_p): Likewise.
1617 (elf_backend_default_use_rela_p): Likewise.
1618
b4560c7d
AM
16192018-05-09 Alan Modra <amodra@gmail.com>
1620
1621 PR 23148
1622 * peXXigen.c (pe_print_edata): Correct minimum size.
1623
53db9cf9
AM
16242018-05-09 Alan Modra <amodra@gmail.com>
1625
1626 PR 23147
1627 * peXXigen.c (pe_print_idata): Bound check hint_addr.
1628
95a6d235
NC
16292018-05-08 Nick Clifton <nickc@redhat.com>
1630
1631 PR 22809
1632 * elf.c (bfd_elf_get_str_section): Check for an excessively large
1633 string section.
1634 * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
1635 attribute section is larger than the size of the file.
1636
7bd8862c
AM
16372018-05-07 Alan Modra <amodra@gmail.com>
1638
1639 * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than
1640 strncmp when checking for ".bf" special symbol.
1641 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags
1642 section name a char array, remove sentinal known_sections entry,
1643 and adjust loop over known_sections to suit. Use memcmp rather
1644 than strncmp.
1645
602f1657
AM
16462018-05-04 Alan Modra <amodra@gmail.com>
1647
1648 * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32),
1649 (struct elf_external_linux_prpsinfo32_ugid16),
1650 (struct elf_external_linux_prpsinfo64_ugid32),
1651 (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING
1652 to pr_fname and pr_psargs fields. Remove GCC diagnostic pragmas.
1653 Move comment to..
1654 * elf.c (elfcore_write_prpsinfo): ..here. Indent nested preprocessor
1655 directives.
1656 * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING
1657 to data.
1658 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
1659 * elf32-s390.c (elf_s390_write_core_note): Likewise.
1660 * elf64-s390.c (elf_s390_write_core_note): Likewise.
1661 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
1662 * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic
1663 pragmas.
1664 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid
1665 false positive gcc-8 warning.
7bd8862c 1666 * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
602f1657 1667
a27ca19c
TMQMF
16682018-05-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
1669
1670 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order
1671 of arguments when warning about different long double types.
1672
3be08ea4
SA
16732018-05-03 Simon Atanasyan <simon@atanasyan.com>
1674
1675 * elf32-mips.c: (elf32_mips_fixup_symbol): New function.
1676 (elf_backend_fixup_symbol): New macro.
1677 * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp
1678 handling.
1679 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
1680
fe944acf
FT
16812018-04-30 Francois H. Theron <francois.theron@netronome.com>
1682
1683 * Makefile.am: Added NFP files to build.
1684 * archures.c: Added bfd_arch_nfp
1685 * config.bfd: Added NFP support.
1686 * configure.ac: Added NFP support.
1687 * cpu-nfp.c: New, for NFP support.
1688 * elf-bfd.h: Added elf_section_info()
1689 * elf64-nfp.c: New, for NFP support.
1690 * po/SRC-POTFILES.in: Added NFP source files.
1691 * targets.c: Added nfp_elf64_vec
1692 * bfd-in2.h: Regenerate.
1693 * Makefile.in: Regenerate.
1694 * configure: Regenerate.
1695
ffa389a3
AM
16962018-04-27 Alan Modra <amodra@gmail.com>
1697
1698 * bfd-in2.h: Regenerate.
1699 * libbfd.h: Regenerate.
1700
04383fd1
AM
17012018-04-27 Alan Modra <amodra@gmail.com>
1702
1703 PR 23123
1704 PR 22374
1705 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt
1706 relocs for ifuncs.
1707 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes.
1708
bfa5bd2a
PA
17092018-04-26 Pedro Alves <palves@redhat.com>
1710
1711 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider
1712 ifunc and non-ifunc symbols duplicates.
1713
59029f57
CL
17142018-04-25 Christophe Lyon <christophe.lyon@st.com>
1715 Mickaël Guêné <mickael.guene@st.com>
1716
1717 * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
1718 (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
1719 (elf32_arm_populate_plt_entry): Likewise.
1720 (elf32_arm_output_plt_map_1): Likewise.
1721 (elf32_arm_output_arch_local_syms): Likewise.
1722
fac7bd64
CL
17232018-04-25 Christophe Lyon <christophe.lyon@st.com>
1724 Mickaël Guêné <mickael.guene@st.com>
1725
1726 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
1727 _GLOBAL_OFFSET_TABLE_ in FDPIC mode.
1728
29e9b073
CL
17292018-04-25 Christophe Lyon <christophe.lyon@st.com>
1730 Mickaël Guêné <mickael.guene@st.com>
1731
1732 * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
1733 for R_ARM_TARGET2.
1734
cb10292c
CL
17352018-04-25 Christophe Lyon <christophe.lyon@st.com>
1736 Mickaël Guêné <mickael.guene@st.com>
1737
1738 * elf32-arm.c (DEFAULT_STACK_SIZE): New.
1739 (elf32_arm_always_size_sections): Create stack segment.
1740
5c5a4843
CL
17412018-04-25 Christophe Lyon <christophe.lyon@st.com>
1742 Mickaël Guêné <mickael.guene@st.com>
1743
1744 * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
1745 (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
1746 relocations.
1747 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
1748 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
1749 (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
1750 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
1751 (struct elf32_arm_link_hash_table): Update comment.
1752 (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
1753 (IS_ARM_TLS_RELOC): Likewise.
1754 (elf32_arm_check_relocs): Likewise.
1755 (allocate_dynrelocs_for_symbol): Likewise.
1756 (elf32_arm_size_dynamic_sections): Update comment.
1757 * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
1758 BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
1759
7801f98f
CL
17602018-04-25 Christophe Lyon <christophe.lyon@st.com>
1761 Mickaël Guêné <mickael.guene@st.com>
1762
1763 * elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
1764 (elf32_arm_create_dynamic_sections): Handle FDPIC.
1765 (elf32_arm_allocate_plt_entry): Likewise.
1766 (elf32_arm_populate_plt_entry): Likewise.
1767 (elf32_arm_output_plt_map_1): Likewise.
1768
e8b09b87
CL
17692018-04-25 Christophe Lyon <christophe.lyon@st.com>
1770 Mickaël Guêné <mickael.guene@st.com>
1771
1772 * elf32-arm.c (struct fdpic_local): New.
1773 (elf_arm_obj_tdata): Add local_fdpic_cnts field.
1774 (elf32_arm_local_fdpic_cnts): New.
1775 (struct fdpic_global): New.
1776 (elf32_arm_link_hash_entry): Add fdpic_cnts field.
1777 (elf32_arm_link_hash_table): Add srofixup field.
1778 (arm_elf_add_rofixup): New.
1779 (arm_elf_fill_funcdesc): New.
1780 (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
1781 (elf32_arm_allocate_local_sym_info): Likewise.
1782 (create_got_section): Create .rofixup section.
1783 (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
1784 (bfd_elf32_arm_set_target_params): Handle FDPIC.
1785 (elf32_arm_final_link_relocate): Likewise.
1786 (elf32_arm_check_relocs): Likewise.
1787 (allocate_dynrelocs_for_symbol): Likewise.
1788 (elf32_arm_size_dynamic_sections): Likewise.
1789 (elf32_arm_finish_dynamic_sections): Likewise.
1790 (elf32_arm_output_arch_local_syms): Likewise.
1791 (elf32_arm_fdpic_omit_section_dynsym): New.
1792
188fd7ae
CL
17932018-04-25 Christophe Lyon <christophe.lyon@st.com>
1794 Mickaël Guêné <mickael.guene@st.com>
1795
1796 * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
1797 (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
1798 (BFD_RELOC_ARM_FUNCDESC_VALUE): New.
1799 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
1800 R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
1801 (elf32_arm_howto_from_type): Take new members of
1802 elf32_arm_howto_table_2 into account.
1803 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
1804 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
1805 BFD_RELOC_ARM_FUNCDESC_VALUE.
1806 * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
1807 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
1808 BFD_RELOC_ARM_FUNCDESC_VALUE.
1809
18a20338
CL
18102018-04-25 Christophe Lyon <christophe.lyon@st.com>
1811 Mickaël Guêné <mickael.guene@st.com>
1812
1813 * elf32-arm.c (elf32_arm_print_private_bfd_data): Support
1814 EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
1815 (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
1816 (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
1817
617a5ada
CL
18182018-04-25 Christophe Lyon <christophe.lyon@st.com>
1819 Mickaël Guêné <mickael.guene@st.com>
1820
1821 * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
1822 arm_elf32_fdpic_le_vec to targ_selvecs. Accept
1823 arm*-*-uclinuxfdpiceabi.
1824 * configure.ac: Add support for arm_elf32_fdpic_be_vec and
1825 arm_elf32_fdpic_le_vec.
1826 * configure: Regenerate.
1827 * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
1828 (elf32_arm_link_hash_table_create): Initialize fdpic_p.
1829 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
1830 (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
1831 (elf32_arm_fdpic_link_hash_table_create): New.
1832 * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
1833 arm_elf32_fdpic_le_vec.
1834
d99b4b92
AM
18352018-04-25 Alan Modra <amodra@gmail.com>
1836
1837 * elf-linux-core.h: Disable gcc-8 string truncation warning.
1838 * elf.c (elfcore_write_prpsinfo): Likewise.
1839
18402018-04-25 Alan Modra <amodra@gmail.com>
2ac93be7
AM
1841
1842 * Makefile.am: Remove arm-aout and arm-coff support.
1843 * config.bfd: Likewise.
1844 * configure.ac: Likewise.
1845 * targets.c: Likewise.
1846 * aout-arm.c: Delete.
1847 * armnetbsd.c: Delete.
1848 * riscix.c: Delete.
1849 * Makefile.in: Regenerate.
1850 * configure: Regenerate.
1851 * po/SRC-POTFILES.in: Regenerate.
1852
aa4a8c2a
NC
18532018-04-24 Nick Clifton <nickc@redhat.com>
1854
db0c309f
NC
1855 PR 23113
1856 * elf.c (ignore_section_sym): Check for the output_section pointer
1857 being NULL before dereferencing it.
1858
aa4a8c2a
NC
1859 PR 23110
1860 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
1861 a negative PE_DEBUG_DATA size before iterating over the debug data.
1862
b9f26d2e
AM
18632018-04-23 Alan Modra <amodra@gmail.com>
1864
1865 * elf-linux-core.h: Revert last change.
1866 * elf.c: Likewise.
1867
bf82069d
NC
18682018-04-23 Nick Clifton <nickc@redhat.com>
1869
1870 PR 23056
1871 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
1872 the end of the string table, and zero it.
1873
5a6312e8
AM
18742018-04-23 Alan Modra <amodra@gmail.com>
1875
1876 * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
1877 gcc-8 string truncation warning.
1878 (swap_linux_prpsinfo32_ugid16_out): Likewise.
1879 (swap_linux_prpsinfo64_ugid32_out): Likewise.
1880 (swap_linux_prpsinfo64_ugid16_out): Likewise.
1881 * elf.c (elfcore_write_prpsinfo): Likewise.
1882
bf82069d
NC
18832018-04-23 Nick Clifton <nickc@redhat.com>
1884
1885 PR 23056
1886 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
1887 the end of the string table, and zero it.
1888
4352556b
AM
18892018-04-20 Alan Modra <amodra@gmail.com>
1890
1891 PR 22978
1892 * elf32-hppa.c (got_relocs_needed): Add extra param to special
1893 case both dtprel and tprel relocs.
1894 (allocate_dynrelocs): Adjust conditions for got relocs.
1895 (elf32_hppa_relocate_section): Likewise for local sym got relocs.
1896 Emit dynamic relocs on TLS GOT entries for shared libraries,
1897 not when pic. Omit dynamic reloc on dtprel entry when local,
1898 and on tprel entry when local and executable.
1899
f6a8b8c7
AM
19002018-04-19 Alan Modra <amodra@gmail.com>
1901
1902 PR 22537
1903 * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
1904 (hppa_type_of_stub): Don't return a long branch stub for
1905 symbols other than those defined statically.
1906
8e415ce8
AM
19072018-04-19 Alan Modra <amodra@gmail.com>
1908
1909 * Makefile.am: Revert 2018-04-18 coff-mips changes.
1910 * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
1911 to selvecs for mips targets change 2018-04-18.
1912 * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
1913 and mips_ecoff_bele_vec.
1914 * targets.c: Likewise.
1915 * coff-mips.c: Resurrect.
1916 * Makefile.in: Regenerate.
1917 * configure: Regenerate.
1918 * po/SRC-POTFILES.in: Regenerate.
1919
3596d8ce
AM
19202018-04-18 Alan Modra <amodra@gmail.com>
1921
1922 * Makefile.am: Remove mips aout and coff support.
1923 * config.bfd: Likewise.
1924 * configure.ac: Likewise.
1925 * targets.c: Likewise.
1926 * coff-mips.c: Delete
1927 * mipsbsd.c: Delete
1928 * pe-mips.c: Delete
1929 * pei-mips.c: Delete
1930 * Makefile.in: Regenerate.
1931 * configure: Regenerate.
1932 * po/SRC-POTFILES.in: Regenerate.
1933
d9dd2045
L
19342018-04-17 H.J. Lu <hongjiu.lu@intel.com>
1935
1936 * elf32-i386.c (elf32_bed): Define before including
1937 "elf32-target.h".
1938 * elf64-x86-64.c (elf64_bed): Define before including
1939 "elf64-target.h".
1940 (elf32_bed): Define before including "elf32-target.h".
1941
e4e6a73d
L
19422018-04-17 H.J. Lu <hongjiu.lu@intel.com>
1943
1944 PR ld/23055
1945 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
1946 normal input file with compatible relocation.
1947
c65c21e1
AM
19482018-04-18 Alan Modra <amodra@gmail.com>
1949
1950 * Makefile.am: Remove support for assorted i386 aout and coff targets.
1951 * config.bfd: Likewise.
1952 * configure.ac: Likewise.
1953 * doc/bfdint.texi: Likewise.
1954 * targets.c: Likewise.
1955 * freebsd.h: Delete.
1956 * i386dynix.c: Delete.
1957 * i386freebsd.c: Delete.
1958 * i386linux.c: Delete.
1959 * i386mach3.c: Delete.
1960 * i386netbsd.c: Delete.
1961 * i386os9k.c: Delete.
1962 * Makefile.in: Regenerate.
1963 * configure: Regenerate.
1964 * po/SRC-POTFILES.in: Regenerate.
1965
884d4d8a 19662018-04-17 Andrew Sadek <andrew.sadek.se@gmail.com>
3f0a5f17
ME
1967
1968 Microblaze Target: PIC data text relative
1969
1970 * bfd/reloc.c (2 new BFD relocations):
1971 BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
1972 BFD_RELOC_MICROBLAZE_64_TEXTPCREL
1973 * bfd/bfd-in2.h: Regenerate
1974 * bfd/libbfd.h: Regenerate
1975 * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
1976 new relocs and handle them in both relocate and relax functions.
1977 (microblaze_elf_reloc_type_lookup): add mapping between for new
1978 bfd relocs.
1979 (microblaze_elf_relocate_section): Handle new relocs in case of
1980 elf relocation.
1981 (microblaze_elf_relax_section): Handle new relocs for elf relaxation.
1982
6327533b
NC
19832018-04-17 Nick Clifton <nickc@redhat.com>
1984
808346fc
NC
1985 PR 23055
1986 * aoutx.h (find_nearest_line): Check that the symbol name exists
1987 and is long enough, before attempting to see if it is for a .o
1988 file.
1989 * hash.c (bfd_hash_hash): Add an assertion that the string is not
1990 NULL.
1991 * linker.c (bfd_link_hash_lookup): Fail if the table or string are
1992 NULL.
1993 (_bfd_generic_link_add_archive_symbols): Fail if an archive entry
1994 has no name.
1995
6327533b
NC
1996 PR 23065
1997 * dwarf2.c (concat_filename): Check for a NULL table pointer.
1998
e9af4700
NC
19992018-04-16 Nick Clifton <nickc@redhat.com>
2000
2001 PR 23061
2002 * coffgen.c (coff_pointerize_aux): Check for an out of range
2003 fixup.
2004
ddb00039
AM
20052018-04-16 Alan Modra <amodra@gmail.com>
2006
2007 * Makefile.am: Remove arm-epoc-pe support.
2008 * coff-arm.c: Likewise.
2009 * config.bfd: Likewise.
2010 * configure.ac: Likewise.
2011 * targets.c: Likewise.
2012 * epoc-pe-arm.c: Delete.
2013 * epoc-pei-arm.c: Delete.
2014 * Makefile.in: Regenerate.
2015 * configure: Regenerate.
2016 * po/SRC-POTFILES.in: Regenerate.
2017
c9098af4
AM
20182018-04-16 Alan Modra <amodra@gmail.com>
2019
2020 * Makefile.am: Remove sparc-aout and sparc-coff support.
2021 * config.bfd: Likewise.
2022 * configure.ac: Likewise.
2023 * targets.c: Likewise.
2024 * aout-sparcle.c: Delete.
2025 * aoutf1.h: Delete.
2026 * cf-sparclynx.c: Delete.
2027 * coff-sparc.c: Delete.
2028 * demo64.c: Delete.
2029 * sparclinux.c: Delete.
2030 * sparclynx.c: Delete.
2031 * sparcnetbsd.c: Delete.
2032 * sunos.c: Delete.
2033 * Makefile.in: Regenerate.
2034 * configure: Regenerate.
2035 * po/SRC-POTFILES.in: Regenerate.
2036
dc12032b
AM
20372018-04-16 Alan Modra <amodra@gmail.com>
2038
2039 * Makefile.am: Remove m68k-aout and m68k-coff support.
2040 * aoutf1.h: Likewise.
2041 * aoutx.h: Likewise.
2042 * archive.c: Likewise.
2043 * bfd-in.h: Likewise.
2044 * bfd.c: Likewise.
2045 * coffcode.h: Likewise.
2046 * coffswap.h: Likewise.
2047 * config.bfd: Likewise.
2048 * configure.ac: Likewise.
2049 * configure.host: Likewise.
2050 * doc/bfd.texinfo: Likewise.
2051 * doc/bfdint.texi: Likewise.
2052 * freebsd.h: Likewise.
2053 * gen-aout.c: Likewise.
2054 * hpux-core.c: Likewise.
2055 * libaout.h: Likewise.
2056 * libbfd-in.h: Likewise.
2057 * pdp11.c: Likewise.
2058 * peicode.h: Likewise.
2059 * riscix.c: Likewise.
2060 * targets.c: Likewise.
2061 * aout0.c: Delete.
2062 * coff-apollo.c: Delete.
2063 * coff-aux.c: Delete.
2064 * coff-m68k.c: Delete.
2065 * coff-svm68k.c: Delete.
2066 * coff-u68k.c: Delete.
2067 * hosts/delta68.h: Delete.
2068 * hosts/hp300bsd.h: Delete.
2069 * hosts/m68kaux.h: Delete.
2070 * hosts/news.h: Delete.
2071 * hp300bsd.c: Delete.
2072 * hp300hpux.c: Delete.
2073 * liboasys.h: Delete.
2074 * m68k4knetbsd.c: Delete.
2075 * m68klinux.c: Delete.
2076 * m68knetbsd.c: Delete.
2077 * oasys.c: Delete.
2078 * versados.c: Delete.
2079 * Makefile.in: Regenerate.
2080 * bfd-in2.h: Regenerate.
2081 * configure: Regenerate.
2082 * libbfd.h: Regenerate.
2083 * po/SRC-POTFILES.in: Regenerate.
2084
211dc24b
AM
20852018-04-16 Alan Modra <amodra@gmail.com>
2086
2087 * Makefile.am: Remove sh5 and sh64 support.
2088 * archures.c: Likewise.
2089 * config.bfd: Likewise.
2090 * configure.ac: Likewise.
2091 * cpu-sh.c: Likewise.
2092 * elf32-sh-relocs.h: Likewise.
2093 * elf32-sh.c: Likewise.
2094 * targets.c: Likewise.
2095 * elf32-sh64-com.c: Delete.
2096 * elf32-sh64.c: Delete.
2097 * elf32-sh64.h: Delete.
2098 * elf64-sh64.c: Delete.
2099 * Makefile.in: Regenerate.
2100 * bfd-in2.h: Regenerate.
2101 * configure: Regenerate.
2102 * po/SRC-POTFILES.in: Regenerate.
2103
4db9937a
AM
21042018-04-16 Alan Modra <amodra@gmail.com>
2105
2106 * Makefile.am: Remove sh-symbianelf support.
2107 * config.bfd: Likewise.
2108 * configure.ac: Likewise.
2109 * targets.c: Likewise.
2110 * elf32-sh-symbian.c: Delete.
2111 * Makefile.in: Regenerate.
2112 * configure: Regenerate.
2113 * po/SRC-POTFILES.in: Regenerate.
2114
9f5d1593
AM
21152018-04-16 Alan Modra <amodra@gmail.com>
2116
2117 * Makefile.am: Remove vax-bsd and vax-ultrix support.
2118 * config.bfd: Likewise.
2119 * configure.ac: Likewise.
2120 * targets.c: Likewise.
2121 * vaxbsd.c: Delete.
2122 * Makefile.in: Regenerate.
2123 * configure: Regenerate.
2124 * po/SRC-POTFILES.in: Regenerate.
2125
a9a4b302
AM
21262018-04-16 Alan Modra <amodra@gmail.com>
2127
2128 * Makefile.am: Remove w65 support.
2129 * archures.c: Likewise.
2130 * coffcode.h: Likewise.
2131 * config.bfd: Likewise.
2132 * configure.ac: Likewise.
2133 * targets.c: Likewise.
2134 * coff-w65.c: Delete.
2135 * cpu-w65.c: Delete.
2136 * Makefile.in: Regenerate.
2137 * bfd-in2.h: Regenerate.
2138 * configure: Regenerate.
2139 * po/SRC-POTFILES.in: Regenerate.
2140
04cb01fd
AM
21412018-04-16 Alan Modra <amodra@gmail.com>
2142
2143 * Makefile.am: Remove we32k support.
2144 * archures.c: Likewise.
2145 * coffcode.h: Likewise.
2146 * config.bfd: Likewise.
2147 * configure.ac: Likewise.
2148 * targets.c: Likewise.
2149 * coff-we32k.c: Delete.
2150 * cpu-we32k.c: Delete.
2151 * Makefile.in: Regenerate.
2152 * bfd-in2.h: Regenerate.
2153 * configure: Regenerate.
2154 * po/SRC-POTFILES.in: Regenerate.
2155
c2bf1eec
AM
21562018-04-16 Alan Modra <amodra@gmail.com>
2157
2158 * Makefile.am: Remove m88k support.
2159 * aoutx.h: Likewise.
2160 * archures.c: Likewise.
2161 * coffcode.h: Likewise.
2162 * coffswap.h: Likewise.
2163 * config.bfd: Likewise.
2164 * configure.ac: Likewise.
2165 * cpu-ns32k.c: Likewise.
2166 * elf32-nds32.c: Likewise.
2167 * mach-o.c: Likewise.
2168 * netbsd-core.c: Likewise.
2169 * reloc.c: Likewise.
2170 * targets.c: Likewise.
2171 * coff-m88k.c: Delete.
2172 * cpu-m88k.c: Delete.
2173 * elf32-m88k.c: Delete.
2174 * hosts/m88kmach3.h: Delete.
2175 * m88kmach3.c: Delete.
2176 * m88kopenbsd.c: Delete.
2177 * Makefile.in: Regenerate.
2178 * bfd-in2.h: Regenerate.
2179 * configure: Regenerate.
2180 * po/SRC-POTFILES.in: Regenerate.
2181
6793974d
AM
21822018-04-16 Alan Modra <amodra@gmail.com>
2183
2184 * Makefile.am: Remove i370 support.
2185 * archures.c: Likewise.
2186 * config.bfd: Likewise.
2187 * configure.ac: Likewise.
2188 * targets.c: Likewise.
2189 * cpu-i370.c: Delete.
2190 * elf32-i370.c: Delete.
2191 * Makefile.in: Regenerate.
2192 * bfd-in2.h: Regenerate.
2193 * configure: Regenerate.
2194 * po/SRC-POTFILES.in: Regenerate.
2195
e82aa794
AM
21962018-04-16 Alan Modra <amodra@gmail.com>
2197
2198 * Makefile.am: Remove h8500 support.
2199 * archures.c: Likewise.
2200 * coffcode.h: Likewise.
2201 * config.bfd: Likewise.
2202 * configure.ac: Likewise.
2203 * targets.c: Likewise.
2204 * coff-h8500.c: Delete.
2205 * cpu-h8500.c: Delete.
2206 * Makefile.in: Regenerate.
2207 * bfd-in2.h: Regenerate.
2208 * configure: Regenerate.
2209 * po/SRC-POTFILES.in: Regenerate.
2210
fe0bf0fd
AM
22112018-04-16 Alan Modra <amodra@gmail.com>
2212
2213 * Makefile.am: Remove h8300-coff support.
2214 * coffcode.h: Likewise.
2215 * config.bfd: Likewise.
2216 * configure.ac: Likewise.
2217 * reloc16.c: Likewise.
2218 * targets.c: Likewise.
2219 * coff-h8300.c: Delete.
2220 * Makefile.in: Regenerate.
2221 * configure: Regenerate.
2222 * po/SRC-POTFILES.in: Regenerate.
2223
fdef3943
AM
22242018-04-16 Alan Modra <amodra@gmail.com>
2225
2226 * Makefile.am: Remove IEEE 695 support.
2227 * archures.c: Likewise.
2228 * bfd.c: Likewise.
2229 * config.bfd: Likewise.
2230 * configure.ac: Likewise.
2231 * doc/bfd.texinfo: Likewise.
2232 * doc/bfdint.texi: Likewise.
2233 * doc/bfdsumm.texi: Likewise.
2234 * section.c: Likewise.
2235 * targets.c: Likewise.
2236 * ieee.c: Delete.
2237 * libieee.h: Delete.
2238 * Makefile.in: Regenerate.
2239 * bfd-in2.h: Regenerate.
2240 * configure: Regenerate.
2241 * po/SRC-POTFILES.in: Regenerate.
2242
de96689e
AM
22432018-04-16 Alan Modra <amodra@gmail.com>
2244
2245 * config.bfd: Remove tandem support.
2246
5972ac73
AM
22472018-04-16 Alan Modra <amodra@gmail.com>
2248
2249 * Makefile.am: Remove newsos3 support.
2250 * aoutx.h: Likewise.
2251 * config.bfd: Likewise.
2252 * configure.ac: Likewise.
2253 * targets.c: Likewise.
2254 * newsos3.c: Delete.
2255 * Makefile.in: Regenerate.
2256 * configure: Regenerate.
2257 * po/SRC-POTFILES.in: Regenerate.
2258
b4b594e3
AM
22592018-04-16 Alan Modra <amodra@gmail.com>
2260
2261 * Makefile.am: Remove netware support.
2262 * bfd-in.h: Likewise.
2263 * bfd.c: Likewise.
2264 * config.bfd: Likewise.
2265 * configure.ac: Likewise.
2266 * doc/bfdint.texi: Likewise.
2267 * ecoff.c: Likewise.
2268 * targets.c: Likewise.
2269 * libnlm.h: Delete.
2270 * nlm-target.h: Delete.
2271 * nlm.c: Delete.
2272 * nlm32-alpha.c: Delete.
2273 * nlm32-i386.c: Delete.
2274 * nlm32-ppc.c: Delete.
2275 * nlm32-sparc.c: Delete.
2276 * nlm32.c: Delete.
2277 * nlm64.c: Delete.
2278 * nlmcode.h: Delete.
2279 * nlmswap.h: Delete.
2280 * Makefile.in: Regenerate.
2281 * bfd-in2.h: Regenerate.
2282 * configure: Regenerate.
2283 * po/SRC-POTFILES.in: Regenerate.
2284
fceadf09
AM
22852018-04-16 Alan Modra <amodra@gmail.com>
2286
2287 * archures.c: Remove tahoe support.
2288 * config.bfd: Likewise.
2289 * configure.ac: Likewise.
2290 * hosts/tahoe.h: Delete.
2291 * bfd-in2.h: Regenerate.
2292 * configure: Regenerate.
2293
702d1671
AM
22942018-04-14 Alan Modra <amodra@gmail.com>
2295
2296 * elf-bfd.h (struct elf_backend_data): Add relropagesize.
2297 * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
2298 sanity test.
2299 (elfNN_bed): Init relropagesize.
2300 * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
2301 select relropagesize.
2302 * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
2303 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
2304 (ELF_MINPAGESIZE): Don't define.
2305 * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
2306 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
2307 * bfd-in2.h: Regenerate.
2308
03aa9684
AM
23092018-04-14 Alan Modra <amodra@gmail.com>
2310
2311 * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
2312 on __QNXTARGET__ define.
2313
24acfe5e
AM
23142018-04-14 Alan Modra <amodra@gmail.com>
2315
2316 * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
2317 to obsolete list.
2318
a8eb42a8
AM
23192018-04-11 Alan Modra <amodra@gmail.com>
2320
2321 * aout-adobe.c: Delete.
2322 * bout.c: Delete.
2323 * coff-i860.c: Delete.
2324 * coff-i960.c: Delete.
2325 * cpu-i860.c: Delete.
2326 * cpu-i960.c: Delete.
2327 * elf32-i860.c: Delete.
2328 * elf32-i960.c: Delete.
2329 * hosts/i860mach3.h: Delete.
2330 * Makefile.am: Remove i860, i960, bout, and adobe support.
2331 * archures.c: Remove i860 and i960 support.
2332 * coffcode.h: Likewise.
2333 * reloc.c: Likewise.
2334 * aoutx.h: Comment updates.
2335 * archive.c: Remove BOUT and i960 support.
2336 * bfd.c: Remove BOUT support.
2337 * coffswap.h: Remove i960 support.
2338 * config.bfd: Remove i860, i960 and adobe targets.
2339 * configure.ac: Remove adode, bout, i860, i960, icoff targets.
2340 * targets.c: Likewise.
2341 * ieee.c: Remove i960 support.
2342 * mach-o.c: Remove i860 support.
2343 * Makefile.in: Regenerate.
2344 * bfd-in2.h: Regenerate.
2345 * configure: Regenerate.
2346 * libbfd.h: Regenerate.
2347 * po/SRC-POTFILES.in: Regenerate.
2348
aec2e0d2
MR
23492018-04-09 Maciej W. Rozycki <macro@mips.com>
2350
2351 * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
2352 in the BFD symbol referred by the relocation.
2353 (mips_elf64_write_rela): Likewise.
2354
9ccfa98b
MR
23552018-04-09 Maciej W. Rozycki <macro@mips.com>
2356
2357 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
2358 error for out-of-range `r_sym' values.
2359
3e04d765
AM
23602018-04-09 Alan Modra <amodra@gmail.com>
2361
2362 * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
2363 (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
2364 (ppc64_elf_check_relocs): Set has_pltcall.
2365 (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
2366 (ppc64_elf_inline_plt): New function.
2367 (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
2368 * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
2369 * elf32-ppc.c (has_pltcall): Define.
2370 (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
2371 (ppc_elf_check_relocs): Set has_pltcall.
2372 (ppc_elf_inline_plt): New function.
2373 (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
2374 (ppc_elf_size_dynamic_sections): Likewise.
2375 * elf32-ppc.h (ppc_elf_inline_plt): Declare.
2376
23cedd1d
AM
23772018-04-09 Alan Modra <amodra@gmail.com>
2378
2379 * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
2380 (is_plt_seq_reloc): New function.
2381 (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
2382 (ppc_elf_tls_optimize): Handle inline plt call sequence.
2383 (ppc_elf_relax_section): Handle PLTCALL reloc.
2384 (ppc_elf_relocate_section): Nop out inline plt call sequence when
2385 resolving locally.
2386 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
2387 R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE.
2388 (has_tls_get_addr_call): Correct comment.
2389 (is_branch_reloc): Add PLTCALL.
2390 (is_plt_seq_reloc): New function.
2391 (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set
2392 has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt
2393 entry for R_PPC64_PLTCALL.
2394 (ppc64_elf_tls_optimize): Handle inline plt call sequence.
2395 (ppc_type_of_stub): Handle PLTCALL reloc.
2396 (toc_adjusting_stub_needed): Likewise.
2397 (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
2398 reloc insn. Nop out inline plt call sequence when resolving
2399 locally. Handle __tls_get_addr inline plt call optimization.
2400
2d7ad24e
AM
24012018-04-09 Alan Modra <amodra@gmail.com>
2402
2403 * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
2404 (struct ppc_stub_hash_entry): Add symtype field.
2405 (PLT_KEEP): Define.
2406 (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
2407 (create_linkage_sections): Create pltlocal and relpltlocal.
2408 (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
2409 Set PLT_KEEP.
2410 (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2411 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2412 (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2413 Keep PLT entries for inline calls against locals.
2414 (ppc_build_one_stub): Use pltlocal as appropriate.
2415 (ppc_size_one_stub): Likewise.
2416 (ppc64_elf_size_stubs): Set symtype.
2417 (build_global_entry_stubs_and_plt): Init pltlocal and write
2418 relpltlocal for globals.
2419 (write_plt_relocs_for_local_syms): Likewise for local syms.
2420 (ppc64_elf_relocate_section): Support PLT for local syms.
2421 * elf32-ppc.c (PLT_KEEP): Define.
2422 (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
2423 (ppc_elf_create_glink): Create pltlocal and relpltlocal.
2424 (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
2425 Set PLT_KEEP. Adjust update_local_sym_info call.
2426 (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2427 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2428 (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2429 (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
2430 (write_global_sym_plt): Init pltlocal and write relpltlocal.
2431 (ppc_finish_symbols): Likewise for locals.
2432
49c09209
AM
24332018-04-09 Alan Modra <amodra@gmail.com>
2434
2435 * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
2436 for local symbols to..
2437 (write_plt_relocs_for_local_syms): ..here. New function.
2438 (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
2439 global symbols to..
2440 (build_global_entry_stubs_and_plt): ..here. Rename from
2441 build_global_entry_stubs.
2442 (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
2443 Call write_plt_relocs_for_local_syms.
2444 * elf32-ppc.c (get_sym_h): New function.
2445 (ppc_elf_relax_section): Use get_sym_h.
2446 (ppc_elf_relocate_section): Move output of PLT relocs and glink
2447 stubs for local symbols to..
2448 (ppc_finish_symbols): ..here. New function.
2449 (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
2450 global syms to..
2451 (write_global_sym_plt): ..here. New function.
2452 * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
2453 (ppc_finish_symbols): Declare.
2454
08be3224
AM
24552018-04-09 Alan Modra <amodra@gmail.com>
2456
2457 * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
2458 (ppc_elf_relocate_section): Likewise.
2459 * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
2460 (ppc64_elf_relocate_section): Likewise. Correct PLT16
2461 resolution to plt entry relative to toc pointer.
2462
37da22e5
AM
24632018-04-09 Alan Modra <amodra@gmail.com>
2464
2465 * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2466 TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout
2467 file when other TLS flags are tested in a mask.
2468 (TLS_MARK, NON_GOT): Define.
2469 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2470 (update_local_sym_info): Don't create got entry when NON_GOT.
2471 (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2472 Set TLS_MARK.
2473 (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
2474 (ppc64_elf_relocate_section): Likewise.
2475 (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
2476 __tls_get_addr calls lacking a marker reloc.
2477 * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2478 TLS_TPRELGD): Renumber. Update comment.
2479 (TLS_MARK, NON_GOT): Define.
2480 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2481 (update_local_sym_info): Don't create got entry when NON_GOT.
2482 (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2483 Set TLS_MARK.
2484 (ppc_elf_tls_optimize): Don't attempt to optimize indirect
2485 __tls_get_addr calls lacking a marker reloc.
2486
a6fd92b0
L
24872018-04-06 H.J. Lu <hongjiu.lu@intel.com>
2488
2489 * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
2490 R_X86_64_converted_reloc_bit.
2491
3cba8b6c
L
24922018-04-05 H.J. Lu <hongjiu.lu@intel.com>
2493
2494 PR gas/22318
2495 * configure: Regenerated.
2496
0e8452bb
AM
24972018-04-05 Alan Modra <amodra@gmail.com>
2498
2499 * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
2500 (elf_hppa_info_to_howto_rel): Likewise.
2501
8ee55178
MR
25022018-04-04 Maciej W. Rozycki <macro@mips.com>
2503
2504 * elf-hppa.h (elf_hppa_info_to_howto): Also return
2505 unsuccessfully for unimplemented relocations.
2506 (elf_hppa_info_to_howto_rel): Likewise.
2507
5d7c8b80
MR
25082018-04-04 Maciej W. Rozycki <macro@mips.com>
2509
2510 * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the
2511 `bfd_error_bad_value' error and call `_bfd_error_handler' on a
2512 howto lookup failure.
2513 (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
2514 accordingly.
2515 (elf32_i860_info_to_howto_rela): Likewise.
2516 (elf32_i860_relocate_splitn): Likewise.
2517 (elf32_i860_relocate_pc16): Likewise.
2518 (elf32_i860_relocate_pc26): Likewise.
2519 (elf32_i860_relocate_section): Likewise.
2520
707bad1b
MR
25212018-04-04 Maciej W. Rozycki <macro@mips.com>
2522
2523 * elf32-visium.c (visium_info_to_howto_rela): Correct the range
2524 check for `visium_elf_howto_table' table access.
2525
0cc919dc
MR
25262018-04-04 Maciej W. Rozycki <macro@mips.com>
2527
2528 * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
2529 check for `iq2000_elf_howto_table' table access.
2530
f428698e
MR
25312018-04-04 Maciej W. Rozycki <macro@mips.com>
2532
2533 * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
2534 for `elf32_frv_howto_table' table access.
2535
7ed6f92a
MR
25362018-04-04 Maciej W. Rozycki <macro@mips.com>
2537
2538 * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
2539 unsuccessfully for placeholder howtos.
2540 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
2541 * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
2542
75def2ab
MR
25432018-03-29 Maciej W. Rozycki <macro@mips.com>
2544
2545 * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
2546 `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
2547
8b6a949a
MR
25482018-03-28 Maciej W. Rozycki <macro@mips.com>
2549
2550 * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
2551 ATTRIBUTE_UNUSED from `abfd'.
2552
d81270c3
MR
25532018-03-28 Maciej W. Rozycki <macro@mips.com>
2554
2555 * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
2556 `_bfd_error_handler' call formatting.
2557
60dceb8d 25582018-03-28 Maciej W. Rozycki <macro@mips.com>
8205a328
MR
2559
2560 * elf32-mips.c (mips_info_to_howto_rel): Call
2561 `mips_elf32_rtype_to_howto' directly rather than via
2562 `->elf_backend_mips_rtype_to_howto'.
2563
e04ef022
RL
25642018-03-28 Renlin Li <renlin.li@arm.com>
2565
2566 PR ld/22970
2567 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
2568 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2569 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2570 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2571 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2572 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2573 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2574 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2575 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2576 (elfNN_aarch64_final_link_relocate): Support new relocations.
2577 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
2578 relocations.
2579 (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
2580
84f1b9fb
RL
25812018-03-28 Renlin Li <renlin.li@arm.com>
2582
2583 PR ld/22970
2584 * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
2585 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
2586 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2587 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2588 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2589 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2590 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2591 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2592 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2593 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2594 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
2595 TLSLE_LDST16_TPREL_LO12,
2596 TLSLE_LDST16_TPREL_LO12_NC,
2597 TLSLE_LDST32_TPREL_LO12,
2598 TLSLE_LDST32_TPREL_LO12_NC,
2599 TLSLE_LDST64_TPREL_LO12,
2600 TLSLE_LDST64_TPREL_LO12_NC,
2601 TLSLE_LDST8_TPREL_LO12,
2602 TLSLE_LDST8_TPREL_LO12_NC.
2603 * bfd-in2.h: Regenerated.
2604 * libbfd.h: Regenerated.
2605
f8745e1c
EB
26062018-03-28 Eric Botcazou <ebotcazou@adacore.com>
2607
2608 PR ld/22972
2609 * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
2610 has_old_style_got_reloc.
2611 (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
2612 relocations. Fix a couple of long lines.
2613 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
2614 a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
2615 GOT relocations.
2616
bf54968b
L
26172018-03-25 H.J. Lu <hongjiu.lu@intel.com>
2618
2619 PR ld/23000
2620 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
2621 ENDBR64 to the TLSDESC PLT entry.
2622
0ccf57bd
AM
26232018-03-21 Alan Modra <amodra@gmail.com>
2624
2625 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
2626 symbols. Use size_t counts. Delete redundant opd test.
2627
4bad6366
AM
26282018-03-21 Alan Modra <amodra@gmail.com>
2629
2630 * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
2631
bac3c8c5
AM
26322018-03-21 Alan Modra <amodra@gmail.com>
2633
2634 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
2635 field unsigned.
2636 (update_local_sym_info): Likewise for local_got_tls_masks.
2637 (ppc_elf_tls_optimize): Likewise for lgot_masks.
2638
6a3858a6
AM
26392018-03-21 Alan Modra <amodra@gmail.com>
2640
2641 * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
2642 (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
2643 do in size_dynamic_sections.
2644
675e2809
AM
26452018-03-21 Alan Modra <amodra@gmail.com>
2646
2647 * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
2648 without first checking array bounds.
2649 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2650
416c34d6
L
26512018-03-20 H.J. Lu <hongjiu.lu@intel.com>
2652
2653 PR ld/22983
2654 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
2655 non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
2656
315aa1cf
NC
26572018-03-19 Nick Clifton <nickc@redhat.com>
2658
2659 * po/es.po: Updated Spanish translation.
2660
0854d504
MF
26612018-03-15 Max Filippov <jcmvbkbc@gmail.com>
2662
2663 * elf32-xtensa.c (xlate_map_entry): Change types of address
2664 fields from 'unsigned' to 'bfd_vma'.
2665 (xlate_offset_with_removed_text): Use struct xlate_map_entry as
2666 the key argument to bsearch. Allow offsets past the end of a
2667 section, use the last map entry for translation of such offsets.
2668
f9671640
KLC
26692018-03-15 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2670
2671 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
2672 Not support the target feature.
2673 (nds32_elf_ex9_itb_base): Likewise.
2674 (nds32_elf_ex9_import_table): Likewise.
2675 (nds32_elf_ex9_finish): Likewise.
2676 (nds32_elf_ex9_reloc_jmp): Likewise.
2677 (nds32_elf_get_insn_with_reg): Likewise.
2678 (nds32_get_local_syms): Likewise.
2679 (nds32_elf_ex9_replace_instruction): Likewise.
2680 (nds32_elf_ifc_calc): Likewise.
2681 (nds32_elf_ifc_finish): Likewise.
2682 (nds32_elf_ifc_replace): Likewise.
2683 (nds32_elf_ifc_reloc): Likewise.
2684
7dda8d3c
AM
26852018-03-14 Alan Modra <amodra@gmail.com>
2686
2687 * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
2688 sfpr size added before defining alias symbols.
2689 (ppc64_elf_build_stubs): Add stub section padding before
2690 copying sfpr contents and defining save/restore alias symbols.
2691
9e223787
L
26922018-03-14 H.J. Lu <hongjiu.lu@intel.com>
2693
2694 PR ld/20882
2695 * elflink.c (elf_gc_mark_debug_section): Also check the local
2696 debug definition section.
2697
3e33b239
NC
26982018-03-13 Nick Clifton <nickc@redhat.com>
2699
2700 PR 22113
2701 * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
2702 function. Add an end address parameter. Check access of the data
2703 pointer to make sure that they do not extend beyond the end
2704 address. Return FALSE if any check fails. Add the end address
2705 pointer to the ui structure.
2706 (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
2707 codes to make sure that they do not extend beyond the end address
2708 pointer. Print an error message and return immediately if any
2709 check fails.
2710
f657f8c4
NC
27112018-03-09 Nick Clifton <nickc@redhat.com>
2712
2713 * elf64-s390.c (elf_s390_relocate_section): Move check for
2714 relocations against non-allocated sections to before the code that
2715 handles ifunc relocations.
2716 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2717 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
2718 relocs against IFUNC symbols in non-allocated sections as relocs
2719 against FUNC symbols.
2720 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2721
347a8774
L
27222018-03-08 H.J. Lu <hongjiu.lu@intel.com>
2723
2724 PR ld/22929
2725 * elf32-i386.c (elf_i386_relocate_section): Treat relocation
2726 against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
2727 relocation against FUNC symbol.
2728 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2729
0c1ded8d
RL
27302018-03-07 Renlin Li <renlin.li@arm.com>
2731
2732 PR ld/20402
2733 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
2734 symbol, and don't emit relocation in specific case.
2735
0118219e
AM
27362018-03-07 Alan Modra <amodra@gmail.com>
2737
2738 * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
2739 (mips_elf64_slurp_one_reloc_table): Pass on error.
2740
dfb93f11
JC
27412018-03-03 James Cowgill <james.cowgill@mips.com>
2742 Maciej W. Rozycki <macro@mips.com>
2743
2744 PR ld/21900
2745 * elfxx-mips.c (mips_elf_calculate_relocation): Only return
2746 after calling `undefined_symbol' hook if this is an error
2747 condition. Assume the value of 0 for the symbol requested
2748 otherwise.
2749
9a2ebffd
JW
27502018-03-02 Jim Wilson <jimw@sifive.com>
2751
2752 PR 22903
2753 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
2754 and nop instead of 4.
2755 (elfNN_arch64_build_stubs): Add nop after branch. Increase size by
2756 8 instead of 4.
2757
788af978
JW
27582018-03-01 Jim Wilson <jimw@sifive.com>
2759
2760 PR 22756
2761 * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
2762 else if instead of if.
2763
5224fa03
AM
27642018-03-01 Alan Modra <amodra@gmail.com>
2765
2766 * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
2767
116acb2c
AM
27682018-02-28 Alan Modra <amodra@gmail.com>
2769
2770 PR 22887
2771 * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
2772
eef10466
NC
27732018-02-28 Nick Clifton <nickc@redhat.com>
2774
12c96342
NC
2775 PR 22895
2776 PR 22893
2777 * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
2778 pointer. Drop unused abfd parameter. Check the size of the block
2779 before initialising the data field. Return the end pointer if the
2780 size is invalid.
2781 (read_attribute_value): Adjust invocations of read_n_bytes.
2782
eef10466
NC
2783 PR 22894
2784 * dwarf1.c (parse_die): Check the length of form blocks before
2785 advancing the data pointer.
2786
0d329c0a
AM
27872018-02-28 Alan Modra <amodra@gmail.com>
2788
2789 PR 22887
2790 * aoutx.h (translate_symbol_table): Print an error message and set
2791 bfd_error on finding an invalid name string offset.
2792
f6aec96d
L
27932018-02-27 H.J. Lu <hongjiu.lu@intel.com>
2794
2795 * config.in: Regenerated.
2796 * configure: Likewise.
2797 * configure.ac: Add --enable-separate-code.
2798 (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default
2799 to 1 for Linux/x86 targets,
2800 * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
2801 DEFAULT_LD_Z_SEPARATE_CODE is 1.
2802
f3185997
NC
28032018-02-27 Nick Clifton <nickc@redhat.com>
2804
e8f5af78
NC
2805 * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
2806 message.
2807 * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
2808 * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
2809 * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
2810 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
2811 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
2812 * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
2813 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
2814 * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
2815 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
2816
f3185997
NC
2817 PR 22875
2818 * elf-bfd.h (struct elf_backend_data): Change the return type of
2819 the elf_info_to_howto and elf_info_to_howto_rel function pointers
2820 to bfd_boolean.
2821 * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
2822 value from the info_to_howto function and fail if that function
2823 failed.
2824 * elf32-h8300.c (elf32_h8_relocate_section): Check return value
2825 from the info_to_howto function.
2826 (elf32_h8_relax_section): Likewise.
2827 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
2828 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
2829 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2830 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2831 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
2832 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
2833 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
2834 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
2835 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
2836 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
2837 (riscv_elf_relocate_section): Likewise.
2838 * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
2839 bfd_boolean. Issue an error message, set an error value and
2840 return FALSE if the reloc is not recognized.
2841 (elf_hppa_info_to_howto_rel): Likewise.
2842 * elf-m10200.c (mn10200_info_to_howto): Likewise.
2843 * elf-m10300.c (mn10300_info_to_howto): Likewise.
2844 * elf.c (_bfd_elf_no_info_to_howto): Likewise.
2845 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
2846 * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
2847 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
2848 * elf32-bfin.c (bfin_info_to_howto): Likewise.
2849 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
2850 * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
2851 * elf32-cris.c (elf_cr16c_info_to_howto_rel)
2852 (cris_info_to_howto_rela): Likewise.
2853 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
2854 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
2855 * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
2856 Likewise.
2857 * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
2858 (elf32_dlx_info_to_howto_rel): Likewise.
2859 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
2860 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
2861 * elf32-frv.c (frv_info_to_howto_rela)
2862 (frvfdpic_info_to_howto_rel): Likewise.
2863 * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
2864 * elf32-gen.c (elf_generic_info_to_howto)
2865 (elf_generic_info_to_howto_rel): Likewise.
2866 * elf32-h8300.c (elf32_h8_info_to_howto)
2867 (elf32_h8_info_to_howto_rel): Likewise.
2868 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
2869 * elf32-i386.c (elf_i386_reloc_type_lookup)
2870 (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
2871 * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
2872 Likewise.
2873 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
2874 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
2875 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
2876 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
2877 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
2878 * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
2879 Likewise.
2880 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
2881 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
2882 * elf32-m68k.c (rtype_to_howto): Likewise.
2883 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
2884 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
2885 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
2886 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
2887 * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
2888 Likewise.
2889 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
2890 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
2891 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
2892 * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
2893 Likewise.
2894 * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
2895 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
2896 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
2897 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
2898 * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
2899 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
2900 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
2901 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
2902 * elf32-score.c (s3_bfd_score_info_to_howto)
2903 (_bfd_score_info_to_howto): Likewise.
2904 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
2905 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
2906 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
2907 * elf32-tic6x.c (elf32_tic6x_info_to_howto)
2908 (elf32_tic6x_info_to_howto_rel): Likewise.
2909 * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
2910 * elf32-v850.c (v850_elf_info_to_howto_rel)
2911 (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
2912 * elf32-vax.c (rtype_to_howto): Likewise.
2913 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
2914 * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
2915 (elf32_wasm32_info_to_howto_rela): Likewise.
2916 * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
2917 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
2918 * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
2919 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
2920 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
2921 * elf64-gen.c (elf_generic_info_to_howto)
2922 (elf_generic_info_to_howto_rel): Likewise.
2923 * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
2924 * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
2925 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
2926 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
2927 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
2928 * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
2929 Likewise.
2930 * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
2931 * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
2932 Likewise.
2933 * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
2934 * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
2935 * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
2936 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
2937 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
2938 * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
2939 * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
2940 * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
2941 * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
2942 * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
2943 Default to NULL.
2944
1f4bace8
JW
29452018-02-26 Jim Wilson <jimw@sifive.com>
2946 Stephan Schreiber <info@fs-driver.org>
2947
2948 PR 15904
2949 * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
2950 call, set changed_contents and changed_relocs. Likewise after
2951 successful ia64_elf_relax_br call.
2952
6838f2be
AM
29532018-02-26 Alan Modra <amodra@gmail.com>
2954
2955 * elf.c (assign_file_positions_except_relocs): Don't segfault
2956 when actual number of phdrs is less than allocated. Delete
2957 outdated comment. Formatting.
2958
38f14ab8
AM
29592018-02-26 Alan Modra <amodra@gmail.com>
2960
2961 * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
2962 * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
2963 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
2964 * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
2965 * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
2966 * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
2967 * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
2968 * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
2969 * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
2970 * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
2971 error/warning messages.
2972
6e05870c
AM
29732018-02-26 Alan Modra <amodra@gmail.com>
2974
2975 * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
2976 * syms.c: Standardize error/warning messages.
2977
59d08d6c
AM
29782018-02-26 Alan Modra <amodra@gmail.com>
2979
2980 * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
2981 * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
2982 * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
2983 * peXXigen.c, * peicode.h: Standardize error/warning messages.
2984
90b6238f
AM
29852018-02-26 Alan Modra <amodra@gmail.com>
2986
2987 * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
2988
2c1c9679
AM
29892018-02-26 Alan Modra <amodra@gmail.com>
2990
2991 * elfxx-mips.c: Standardize error/warning messages.
2992
9793eb77
AM
29932018-02-26 Alan Modra <amodra@gmail.com>
2994
2995 * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
2996 * elflink.c: Standardize error/warning messages. Replace use of
2997 linker callback einfo with _bfd_error_handler when possible.
2998
0aa13fee
AM
29992018-02-26 Alan Modra <amodra@gmail.com>
3000
3001 * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
3002 * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
3003 * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
3004 * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
3005 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
3006 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
3007 * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
3008 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
3009 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
3010 * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
3011 * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
3012 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
3013 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
3014 * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
3015 * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
3016 * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
3017 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
3018 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
3019 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
3020 * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
3021 * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
3022 unrecognized/unsupported reloc message.
3023
cf97bcb0
AM
30242018-02-26 Alan Modra <amodra@gmail.com>
3025
3026 * elf32-ppc.c: Standardize error/warning messages. Use
3027 _bfd_error_handler rather than einfo when einfo features not used.
3028 * elf64-ppc.c: Likewise.
3029
01f7e10c
AM
30302018-02-23 Alan Modra <amodra@gmail.com>
3031
3032 PR 22881
3033 * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
3034 segment if no matching LOAD segment.
3035
e859f655
KLC
30362018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3037
3038 * elf32-nds32.h: Define mask for ict_model.
3039
6e8d06db
JD
30402018-02-20 Jason Duerstock <jason.duerstock@gmail.com>
3041
3042 * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
3043
b248d650
MR
30442018-02-19 Maciej W. Rozycki <macro@mips.com>
3045
3046 Revert
3047 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
3048
3049 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
3050 .reginfo section has wrong size.
3051
6798f8bf
MR
30522018-02-19 Maciej W. Rozycki <macro@mips.com>
3053
3054 * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
3055 SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
3056 `.MIPS.abiflags' sections.
3057 (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
3058 section's end.
3059
8772de11
MR
30602018-02-19 Maciej W. Rozycki <macro@mips.com>
3061
3062 * section.c (SEC_FIXED_SIZE): New macro.
3063 * bfd-in2.h: Regenerate.
3064
4f7fd351
MR
30652018-02-19 Maciej W. Rozycki <macro@mips.com>
3066
3067 * section.c (SEC_HAS_GOT_REF): Remove macro.
3068 * bfd-in2.h: Regenerate.
3069
f2b740ac
AM
30702018-02-19 Alan Modra <amodra@gmail.com>
3071
3072 * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
3073 arguments.
3074 * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
3075 * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
3076 (_bfd_riscv_relax_pc): Likewise and fix typos.
3077 * libbfd-in.h (_bfd_error_handler): Add attribute printf.
3078 * libbfd.h: Regenerate.
3079
8979927a
AM
30802018-02-19 Alan Modra <amodra@gmail.com>
3081
3082 * dwarf2.c (read_section): Don't use 'll' format modifier.
3083 (find_abstract_instance): Likewise.
3084 * elfcore.h (elf_core_file_p): Likewise.
3085
2dcf00ce
AM
30862018-02-19 Alan Modra <amodra@gmail.com>
3087
3088 * bfd-in.h: Include inttypes.h or if not available define
3089 PRId64, PRIu64 and PRIx64.
3090 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
3091 modifier to print bfd_vma.
3092 * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
3093 * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
3094 * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
3095 * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
3096 * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
3097 * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
3098 * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
3099 * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
3100 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
3101 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
3102 * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
3103 * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
3104 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
3105 * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
3106 * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
3107 and cast input to uint64_t, and similarly for Ld and Lu.
3108 * bfd-in2.h: Regenerate.
3109
c1c8c1ef
AM
31102018-02-19 Alan Modra <amodra@gmail.com>
3111
3112 * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
3113 * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
3114 * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
3115 * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
3116 * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
3117 * reloc.c: Replace use of %R and %T in format strings passed to
3118 einfo and friends by %pR and %pT.
3119
871b3ab2
AM
31202018-02-19 Alan Modra <amodra@gmail.com>
3121
3122 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
3123 of %A and %B.
3124 * aout-adobe.c: Update all messages using %A and %B.
3125 * aout-cris.c: Likewise.
3126 * aoutx.h: Likewise.
3127 * archive.c: Likewise.
3128 * binary.c: Likewise.
3129 * cache.c: Likewise.
3130 * coff-alpha.c: Likewise.
3131 * coff-arm.c: Likewise.
3132 * coff-i860.c: Likewise.
3133 * coff-mcore.c: Likewise.
3134 * coff-ppc.c: Likewise.
3135 * coff-rs6000.c: Likewise.
3136 * coff-sh.c: Likewise.
3137 * coff-tic4x.c: Likewise.
3138 * coff-tic54x.c: Likewise.
3139 * coff-tic80.c: Likewise.
3140 * coff64-rs6000.c: Likewise.
3141 * coffcode.h: Likewise.
3142 * coffgen.c: Likewise.
3143 * cofflink.c: Likewise.
3144 * coffswap.h: Likewise.
3145 * compress.c: Likewise.
3146 * cpu-arm.c: Likewise.
3147 * ecoff.c: Likewise.
3148 * elf-attrs.c: Likewise.
3149 * elf-eh-frame.c: Likewise.
3150 * elf-ifunc.c: Likewise.
3151 * elf-m10300.c: Likewise.
3152 * elf-properties.c: Likewise.
3153 * elf-s390-common.c: Likewise.
3154 * elf.c: Likewise.
3155 * elf32-arc.c: Likewise.
3156 * elf32-arm.c: Likewise.
3157 * elf32-avr.c: Likewise.
3158 * elf32-bfin.c: Likewise.
3159 * elf32-cr16.c: Likewise.
3160 * elf32-cr16c.c: Likewise.
3161 * elf32-cris.c: Likewise.
3162 * elf32-crx.c: Likewise.
3163 * elf32-d10v.c: Likewise.
3164 * elf32-d30v.c: Likewise.
3165 * elf32-epiphany.c: Likewise.
3166 * elf32-fr30.c: Likewise.
3167 * elf32-frv.c: Likewise.
3168 * elf32-gen.c: Likewise.
3169 * elf32-hppa.c: Likewise.
3170 * elf32-i370.c: Likewise.
3171 * elf32-i386.c: Likewise.
3172 * elf32-i960.c: Likewise.
3173 * elf32-ip2k.c: Likewise.
3174 * elf32-iq2000.c: Likewise.
3175 * elf32-lm32.c: Likewise.
3176 * elf32-m32c.c: Likewise.
3177 * elf32-m32r.c: Likewise.
3178 * elf32-m68hc11.c: Likewise.
3179 * elf32-m68hc12.c: Likewise.
3180 * elf32-m68hc1x.c: Likewise.
3181 * elf32-m68k.c: Likewise.
3182 * elf32-mcore.c: Likewise.
3183 * elf32-mep.c: Likewise.
3184 * elf32-metag.c: Likewise.
3185 * elf32-microblaze.c: Likewise.
3186 * elf32-moxie.c: Likewise.
3187 * elf32-msp430.c: Likewise.
3188 * elf32-mt.c: Likewise.
3189 * elf32-nds32.c: Likewise.
3190 * elf32-nios2.c: Likewise.
3191 * elf32-or1k.c: Likewise.
3192 * elf32-pj.c: Likewise.
3193 * elf32-ppc.c: Likewise.
3194 * elf32-rl78.c: Likewise.
3195 * elf32-rx.c: Likewise.
3196 * elf32-s390.c: Likewise.
3197 * elf32-score.c: Likewise.
3198 * elf32-score7.c: Likewise.
3199 * elf32-sh-symbian.c: Likewise.
3200 * elf32-sh.c: Likewise.
3201 * elf32-sh64.c: Likewise.
3202 * elf32-sparc.c: Likewise.
3203 * elf32-spu.c: Likewise.
3204 * elf32-tic6x.c: Likewise.
3205 * elf32-tilepro.c: Likewise.
3206 * elf32-v850.c: Likewise.
3207 * elf32-vax.c: Likewise.
3208 * elf32-visium.c: Likewise.
3209 * elf32-wasm32.c: Likewise.
3210 * elf32-xgate.c: Likewise.
3211 * elf32-xtensa.c: Likewise.
3212 * elf64-alpha.c: Likewise.
3213 * elf64-gen.c: Likewise.
3214 * elf64-hppa.c: Likewise.
3215 * elf64-ia64-vms.c: Likewise.
3216 * elf64-mmix.c: Likewise.
3217 * elf64-ppc.c: Likewise.
3218 * elf64-s390.c: Likewise.
3219 * elf64-sh64.c: Likewise.
3220 * elf64-sparc.c: Likewise.
3221 * elf64-x86-64.c: Likewise.
3222 * elfcode.h: Likewise.
3223 * elfcore.h: Likewise.
3224 * elflink.c: Likewise.
3225 * elfnn-aarch64.c: Likewise.
3226 * elfnn-ia64.c: Likewise.
3227 * elfnn-riscv.c: Likewise.
3228 * elfxx-mips.c: Likewise.
3229 * elfxx-sparc.c: Likewise.
3230 * elfxx-tilegx.c: Likewise.
3231 * elfxx-x86.c: Likewise.
3232 * hpux-core.c: Likewise.
3233 * ieee.c: Likewise.
3234 * ihex.c: Likewise.
3235 * libbfd.c: Likewise.
3236 * linker.c: Likewise.
3237 * mach-o.c: Likewise.
3238 * merge.c: Likewise.
3239 * mmo.c: Likewise.
3240 * oasys.c: Likewise.
3241 * pdp11.c: Likewise.
3242 * pe-mips.c: Likewise.
3243 * peXXigen.c: Likewise.
3244 * peicode.h: Likewise.
3245 * reloc.c: Likewise.
3246 * rs6000-core.c: Likewise.
3247 * srec.c: Likewise.
3248 * stabs.c: Likewise.
3249 * vms-alpha.c: Likewise.
3250 * xcofflink.c: Likewise.
3251
dbc88fc1
AM
32522018-02-19 Alan Modra <amodra@gmail.com>
3253
3254 PR 22845
3255 * elf.c (IS_TBSS): Define.
3256 (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
3257 (assign_file_positions_for_non_load_sections): Revert last change.
3258 Properly calculate load segment limits to compare against relro limits.
3259
325ba6fb
AM
32602018-02-17 Alan Modra <amodra@gmail.com>
3261
3262 PR 22845
3263 * elf.c (assign_file_positions_for_non_load_sections): Ignore
3264 degenerate zero size PT_LOAD segments when finding one overlapping
3265 the PT_GNU_RELRO segment.
3266
d00dd7dc
AM
32672018-02-16 Alan Modra <amodra@gmail.com>
3268
3269 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
3270 (_bfd_bool_bfd_true): Rename from bfd_true.
3271 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
3272 (_bfd_int_bfd_0): Rename from bfd_0.
3273 (_bfd_uint_bfd_0): Rename from bfd_0u.
3274 (_bfd_long_bfd_0): Rename from bfd_0l.
3275 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
3276 (_bfd_void_bfd): Rename from bfd_void.
3277 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
3278 (_bfd_bool_bfd_link_false_error),
3279 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
3280 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
3281 (_bfd_bool_bfd_asection_bfd_asection_true),
3282 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
3283 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
3284 * archive.c (_bfd_noarchive_get_elt_at_index),
3285 (_bfd_noarchive_openr_next_archived_file),
3286 (_bfd_noarchive_construct_extended_name_table),
3287 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
3288 (_bfd_noarchive_write_armap): New functions.
3289 * archures.c (_bfd_nowrite_set_arch_mach): New function.
3290 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
3291 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
3292 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
3293 (alpha_ecoff_swap_coff_lineno_out),
3294 (alpha_ecoff_swap_coff_reloc_out): New functions.
3295 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
3296 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
3297 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
3298 (mips_ecoff_swap_coff_lineno_out),
3299 (mips_ecoff_swap_coff_reloc_out): New functions.
3300 * coffcode.h (coff_set_alignment_hook): Replace define with
3301 new function.
3302 (symname_in_debug_hook): Likewise.
3303 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
3304 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
3305 * elf.c (assign_file_positions_except_relocs): Test
3306 elf_backend_allow_non_load_phdr for NULL.
3307 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
3308 _bfd_elf_link_omit_section_dynsym. Update uses.
3309 (_bfd_elf_omit_section_dynsym_all): New function.
3310 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
3311 (_bfd_elf_omit_section_dynsym_default): Declare.
3312 (_bfd_elf_omit_section_dynsym_all): Declare.
3313 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
3314 (_bfd_nolink_bfd_get_relocated_section_contents),
3315 (_bfd_nolink_bfd_lookup_section_flags),
3316 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
3317 (_bfd_nolink_bfd_link_hash_table_create),
3318 (_bfd_nolink_bfd_link_just_syms),
3319 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
3320 (_bfd_nolink_bfd_link_split_section),
3321 (_bfd_nolink_section_already_linked),
3322 (_bfd_nolink_bfd_define_common_symbol),
3323 (_bfd_nolink_bfd_define_start_stop): New functions.
3324 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
3325 (_bfd_norelocs_bfd_reloc_name_lookup),
3326 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
3327 * section.c (_bfd_nowrite_set_section_contents): New function.
3328 * syms.c (_bfd_nosymbols_canonicalize_symtab),
3329 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
3330 (_bfd_nosymbols_get_symbol_version_string),
3331 (_bfd_nosymbols_bfd_is_local_label_name),
3332 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
3333 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
3334 (_bfd_nosymbols_bfd_make_debug_symbol),
3335 ( _bfd_nosymbols_read_minisymbols),
3336 ( _bfd_nosymbols_minisymbol_to_symbol),
3337 (_bfd_nodynamic_get_synthetic_symtab): New functions.
3338 * libbfd-in.h: Declare new functions. Update existing defines,
3339 removing casts.
3340 * aix386-core.c: Update to use new hooks. Formatting.
3341 * aout-adobe.c: Likewise.
3342 * aout-arm.c: Likewise.
3343 * aout-target.h: Likewise.
3344 * aout-tic30.c: Likewise.
3345 * aoutf1.h: Likewise.
3346 * binary.c: Likewise.
3347 * bout.c: Likewise.
3348 * cisco-core.c: Likewise.
3349 * coff-alpha.c: Likewise.
3350 * coff-i386.c: Likewise.
3351 * coff-i860.c: Likewise.
3352 * coff-i960.c: Likewise.
3353 * coff-ia64.c: Likewise.
3354 * coff-mips.c: Likewise.
3355 * coff-ppc.c: Likewise.
3356 * coff-rs6000.c: Likewise.
3357 * coff-sh.c: Likewise.
3358 * coff-tic30.c: Likewise.
3359 * coff-tic54x.c: Likewise.
3360 * coff-x86_64.c: Likewise.
3361 * coff64-rs6000.c: Likewise.
3362 * coffcode.h: Likewise.
3363 * elf-m10300.c: Likewise.
3364 * elf32-cr16.c: Likewise.
3365 * elf32-lm32.c: Likewise.
3366 * elf32-m32r.c: Likewise.
3367 * elf32-metag.c: Likewise.
3368 * elf32-score.c: Likewise.
3369 * elf32-score7.c: Likewise.
3370 * elf32-tilepro.c: Likewise.
3371 * elf32-xstormy16.c: Likewise.
3372 * elf32-xtensa.c: Likewise.
3373 * elf64-alpha.c: Likewise.
3374 * elf64-hppa.c: Likewise.
3375 * elf64-ia64-vms.c: Likewise.
3376 * elf64-mmix.c: Likewise.
3377 * elf64-sh64.c: Likewise.
3378 * elfnn-ia64.c: Likewise.
3379 * elfxx-sparc.c: Likewise.
3380 * elfxx-target.h: Likewise.
3381 * elfxx-tilegx.c: Likewise.
3382 * elfxx-x86.h: Likewise.
3383 * hp300hpux.c: Likewise.
3384 * hppabsd-core.c: Likewise.
3385 * hpux-core.c: Likewise.
3386 * i386msdos.c: Likewise.
3387 * i386os9k.c: Likewise.
3388 * ieee.c: Likewise.
3389 * ihex.c: Likewise.
3390 * irix-core.c: Likewise.
3391 * libaout.h: Likewise.
3392 * libecoff.h: Likewise.
3393 * mach-o-target.c: Likewise.
3394 * mach-o.c: Likewise.
3395 * mipsbsd.c: Likewise.
3396 * mmo.c: Likewise.
3397 * netbsd-core.c: Likewise.
3398 * nlm-target.h: Likewise.
3399 * oasys.c: Likewise.
3400 * osf-core.c: Likewise.
3401 * pdp11.c: Likewise.
3402 * pe-mips.c: Likewise.
3403 * pe-x86_64.c: Likewise.
3404 * pef.c: Likewise.
3405 * plugin.c: Likewise.
3406 * ppcboot.c: Likewise.
3407 * ptrace-core.c: Likewise.
3408 * sco5-core.c: Likewise.
3409 * som.c: Likewise.
3410 * sparclynx.c: Likewise.
3411 * srec.c: Likewise.
3412 * tekhex.c: Likewise.
3413 * trad-core.c: Likewise.
3414 * verilog.c: Likewise.
3415 * versados.c: Likewise.
3416 * vms-alpha.c: Likewise.
3417 * vms-lib.c: Likewise.
3418 * wasm-module.c: Likewise.
3419 * xsym.c: Likewise.
3420 * libbfd.h: Regenerate.
3421
2a0d9853
JW
34222018-02-15 Jim Wilson <jimw@sifive.com>
3423
09ca4b9d
JW
3424 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
3425 symbols whose section address is zero.
3426
2a0d9853
JW
3427 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
3428 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
3429 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
3430 Add %X%P to error messages.
3431
e513bd38
EB
34322018-02-15 Eric Botcazou <ebotcazou@adacore.com>
3433
3434 PR ld/22832
3435 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
3436 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
3437 and assert that the result of the call is not NULL.
3438
12ef3f5a
NC
34392018-02-14 Nick Clifton <nickc@redhat.com>
3440
3441 PR 22823
3442 Revert previous delta. Add extra casts to avoid compile time
3443 warnings instead.
3444 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
3445 cast to avoid warning from gcc v8 compiler.
3446 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3447 (_bfd_generic_bfd_set_private_flags): Likewise.
3448 (_bfd_generic_bfd_copy_private_section_data): Likewise.
3449 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3450 (_bfd_generic_bfd_copy_private_header_data): Likewise.
3451 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3452 (_bfd_noarchive_construct_extended_name_table): Likewise.
3453 (_bfd_noarchive_truncate_arname): Likewise.
3454 (_bfd_noarchive_write_ar_hdr): Likewise.
3455 (_bfd_noarchive_get_elt_at_index): Likewise.
3456 (_bfd_nosymbols_canonicalize_symtab): Likewise.
3457 (_bfd_nosymbols_print_symbol): Likewise.
3458 (_bfd_nosymbols_get_symbol_info): Likewise.
3459 (_bfd_nosymbols_get_symbol_version_string): Likewise.
3460 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
3461 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
3462 (_bfd_nosymbols_get_lineno): Likewise.
3463 (_bfd_nosymbols_find_nearest_line): Likewise.
3464 (_bfd_nosymbols_find_line): Likewise.
3465 (_bfd_nosymbols_find_inliner_info): Likewise.
3466 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
3467 (_bfd_nosymbols_read_minisymbols): Likewise.
3468 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
3469 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
3470 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
3471 (_bfd_nowrite_set_arch_mach): Likewise.
3472 (_bfd_nowrite_set_section_contents): Likewise.
3473 (_bfd_nolink_sizeof_headers): Likewise.
3474 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
3475 (_bfd_nolink_bfd_relax_section): Likewise.
3476 (_bfd_nolink_bfd_gc_sections): Likewise.
3477 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
3478 (_bfd_nolink_bfd_merge_sections): Likewise.
3479 (_bfd_nolink_bfd_is_group_section): Likewise.
3480 (_bfd_nolink_bfd_discard_group): Likewise.
3481 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
3482 (_bfd_nolink_bfd_link_add_symbols): Likewise.
3483 (_bfd_nolink_bfd_link_just_syms): Likewise.
3484 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
3485 (_bfd_nolink_bfd_final_link): Likewise.
3486 (_bfd_nolink_bfd_link_split_section): Likewise.
3487 (_bfd_nolink_section_already_linked): Likewise.
3488 (_bfd_nolink_bfd_define_common_symbol): Likewise.
3489 (_bfd_nolink_bfd_define_start_stop): Likewise.
3490 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
3491 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
3492 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
3493 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
3494 * libbfd.c (bfd_false_any): Delete.
3495 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
3496 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
3497 * libbfd.h (extern): Regenerate
3498 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
3499 cast to avoid warning from gcc v8 compiler.
3500 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
3501 * binary.c (binary_get_symbol_info): Likewise.
3502 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3503 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3504 * coffcode.h (coff_set_alignment_hook): Likewise.
3505 (symname_in_debug_hook): Likewise.
3506 (bfd_coff_backend_data bigobj_swap_table): Likewise.
3507 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
3508 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
3509 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
3510 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
3511 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
3512 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
3513 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
3514 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
3515 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
3516 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
3517 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
3518 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
3519 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
3520 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
3521 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
3522 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
3523 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
3524 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
3525 (bfd_elfNN_bfd_set_private_flags): Likewise.
3526 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
3527 (elf_backend_init_index_section): Likewise.
3528 (elf_backend_allow_non_load_phdr): Likewise.
3529 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
3530 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
3531 * ieee.c (ieee_construct_extended_name_table): Likewise.
3532 (ieee_write_armap): Likewise.
3533 (ieee_write_ar_hdr): Likewise.
3534 (ieee_bfd_is_target_special_symbol): Likewise.
3535 * ihex.c (ihex_canonicalize_symtab): Likewise.
3536 (ihex_bfd_is_target_special_symbol): Likewise.
3537 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
3538 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
3539 (_bfd_ecoff_set_alignment_hook): Likewise.
3540 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
3541 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
3542 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
3543 * oasys.c (oasys_construct_extended_name_table): Likewise.
3544 (oasys_write_armap): Likewise.
3545 (oasys_write_ar_hdr): Likewise.
3546 (oasys_bfd_is_target_special_symbol): Likewise.
3547 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
3548 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
3549 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
3550 * som.c (som_bfd_is_target_special_symbol): Likewise.
3551 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
3552 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
3553 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
3554 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
3555 (versados_bfd_reloc_name_lookup): Likewise.
3556 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
3557 (vms_bfd_define_start_stop): Likewise.
3558 (alpha_vms_bfd_is_target_special_symbol): Likewise.
3559 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
3560 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
3561
451875b4
L
35622018-02-14 H.J. Lu <hongjiu.lu@intel.com>
3563
3564 PR ld/22842
3565 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
3566 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3567 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
3568 R_X86_64_PC32 reloc against dynamic function in data section.
3569 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3570 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
3571 against dynamic function in data section.
3572 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
3573 function address only if pcrel_plt is true.
3574 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
3575 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
3576 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
3577 PC-relative relocation against a function definition in data
3578 secton in PIE. Remove the obsolete comments.
3579 (elf_x86_link_hash_table): Add pcrel_plt.
3580
1031c264
L
35812018-02-13 H.J. Lu <hongjiu.lu@intel.com>
3582
3583 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
3584 instead of bfd_link_pic, for building shared library.
3585
bd7ab16b
L
35862018-02-13 H.J. Lu <hongjiu.lu@intel.com>
3587
3588 PR gas/22791
3589 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
3590 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
3591 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
3592 against protected function in shared object.
3593
80c96350
ST
35942018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
3595
3596 PR 22828
3597 * po/ru.po: Fix typo in Russian translation.
3598
87993319
MR
35992018-02-13 Maciej W. Rozycki <macro@mips.com>
3600
3601 * wasm-module.c (wasm_scan_name_function_section): Rename
3602 `index' local variable to `idx'.
3603
68d20676
NC
36042018-02-13 Nick Clifton <nickc@redhat.com>
3605
3606 PR 22823
3607 Fix compile time warnings generated by gcc version 8.
3608 * libbfd-in.h: Remove extraneous text from prototypes.
3609 Add prototypes for bfd_false_any, bfd_true_any,
3610 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
3611 bfd_n1_any, bfd_void_any.
3612 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
3613 function.
3614 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3615 (_bfd_generic_bfd_set_private_flags): Likewise.
3616 (_bfd_generic_bfd_copy_private_section_data): Likewise.
3617 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3618 (_bfd_generic_bfd_copy_private_header_data): Likewise.
3619 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3620 (_bfd_noarchive_construct_extended_name_table): Likewise.
3621 (_bfd_noarchive_truncate_arname): Likewise.
3622 (_bfd_noarchive_write_ar_hdr): Likewise.
3623 (_bfd_noarchive_get_elt_at_index): Likewise.
3624 (_bfd_nosymbols_canonicalize_symtab): Likewise.
3625 (_bfd_nosymbols_print_symbol): Likewise.
3626 (_bfd_nosymbols_get_symbol_info): Likewise.
3627 (_bfd_nosymbols_get_symbol_version_string): Likewise.
3628 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
3629 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
3630 (_bfd_nosymbols_get_lineno): Likewise.
3631 (_bfd_nosymbols_find_nearest_line): Likewise.
3632 (_bfd_nosymbols_find_line): Likewise.
3633 (_bfd_nosymbols_find_inliner_info): Likewise.
3634 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
3635 (_bfd_nosymbols_read_minisymbols): Likewise.
3636 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
3637 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
3638 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
3639 (_bfd_nowrite_set_arch_mach): Likewise.
3640 (_bfd_nowrite_set_section_contents): Likewise.
3641 (_bfd_nolink_sizeof_headers): Likewise.
3642 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
3643 (_bfd_nolink_bfd_relax_section): Likewise.
3644 (_bfd_nolink_bfd_gc_sections): Likewise.
3645 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
3646 (_bfd_nolink_bfd_merge_sections): Likewise.
3647 (_bfd_nolink_bfd_is_group_section): Likewise.
3648 (_bfd_nolink_bfd_discard_group): Likewise.
3649 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
3650 (_bfd_nolink_bfd_link_add_symbols): Likewise.
3651 (_bfd_nolink_bfd_link_just_syms): Likewise.
3652 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
3653 (_bfd_nolink_bfd_final_link): Likewise.
3654 (_bfd_nolink_bfd_link_split_section): Likewise.
3655 (_bfd_nolink_section_already_linked): Likewise.
3656 (_bfd_nolink_bfd_define_common_symbol): Likewise.
3657 (_bfd_nolink_bfd_define_start_stop): Likewise.
3658 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
3659 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
3660 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
3661 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
3662 * libbfd.c (bfd_false_any): New function. Like bfd_false but
3663 accepts one or more arguments.
3664 (bfd_true_any): Likewise.
3665 (bfd_nullvoidptr_any): Likewise.
3666 (bfd_0_any): Likewise.
3667 (bfd_0u_any): Likewise.
3668 (bfd_0l_any): Likewise.
3669 (_bfd_n1_any): Likewise.
3670 (bfd_void_any): Likewise.
3671 * libbfd.h (extern): Regenerate
3672 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
3673 based dummy function.
3674 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
3675 * binary.c (binary_get_symbol_info): Likewise.
3676 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3677 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3678 * coffcode.h (coff_set_alignment_hook): Likewise.
3679 (symname_in_debug_hook): Likewise.
3680 (bfd_coff_backend_data bigobj_swap_table): Likewise.
3681 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
3682 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
3683 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
3684 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
3685 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
3686 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
3687 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
3688 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
3689 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
3690 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
3691 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
3692 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
3693 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
3694 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
3695 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
3696 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
3697 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
3698 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
3699 (bfd_elfNN_bfd_set_private_flags): Likewise.
3700 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
3701 (elf_backend_init_index_section): Likewise.
3702 (elf_backend_allow_non_load_phdr): Likewise.
3703 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
3704 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
3705 * ieee.c (ieee_construct_extended_name_table): Likewise.
3706 (ieee_write_armap): Likewise.
3707 (ieee_write_ar_hdr): Likewise.
3708 (ieee_bfd_is_target_special_symbol): Likewise.
3709 * ihex.c (ihex_canonicalize_symtab): Likewise.
3710 (ihex_bfd_is_target_special_symbol): Likewise.
3711 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
3712 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
3713 (_bfd_ecoff_set_alignment_hook): Likewise.
3714 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
3715 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
3716 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
3717 * oasys.c (oasys_construct_extended_name_table): Likewise.
3718 (oasys_write_armap): Likewise.
3719 (oasys_write_ar_hdr): Likewise.
3720 (oasys_bfd_is_target_special_symbol): Likewise.
3721 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
3722 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
3723 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
3724 * som.c (som_bfd_is_target_special_symbol): Likewise.
3725 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
3726 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
3727 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
3728 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
3729 (versados_bfd_reloc_name_lookup): Likewise.
3730 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
3731 (vms_bfd_define_start_stop): Likewise.
3732 (alpha_vms_bfd_is_target_special_symbol): Likewise.
3733 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
3734 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
3735 * elf32-arc.c (get_replace_function): Assign replacement function
3736 to func pointer.
3737 * elf32-i370.c (i370_noop): Update prototype.
3738
6e5e9d58
AM
37392018-02-13 Alan Modra <amodra@gmail.com>
3740
3741 PR 22836
3742 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
3743 relocation sections. If size reduces to just the flag word,
3744 remove that too and mark with SEC_EXCLUDE.
3745 * elflink.c (bfd_elf_final_link): Strip empty group sections.
3746
f2731e0c
AM
37472018-02-13 Alan Modra <amodra@gmail.com>
3748
3749 PR 22829
3750 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
3751 PT_GNU_RELRO setup.
3752
830db048
ZF
37532018-02-12 Zebediah Figura <z.figura12@gmail.com>
3754
3755 * i386msdos.c (msdos_mkobject); New function.
3756 (msdos_object_p): New function.
3757 (i386_msdos_vec): Use msdos_object_p as the check_format
3758 function.
3759 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
3760 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
3761 IMAGE_NT_SIGNATURE.
3762 * peXXigen.c: Likewise.
3763 * coff-ia64.c: Likewise.
3764
94fe5757
NC
37652018-02-12 Nick Clifton <nickc@redhat.com>
3766
3767 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
3768 assignment.
0b8683b7 3769 * elf32-arc.c (elf_arc_relocate_section): Likewise.
94fe5757 3770
d805612e 37712018-02-09 Eric Botcazou <ebotcazou@adacore.com>
a8735c82
EB
3772
3773 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
3774 (sparc_elf_append_rela): Assert that there is enough room in section.
3775 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
3776 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
3777 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
3778 For a symbol subject to a GOT relocation, reserve a slot in the
3779 relocation section if the symbol isn't dynamic and we are in PIC mode.
3780 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
3781 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
3782 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
3783 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
3784 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
3785 resolved_to_zero. Do not generate a dynamic GOT relocation for an
3786 undefined weak symbol with non-default visibility. Remove superfluous
3787 'else' and fix formatting.
3788
3b4c3844
L
37892018-02-09 H.J. Lu <hongjiu.lu@intel.com>
3790
3791 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
3792 is_solaris.
3793 (i386_elf32_sol2_vec): Don't declare.
3794 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
3795 Don't set need_global_offset_table.
3796 (elf_i386_solaris_arch_bed): New.
3797 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
3798 Solaris.
3799 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
3800 target_os != is_nacl instead of target_os == is_normal.
3801 (x86_64_elf64_sol2_vec): Don't declare.
3802 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
3803 is_nacl instead of target_os == is_normal. Don't set
3804 need_global_offset_table.
3805 (elf_x86_64_solaris_arch_bed): New.
3806 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
3807 Solaris.
3808 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
3809 _GLOBAL_OFFSET_TABLE_ for Solaris.
3810 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
3811 need_global_offset_table.
3812 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
3813 (elf_x86_link_hash_table): Remove need_global_offset_table.
3814 (elf_x86_init_table): Likewise.
3815
15b23f36
L
38162018-02-08 H.J. Lu <hongjiu.lu@intel.com>
3817
3818 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
3819 Remove prototype.
3820 (i386_elf32_sol2_vec): Declared.
3821 (elf_i386_link_setup_gnu_properties): Set
3822 need_global_offset_table with info->output_bfd->xvec.
3823 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
3824 Remove prototype.
3825 (x86_64_elf64_sol2_vec): Declared.
3826 (elf_x86_64_link_setup_gnu_properties): Set
3827 need_global_offset_table with info->output_bfd->xvec.
3828
dc11dea2
L
38292018-02-08 H.J. Lu <hongjiu.lu@intel.com>
3830
3831 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
3832 New prototype.
3833 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
3834 for Solaris.
3835 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
3836 New prototype.
3837 (elf_x86_64_link_setup_gnu_properties): Set
3838 need_global_offset_table for Solaris.
3839 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
3840 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
3841 (_bfd_x86_elf_link_setup_gnu_properties): Copy
3842 need_global_offset_table.
3843 * elfxx-x86.h (elf_x86_link_hash_table): Add
3844 need_global_offset_table.
3845 (elf_x86_init_table): Likewise.
3846
3f48fe4a
JW
38472018-02-08 Jim Wilson <jimw@sifive.com>
3848
3849 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
3850 change.
3851
ef135d43
NC
38522018-02-08 Nick Clifton <nickc@redhat.com>
3853
3854 PR 22788
3855 * elf.c (elf_parse_notes): Reject notes with excessuively large
3856 alignments.
3857
407aa07c
AM
38582018-02-07 Alan Modra <amodra@gmail.com>
3859
3860 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
3861 * elf32-ppc.c: Remove speculation barrier support.
3862 * elf32-ppc.h: Likewise.
3863 * elf64-ppc.c: Likewise.
3864 * elf64-ppc.h: Likewise.
3865
ed01220c
JW
38662018-02-06 Jim Wilson <jimw@sifive.com>
3867
3868 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
3869 callback to report an error.
3870
c20c30f6
EB
38712018-02-06 Eric Botcazou <ebotcazou@adacore.com>
3872
3873 PR ld/22263
3874 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
3875 into call to !bfd_link_executable and tidy up.
3876 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
3877 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
3878 !bfd_link_executable.
3879 <R_SPARC_TLS_IE_HI22>: Likewise.
3880 <GOT relocations>: Remove useless code, tidy and merge related blocks.
3881 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
3882 !bfd_link_executable.
3883 <R_SPARC_WPLT30>: Tidy up.
3884 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
3885 !bfd_link_executable.
3886 (allocate_dynrelocs): Likewise.
3887 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
3888 <R_SPARC_TLS_GD_HI22>: Merge into...
3889 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
3890 sparc_elf_tls_transition and remove redundant code.
3891 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
3892 !bfd_link_executable.
3893 <R_SPARC_TLS_LDO_HIX22>: Likewise.
3894 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
3895 <R_SPARC_TLS_LDM_CALL>: Likewise.
3896 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
3897 <R_SPARC_TLS_GD_ADD>: Likewise.
3898 <R_SPARC_TLS_LDM_ADD>: Likewise.
3899 <R_SPARC_TLS_LDO_ADD>: Likewise.
3900 <R_SPARC_TLS_IE_LD>: Likewise.
3901
46d09186
NC
39022018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
3903
3904 PR 22789
3905 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
3906 functions failed to find the function name, try the generic elf
3907 find function instead.
3908
8278e7ce
SDJ
39092018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
3910
3911 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
3912 'memcpy' instead of 'strncpy' when writing the magic number.
3913
64e234d4
NC
39142018-02-06 Nick Clifton <nickc@redhat.com>
3915
3916 PR 22794
3917 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
3918 section before attempting to read it in.
3919 (bfd_get_alt_debug_link_info): Likewise.
3920
422f3d3d
PC
39212018-02-06 Paul Carroll <pcarroll@codesourcery.com>
3922
3923 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
3924 line information in addition to name, if they can be found.
3925
279b2f94
RL
39262018-02-05 Renlin Li <renlin.li@arm.com>
3927
3928 PR ld/22764
3929 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
3930 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
3931 check for writeable section as well.
3932
cd048363
L
39332018-02-05 H.J. Lu <hongjiu.lu@intel.com>
3934
3935 PR ld/22782
3936 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
3937 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
3938 undefined weak symbol to 0.
3939 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
3940 if _GLOBAL_OFFSET_TABLE_ is referenced.
3941 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
3942 got_referenced instead of ref_regular_nonweak. Remove the
3943 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
3944 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
3945
e65b1a78
MR
39462018-02-05 Maciej W. Rozycki <macro@mips.com>
3947
3948 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
3949 initialize `hi_reloc'.
3950
2d6dda71
MR
39512018-02-05 Maciej W. Rozycki <macro@mips.com>
3952
3953 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
3954 SHT_MIPS_REGINFO sections don't assert the correct size and
3955 report an error instead.
3956
75506100
MR
39572018-02-05 Maciej W. Rozycki <macro@mips.com>
3958
3959 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
3960 status from `->elf_backend_section_processing'.
3961
7f02625e
JW
39622018-02-02 Jim Wilson <jimw@sifive.com>
3963
3964 PR ld/22756
3965 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
3966 If link_info->wrap_hash, check for a duplicate symbol and ignore.
3967 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
3968 Pass new argument to riscv_relax_delete_bytes.
3969 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
3970 ATTRIBUTE_UNUSED from link_info parameter.
3971
d830549d
AM
39722018-02-02 Alan Modra <amodra@gmail.com>
3973
3974 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
3975 emitted for toc sequence optimization. Set and use "howto" later.
3976
e99955cd
SM
39772018-02-01 Simon Marchi <simon.marchi@ericsson.com>
3978
3979 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
3980 arithmetic on NULL pointer.
3981 * elflink.c (_bfd_elf_archive_symbol_lookup,
3982 elf_link_add_archive_symbols): Likewise.
3983
bf3077a6
MM
39842018-01-31 Michael Matz <matz@suse.de>
3985
3986 * elflink.c (bfd_elf_define_start_stop): Fix check of
3987 def_dynamic.
3988
823143c6
L
39892018-01-31 H.J. Lu <hongjiu.lu@intel.com>
3990
3991 PR ld/21964
3992 * elflink.c (bfd_elf_define_start_stop): Check if __start and
3993 __stop symbols are referenced by shared objects.
3994
76cb3a89
AM
39952018-01-30 Alan Modra <amodra@gmail.com>
3996
3997 PR 22758
3998 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
3999 segment when demand paged with lma on the same page. Test this
4000 before load/non-load, executable/non-executable,
4001 writable/non-writable tests and simplify. Delete bogus relro
4002 condition in writable/non-writable test. Delete outdated
4003 comment. Formatting.
4004
36b8fda5
AM
40052018-01-30 Alan Modra <amodra@gmail.com>
4006
4007 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
4008 symbols dynamic.
4009
eb77f6a4
AM
40102018-01-29 Alan Modra <amodra@gmail.com>
4011
4012 PR 22741
4013 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
4014 range before converting to a symbol table pointer.
4015
7d73b4c8
NC
40162018-01-27 Nick Clifton <nickc@redhat.com>
4017
4018 * po/ru.po: Updated Russian translation.
4019
32253bb7
AM
40202018-01-26 Alan Modra <amodra@gmail.com>
4021
4022 * elflink.c (bfd_elf_define_start_stop): Override symbols when
4023 they are defined dynamically.
4024
ba21f564
AM
40252018-01-26 Alan Modra <amodra@gmail.com>
4026
4027 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
4028 .branch_lt changes size.
4029
38e64b0e
AM
40302018-01-25 Alan Modra <amodra@gmail.com>
4031
4032 PR 22746
4033 * elfcode.h (elf_object_p): Avoid integer overflow.
4034
bb363086
EB
40352018-01-25 Eric Botcazou <ebotcazou@adacore.com>
4036
4037 PR ld/22727
4038 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
4039 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
4040
4041 Revert
4042 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
4043
4044 PR ld/22263
4045 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
4046 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
4047 bfd_link_executable for TLS check.
4048 (_bfd_sparc_elf_check_relocs): Likewise.
4049 (allocate_dynrelocs): Likewise.
4050 (_bfd_sparc_elf_relocate_section): Likewise.
4051
1daf502a
RL
40522018-01-24 Renlin Li <renlin.li@arm.com>
4053
4054 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
4055 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
4056 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
4057 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
4058 BFD_RELOC_AARCH64_MOVW_PREL_G3.
4059 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
4060 (_bfd_aarch64_elf_resolve_relocation): Likewise.
4061
32247401
RL
40622018-01-24 Renlin Li <renlin.li@arm.com>
4063
4064 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
4065 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
4066 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
4067 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
4068 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
4069 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
4070 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
4071 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
4072 BFD_RELOC_AARCH64_MOVW_PREL_G3.
4073 * bfd-in2.h: Regenerate.
4074 * libbfd.h: Regenerate.
4075
1c5e4ee9
MR
40762018-01-23 Maciej W. Rozycki <macro@mips.com>
4077
4078 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
4079 `mips_elf32_section_processing' comment reference.
4080
8a1b824a
L
40812018-01-20 H.J. Lu <hongjiu.lu@intel.com>
4082
4083 PR ld/22721
4084 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
4085 versioned __tls_get_addr symbol.
4086
ee3fbc1e
NC
40872018-01-19 Nick Clifton <nickc@redhat.com>
4088
4089 * po/fr.po: Updated French translation.
4090
691d2e9a
AM
40912018-01-18 Alan Modra <amodra@gmail.com>
4092
4093 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
4094 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
4095 (ppc64_elf_build_stubs): Likewise.
4096
4bfce128
NC
40972018-01-17 Nick Clifton <nickc@redhat.com>
4098
4099 * po/ru.po: Updated Russian translation.
4100 * po/uk/po: Updated Ukranian translation.
4101
c75bc4f7
AM
41022018-01-17 Alan Modra <amodra@gmail.com>
4103
4104 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
4105
1be5d8d3
AM
41062018-01-17 Alan Modra <amodra@gmail.com>
4107
4108 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
4109 (CRSETEQ, BEQCTRM): Define.
4110 (is_nonpic_glink_stub): Don't check bctr.
4111 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
4112 (ppc_elf_relax_section): Size speculation barrier.
4113 (output_bctr): New function.
4114 (write_glink_stub): Use output_bctr.
4115 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
4116 (ppc_elf_finish_dynamic_symbol): Likewise.
4117 (ppc_elf_finish_dynamic_sections): Use output_bctr.
4118 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
4119 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
4120 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
4121 (size_global_entry_stubs): Handle speculation barrier sizing.
4122 (plt_stub_size): Likewise.
4123 (output_bctr): New function.
4124 (build_plt_stub, build_tls_get_addr_stub): Output speculation
4125 barrier.
4126 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
4127 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
4128 (build_global_entry_stubs): Output speculation barrier.
4129 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
4130 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
4131
9e390558
AM
41322018-01-17 Alan Modra <amodra@gmail.com>
4133
4134 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
4135 __tls_get_addr_opt, and alignment sizing.
4136 (TLS_GET_ADDR_GLINK_SIZE): Delete.
4137 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
4138 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
4139 or 8 insns.
4140 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
4141 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
4142 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
4143 by PLT reloc count.
4144 (write_glink_stub): Handle __tls_get_addr_opt stub.
4145 Pad out to size given by GLINK_ENTRY_SIZE.
4146 (ppc_elf_relocate_section): Adjust write_glink_stub call.
4147 (ppc_elf_finish_dynamic_symbol): Likewise.
4148 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
4149 insn array since so many need rewriting.
4150 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
4151 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
4152 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
4153 nops. Adjust all uses.
4154 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
4155 in glink_vma calculation.
4156 (struct ppc_link_hash_table): Add global_entry section pointer.
4157 (create_linkage_sections): Create separate section for global
4158 entry stubs.
4159 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
4160 (size_global_entry_stubs): Handle sizing for aligned stubs.
4161 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
4162 and don't stash end of glink branch table in rawsize.
4163 (ppc_build_one_stub): Rewrite stub size calculations.
4164 (build_global_entry_stubs): Use new section.
4165 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
4166 Build lazy link stubs out to end of section. Build global entry
4167 stubs in new section.
4168
616dcb87
NC
41692018-01-15 Nick Clifton <nickc@redhat.com>
4170
4171 * po/uk.po: Updated Ukranian translation.
4172
3957a496
NC
41732018-01-13 Nick Clifton <nickc@redhat.com>
4174
4175 * po/bfd.pot: Regenerated.
4176
769c7ea5
NC
41772018-01-13 Nick Clifton <nickc@redhat.com>
4178
4179 * version.m4: Bump version to 2.30.51
4180 * configure: Regenerate.
4181
faf766e3
NC
41822018-01-13 Nick Clifton <nickc@redhat.com>
4183
4184 2.30 branch created.
4185
564e11c9
JW
41862018-01-12 Jens Widell <jl@opera.com>
4187
4188 * elf.c (setup_group): Optimize search for group by remembering
4189 last found group and restarting search at that index.
4190 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
4191
a78eea16
AM
41922018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
4193
4194 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
4195 bfd_link_common_skip_none in switch.
4196
87e79a65
AM
41972018-01-12 Alan Modra <amodra@gmail.com>
4198
4199 PR ld/22649
4200 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
4201 references on forced local symbols.
4202
58807c48
VI
42032018-01-12 Vlad Ivanov <vlad@ivanov.email>
4204
4205 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
4206 .reginfo section has wrong size.
4207
2888249f
L
42082018-01-11 H.J. Lu <hongjiu.lu@intel.com>
4209
4210 PR ld/22393
4211 * elf.c (_bfd_elf_map_sections_to_segments): When generating
4212 separate code and read-only data LOAD segments, create a new
4213 LOAD segment if the previous section contains text and the
4214 current section doesn't or vice versa. Don't put a writable
4215 section in a read-only segment if there is a RELRO segment.
4216
d664fd41
L
42172018-01-11 H.J. Lu <hongjiu.lu@intel.com>
4218
4219 PR ld/22649
4220 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
4221 references on forced local symbols.
4222
8b6f4cd3
L
42232018-01-11 H.J. Lu <hongjiu.lu@intel.com>
4224
4225 PR ld/22677
4226 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
4227 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
4228
9c70c522 42292018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com>
6cef73f9
KLC
4230
4231 PR 22662
4232 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
4233
ddb2bbcf
JB
42342018-01-03 John Baldwin <jhb@FreeBSD.org>
4235
4236 * elf.c (elfcore_grok_freebsd_note): Handle
4237 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
4238 NT_FREEBSD_PROCSTAT_VMMAP.
4239
219d1afa
AM
42402018-01-03 Alan Modra <amodra@gmail.com>
4241
4242 Update year range in copyright notice of all files.
4243
1e563868 4244For older changes see ChangeLog-2017
3499769a 4245\f
1e563868 4246Copyright (C) 2018 Free Software Foundation, Inc.
3499769a
AM
4247
4248Copying and distribution of this file, with or without modification,
4249are permitted in any medium without royalty provided the copyright
4250notice and this notice are preserved.
4251
4252Local Variables:
4253mode: change-log
4254left-margin: 8
4255fill-column: 74
4256version-control: never
4257End:
This page took 0.365651 seconds and 4 git commands to generate.