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