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