Use the correct constants when setting the section type of HPPA unwind sections.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2018-08-22 Helge Deller <deller@gmx.de>
2 Nick Clifton <nickc@redhat.com>
3
4 * elf-hppa.h (elf_hppa_fake_sections): Use SHT_PARISC_UNWIND as
5 the section type of the .PARISC.unwind section on 64-bit binaries
6 and SHT_PROGBITS for 32-bit binaries. Add a comment about it.
7 Add comment about the sh_entsize value.
8
9 2018-08-22 Rafeal Auler <rafaelauler@gmail.com>
10
11 PR 23560
12 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Always update the
13 stub's target, since it may have been changed after the layout.
14
15 2018-08-21 John Darington <john@darrington.wattle.id.au>
16
17 * elf32-s12z.c (opru18_reloc): New function.
18 (elf_s12z_howto_table): Adjust Howto according to new knowledge.
19
20 2018-08-21 mephi42 <mephi42@gmail.com>
21
22 PR binutils/23315
23 * mach-o.c (bfd_mach_o_mangle_symbols): Update n_type even if
24 data is already considered filled.
25
26 2018-08-21 Alan Modra <amodra@gmail.com>
27
28 * elf64-ppc.c (HOW): Define.
29 (ONES): Delete.
30 (ppc64_elf_howto_raw): Use HOW to initialize entries.
31 * elf32-ppc.c (HOW): Define.
32 (ppc_elf_howto_raw): Use HOW to initialize entries, updating
33 R_PPC_VLE_REL15 and R_PPC_VLE_REL24 to use bitpos=0.
34
35 2018-08-21 Alan Modra <amodra@gmail.com>
36
37 * reloc.c (reloc_howto_type): Typedef.
38 (bfd_symbol): Delete forward declaration.
39 (struct reloc_howto_struct): Add "negate" field. Make "size",
40 "bitsize", "rightshift", "bitpos", "complain_on_overflow",
41 "pc_relative", "partial_inplace", and "pcrel_offset" bitfields.
42 Rearrange for better packing. Revise comments.
43 (HOWTO): Map to rearranged reloc_howto_struct.
44 (bfd_get_reloc_size): Delete now unused cases.
45 (read_reloc, write_reloc): Likewise.
46 (apply_reloc, _bfd_relocate_contents): Test howto->negate
47 rather than howto->size < 0 for negated relocation values.
48 * coff-rs6000.c (xcoff_complain_overflow_bitfield_func): Avoid
49 signed/unsigned warning.
50 (xcoff_ppc_relocate_section): Delete "condition is always false"
51 code.
52 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
53 * cpu-ns32k.c (do_ns32k_reloc): Adjust to suit reloc_howto_struct
54 changes.
55 * vms-alpha.c (_bfd_vms_write_etir, alpha_vms_slurp_relocs): Use
56 size 16 for ALPHA_R_LINKAGE.
57 (alpha_howto_table <ALPHA_R_LINKAGE>): Set encoded size and
58 bitsize to zero.
59 * bfd-in.h (reloc_howto_type): Delete.
60 * bfd-in2.h: Regenerate.
61
62 2018-08-21 Alan Modra <amodra@gmail.com>
63
64 * reloc.c (HOWTO): Revise comment.
65 (NEWHOWTO, HOWTO_PREPARE): Delete.
66 * coff-arm.c (coff_arm_reloc_type_lookup): Replace const struc
67 reloc_howto_struct with reloc_howto_type.
68 * ns32knetbsd.c (MY_bfd_reloc_type_lookup): Likewise.
69 * vms-alpha.c (alpha_vms_bfd_reloc_type_lookup): Likewise.
70 * elf-hppa.h (HOW): Define.
71 (elf_hppa_howto_table): Use it to simplify this table, correcting
72 name of R_PARISC_LTOFF16WF, R_PARISC_LTOFF_FPTR64, and
73 R_PARISC_LTOFF_FPTR16DF.
74 * elf32-mep.c (MEPREL): Use HOWTO.
75 * bfd-in2.h: Regenerate.
76
77 2018-08-20 Alan Modra <amodra@gmail.com>
78
79 * mmo.c (valid_mmo_symbol_character_set): Initialize and make
80 array const.
81 (mmo_init): Don't init valid_mmo_symbol_character_set.
82
83 2018-08-20 Alan Modra <amodra@gmail.com>
84
85 * rs6000-core.c (CORE_COMMONSZ): Balance parentheses in expression.
86
87 2018-08-17 H.J. Lu <hongjiu.lu@intel.com>
88
89 PR ld/23515
90 * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties.
91 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call
92 backend fixup_gnu_properties if it isn't NULL. Discard
93 .note.gnu.property section if all properties have been removed.
94 * elfxx-target.h (elf_backend_fixup_gnu_properties): New.
95 (elfNN_bed): Initialize fixup_gnu_properties.
96 * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New
97 function.
98 * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New
99 prototype.
100 (elf_backend_fixup_gnu_properties): New.
101
102 2018-08-16 Alan Modra <amodra@gmail.com>
103
104 * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example.
105 Formatting.
106
107 2018-08-12 H.J. Lu <hongjiu.lu@intel.com>
108
109 PR binutils/23494
110 * Makefile.am (BFD32_LIBS): Add elf-properties.lo.
111 (BFD32_LIBS_CFILES): Add elf-properties.c.
112 (BFD32_BACKENDS): Remove elf-properties.lo.
113 (BFD32_BACKENDS_CFILES): Remove elf-properties.c.
114 * configure.ac (elf): Remove elf-properties.lo.
115 * Makefile.in: Regenerated.
116 * configure: Likewise.
117
118 2018-08-11 H.J. Lu <hongjiu.lu@intel.com>
119
120 PR ld/23428
121 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't
122 add X86_ISA_1_NEEDED property only if existing properties won't
123 be removed.
124
125 2018-08-11 Alan Modra <amodra@gmail.com>
126
127 * reloc.c (bfd_get_reloc_size): Sort switch.
128 (read_reloc, write_reloc, apply_reloc): New functions.
129 (bfd_perform_relocation, bfd_install_relocation): Use apply_reloc.
130 (_bfd_relocate_contents): Use read_reloc and write_reloc.
131 (_bfd_clear_contents): Likewise.
132
133 2018-08-11 John Darrington <john@darrington.wattle.id.au>
134
135 * reloc.c (_bfd_relocate_contents): Handle 3 byte relocs.
136 (_bfd_clear_contents): Likewise.
137 (bfd_perform_relocation): Likewise.
138 (bfd_install_relocation): Likewise.
139
140 2018-08-10 H.J. Lu <hongjiu.lu@intel.com>
141
142 PR ld/23499
143 * elflink.c (bfd_elf_record_link_assignment): Always clear
144 h->verinfo.verdef when overriding a dynamic definition.
145
146 2018-08-10 H.J. Lu <hongjiu.lu@intel.com>
147
148 PR binutils/23494
149 * elf-properties.c (elf_get_gnu_property_section_size): Always
150 use align_size as pr_datasz for GNU_PROPERTY_STACK_SIZE.
151 (elf_write_gnu_properties): Likewise.
152
153 2018-08-08 H.J. Lu <hongjiu.lu@intel.com>
154
155 PR binutils/23494
156 * bfd.c (bfd_convert_section_size): Check BFD_DECOMPRESS after
157 calling _bfd_elf_convert_gnu_property_size to convert
158 .note.gnu.property section size.
159 (bfd_convert_section_contents): Check BFD_DECOMPRESS after
160 calling _bfd_elf_convert_gnu_properties to convert
161 .note.gnu.property section.
162 * elf-bfd.h (_bfd_elf_convert_gnu_property_size): New prototype.
163 (_bfd_elf_convert_gnu_properties): Likewise.
164 * elf-properties.c (elf_get_gnu_property_section_size): New
165 function.
166 (elf_write_gnu_properties): Likewise.
167 (_bfd_elf_convert_gnu_property_size): Likewise.
168 (_bfd_elf_convert_gnu_properties): Likewise.
169 (_bfd_elf_link_setup_gnu_properties): Use
170 elf_get_gnu_property_section_size and elf_write_gnu_properties.
171
172 2018-08-08 H.J. Lu <hongjiu.lu@intel.com>
173
174 PR ld/23486
175 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove
176 GNU_PROPERTY_X86_ISA_1_USED if an input file doesn't have it.
177 (_bfd_x86_elf_link_setup_gnu_properties): Adding the
178 GNU_PROPERTY_X86_ISA_1_NEEDED, instead of
179 GNU_PROPERTY_X86_ISA_1_USED, property.
180
181 2018-08-07 Alan Modra <amodra@gmail.com>
182
183 * elf64-ppc.c (struct map_stub): Delete tls_get_addr_opt_bctrl.
184 Add lr_restore, eh_size and eh_base.
185 (eh_advance, eh_advance_size): New functions.
186 (build_tls_get_addr_stub): Emit EH info for stub.
187 (ppc_build_one_stub): Likewise for _notoc stubs.
188 (ppc_size_one_stub): Size EH info for stub.
189 (group_sections): Init new map_stub fields.
190 (stub_eh_frame_size): Delete.
191 (ppc64_elf_size_stubs): Size EH info for stubs. Set up dummy EH
192 program for stubs.
193 (ppc64_elf_build_stubs): Reinit new map_stub fields. Set FDE
194 offset to stub section here..
195 (ppc64_elf_finish_dynamic_sections): ..rather than here.
196
197 2018-08-07 Alan Modra <amodra@gmail.com>
198
199 * elf64-ppc.c (ppc64_elf_relocate_section): Don't skip first
200 instruction of __tls_get_addr_opt stub.
201 (plt_stub_size): Omit ALWAYS_EMIT_R2SAVE condition when
202 dealing with __tls_get_addr_opt stub.
203 (build_tls_get_addr_stub, ppc_size_one_stub): Likewise.
204
205 2018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
206
207 * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about
208 efalgs only when in/out exists.
209 (elf32_arc_section_from_shdr): Don't complain about 0x0c
210 section type. It is mwdt compiler specific.
211
212 2018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
213
214 * elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes.
215
216 2018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
217
218 * elf32-arc.c (arc_elf_merge_attributes): Handle
219 Tag_ARC_ATR_version.
220
221 2018-08-05 Alan Modra <amodra@gmail.com>
222
223 * elf64-ppc.c (ADDI_R12_R11, ADDI_R12_R12, LIS_R12),
224 (ADDIS_R12_R11, ORIS_R12_R12_0, ORI_R12_R12_0),
225 (SLDI_R12_R12_32, LDX_R12_R11_R12, ADD_R12_R11_R12): Define.
226 (ppc64_elf_howto_raw): Add R_PPC64_REL24_NOTOC entry.
227 (ppc64_elf_reloc_type_lookup): Support R_PPC64_REL24_NOTOC.
228 (ppc_stub_type): Add ppc_stub_long_branch_notoc,
229 ppc_stub_long_branch_both, ppc_stub_plt_branch_notoc,
230 ppc_stub_plt_branch_both, ppc_stub_plt_call_notoc, and
231 ppc_stub_plt_call_both.
232 (is_branch_reloc): Add R_PPC64_REL24_NOTOC.
233 (build_offset, size_offset): New functions.
234 (plt_stub_size): Support plt_call_notoc and plt_call_both.
235 (ppc_build_one_stub, ppc_size_one_stub): Support new stubs.
236 (toc_adjusting_stub_needed): Handle R_PPC64_REL24_NOTOC.
237 (ppc64_elf_size_stubs): Likewise, and new stubs.
238 (ppc64_elf_build_stubs, ppc64_elf_relocate_section): Likewise.
239 * reloc.c: Add BFD_RELOC_PPC64_REL24_NOTOC.
240 * bfd-in2.h: Regenerate.
241 * libbfd.h: Regenerate.
242
243 2018-08-05 Alan Modra <amodra@gmail.com>
244
245 * elf64-ppc.c (ppc_build_one_stub): Lose "_r2off" in stub symbols.
246
247 2018-08-02 Jim Wilson <jimw@sifive.com>
248
249 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): For .tdata.dyn,
250 add SEC_LINKER_CREATED flag.
251
252 2018-08-01 Nick Clifton <nickc@redhat.com>
253
254 * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Suppress warnings
255 about potentially truncated strncpy operations.
256 (_bfd_xcoff_put_symbol_name): Likewise.
257
258 * elf32-avr.c (avr_stub_name): Check for a NULL return from
259 bfd_malloc.
260
261 2018-08-01 Zenith <zenith432@users.sourceforge.net>
262
263 PR 23460
264 * plugin.c (bfd_plugin_open_input): Close file descriptor if the
265 call to fstat fails.
266 (try_claim): Always close the file descriptor at the end of the
267 function.
268 (try_load_plugin): If a plugin has already been registered, then
269 skip the dlopen and onload steps and go straight to claiming the
270 file. If these is an error, close the plugin.
271
272 2018-08-01 Alan Modra <amodra@gmail.com>
273
274 * elf64-ppc.c (plt_stub_pad): Delay plt_stub_size call until needed.
275 (ppc_build_one_stub): Don't set stub_offset, instead assert that
276 it is sane. Don't adjust stub_offset for alignment. Adjust size
277 calculation. Use "targ" temp when calculating offsets.
278 (ppc_size_one_stub): Set stub_offset here. Use "targ" temp when
279 calculating offsets. Adjust for alignment before setting
280 tls_get_addr_opt_bctrl.
281
282 2018-08-01 Alan Modra <amodra@gmail.com>
283
284 * po/SRC-POTFILES.in: Regenerate.
285
286 2018-07-30 Nick Clifton <nickc@redhat.com>
287
288 PR 22706
289 * elf32-sh.c (sh_elf_relocate_section): When processing
290 translation relocs, fail if the relocation offset is too small.
291 Replace BFD_ASSERTs with more helpful error messages.
292
293 2018-07-30 Andrew Jenner <andrew@codesourcery.com>
294
295 * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY.
296 (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise.
297 * Makefile.in: Regenerated.
298 * archures.c (enum bfd_architecture): Add bfd_arch_csky and
299 related bfd_mach defines.
300 (bfd_csky_arch): Declare.
301 (bfd_archures_list): Add C-SKY.
302 * bfd-in.h (elf32_csky_build_stubs): Declare.
303 (elf32_csky_size_stubs): Declare.
304 (elf32_csky_next_input_section: Declare.
305 (elf32_csky_setup_section_lists): Declare.
306 * bfd-in2.h: Regenerated.
307 * config.bfd: Add C-SKY.
308 * configure.ac: Likewise.
309 * configure: Regenerated.
310 * cpu-csky.c: New file.
311 * elf-bfd.h (enum elf_target_id): Add C-SKY.
312 * elf32-csky.c: New file.
313 * libbfd.h: Regenerated.
314 * reloc.c: Add C-SKY relocations.
315 * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare.
316 (_bfd_target_vector): Add C-SKY target vector entries.
317
318 2018-07-27 John Darrington <john@darrington.wattle.id.au>
319
320 * elf32-s12z.c (ELF_TARGET_ID): Don't define.
321
322 2018-07-27 John Darrington <john@darrington.wattle.id.au>
323
324 * libbfd.c (bfd_getb24, bfd_getl24): New functions.
325 (bfd_get_24, bfd_put_24): New macros.
326 * bfd-in2.h: Regenerate.
327
328 2018-07-27 John Darrington <john@darrington.wattle.id.au>
329
330 * elf32-s12z.c (s12z_elf_set_mach_from_flags): Remove comment.
331
332 2018-07-26 Alan Modra <amodra@gmail.com>
333
334 * elf64-ppc.c (ppc64_elf_size_stubs): Use a ppc_stub_long_branch_r2off
335 for calls to symbols with STO_PPC64_LOCAL_MASK bits set to 1.
336
337 2018-07-25 Alan Modra <amodra@gmail.com>
338
339 * elf32-ppc.c (ppc_elf_relax_section): Ignore common or undef locals.
340 Avoid trashing toff with added when used as a symbol index.
341 Ignore R_PPC_PLTREL24 addends in unused example code. Avoid
342 creating unnecessary fixups when relocatable.
343
344 2018-07-25 Alan Modra <amodra@gmail.com>
345
346 * elf32-arm.c (elf32_arm_nabi_write_core_note): Disable
347 -Wstringop-truncation warning for gcc-8.0 too.
348 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
349 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
350 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
351 * elf32-s390.c (elf_s390_write_core_note): Comment fix.
352 * elf64-s390.c (elf_s390_write_core_note): Likewise.
353
354 2018-07-24 Alan Modra <amodra@gmail.com>
355
356 PR 23430
357 * dwarf2.c (dwarf_debug_section_enum): Fix comment typo.
358 * elf.c (bfd_section_from_shdr, elf_sort_sections): Likewise.
359
360 2018-07-23 Max Filippov <jcmvbkbc@gmail.com>
361
362 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move
363 relocation sections consistency check to always check both
364 .rela.dyn and .rela.plt when they exist. Rearrange variable
365 definition and assignment places.
366
367 2018-07-23 Max Filippov <jcmvbkbc@gmail.com>
368
369 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic
370 relocations section for dynamic undefined weak symbols when
371 linking a shared object.
372
373 2018-07-23 Tom Tromey <tom@tromey.com>
374
375 * elf.c (bfd_get_elf_phdrs): Don't call memcpy with size 0.
376
377 2018-07-21 Eric Botcazou <ebotcazou@adacore.com>
378
379 * elf32-arm.c (elf32_arm_final_link_relocate) <R_ARM_GOT32>: Small
380 cleanup for the case of a global symbol that binds locally. Also
381 install a value in the GOT slot in the case of a local symbol in
382 a non-PIC link.
383
384 2018-07-20 H.J. Lu <hongjiu.lu@intel.com>
385
386 PR ld/23428
387 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): If the
388 separate code program header is needed, make sure that the first
389 read-only PT_LOAD segment has no code by adding a
390 GNU_PROPERTY_X86_ISA_1_USED note.
391
392 2018-07-20 Chenghua Xu <paul.hua.gm@gmail.com>
393 Maciej W. Rozycki <macro@mips.com>
394
395 * elfxx-mips.c (print_mips_ases): Add MMI extension.
396
397 2018-07-20 Maciej W. Rozycki <macro@mips.com>
398
399 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Do not
400 create DT_REL, DT_RELSZ or DT_RELENT dynamic entries if the
401 dynamic relocation section will be discarded from output.
402 (_bfd_mips_elf_finish_dynamic_sections) <DT_RELSZ>: Assert that
403 the dynamic relocation section will be retained in output.
404
405 2018-07-18 Maciej W. Rozycki <macro@mips.com>
406
407 * xcofflink.c (xcoff_write_global_symbol): Fix symbol type
408 checks for defined weak symbols.
409
410 2018-07-17 Maciej W. Rozycki <macro@mips.com>
411
412 * elf32-nds32.c (nds32_elf_relax_loadstore): Use
413 `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking
414 whether the symbol is absolute.
415 (nds32_elf_relax_lo12): Likewise.
416 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
417 (elfNN_aarch64_check_relocs): Likewise.
418 * xcofflink.c (xcoff_need_ldrel_p): Likewise.
419 (bfd_xcoff_import_symbol): Likewise.
420 (xcoff_write_global_symbol): Likewise.
421
422 2018-07-17 Maciej W. Rozycki <macro@mips.com>
423
424 * linker.c (bfd_is_abs_symbol): New macro.
425 * bfd-in2.h: Regenerate.
426
427 2018-07-16 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
428
429 * elf-bfd.h (elfcore_write_ppc_tar): Add prototype.
430 (elfcore_write_ppc_ppr): Likewise.
431 (elfcore_write_ppc_dscr): Likewise.
432 (elfcore_write_ppc_ebb): Likewise.
433 (elfcore_write_ppc_pmu): Likewise.
434 (elfcore_write_ppc_tm_cgpr): Likewise.
435 (elfcore_write_ppc_tm_cfpr): Likewise.
436 (elfcore_write_ppc_tm_cvmx): Likewise.
437 (elfcore_write_ppc_tm_cvsx): Likewise.
438 (elfcore_write_ppc_tm_spr): Likewise.
439 (elfcore_write_ppc_tm_ctar): Likewise.
440 (elfcore_write_ppc_tm_cppr): Likewise.
441 (elfcore_write_ppc_tm_cdscr): Likewise.
442 * elf.c (elfcore_write_ppc_tar): New function.
443 (elfcore_write_ppc_ppr): Likewise.
444 (elfcore_write_ppc_dscr): Likewise.
445 (elfcore_write_ppc_ebb): Likewise.
446 (elfcore_write_ppc_pmu): Likewise.
447 (elfcore_write_ppc_tm_cgpr): Likewise.
448 (elfcore_write_ppc_tm_cfpr): Likewise.
449 (elfcore_write_ppc_tm_cvmx): Likewise.
450 (elfcore_write_ppc_tm_cvsx): Likewise.
451 (elfcore_write_ppc_tm_spr): Likewise.
452 (elfcore_write_ppc_tm_ctar): Likewise.
453 (elfcore_write_ppc_tm_cppr): Likewise.
454 (elfcore_write_ppc_tm_cdscr): Likewise.
455 (elfcore_write_register_note): Call them.
456 (elfcore_grok_ppc_tar): New function.
457 (elfcore_grok_ppc_ppr): Likewise.
458 (elfcore_grok_ppc_dscr): Likewise.
459 (elfcore_grok_ppc_ebb): Likewise.
460 (elfcore_grok_ppc_pmu): Likewise.
461 (elfcore_grok_ppc_tm_cgpr): Likewise.
462 (elfcore_grok_ppc_tm_cfpr): Likewise.
463 (elfcore_grok_ppc_tm_cvmx): Likewise.
464 (elfcore_grok_ppc_tm_cvsx): Likewise.
465 (elfcore_grok_ppc_tm_spr): Likewise.
466 (elfcore_grok_ppc_tm_ctar): Likewise.
467 (elfcore_grok_ppc_tm_cppr): Likewise.
468 (elfcore_grok_ppc_tm_cdscr): Likewise.
469 (elfcore_grok_note): Call them.
470
471 2018-07-11 Maciej W. Rozycki <macro@mips.com>
472
473 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
474 than `!bfd_link_pic' in determining the dynamic symbol index.
475 Avoid the index of -1.
476 (mips_elf_initialize_tls_slots): Likewise. Flatten code by
477 moving `dyn' to the beginning of the function block.
478
479 2018-07-11 Maciej W. Rozycki <macro@mips.com>
480 Rich Felker <bugdal@aerifal.cx>
481
482 PR ld/22570
483 * elfxx-mips.c (mips_tls_got_relocs): Use `bfd_link_dll' rather
484 than `bfd_link_pic' to determine whether dynamic relocations are
485 to be produced.
486 (mips_elf_initialize_tls_slots): Likewise.
487
488 2018-07-10 Maciej W. Rozycki <macro@mips.com>
489
490 * elflink.c (bfd_elf_final_link): Rename `remove' local variable
491 to `remove_section'.
492
493 2018-07-10 Alan Modra <amodra@gmail.com>
494
495 * elf32-xgate.h: Delete.
496 * elf32-xgate.c: Delete unnecessary forward declarations, add two
497 that are now needed.
498 (xgate_elf_bfd_link_hash_table_create)
499 (xgate_elf_bfd_link_hash_table_free)
500 (xgate_elf_set_mach_from_flags, struct xgate_scan_param)
501 (stub_hash_newfunc, elf32_xgate_add_symbol_hook)
502 (elf32_xgate_setup_section_lists, elf32_xgate_size_stubs)
503 (elf32_xgate_build_stubs, elf32_xgate_check_relocs)
504 (elf32_xgate_relocate_section, _bfd_xgate_elf_set_private_flags)
505 (elf32_xgate_post_process_headers): Delete.
506 (elf32_xgate_backend_symbol_processing): New function.
507 (xgate_elf_ignore_reloc, xgate_elf_special_reloc)
508 (_bfd_xgate_elf_print_private_bfd_data): Make static.
509 (ELF_TARGET_ID, elf_info_to_howto, elf_backend_check_relocs)
510 (elf_backend_relocate_section, elf_backend_object_p)
511 (elf_backend_final_write_processing, elf_backend_can_gc_sections)
512 (elf_backend_post_process_headers, elf_backend_add_symbol_hook)
513 (bfd_elf32_bfd_link_hash_table_create)
514 (bfd_elf32_bfd_set_private_flags)
515 (xgate_stub_hash_lookup): Don't define.
516 (elf_backend_symbol_processing): Define.
517 * elf-bfd.h (elf_target_id): Delete XGATE_ELF_DATA.
518
519 2018-07-09 Maciej W. Rozycki <macro@mips.com>
520
521 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Don't set
522 `->needs_lazy_stub' if the stubs output section is the absolute
523 section.
524
525 2018-07-09 H.J. Lu <hongjiu.lu@intel.com>
526
527 PR ld/23388
528 * configure.ac: Use changequote for "i[3-7]86-*-linux-*".
529 * configure: Regenerated.
530
531 2018-07-09 Alan Modra <amodra@gmail.com>
532
533 * elf32-m68hc1x.c (elf32_m68hc11_post_process_headers): Call
534 _bfd_elf_post_process_headers.
535
536 2018-07-06 Max Filippov <jcmvbkbc@gmail.com>
537
538 * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Don't allocate
539 space for dynamic relocation for undefined weak symbol.
540 (elf_xtensa_relocate_section): Don't emit R_XTENSA_RELATIVE
541 relocation for undefined weak symbols.
542 (shrink_dynamic_reloc_sections): Don't shrink dynamic relocation
543 section for relocations against undefined weak symbols.
544
545 2018-07-06 Alan Hayward <alan.hayward@arm.com>
546
547 * elf.c (elfcore_grok_aarch_sve): New function.
548 (elfcore_grok_note): Check for Aarch64 SVE.
549 (elfcore_write_aarch_sve): New function.
550 (elfcore_write_register_note): Check for Aarch64 SVE.
551 * elf-bfd.h(elfcore_grok_aarch_sve): New declaration.
552
553 2018-07-06 Alan Modra <amodra@gmail.com>
554
555 * elf32-arm.c (elf32_arm_nabi_write_core_note): Don't use
556 DIAGNOTIC_PUSH and DIAGNOSTIC_POP unconditionally.
557 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
558 * elf32-s390.c (elf_s390_write_core_note): Likewise.
559 * elf64-ppc.c (ppc64_elf_write_core_note): Likewise.
560 * elf64-s390.c (elf_s390_write_core_note): Likewise.
561 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
562
563 2018-07-05 Jim Wilson <jimw@sifive.com>
564
565 * config.bfd (riscv32*-*-*): Renamed from riscv32-*-*.
566 (riscv64*-*-*): Likewise.
567 (riscv-*-*): Add as an alias for riscv32*-*-*.
568
569 2018-07-05 H.J. Lu <hongjiu.lu@intel.com>
570
571 PR ld/23372
572 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Remove x86
573 ISA properties with empty bits.
574
575 2018-07-05 Nick Clifton <nickc@redhat.com>
576
577 * po/ru.po: Updated Russian translation.
578
579 2018-07-05 Alan Modra <amodra@gmail.com>
580
581 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Update prototype.
582 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Return error
583 on mismatch. Remove "warning: " from messages. Track last bfd
584 used to set tags.
585 (ppc_elf_merge_obj_attributes): Likewise. Handle status from
586 _bfd_elf_ppc_merge_fp_attributes.
587 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Handle status
588 from _bfd_elf_ppc_merge_fp_attributes.
589
590 2018-07-04 H.J. Lu <hongjiu.lu@intel.com>
591
592 * Makefile.am (bfdinclude_HEADERS): Add $(INCDIR)/diagnostics.h.
593 * Makefile.in: Regenerated.
594
595 2018-07-03 Alan Modra <amodra@gmail.com>
596
597 * elflink.c (bfd_elf_final_link): Remove zero size .gnu.attributes
598 sections.
599
600 2018-07-03 Alan Modra <amodra@gmail.com>
601
602 * elf-bfd.h (ATTR_TYPE_FLAG_ERROR, ATTR_TYPE_HAS_ERROR): Define.
603 * elf-attrs.c (is_default_attr): Handle ATTR_TYPE_HAS_ERROR.
604 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Use
605 ATTR_TYPE_FLAG_INT_VAL. Set ATTR_TYPE_HAS_ERROR on finding
606 incompatible attribute.
607 (ppc_elf_merge_obj_attributes): Likewise. Return
608 _bfd_elf_merge_object_attributes result.
609 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Return
610 _bfd_elf_merge_object_attributes result.
611
612 2018-07-03 Alan Modra <amodra@gmail.com>
613
614 PR 17550
615 * elflink.c (_bfd_elf_fix_symbol_flags): Hide dynamic symbols
616 in discarded sections.
617
618 2018-07-02 Maciej W. Rozycki <macro@mips.com>
619
620 * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Set
621 `mark' for symbols created from `mips_elf_dynsym_rtproc_names'
622 list.
623
624 2018-07-02 Maciej W. Rozycki <macro@mips.com>
625
626 * elf64-mips.c (micromips_elf64_howto_table_rel): Add
627 R_MICROMIPS_HI0_LO16, R_MICROMIPS_TLS_GD, R_MICROMIPS_TLS_LDM,
628 R_MICROMIPS_TLS_DTPREL_HI16, R_MICROMIPS_TLS_DTPREL_LO16,
629 R_MICROMIPS_TLS_GOTTPREL, R_MICROMIPS_TLS_TPREL_HI16,
630 R_MICROMIPS_TLS_TPREL_LO16, R_MICROMIPS_GPREL7_S2 and
631 R_MICROMIPS_PC23_S2 relocation entries.
632 (micromips_elf64_howto_table_rela): Likewise.
633 (micromips_reloc_map): Likewise.
634 * elfn32-mips.c (elf_micromips_howto_table_rel): Likewise.
635 (elf_micromips_howto_table_rela): Likewise.
636 (micromips_reloc_map): Likewise.
637
638 2018-07-02 H.J. Lu <hongjiu.lu@intel.com>
639
640 PR ld/23324
641 * elf64-x86-64.c (elf_x86_64_relocate_section): Clear the
642 R_X86_64_converted_reloc_bit bit.
643
644 2018-07-02 Jeff Muizelaar <jrmuizel@gmail.com>
645 Tom Tromey <tom@tromey.com>
646
647 PR 13157
648 PR 21787
649 * mach-o.c (bfd_mach_o_fat_close_and_cleanup): New function.
650 (bfd_mach_o_close_and_cleanup): Redefine.
651 * archive.c (_bfd_unlink_from_archive_parent): New function,
652 extracted from..
653 (_bfd_archive_close_and_cleanup): ..here.
654 (bfd_generic_archive_p): Do not clear archive's format.
655 * libbfd-in.h (_bfd_unlink_from_archive_parent): Declare.
656 * libbfd.h: Regenerate.
657
658 2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
659
660 * archures.c (bfd_mach_arm_5TEJ, bfd_mach_arm_6, bfd_mach_arm_6KZ,
661 bfd_mach_arm_6T2, bfd_mach_arm_6K, bfd_mach_arm_7, bfd_mach_arm_6M,
662 bfd_mach_arm_6SM, bfd_mach_arm_7EM, bfd_mach_arm_8, bfd_mach_arm_8R,
663 bfd_mach_arm_8M_BASE, bfd_mach_arm_8M_MAIN): Define.
664 * bfd-in2.h: Regenerate.
665 * cpu-arm.c (arch_info_struct): Add entries for above new
666 bfd_mach_arm values.
667 * elf32-arm.c (bfd_arm_get_mach_from_attributes): Add Tag_CPU_arch to
668 bfd_mach_arm mapping logic for pre Armv4 and Armv5TEJ and later
669 architectures. Force assert failure for any new Tag_CPU_arch value.
670
671 2018-07-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
672
673 * doc/bfdint.texi: Use command-line consistently when used in a
674 compount word.
675 * doc/bfdsumm.texi: Likewise.
676
677 2018-06-29 Maciej W. Rozycki <macro@mips.com>
678
679 * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol
680 visibility check made for undefined weak symbols.
681
682 2018-06-26 Nick Clifton <nickc@redhat.com>
683
684 * po/uk.po: Updated Ukranian translation.
685
686 2018-06-25 Nick Clifton <nickc@redhat.com>
687
688 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_stub_name): Check
689 for malloc returning NULL.
690 (_bfd_aarch64_erratum_843419_fixup): Check for
691 _bfd_aarch64_erratum_835769_stub_name returning NULL.
692
693 2018-06-24 Nick Clifton <nickc@redhat.com>
694
695 * po/bfd.pot: Regenerate.
696
697 2018-06-24 Nick Clifton <nickc@redhat.com>
698
699 * version.m4: Update version string to 2.31.51.
700 * configure: Regenerate.
701
702 2018-06-24 Nick Clifton <nickc@redhat.com>
703
704 2.31 branch created.
705
706 2018-06-21 Maciej W. Rozycki <macro@mips.com>
707
708 * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding)
709 (_bfd_mips_elf_cant_unwind_opcode): Correct formatting.
710
711 2018-06-21 Maciej W. Rozycki <macro@mips.com>
712
713 * elfxx-mips.c (_bfd_mips_post_process_headers): Keep
714 EI_ABIVERSION setting together.
715
716 2018-06-21 Maciej W. Rozycki <macro@mips.com>
717
718 * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT)
719 (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64)
720 (MIPS_LIBC_ABI_MAX): New enumeration constants.
721 (_bfd_mips_post_process_headers): Use them in place of magic
722 numbers.
723
724 2018-06-21 Jim Wilson <jimw@sifive.com>
725
726 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Update comment.
727 Use SYMBOL_REFERENCES_LOCAL. Add asserts for h->got.offset.
728
729 2018-06-21 Alan Modra <amodra@gmail.com>
730
731 * doc/Makefile.am (AUTOMAKE_OPTIONS): Add "foreign".
732 * doc/Makefile.in: Regenerate.
733
734 2018-06-20 Renlin Li <renlin.li@arm.com>
735
736 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use PG_OFFSET
737 to resolve BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
738 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
739 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
740 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
741 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
742 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
743 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
744 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
745
746 2018-06-20 Nick Clifton <nickc@redhat.com>
747
748 PR 23316
749 * opncls.c (get_build_id): Check for a negative or excessive data
750 size in the build-id note.
751
752 2018-06-20 Nick Clifton <nickc@redhat.com>
753
754 PR 23299
755 * mach-o.c (cputype): New function.
756 (cpusubtype): New function.
757 (bfd_mach_o_bfd_print_private_data): New function. Dispalys the
758 values in the MACH-O file header.
759 (bfd_mach_o_bfd_copy_private_header_data): Copy the cputype and
760 cpusubtype fields from the input bfd's mach-o header to the output
761 bfd.
762 * mach-o-target.c (bfd_mach_o_bfd_print_private_bfd_data):
763 Redefine to bfd_mach_o_bfd_print_private_data.
764 * mach-o.h (bfd_mach_o_bfd_print_private_bfd_data): Prototype.
765
766 2018-06-19 Maciej W. Rozycki <macro@mips.com>
767
768 PR ld/22966
769 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Verify the
770 `.got.plt' entry referred is in range.
771 (mips_finish_exec_plt): Correct the range check for `.got.plt'
772 start. Replace the assertion used for that with a proper error
773 message.
774
775 2018-06-19 Maciej W. Rozycki <macro@mips.com>
776
777 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Fix
778 formatting.
779
780 2018-06-19 Simon Marchi <simon.marchi@ericsson.com>
781
782 * Makefile.am (AUTOMAKE_OPTIONS): Remove 1.11.
783 (INCLUDES): Rename to ...
784 (AM_CPPFLAGS): ... this.
785 * configure.ac: Remove AC_PREREQ.
786 * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove 1.9, cygnus, add
787 info-in-builddir no-texinfo.tex.
788 (info_TEXINFOS): Rename bfd.texinfo to bfd.texi.
789 * doc/bfd.texinfo: Rename to ...
790 * doc/bfd.texi: ... this.
791 * Makefile.in: Re-generate.
792 * aclocal.m4: Re-generate.
793 * config.in: Re-generate.
794 * configure: Re-generate.
795 * doc/Makefile.in: Re-generate.
796
797 2018-06-18 Mephi <mephi42@gmail.com>
798
799 PR 23297
800 * mach-o-x86-64.c (x86_64_howto_table): Add entry for
801 BFD_RELOC_MACH_O_X86_64_RELOC_TLV.
802 (bfd_mach_o_x86_64_canonicalize_one_reloc): Handle the new reloc.
803 (bfd_mach_o_x86_64_swap_reloc_out): Likewise.
804 * reloc.c (BFD_RELOC_MACH_O_X86_64_TV): New entry.
805 * bfd-in2.h: Regenerate.
806 * libbfd.h: Regenerate.
807
808 2018-06-14 Faraz Shahbazker <Faraz.Shahbazker@mips.com>
809
810 * elfxx-mips.c (print_mips_ases): Add GINV extension.
811
812 2018-06-14 H.J. Lu <hongjiu.lu@intel.com>
813
814 PR binutils/23267
815 * elf.c (_bfd_elf_get_symbol_version_string): Check if the first
816 symbol version is base version.
817
818 2018-06-14 Alan Modra <amodra@gmail.com>
819
820 * elf-bfd.h (struct elf_link_hash_table): Add "dynamic_relocs".
821 * elflink.c (_bfd_elf_init_2_index_sections): Comment fix.
822 (_bfd_elf_add_dynamic_entry): Set "dynamic_relocs".
823 (_bfd_elf_link_renumber_dynsyms): Exclude all section symbols when
824 "dynamic_relocs" is not set.
825 * elfxx-mips.c (count_section_dynsyms): Likewise.
826
827 2018-06-14 Alan Modra <amodra@gmail.com>
828
829 PR 23282
830 * bfdio.c (bfd_seek): Optimize away seeks to current position.
831
832 2018-06-13 Scott Egerton <scott.egerton@imgtec.com>
833 Faraz Shahbazker <Faraz.Shahbazker@mips.com>
834
835 * elfxx-mips.c (print_mips_ases): Add CRC.
836
837 2018-06-08 H.J. Lu <hongjiu.lu@intel.com>
838
839 PR ld/23161
840 * elfxx-x86.c (elf_x86_hide_linker_defined): New function.
841 (_bfd_x86_elf_link_check_relocs): Use it to hide hidden
842 __bss_start, _end and _edata in shared libraries.
843
844 2018-06-07 Alan Modra <amodra@gmail.com>
845
846 * elf32-tic6x.c (elf32_tic6x_check_relocs): Reference
847 __c6xabi_DSBT_BASE explicitly for R_C6000_SBR_* relocs.
848
849 2018-06-05 Alan Modra <amodra@gmail.com>
850
851 * bfd.c (struct bfd): Update comment on "where" usage.
852 * bfdio.c (bfd_bwrite, bfd_stat): Use and update "iovec",
853 "iostream", and "where" from containing archive file. Return
854 error on NULL iovec.
855 (bfd_bread): Similarly, and return error attempted out of
856 bounds archive element access.
857 (bfd_tell, bfd_flush): Use and update "iovec", "iostream", and
858 "where" from containing archive file.
859 (bfd_seek): Likewise. Return error on NULL iovec. Don't
860 attempt to optimize away seeks. Don't paper over errors by
861 calling bfd_tell.
862 (bfd_get_mtime): Call bfd_stat rather than iovec->bstat.
863 (bfd_get_size): Likewise.
864 (bfd_mmap): Operate on and use iovec of containing archive
865 file. Return error on NULL iovec.
866 * cache.c (bfd_cache_lookup_worker): Abort if working on
867 archive element bfd.
868 (cache_bread_1): Delete bfd parameter, add FILE* parameter.
869 Don't ignore zero byte reads.
870 (cache_bread): Look up FILE* in cache here. Error on NULL
871 lookup.
872 (cache_bwrite): Rename "where" to "from".
873 (cache_bmmap): Don't handle archive elements.
874 * coffcode.h (coff_slurp_line_table): Exit early on zero
875 lineno count.
876 * bfd-in2.h: Regenerate.
877
878 2018-06-05 Alan Modra <amodra@gmail.com>
879
880 PR 23254
881 * plugin.c (bfd_plugin_open_input): Allow for possibility of
882 nested archives. Open file again for plugin.
883 (try_claim): Don't save and restore file position. Close file
884 if not claimed.
885 * sysdep.h (O_BINARY): Define.
886
887 2018-06-04 Max Filippov <jcmvbkbc@gmail.com>
888
889 * elf32-xtensa.c (xtensa_read_table_entries): Make global.
890 (compute_fill_extra_space): Drop declaration. Rename function to
891 xtensa_compute_fill_extra_space.
892 (compute_ebb_actions, remove_dead_literal): Update references to
893 compute_fill_extra_space.
894
895 2018-06-04 Volodymyr Arbatov <arbatov@cadence.com>
896
897 * elf32-xtensa.c (elf32xtensa_separate_props): New global
898 variable.
899 (xtensa_add_names): New function.
900 (xtensa_property_section_name): Add new parameter
901 separate_sections, use it to choose property section name.
902 (xtensa_get_separate_property_section): New function.
903 (xtensa_get_property_section): Invoke
904 xtensa_get_separate_property_section to get individual property
905 section if it exists, common property section otherwise.
906 (xtensa_make_property_section): Pass elf32xtensa_separate_props
907 to xtensa_property_section_name.
908
909 2018-06-04 H.J. Lu <hongjiu.lu@intel.com>
910
911 PR binutils/23146
912 * bfd-in.h: Include "diagnostics.h".
913 * bfd-in2.h: Regenerated.
914 * elf32-arm.c (elf32_arm_nabi_write_core_note): Use
915 DIAGNOSTIC_PUSH, DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION and
916 DIAGNOSTIC_POP to silence GCC 8.1 warnings with
917 -Wstringop-truncation.
918 * elf32-ppc.c (ppc_elf_write_core_note): Likewse.
919 * elf32-s390.c (elf_s390_write_core_note): Likewse.
920 * elf64-ppc.c (ppc64_elf_write_core_note): Likewse.
921 * elf64-s390.c (elf_s390_write_core_note): Likewse.
922 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewse.
923
924 2018-06-03 Jim Wilson <jimw@sifive.com>
925
926 PR ld/23244
927 * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Check
928 for and handle an undefined weak with no PLT.
929
930 PR ld/22756
931 * elfnn-riscv.c (riscv_relax_delete_bytes): Add versioned_hidden check
932 to code that ignores duplicate symbols.
933
934 2018-06-01 H.J. Lu <hongjiu.lu@intel.com>
935
936 * version.m4: Bump version to 2.30.52
937 * configure: Regenerated.
938
939 2018-06-01 Alan Modra <amodra@gmail.com>
940
941 * bfd.c (_bfd_error_handler): Arrange for this function to be
942 declared in bfd-in2.h.
943 * libbfd-in.h (_bfd_error_handler): Don't declare.
944 * libbfd.h: Regenerate.
945 * bfd-in2.h: Regenerate.
946
947 2018-05-30 Amaan Cheval <amaan.cheval@gmail.com>
948
949 * config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems*
950 This is needed to generate UEFI application image files from ELFs.
951
952 2018-05-28 H.J. Lu <hongjiu.lu@intel.com>
953
954 * elf32-i386.c (elf_i386_lazy_plt): Add plt_tlsdesc_entry,
955 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
956 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
957 plt_tlsdesc_got2_insn_end for TLSDESC entry.
958 (elf_i386_lazy_ibt_plt): Likewise.
959 (elf_i386_nacl_plt): Likewise.
960 * elf64-x86-64.c (tlsdesc_plt_entry): Moved and renamed to ...
961 (elf_x86_64_tlsdesc_plt_entry): This.
962 (elf_x86_64_lazy_plt): Add plt_tlsdesc_entry,
963 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
964 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
965 plt_tlsdesc_got2_insn_end for TLSDESC entry.
966 (elf_x86_64_lazy_bnd_plt): Likewise.
967 (elf_x86_64_lazy_ibt_plt): Likewise.
968 (elf_x32_lazy_ibt_plt): Likewise.
969 (elf_x86_64_nacl_plt): Likewise.
970 (elf_x86_64_finish_dynamic_sections): Use plt_tlsdesc_entry,
971 plt_tlsdesc_entry_size, plt_tlsdesc_got1_offset,
972 plt_tlsdesc_got2_offset, plt_tlsdesc_got1_insn_end and
973 plt_tlsdesc_got2_insn_end to update TLSDESC entry.
974 * elfxx-x86.h (elf_x86_lazy_plt_layout): Update comments.
975 Add plt_tlsdesc_entry, plt_tlsdesc_entry_size,
976 plt_tlsdesc_got1_offset, plt_tlsdesc_got2_offset,
977 plt_tlsdesc_got1_insn_end and plt_tlsdesc_got2_insn_end.
978 (elf_x86_non_lazy_plt_layout): Update comments.
979 (elf_x86_plt_layout): Likewise.
980
981 2018-05-28 H.J. Lu <hongjiu.lu@intel.com>
982
983 PR ld/23238
984 * elf-s390-common.c (elf_s390_add_symbol_hook): Removed.
985 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
986 (elf_backend_add_symbol_hook): Likewise.
987 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
988 (elf_backend_add_symbol_hook): Likewise.
989 * elf32-s390.c (elf_backend_add_symbol_hook): Likewise.
990 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
991 (elf_backend_add_symbol_hook): Likewise.
992 * elf64-s390.c (elf_backend_add_symbol_hook): Likewise.
993 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
994 * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise.
995 (elf_backend_add_symbol_hook): Likewise.
996 * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC
997 handling.
998 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
999 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1000 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1001 * elflink.c (elf_link_add_object_symbols): Set
1002 elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols.
1003
1004 2018-05-26 H.J. Lu <hongjiu.lu@intel.com>
1005
1006 PR ld/23194
1007 * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
1008 * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
1009 Extracted from _bfd_elf_link_assign_sym_version.
1010 (_bfd_elf_link_hide_sym_by_version): New function.
1011 (_bfd_elf_link_assign_sym_version): Use
1012 _bfd_elf_link_hide_versioned_symbol.
1013 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
1014 _bfd_elf_link_hide_sym_by_version instead of
1015 bfd_hide_sym_by_version. Don't check unversioned symbol.
1016
1017 2018-05-25 Alan Modra <amodra@gmail.com>
1018
1019 * Makefile.in: Regenerate.
1020 * po/SRC-POTFILES.in: Regenerate.
1021
1022 2018-05-25 Alan Modra <amodra@gmail.com>
1023
1024 * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
1025 * configure: Regenerate.
1026
1027 2018-05-23 H.J. Lu <hongjiu.lu@intel.com>
1028
1029 * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
1030 to data.
1031
1032 2018-05-22 Alan Modra <amodra@gmail.com>
1033
1034 PR 23207
1035 * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
1036 is NULL.
1037 (elf32_hppa_size_stubs): Only create stubs for load, alloc, code
1038 sections.
1039 (final_link_relocate): Revert last change.
1040
1041 2018-05-22 Alan Modra <amodra@gmail.com>
1042
1043 PR 23207
1044 * elf32-hppa.c (final_link_relocate): Don't look for plt call
1045 stubs in non-alloc sections.
1046
1047 2018-05-21 H.J. Lu <hongjiu.lu@intel.com>
1048
1049 PR ld/23201
1050 * aout-target.h (MY_bfd_link_hide_symbol): New.
1051 * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
1052 * binary.c (binary_bfd_link_hide_symbol): Likewise.
1053 * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1054 * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
1055 * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
1056 * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
1057 * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
1058 * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
1059 * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
1060 * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
1061 * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
1062 * linker.c (_bfd_generic_link_hide_symbol): Likewise.
1063 (bfd_link_hide_symbol): Likewise.
1064 * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
1065 * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
1066 * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
1067 * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
1068 * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
1069 * som.c (som_bfd_link_hide_symbol): Likewise.
1070 * srec.c (srec_bfd_link_hide_symbol): Likewise.
1071 * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
1072 * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
1073 (alpha_vms_bfd_link_hide_symbol): Likewise.
1074 * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
1075 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
1076 _bfd_generic_link_hide_symbol.
1077 (rs6000_xcoff64_aix_vec): Likewise.
1078 * elflink.c (bfd_elf_record_link_assignment): Don't make forced
1079 local symbol dynamic.
1080 (_bfd_elf_link_hide_symbol): New function.
1081 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1082 check root.ldscript_def.
1083 * targets.c (bfd_target): Add _bfd_link_hide_symbol.
1084 (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
1085 * bfd-in2.h: Regenerated.
1086 * libbfd.h: Likewise.
1087
1088 2018-05-21 H.J. Lu <hongjiu.lu@intel.com>
1089
1090 PR binutils/23199
1091 * elf.c (setup_group): Mark section in a section group with
1092 SHF_GROUP.
1093
1094 2018-05-18 H.J. Lu <hongjiu.lu@intel.com>
1095
1096 PR ld/23194
1097 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1098 set eh->local_ref to 1 if a symbol is versioned and there is a
1099 version script.
1100
1101 2018-05-18 Kito Cheng <kito.cheng@gmail.com>
1102
1103 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
1104 EF_RISCV_RVE.
1105
1106 2018-05-18 Jim Wilson <jimw@sifive.com>
1107
1108 * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
1109 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1110 (riscv_elf_relocate_section): Don't generate dynamic relocation if
1111 UNDEFWEAK_NO_DYNAMIC_RELOC is true.
1112 (riscv_elf_finish_dynamic_symbol): Likewise.
1113
1114 2018-05-18 John Darrington <john@darrington.wattle.id.au>
1115
1116 * Makefile.am: Add s12z files.
1117 * Makefile.in: Regenerate.
1118 * archures.c: Add bfd_s12z_arch.
1119 * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
1120 * bfd-in2.h: Regenerate.
1121 * config.bfd: Add s12z target.
1122 * configure.ac: Add s12z target.
1123 * configure: Regenerate.
1124 * cpu-s12z.c: New file.
1125 * elf32-s12z.c: New file.
1126 * libbfd.c (bfd_putb24): New function.
1127 (bfd_putl24): New function.
1128 * libbfd.h: Regenerate.
1129 * reloc.c: Add s12z relocations.
1130 (bfd_get_reloc_size): Handle size 5 relocs.
1131 * targets.c: Add s12z_elf32_vec.
1132
1133 2018-05-18 H.J. Lu <hongjiu.lu@intel.com>
1134
1135 PR ld/23189
1136 * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
1137 like R_386_GOT32.
1138 * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
1139 set eh->local_ref to 1 for linker defined symbols.
1140
1141 2018-05-18 Alan Modra <amodra@gmail.com>
1142
1143 PR 23199
1144 * elf.c (setup_group): Formatting. Check that SHT_GROUP entries
1145 don't point at other SHT_GROUP sections. Set shdr corresponding
1146 to invalid entry, to NULL rather than section 0. Identify
1147 SHT_GROUP section index when reporting an error. Cope with NULL
1148 shdr pointer.
1149
1150 2018-05-18 Alan Modra <amodra@gmail.com>
1151
1152 * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
1153 * configure.ac (HAVE_HIDDEN): Check compiler support for hidden
1154 visibility.
1155 * libbfd.h: Regenerate.
1156 * configure: Regenerate.
1157 * config.in: Regenerate.
1158
1159 2018-05-18 Alan Modra <amodra@gmail.com>
1160
1161 * libbfd-in.h: Add include guard.
1162 * libcoff-in.h: Likewise.
1163 * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
1164 * doc/Makefile.in: Regenerate.
1165 * libbfd.h: Regenerate.
1166 * libcoff.h: Regenerate.
1167
1168 2018-05-16 Maciej W. Rozycki <macro@mips.com>
1169
1170 * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
1171
1172 2018-05-16 Alan Modra <amodra@gmail.com>
1173
1174 PR 22458
1175 * format.c (struct bfd_preserve): Add section_id.
1176 (bfd_preserve_save, bfd_preserve_restore): Save and restore
1177 _bfd_section_id.
1178 (bfd_reinit): Set _bfd_section_id.
1179 (bfd_check_format_matches): Put all matches of any priority into
1180 matching_vector. Save initial section id and start each attempted
1181 match at that section id.
1182 * libbfd-in.h (_bfd_section_id): Declare.
1183 * section.c (_bfd_section_id): Rename from section_id and make
1184 global. Adjust uses.
1185 (bfd_get_next_section_id): Delete.
1186 * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
1187 bfd_get_section_id with _bfd_section_id.
1188 * libbfd.h: Regenerate.
1189 * bfd-in2.h: Regenerate.
1190
1191 2018-05-15 Christophe Guillon <christophe.guillon@st.com>
1192
1193 * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
1194 of the aux structure are initialised.
1195
1196 2018-05-15 Francois H. Theron <francois.theron@netronome.com>
1197
1198 * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
1199
1200 2018-05-15 Nick Clifton <nickc@redhat.com>
1201
1202 * po/pt.po: New Portuguese translation.
1203 * configure.ac (ALL_LINGUAS): Add pt.
1204 * configure: Regenerate.
1205
1206 2018-05-14 H.J. Lu <hongjiu.lu@intel.com>
1207
1208 PR ld/23169
1209 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
1210 an error on IFUNC pointer defined in PDE.
1211 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
1212 _bfd_x86_elf_link_fixup_ifunc_symbol.
1213 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1214 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
1215 function.
1216 * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
1217
1218 2018-05-14 H.J. Lu <hongjiu.lu@intel.com>
1219
1220 PR ld/23162
1221 * elfxx-x86.c (elf_x86_linker_defined): New function.
1222 (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
1223 _end and _edata locally defined within executables.
1224
1225 2018-05-12 Alan Modra <amodra@gmail.com>
1226
1227 PR 20659
1228 * elf.c (rewrite_elf_program_header): Use segment_mark only for
1229 PT_LOAD headers. Delete first_matching_lma and first_suggested_lma.
1230 Instead make matching_lma and suggested_lma pointers to the
1231 sections. Align section vma and lma calculated from segment.
1232 Don't clear includes_phdrs or includes_filehdr based on p_paddr
1233 test. Try to handle alignment padding before first section by
1234 adjusting new segment lma down. Adjust PT_PHDR map p_paddr.
1235
1236 2018-05-09 Dimitar Dimitrov <dimitar@dinux.eu>
1237
1238 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
1239 conformant to TI ABI.
1240 (pru_elf32_relax_section): Likewise.
1241 (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
1242 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
1243 (pru_elf32_pmem_relocate): Trap - should not get here.
1244 (pru_elf32_relocate_section): Add support for REL relocations.
1245 (elf_info_to_howto_rel): Enable REL.
1246 (elf_backend_may_use_rel_p): Likewise.
1247 (elf_backend_may_use_rela_p): Likewise.
1248 (elf_backend_default_use_rela_p): Likewise.
1249
1250 2018-05-09 Alan Modra <amodra@gmail.com>
1251
1252 PR 23148
1253 * peXXigen.c (pe_print_edata): Correct minimum size.
1254
1255 2018-05-09 Alan Modra <amodra@gmail.com>
1256
1257 PR 23147
1258 * peXXigen.c (pe_print_idata): Bound check hint_addr.
1259
1260 2018-05-08 Nick Clifton <nickc@redhat.com>
1261
1262 PR 22809
1263 * elf.c (bfd_elf_get_str_section): Check for an excessively large
1264 string section.
1265 * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
1266 attribute section is larger than the size of the file.
1267
1268 2018-05-07 Alan Modra <amodra@gmail.com>
1269
1270 * cofflink.c (_bfd_coff_link_input_bfd): Use memcmp rather than
1271 strncmp when checking for ".bf" special symbol.
1272 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Make pe_required_section_flags
1273 section name a char array, remove sentinal known_sections entry,
1274 and adjust loop over known_sections to suit. Use memcmp rather
1275 than strncmp.
1276
1277 2018-05-04 Alan Modra <amodra@gmail.com>
1278
1279 * elf-linux-core.h (struct elf_external_linux_prpsinfo32_ugid32),
1280 (struct elf_external_linux_prpsinfo32_ugid16),
1281 (struct elf_external_linux_prpsinfo64_ugid32),
1282 (struct elf_external_linux_prpsinfo64_ugid16): Add ATTRIBUTE_NONSTRING
1283 to pr_fname and pr_psargs fields. Remove GCC diagnostic pragmas.
1284 Move comment to..
1285 * elf.c (elfcore_write_prpsinfo): ..here. Indent nested preprocessor
1286 directives.
1287 * elf32-arm.c (elf32_arm_nabi_write_core_note): Add ATTRIBUTE_NONSTRING
1288 to data.
1289 * elf32-ppc.c (ppc_elf_write_core_note): Likewise.
1290 * elf32-s390.c (elf_s390_write_core_note): Likewise.
1291 * elf64-s390.c (elf_s390_write_core_note): Likewise.
1292 * elfxx-aarch64.c (_bfd_aarch64_elf_write_core_note): Likewise.
1293 * elf64-x86-64.c (elf_x86_64_write_core_note): Add GCC diagnostic
1294 pragmas.
1295 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Use strnlen to avoid
1296 false positive gcc-8 warning.
1297 * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
1298
1299 2018-05-04 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
1300
1301 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Fix the order
1302 of arguments when warning about different long double types.
1303
1304 2018-05-03 Simon Atanasyan <simon@atanasyan.com>
1305
1306 * elf32-mips.c: (elf32_mips_fixup_symbol): New function.
1307 (elf_backend_fixup_symbol): New macro.
1308 * elfxx-mips.c: (mips_elf_output_extsym): Discard _gp_disp
1309 handling.
1310 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
1311
1312 2018-04-30 Francois H. Theron <francois.theron@netronome.com>
1313
1314 * Makefile.am: Added NFP files to build.
1315 * archures.c: Added bfd_arch_nfp
1316 * config.bfd: Added NFP support.
1317 * configure.ac: Added NFP support.
1318 * cpu-nfp.c: New, for NFP support.
1319 * elf-bfd.h: Added elf_section_info()
1320 * elf64-nfp.c: New, for NFP support.
1321 * po/SRC-POTFILES.in: Added NFP source files.
1322 * targets.c: Added nfp_elf64_vec
1323 * bfd-in2.h: Regenerate.
1324 * Makefile.in: Regenerate.
1325 * configure: Regenerate.
1326
1327 2018-04-27 Alan Modra <amodra@gmail.com>
1328
1329 * bfd-in2.h: Regenerate.
1330 * libbfd.h: Regenerate.
1331
1332 2018-04-27 Alan Modra <amodra@gmail.com>
1333
1334 PR 23123
1335 PR 22374
1336 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't drop plt
1337 relocs for ifuncs.
1338 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Comment fixes.
1339
1340 2018-04-26 Pedro Alves <palves@redhat.com>
1341
1342 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't consider
1343 ifunc and non-ifunc symbols duplicates.
1344
1345 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1346 Mickaël Guêné <mickael.guene@st.com>
1347
1348 * elf32-arm.c (elf32_arm_fdpic_thumb_plt_entry): New.
1349 (elf32_arm_plt_needs_thumb_stub_p): Handle thumb-only case.
1350 (elf32_arm_populate_plt_entry): Likewise.
1351 (elf32_arm_output_plt_map_1): Likewise.
1352 (elf32_arm_output_arch_local_syms): Likewise.
1353
1354 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1355 Mickaël Guêné <mickael.guene@st.com>
1356
1357 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
1358 _GLOBAL_OFFSET_TABLE_ in FDPIC mode.
1359
1360 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1361 Mickaël Guêné <mickael.guene@st.com>
1362
1363 * elf32-arm.c (bfd_elf32_arm_set_target_params): Handle FDPIC case
1364 for R_ARM_TARGET2.
1365
1366 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1367 Mickaël Guêné <mickael.guene@st.com>
1368
1369 * elf32-arm.c (DEFAULT_STACK_SIZE): New.
1370 (elf32_arm_always_size_sections): Create stack segment.
1371
1372 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1373 Mickaël Guêné <mickael.guene@st.com>
1374
1375 * bfd-in2.h (BFD_RELOC_ARM_TLS_GD32_FDPIC)
1376 (BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC): New
1377 relocations.
1378 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_TLS_GD32_FDPIC,
1379 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC relocations.
1380 (elf32_arm_reloc_map): Add R_ARM_TLS_GD32_FDPIC,
1381 R_ARM_TLS_LDM32_FDPIC, R_ARM_TLS_IE32_FDPIC.
1382 (struct elf32_arm_link_hash_table): Update comment.
1383 (elf32_arm_final_link_relocate): Handle TLS FDPIC relocations.
1384 (IS_ARM_TLS_RELOC): Likewise.
1385 (elf32_arm_check_relocs): Likewise.
1386 (allocate_dynrelocs_for_symbol): Likewise.
1387 (elf32_arm_size_dynamic_sections): Update comment.
1388 * reloc.c: Add BFD_RELOC_ARM_TLS_GD32_FDPIC,
1389 BFD_RELOC_ARM_TLS_LDM32_FDPIC, BFD_RELOC_ARM_TLS_IE32_FDPIC.
1390
1391 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1392 Mickaël Guêné <mickael.guene@st.com>
1393
1394 * elf32-arm.c (elf32_arm_fdpic_plt_entry): New.
1395 (elf32_arm_create_dynamic_sections): Handle FDPIC.
1396 (elf32_arm_allocate_plt_entry): Likewise.
1397 (elf32_arm_populate_plt_entry): Likewise.
1398 (elf32_arm_output_plt_map_1): Likewise.
1399
1400 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1401 Mickaël Guêné <mickael.guene@st.com>
1402
1403 * elf32-arm.c (struct fdpic_local): New.
1404 (elf_arm_obj_tdata): Add local_fdpic_cnts field.
1405 (elf32_arm_local_fdpic_cnts): New.
1406 (struct fdpic_global): New.
1407 (elf32_arm_link_hash_entry): Add fdpic_cnts field.
1408 (elf32_arm_link_hash_table): Add srofixup field.
1409 (arm_elf_add_rofixup): New.
1410 (arm_elf_fill_funcdesc): New.
1411 (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
1412 (elf32_arm_allocate_local_sym_info): Likewise.
1413 (create_got_section): Create .rofixup section.
1414 (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
1415 (bfd_elf32_arm_set_target_params): Handle FDPIC.
1416 (elf32_arm_final_link_relocate): Likewise.
1417 (elf32_arm_check_relocs): Likewise.
1418 (allocate_dynrelocs_for_symbol): Likewise.
1419 (elf32_arm_size_dynamic_sections): Likewise.
1420 (elf32_arm_finish_dynamic_sections): Likewise.
1421 (elf32_arm_output_arch_local_syms): Likewise.
1422 (elf32_arm_fdpic_omit_section_dynsym): New.
1423
1424 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1425 Mickaël Guêné <mickael.guene@st.com>
1426
1427 * bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
1428 (BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
1429 (BFD_RELOC_ARM_FUNCDESC_VALUE): New.
1430 * elf32-arm.c (elf32_arm_howto_table_2): Add R_ARM_GOTFUNCDESC,
1431 R_ARM_GOTOFFFUNCDESC, R_ARM_FUNCDESC, R_ARM_FUNCDESC_VALUE.
1432 (elf32_arm_howto_from_type): Take new members of
1433 elf32_arm_howto_table_2 into account.
1434 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_GOTFUNCDESC,
1435 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
1436 BFD_RELOC_ARM_FUNCDESC_VALUE.
1437 * reloc.c: Add BFD_RELOC_ARM_GOTFUNCDESC,
1438 BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC,
1439 BFD_RELOC_ARM_FUNCDESC_VALUE.
1440
1441 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1442 Mickaël Guêné <mickael.guene@st.com>
1443
1444 * elf32-arm.c (elf32_arm_print_private_bfd_data): Support
1445 EF_ARM_PIC and ELFOSABI_ARM_FDPIC.
1446 (elf32_arm_post_process_headers): Support ELFOSABI_ARM_FDPIC.
1447 (ELF_OSABI): Define to ELFOSABI_ARM_FDPIC.
1448
1449 2018-04-25 Christophe Lyon <christophe.lyon@st.com>
1450 Mickaël Guêné <mickael.guene@st.com>
1451
1452 * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and
1453 arm_elf32_fdpic_le_vec to targ_selvecs. Accept
1454 arm*-*-uclinuxfdpiceabi.
1455 * configure.ac: Add support for arm_elf32_fdpic_be_vec and
1456 arm_elf32_fdpic_le_vec.
1457 * configure: Regenerate.
1458 * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p.
1459 (elf32_arm_link_hash_table_create): Initialize fdpic_p.
1460 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM)
1461 (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets.
1462 (elf32_arm_fdpic_link_hash_table_create): New.
1463 * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and
1464 arm_elf32_fdpic_le_vec.
1465
1466 2018-04-25 Alan Modra <amodra@gmail.com>
1467
1468 * elf-linux-core.h: Disable gcc-8 string truncation warning.
1469 * elf.c (elfcore_write_prpsinfo): Likewise.
1470
1471 2018-04-25 Alan Modra <amodra@gmail.com>
1472
1473 * Makefile.am: Remove arm-aout and arm-coff support.
1474 * config.bfd: Likewise.
1475 * configure.ac: Likewise.
1476 * targets.c: Likewise.
1477 * aout-arm.c: Delete.
1478 * armnetbsd.c: Delete.
1479 * riscix.c: Delete.
1480 * Makefile.in: Regenerate.
1481 * configure: Regenerate.
1482 * po/SRC-POTFILES.in: Regenerate.
1483
1484 2018-04-24 Nick Clifton <nickc@redhat.com>
1485
1486 PR 23113
1487 * elf.c (ignore_section_sym): Check for the output_section pointer
1488 being NULL before dereferencing it.
1489
1490 PR 23110
1491 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
1492 a negative PE_DEBUG_DATA size before iterating over the debug data.
1493
1494 2018-04-23 Alan Modra <amodra@gmail.com>
1495
1496 * elf-linux-core.h: Revert last change.
1497 * elf.c: Likewise.
1498
1499 2018-04-23 Nick Clifton <nickc@redhat.com>
1500
1501 PR 23056
1502 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
1503 the end of the string table, and zero it.
1504
1505 2018-04-23 Alan Modra <amodra@gmail.com>
1506
1507 * elf-linux-core.h (swap_linux_prpsinfo32_ugid32_out): Disable
1508 gcc-8 string truncation warning.
1509 (swap_linux_prpsinfo32_ugid16_out): Likewise.
1510 (swap_linux_prpsinfo64_ugid32_out): Likewise.
1511 (swap_linux_prpsinfo64_ugid16_out): Likewise.
1512 * elf.c (elfcore_write_prpsinfo): Likewise.
1513
1514 2018-04-23 Nick Clifton <nickc@redhat.com>
1515
1516 PR 23056
1517 * aoutx.h (aout_get_external_symbols): Allocate an extra byte at
1518 the end of the string table, and zero it.
1519
1520 2018-04-20 Alan Modra <amodra@gmail.com>
1521
1522 PR 22978
1523 * elf32-hppa.c (got_relocs_needed): Add extra param to special
1524 case both dtprel and tprel relocs.
1525 (allocate_dynrelocs): Adjust conditions for got relocs.
1526 (elf32_hppa_relocate_section): Likewise for local sym got relocs.
1527 Emit dynamic relocs on TLS GOT entries for shared libraries,
1528 not when pic. Omit dynamic reloc on dtprel entry when local,
1529 and on tprel entry when local and executable.
1530
1531 2018-04-19 Alan Modra <amodra@gmail.com>
1532
1533 PR 22537
1534 * elf32-hppa.c (elf32_hppa_size_stubs): Init "destination" to -1.
1535 (hppa_type_of_stub): Don't return a long branch stub for
1536 symbols other than those defined statically.
1537
1538 2018-04-19 Alan Modra <amodra@gmail.com>
1539
1540 * Makefile.am: Revert 2018-04-18 coff-mips changes.
1541 * config.bfd: Add back mips_ecoff_le_vec and mips_ecoff_be_vec
1542 to selvecs for mips targets change 2018-04-18.
1543 * configure.ac: Reinstate mips_ecoff_le_vec, mips_ecoff_be_vec
1544 and mips_ecoff_bele_vec.
1545 * targets.c: Likewise.
1546 * coff-mips.c: Resurrect.
1547 * Makefile.in: Regenerate.
1548 * configure: Regenerate.
1549 * po/SRC-POTFILES.in: Regenerate.
1550
1551 2018-04-18 Alan Modra <amodra@gmail.com>
1552
1553 * Makefile.am: Remove mips aout and coff support.
1554 * config.bfd: Likewise.
1555 * configure.ac: Likewise.
1556 * targets.c: Likewise.
1557 * coff-mips.c: Delete
1558 * mipsbsd.c: Delete
1559 * pe-mips.c: Delete
1560 * pei-mips.c: Delete
1561 * Makefile.in: Regenerate.
1562 * configure: Regenerate.
1563 * po/SRC-POTFILES.in: Regenerate.
1564
1565 2018-04-17 H.J. Lu <hongjiu.lu@intel.com>
1566
1567 * elf32-i386.c (elf32_bed): Define before including
1568 "elf32-target.h".
1569 * elf64-x86-64.c (elf64_bed): Define before including
1570 "elf64-target.h".
1571 (elf32_bed): Define before including "elf32-target.h".
1572
1573 2018-04-17 H.J. Lu <hongjiu.lu@intel.com>
1574
1575 PR ld/23055
1576 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Use a
1577 normal input file with compatible relocation.
1578
1579 2018-04-18 Alan Modra <amodra@gmail.com>
1580
1581 * Makefile.am: Remove support for assorted i386 aout and coff targets.
1582 * config.bfd: Likewise.
1583 * configure.ac: Likewise.
1584 * doc/bfdint.texi: Likewise.
1585 * targets.c: Likewise.
1586 * freebsd.h: Delete.
1587 * i386dynix.c: Delete.
1588 * i386freebsd.c: Delete.
1589 * i386linux.c: Delete.
1590 * i386mach3.c: Delete.
1591 * i386netbsd.c: Delete.
1592 * i386os9k.c: Delete.
1593 * Makefile.in: Regenerate.
1594 * configure: Regenerate.
1595 * po/SRC-POTFILES.in: Regenerate.
1596
1597 2018-04-17 Andrew Sadek <andrew.sadek.se@gmail.com>
1598
1599 Microblaze Target: PIC data text relative
1600
1601 * bfd/reloc.c (2 new BFD relocations):
1602 BFD_RELOC_MICROBLAZE_64_TEXTPCREL &
1603 BFD_RELOC_MICROBLAZE_64_TEXTPCREL
1604 * bfd/bfd-in2.h: Regenerate
1605 * bfd/libbfd.h: Regenerate
1606 * bfd/elf32-microblaze.c (Handle new relocs): define 'HOWTO' of 3
1607 new relocs and handle them in both relocate and relax functions.
1608 (microblaze_elf_reloc_type_lookup): add mapping between for new
1609 bfd relocs.
1610 (microblaze_elf_relocate_section): Handle new relocs in case of
1611 elf relocation.
1612 (microblaze_elf_relax_section): Handle new relocs for elf relaxation.
1613
1614 2018-04-17 Nick Clifton <nickc@redhat.com>
1615
1616 PR 23055
1617 * aoutx.h (find_nearest_line): Check that the symbol name exists
1618 and is long enough, before attempting to see if it is for a .o
1619 file.
1620 * hash.c (bfd_hash_hash): Add an assertion that the string is not
1621 NULL.
1622 * linker.c (bfd_link_hash_lookup): Fail if the table or string are
1623 NULL.
1624 (_bfd_generic_link_add_archive_symbols): Fail if an archive entry
1625 has no name.
1626
1627 PR 23065
1628 * dwarf2.c (concat_filename): Check for a NULL table pointer.
1629
1630 2018-04-16 Nick Clifton <nickc@redhat.com>
1631
1632 PR 23061
1633 * coffgen.c (coff_pointerize_aux): Check for an out of range
1634 fixup.
1635
1636 2018-04-16 Alan Modra <amodra@gmail.com>
1637
1638 * Makefile.am: Remove arm-epoc-pe support.
1639 * coff-arm.c: Likewise.
1640 * config.bfd: Likewise.
1641 * configure.ac: Likewise.
1642 * targets.c: Likewise.
1643 * epoc-pe-arm.c: Delete.
1644 * epoc-pei-arm.c: Delete.
1645 * Makefile.in: Regenerate.
1646 * configure: Regenerate.
1647 * po/SRC-POTFILES.in: Regenerate.
1648
1649 2018-04-16 Alan Modra <amodra@gmail.com>
1650
1651 * Makefile.am: Remove sparc-aout and sparc-coff support.
1652 * config.bfd: Likewise.
1653 * configure.ac: Likewise.
1654 * targets.c: Likewise.
1655 * aout-sparcle.c: Delete.
1656 * aoutf1.h: Delete.
1657 * cf-sparclynx.c: Delete.
1658 * coff-sparc.c: Delete.
1659 * demo64.c: Delete.
1660 * sparclinux.c: Delete.
1661 * sparclynx.c: Delete.
1662 * sparcnetbsd.c: Delete.
1663 * sunos.c: Delete.
1664 * Makefile.in: Regenerate.
1665 * configure: Regenerate.
1666 * po/SRC-POTFILES.in: Regenerate.
1667
1668 2018-04-16 Alan Modra <amodra@gmail.com>
1669
1670 * Makefile.am: Remove m68k-aout and m68k-coff support.
1671 * aoutf1.h: Likewise.
1672 * aoutx.h: Likewise.
1673 * archive.c: Likewise.
1674 * bfd-in.h: Likewise.
1675 * bfd.c: Likewise.
1676 * coffcode.h: Likewise.
1677 * coffswap.h: Likewise.
1678 * config.bfd: Likewise.
1679 * configure.ac: Likewise.
1680 * configure.host: Likewise.
1681 * doc/bfd.texinfo: Likewise.
1682 * doc/bfdint.texi: Likewise.
1683 * freebsd.h: Likewise.
1684 * gen-aout.c: Likewise.
1685 * hpux-core.c: Likewise.
1686 * libaout.h: Likewise.
1687 * libbfd-in.h: Likewise.
1688 * pdp11.c: Likewise.
1689 * peicode.h: Likewise.
1690 * riscix.c: Likewise.
1691 * targets.c: Likewise.
1692 * aout0.c: Delete.
1693 * coff-apollo.c: Delete.
1694 * coff-aux.c: Delete.
1695 * coff-m68k.c: Delete.
1696 * coff-svm68k.c: Delete.
1697 * coff-u68k.c: Delete.
1698 * hosts/delta68.h: Delete.
1699 * hosts/hp300bsd.h: Delete.
1700 * hosts/m68kaux.h: Delete.
1701 * hosts/news.h: Delete.
1702 * hp300bsd.c: Delete.
1703 * hp300hpux.c: Delete.
1704 * liboasys.h: Delete.
1705 * m68k4knetbsd.c: Delete.
1706 * m68klinux.c: Delete.
1707 * m68knetbsd.c: Delete.
1708 * oasys.c: Delete.
1709 * versados.c: Delete.
1710 * Makefile.in: Regenerate.
1711 * bfd-in2.h: Regenerate.
1712 * configure: Regenerate.
1713 * libbfd.h: Regenerate.
1714 * po/SRC-POTFILES.in: Regenerate.
1715
1716 2018-04-16 Alan Modra <amodra@gmail.com>
1717
1718 * Makefile.am: Remove sh5 and sh64 support.
1719 * archures.c: Likewise.
1720 * config.bfd: Likewise.
1721 * configure.ac: Likewise.
1722 * cpu-sh.c: Likewise.
1723 * elf32-sh-relocs.h: Likewise.
1724 * elf32-sh.c: Likewise.
1725 * targets.c: Likewise.
1726 * elf32-sh64-com.c: Delete.
1727 * elf32-sh64.c: Delete.
1728 * elf32-sh64.h: Delete.
1729 * elf64-sh64.c: Delete.
1730 * Makefile.in: Regenerate.
1731 * bfd-in2.h: Regenerate.
1732 * configure: Regenerate.
1733 * po/SRC-POTFILES.in: Regenerate.
1734
1735 2018-04-16 Alan Modra <amodra@gmail.com>
1736
1737 * Makefile.am: Remove sh-symbianelf support.
1738 * config.bfd: Likewise.
1739 * configure.ac: Likewise.
1740 * targets.c: Likewise.
1741 * elf32-sh-symbian.c: Delete.
1742 * Makefile.in: Regenerate.
1743 * configure: Regenerate.
1744 * po/SRC-POTFILES.in: Regenerate.
1745
1746 2018-04-16 Alan Modra <amodra@gmail.com>
1747
1748 * Makefile.am: Remove vax-bsd and vax-ultrix support.
1749 * config.bfd: Likewise.
1750 * configure.ac: Likewise.
1751 * targets.c: Likewise.
1752 * vaxbsd.c: Delete.
1753 * Makefile.in: Regenerate.
1754 * configure: Regenerate.
1755 * po/SRC-POTFILES.in: Regenerate.
1756
1757 2018-04-16 Alan Modra <amodra@gmail.com>
1758
1759 * Makefile.am: Remove w65 support.
1760 * archures.c: Likewise.
1761 * coffcode.h: Likewise.
1762 * config.bfd: Likewise.
1763 * configure.ac: Likewise.
1764 * targets.c: Likewise.
1765 * coff-w65.c: Delete.
1766 * cpu-w65.c: Delete.
1767 * Makefile.in: Regenerate.
1768 * bfd-in2.h: Regenerate.
1769 * configure: Regenerate.
1770 * po/SRC-POTFILES.in: Regenerate.
1771
1772 2018-04-16 Alan Modra <amodra@gmail.com>
1773
1774 * Makefile.am: Remove we32k support.
1775 * archures.c: Likewise.
1776 * coffcode.h: Likewise.
1777 * config.bfd: Likewise.
1778 * configure.ac: Likewise.
1779 * targets.c: Likewise.
1780 * coff-we32k.c: Delete.
1781 * cpu-we32k.c: Delete.
1782 * Makefile.in: Regenerate.
1783 * bfd-in2.h: Regenerate.
1784 * configure: Regenerate.
1785 * po/SRC-POTFILES.in: Regenerate.
1786
1787 2018-04-16 Alan Modra <amodra@gmail.com>
1788
1789 * Makefile.am: Remove m88k support.
1790 * aoutx.h: Likewise.
1791 * archures.c: Likewise.
1792 * coffcode.h: Likewise.
1793 * coffswap.h: Likewise.
1794 * config.bfd: Likewise.
1795 * configure.ac: Likewise.
1796 * cpu-ns32k.c: Likewise.
1797 * elf32-nds32.c: Likewise.
1798 * mach-o.c: Likewise.
1799 * netbsd-core.c: Likewise.
1800 * reloc.c: Likewise.
1801 * targets.c: Likewise.
1802 * coff-m88k.c: Delete.
1803 * cpu-m88k.c: Delete.
1804 * elf32-m88k.c: Delete.
1805 * hosts/m88kmach3.h: Delete.
1806 * m88kmach3.c: Delete.
1807 * m88kopenbsd.c: Delete.
1808 * Makefile.in: Regenerate.
1809 * bfd-in2.h: Regenerate.
1810 * configure: Regenerate.
1811 * po/SRC-POTFILES.in: Regenerate.
1812
1813 2018-04-16 Alan Modra <amodra@gmail.com>
1814
1815 * Makefile.am: Remove i370 support.
1816 * archures.c: Likewise.
1817 * config.bfd: Likewise.
1818 * configure.ac: Likewise.
1819 * targets.c: Likewise.
1820 * cpu-i370.c: Delete.
1821 * elf32-i370.c: Delete.
1822 * Makefile.in: Regenerate.
1823 * bfd-in2.h: Regenerate.
1824 * configure: Regenerate.
1825 * po/SRC-POTFILES.in: Regenerate.
1826
1827 2018-04-16 Alan Modra <amodra@gmail.com>
1828
1829 * Makefile.am: Remove h8500 support.
1830 * archures.c: Likewise.
1831 * coffcode.h: Likewise.
1832 * config.bfd: Likewise.
1833 * configure.ac: Likewise.
1834 * targets.c: Likewise.
1835 * coff-h8500.c: Delete.
1836 * cpu-h8500.c: Delete.
1837 * Makefile.in: Regenerate.
1838 * bfd-in2.h: Regenerate.
1839 * configure: Regenerate.
1840 * po/SRC-POTFILES.in: Regenerate.
1841
1842 2018-04-16 Alan Modra <amodra@gmail.com>
1843
1844 * Makefile.am: Remove h8300-coff support.
1845 * coffcode.h: Likewise.
1846 * config.bfd: Likewise.
1847 * configure.ac: Likewise.
1848 * reloc16.c: Likewise.
1849 * targets.c: Likewise.
1850 * coff-h8300.c: Delete.
1851 * Makefile.in: Regenerate.
1852 * configure: Regenerate.
1853 * po/SRC-POTFILES.in: Regenerate.
1854
1855 2018-04-16 Alan Modra <amodra@gmail.com>
1856
1857 * Makefile.am: Remove IEEE 695 support.
1858 * archures.c: Likewise.
1859 * bfd.c: Likewise.
1860 * config.bfd: Likewise.
1861 * configure.ac: Likewise.
1862 * doc/bfd.texinfo: Likewise.
1863 * doc/bfdint.texi: Likewise.
1864 * doc/bfdsumm.texi: Likewise.
1865 * section.c: Likewise.
1866 * targets.c: Likewise.
1867 * ieee.c: Delete.
1868 * libieee.h: Delete.
1869 * Makefile.in: Regenerate.
1870 * bfd-in2.h: Regenerate.
1871 * configure: Regenerate.
1872 * po/SRC-POTFILES.in: Regenerate.
1873
1874 2018-04-16 Alan Modra <amodra@gmail.com>
1875
1876 * config.bfd: Remove tandem support.
1877
1878 2018-04-16 Alan Modra <amodra@gmail.com>
1879
1880 * Makefile.am: Remove newsos3 support.
1881 * aoutx.h: Likewise.
1882 * config.bfd: Likewise.
1883 * configure.ac: Likewise.
1884 * targets.c: Likewise.
1885 * newsos3.c: Delete.
1886 * Makefile.in: Regenerate.
1887 * configure: Regenerate.
1888 * po/SRC-POTFILES.in: Regenerate.
1889
1890 2018-04-16 Alan Modra <amodra@gmail.com>
1891
1892 * Makefile.am: Remove netware support.
1893 * bfd-in.h: Likewise.
1894 * bfd.c: Likewise.
1895 * config.bfd: Likewise.
1896 * configure.ac: Likewise.
1897 * doc/bfdint.texi: Likewise.
1898 * ecoff.c: Likewise.
1899 * targets.c: Likewise.
1900 * libnlm.h: Delete.
1901 * nlm-target.h: Delete.
1902 * nlm.c: Delete.
1903 * nlm32-alpha.c: Delete.
1904 * nlm32-i386.c: Delete.
1905 * nlm32-ppc.c: Delete.
1906 * nlm32-sparc.c: Delete.
1907 * nlm32.c: Delete.
1908 * nlm64.c: Delete.
1909 * nlmcode.h: Delete.
1910 * nlmswap.h: Delete.
1911 * Makefile.in: Regenerate.
1912 * bfd-in2.h: Regenerate.
1913 * configure: Regenerate.
1914 * po/SRC-POTFILES.in: Regenerate.
1915
1916 2018-04-16 Alan Modra <amodra@gmail.com>
1917
1918 * archures.c: Remove tahoe support.
1919 * config.bfd: Likewise.
1920 * configure.ac: Likewise.
1921 * hosts/tahoe.h: Delete.
1922 * bfd-in2.h: Regenerate.
1923 * configure: Regenerate.
1924
1925 2018-04-14 Alan Modra <amodra@gmail.com>
1926
1927 * elf-bfd.h (struct elf_backend_data): Add relropagesize.
1928 * elfxx-target.h (ELF_RELROPAGESIZE): Provide default and
1929 sanity test.
1930 (elfNN_bed): Init relropagesize.
1931 * bfd.c (bfd_emul_get_commonpagesize): Add boolean param to
1932 select relropagesize.
1933 * elf32-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
1934 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
1935 (ELF_MINPAGESIZE): Don't define.
1936 * elf64-ppc.c (ELF_COMMONPAGESIZE): Define as 0x1000.
1937 (ELF_RELROPAGESIZE): Define as ELF_MAXPAGESIZE.
1938 * bfd-in2.h: Regenerate.
1939
1940 2018-04-14 Alan Modra <amodra@gmail.com>
1941
1942 * elf32-ppc.c (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Don't depend
1943 on __QNXTARGET__ define.
1944
1945 2018-04-14 Alan Modra <amodra@gmail.com>
1946
1947 * config.bfd: Add powerpc-*-lynxos* and powerpc-*-windiss*
1948 to obsolete list.
1949
1950 2018-04-11 Alan Modra <amodra@gmail.com>
1951
1952 * aout-adobe.c: Delete.
1953 * bout.c: Delete.
1954 * coff-i860.c: Delete.
1955 * coff-i960.c: Delete.
1956 * cpu-i860.c: Delete.
1957 * cpu-i960.c: Delete.
1958 * elf32-i860.c: Delete.
1959 * elf32-i960.c: Delete.
1960 * hosts/i860mach3.h: Delete.
1961 * Makefile.am: Remove i860, i960, bout, and adobe support.
1962 * archures.c: Remove i860 and i960 support.
1963 * coffcode.h: Likewise.
1964 * reloc.c: Likewise.
1965 * aoutx.h: Comment updates.
1966 * archive.c: Remove BOUT and i960 support.
1967 * bfd.c: Remove BOUT support.
1968 * coffswap.h: Remove i960 support.
1969 * config.bfd: Remove i860, i960 and adobe targets.
1970 * configure.ac: Remove adode, bout, i860, i960, icoff targets.
1971 * targets.c: Likewise.
1972 * ieee.c: Remove i960 support.
1973 * mach-o.c: Remove i860 support.
1974 * Makefile.in: Regenerate.
1975 * bfd-in2.h: Regenerate.
1976 * configure: Regenerate.
1977 * libbfd.h: Regenerate.
1978 * po/SRC-POTFILES.in: Regenerate.
1979
1980 2018-04-09 Maciej W. Rozycki <macro@mips.com>
1981
1982 * elf64-mips.c (mips_elf64_write_rel): Handle a NULL BFD pointer
1983 in the BFD symbol referred by the relocation.
1984 (mips_elf64_write_rela): Likewise.
1985
1986 2018-04-09 Maciej W. Rozycki <macro@mips.com>
1987
1988 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Issue an
1989 error for out-of-range `r_sym' values.
1990
1991 2018-04-09 Alan Modra <amodra@gmail.com>
1992
1993 * elf64-ppc.c (struct _ppc64_elf_section_data): Add has_pltcall field.
1994 (struct ppc_link_hash_table): Add can_convert_all_inline_plt.
1995 (ppc64_elf_check_relocs): Set has_pltcall.
1996 (ppc64_elf_adjust_dynamic_symbol): Discard some PLT entries.
1997 (ppc64_elf_inline_plt): New function.
1998 (ppc64_elf_size_dynamic_sections): Discard some PLT entries for locals.
1999 * elf64-ppc.h (ppc64_elf_inline_plt): Declare.
2000 * elf32-ppc.c (has_pltcall): Define.
2001 (struct ppc_elf_link_hash_table): Add can_convert_all_inline_plt.
2002 (ppc_elf_check_relocs): Set has_pltcall.
2003 (ppc_elf_inline_plt): New function.
2004 (ppc_elf_adjust_dynamic_symbol): Discard some PLT entries.
2005 (ppc_elf_size_dynamic_sections): Likewise.
2006 * elf32-ppc.h (ppc_elf_inline_plt): Declare.
2007
2008 2018-04-09 Alan Modra <amodra@gmail.com>
2009
2010 * elf32-ppc.c (ppc_elf_howto_raw): Add PLTSEQ and PLTCALL howtos.
2011 (is_plt_seq_reloc): New function.
2012 (ppc_elf_check_relocs): Handle PLTSEQ and PLTCALL relocs.
2013 (ppc_elf_tls_optimize): Handle inline plt call sequence.
2014 (ppc_elf_relax_section): Handle PLTCALL reloc.
2015 (ppc_elf_relocate_section): Nop out inline plt call sequence when
2016 resolving locally.
2017 * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_PLTSEQ and
2018 R_PPC64_PLTCALL entries. Comment R_PPC64_TOCSAVE.
2019 (has_tls_get_addr_call): Correct comment.
2020 (is_branch_reloc): Add PLTCALL.
2021 (is_plt_seq_reloc): New function.
2022 (ppc64_elf_check_relocs): Handle PLT16_LO_DS reloc. Set
2023 has_tls_reloc for R_PPC64_TLSGD and R_PPC64_TLSLD. Create plt
2024 entry for R_PPC64_PLTCALL.
2025 (ppc64_elf_tls_optimize): Handle inline plt call sequence.
2026 (ppc_type_of_stub): Handle PLTCALL reloc.
2027 (toc_adjusting_stub_needed): Likewise.
2028 (ppc64_elf_relocate_section): Set "can_plt_call" for PLTCALL
2029 reloc insn. Nop out inline plt call sequence when resolving
2030 locally. Handle __tls_get_addr inline plt call optimization.
2031
2032 2018-04-09 Alan Modra <amodra@gmail.com>
2033
2034 * elf64-ppc.c (LOCAL_PLT_ENTRY_SIZE): Define.
2035 (struct ppc_stub_hash_entry): Add symtype field.
2036 (PLT_KEEP): Define.
2037 (struct ppc_link_hash_table): Add pltlocal and relpltlocal.
2038 (create_linkage_sections): Create pltlocal and relpltlocal.
2039 (ppc64_elf_check_relocs): Allow PLT relocs on local symbols.
2040 Set PLT_KEEP.
2041 (ppc64_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2042 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2043 (ppc64_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2044 Keep PLT entries for inline calls against locals.
2045 (ppc_build_one_stub): Use pltlocal as appropriate.
2046 (ppc_size_one_stub): Likewise.
2047 (ppc64_elf_size_stubs): Set symtype.
2048 (build_global_entry_stubs_and_plt): Init pltlocal and write
2049 relpltlocal for globals.
2050 (write_plt_relocs_for_local_syms): Likewise for local syms.
2051 (ppc64_elf_relocate_section): Support PLT for local syms.
2052 * elf32-ppc.c (PLT_KEEP): Define.
2053 (struct ppc_elf_link_hash_table): Add pltlocal and relpltlocal.
2054 (ppc_elf_create_glink): Create pltlocal and relpltlocal.
2055 (ppc_elf_check_relocs): Allow PLT relocs on local symbols.
2056 Set PLT_KEEP. Adjust update_local_sym_info call.
2057 (ppc_elf_adjust_dynamic_symbol): Keep PLT entries for inline calls.
2058 (allocate_dynrelocs): Allocate pltlocal and relpltlocal.
2059 (ppc_elf_size_dynamic_sections): Size pltlocal and relpltlocal.
2060 (ppc_elf_relocate_section): Support PLT16 relocs for local syms.
2061 (write_global_sym_plt): Init pltlocal and write relpltlocal.
2062 (ppc_finish_symbols): Likewise for locals.
2063
2064 2018-04-09 Alan Modra <amodra@gmail.com>
2065
2066 * elf64-ppc.c (ppc_build_one_stub): Move output of PLT relocs
2067 for local symbols to..
2068 (write_plt_relocs_for_local_syms): ..here. New function.
2069 (ppc64_elf_finish_dynamic_symbol): Move output of PLT relocs for
2070 global symbols to..
2071 (build_global_entry_stubs_and_plt): ..here. Rename from
2072 build_global_entry_stubs.
2073 (ppc64_elf_build_stubs): Always call build_global_entry_stubs_and_plt.
2074 Call write_plt_relocs_for_local_syms.
2075 * elf32-ppc.c (get_sym_h): New function.
2076 (ppc_elf_relax_section): Use get_sym_h.
2077 (ppc_elf_relocate_section): Move output of PLT relocs and glink
2078 stubs for local symbols to..
2079 (ppc_finish_symbols): ..here. New function.
2080 (ppc_elf_finish_dynamic_symbol): Move output of PLT relocs for
2081 global syms to..
2082 (write_global_sym_plt): ..here. New function.
2083 * elf32-ppc.h (ppc_elf_modify_segment_map): Delete attribute.
2084 (ppc_finish_symbols): Declare.
2085
2086 2018-04-09 Alan Modra <amodra@gmail.com>
2087
2088 * elf32-ppc.c (ppc_elf_check_relocs): Handle PLT16 relocs.
2089 (ppc_elf_relocate_section): Likewise.
2090 * elf64-ppc.c (ppc64_elf_check_relocs): Handle PLT16_LO_DS.
2091 (ppc64_elf_relocate_section): Likewise. Correct PLT16
2092 resolution to plt entry relative to toc pointer.
2093
2094 2018-04-09 Alan Modra <amodra@gmail.com>
2095
2096 * elf64-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2097 TLS_TPRELGD, TLS_EXPLICIT): Renumber. Test TLS_TLS throughout
2098 file when other TLS flags are tested in a mask.
2099 (TLS_MARK, NON_GOT): Define.
2100 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2101 (update_local_sym_info): Don't create got entry when NON_GOT.
2102 (ppc64_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2103 Set TLS_MARK.
2104 (get_tls_mask): Do toc lookup if tls_mask is just TLS_MARK.
2105 (ppc64_elf_relocate_section): Likewise.
2106 (ppc64_elf_tls_optimize): Don't attempt to optimize indirect
2107 __tls_get_addr calls lacking a marker reloc.
2108 * elf32-ppc.c (TLS_TLS, TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL,
2109 TLS_TPRELGD): Renumber. Update comment.
2110 (TLS_MARK, NON_GOT): Define.
2111 (PLT_IFUNC): Redefine, and test TLS_TLS throughout file as well.
2112 (update_local_sym_info): Don't create got entry when NON_GOT.
2113 (ppc_elf_check_relocs): Pass NON_GOT with PLT_IFUNC.
2114 Set TLS_MARK.
2115 (ppc_elf_tls_optimize): Don't attempt to optimize indirect
2116 __tls_get_addr calls lacking a marker reloc.
2117
2118 2018-04-06 H.J. Lu <hongjiu.lu@intel.com>
2119
2120 * elf64-x86-64.c (elf_x86_64_info_to_howto): Don't mask out
2121 R_X86_64_converted_reloc_bit.
2122
2123 2018-04-05 H.J. Lu <hongjiu.lu@intel.com>
2124
2125 PR gas/22318
2126 * configure: Regenerated.
2127
2128 2018-04-05 Alan Modra <amodra@gmail.com>
2129
2130 * elf-hppa.h (elf_hppa_info_to_howto): Init howto to NULL.
2131 (elf_hppa_info_to_howto_rel): Likewise.
2132
2133 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2134
2135 * elf-hppa.h (elf_hppa_info_to_howto): Also return
2136 unsuccessfully for unimplemented relocations.
2137 (elf_hppa_info_to_howto_rel): Likewise.
2138
2139 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2140
2141 * elf32-i860.c (lookup_howto): Add `abfd' parameter. Set the
2142 `bfd_error_bad_value' error and call `_bfd_error_handler' on a
2143 howto lookup failure.
2144 (elf32_i860_reloc_type_lookup): Adjust `lookup_howto' call
2145 accordingly.
2146 (elf32_i860_info_to_howto_rela): Likewise.
2147 (elf32_i860_relocate_splitn): Likewise.
2148 (elf32_i860_relocate_pc16): Likewise.
2149 (elf32_i860_relocate_pc26): Likewise.
2150 (elf32_i860_relocate_section): Likewise.
2151
2152 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2153
2154 * elf32-visium.c (visium_info_to_howto_rela): Correct the range
2155 check for `visium_elf_howto_table' table access.
2156
2157 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2158
2159 * elf32-iq2000.c (iq2000_info_to_howto_rela): Correct the range
2160 check for `iq2000_elf_howto_table' table access.
2161
2162 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2163
2164 * elf32-frv.c (frv_info_to_howto_rela): Correct the range check
2165 for `elf32_frv_howto_table' table access.
2166
2167 2018-04-04 Maciej W. Rozycki <macro@mips.com>
2168
2169 * elf32-mips.c (mips_elf32_rtype_to_howto): Also return
2170 unsuccessfully for placeholder howtos.
2171 * elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
2172 * elfn32-mips.c (mips_elf_n32_rtype_to_howto): Likewise.
2173
2174 2018-03-29 Maciej W. Rozycki <macro@mips.com>
2175
2176 * elf32-mips.c (mips_info_to_howto_rel): Remove the calls to
2177 `_bfd_error_handler' and to set the `bfd_error_bad_value' error.
2178
2179 2018-03-28 Maciej W. Rozycki <macro@mips.com>
2180
2181 * elf-hppa.h (elf_hppa_info_to_howto_rel): Remove
2182 ATTRIBUTE_UNUSED from `abfd'.
2183
2184 2018-03-28 Maciej W. Rozycki <macro@mips.com>
2185
2186 * elf-hppa.h (elf_hppa_info_to_howto_rel): Correct
2187 `_bfd_error_handler' call formatting.
2188
2189 2018-03-28 Maciej W. Rozycki <macro@mips.com>
2190
2191 * elf32-mips.c (mips_info_to_howto_rel): Call
2192 `mips_elf32_rtype_to_howto' directly rather than via
2193 `->elf_backend_mips_rtype_to_howto'.
2194
2195 2018-03-28 Renlin Li <renlin.li@arm.com>
2196
2197 PR ld/22970
2198 * elfnn-aarch64.c (IS_AARCH64_TLS_RELOC): Add cases for
2199 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2200 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2201 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2202 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2203 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2204 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2205 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2206 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2207 (elfNN_aarch64_final_link_relocate): Support new relocations.
2208 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Support new
2209 relocations.
2210 (_bfd_aarch64_elf_resolve_relocation): Support new relocations.
2211
2212 2018-03-28 Renlin Li <renlin.li@arm.com>
2213
2214 PR ld/22970
2215 * reloc.c: Add BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12
2216 BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC,
2217 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12,
2218 BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
2219 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12,
2220 BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
2221 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12,
2222 BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
2223 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12,
2224 BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC.
2225 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add table entry for
2226 TLSLE_LDST16_TPREL_LO12,
2227 TLSLE_LDST16_TPREL_LO12_NC,
2228 TLSLE_LDST32_TPREL_LO12,
2229 TLSLE_LDST32_TPREL_LO12_NC,
2230 TLSLE_LDST64_TPREL_LO12,
2231 TLSLE_LDST64_TPREL_LO12_NC,
2232 TLSLE_LDST8_TPREL_LO12,
2233 TLSLE_LDST8_TPREL_LO12_NC.
2234 * bfd-in2.h: Regenerated.
2235 * libbfd.h: Regenerated.
2236
2237 2018-03-28 Eric Botcazou <ebotcazou@adacore.com>
2238
2239 PR ld/22972
2240 * elfxx-sparc.c (struct _bfd_sparc_elf_link_hash_entry): Add new flag
2241 has_old_style_got_reloc.
2242 (_bfd_sparc_elf_check_relocs) <GOT relocations>: Set it for old-style
2243 relocations. Fix a couple of long lines.
2244 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: Do not generate
2245 a R_SPARC_NONE for the GOT slot if the symbol is also subject to old-style
2246 GOT relocations.
2247
2248 2018-03-25 H.J. Lu <hongjiu.lu@intel.com>
2249
2250 PR ld/23000
2251 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
2252 ENDBR64 to the TLSDESC PLT entry.
2253
2254 2018-03-21 Alan Modra <amodra@gmail.com>
2255
2256 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Trim uninteresting
2257 symbols. Use size_t counts. Delete redundant opd test.
2258
2259 2018-03-21 Alan Modra <amodra@gmail.com>
2260
2261 * elf32-ppc.c (ppc_elf_tls_optimize): Delete locsyms.
2262
2263 2018-03-21 Alan Modra <amodra@gmail.com>
2264
2265 * elf32-ppc.c (struct ppc_elf_link_hash_entry): Make tls_mask
2266 field unsigned.
2267 (update_local_sym_info): Likewise for local_got_tls_masks.
2268 (ppc_elf_tls_optimize): Likewise for lgot_masks.
2269
2270 2018-03-21 Alan Modra <amodra@gmail.com>
2271
2272 * elf64-ppc.c (ppc_size_one_stub): Fix comment typo.
2273 (ppc64_elf_layout_multitoc): Allocate relocs for tprel as we
2274 do in size_dynamic_sections.
2275
2276 2018-03-21 Alan Modra <amodra@gmail.com>
2277
2278 * elf64-ppc.c (ppc64_elf_relocate_section): Don't access rel[1]
2279 without first checking array bounds.
2280 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2281
2282 2018-03-20 H.J. Lu <hongjiu.lu@intel.com>
2283
2284 PR ld/22983
2285 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Set
2286 non_ir_ref_dynamic if a symbol is made dynamic by --dynamic-list.
2287
2288 2018-03-19 Nick Clifton <nickc@redhat.com>
2289
2290 * po/es.po: Updated Spanish translation.
2291
2292 2018-03-15 Max Filippov <jcmvbkbc@gmail.com>
2293
2294 * elf32-xtensa.c (xlate_map_entry): Change types of address
2295 fields from 'unsigned' to 'bfd_vma'.
2296 (xlate_offset_with_removed_text): Use struct xlate_map_entry as
2297 the key argument to bsearch. Allow offsets past the end of a
2298 section, use the last map entry for translation of such offsets.
2299
2300 2018-03-15 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2301
2302 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Removed.
2303 Not support the target feature.
2304 (nds32_elf_ex9_itb_base): Likewise.
2305 (nds32_elf_ex9_import_table): Likewise.
2306 (nds32_elf_ex9_finish): Likewise.
2307 (nds32_elf_ex9_reloc_jmp): Likewise.
2308 (nds32_elf_get_insn_with_reg): Likewise.
2309 (nds32_get_local_syms): Likewise.
2310 (nds32_elf_ex9_replace_instruction): Likewise.
2311 (nds32_elf_ifc_calc): Likewise.
2312 (nds32_elf_ifc_finish): Likewise.
2313 (nds32_elf_ifc_replace): Likewise.
2314 (nds32_elf_ifc_reloc): Likewise.
2315
2316 2018-03-14 Alan Modra <amodra@gmail.com>
2317
2318 * elf64-ppc.c (sfpr_define): Adjust for stub_sec size having
2319 sfpr size added before defining alias symbols.
2320 (ppc64_elf_build_stubs): Add stub section padding before
2321 copying sfpr contents and defining save/restore alias symbols.
2322
2323 2018-03-14 H.J. Lu <hongjiu.lu@intel.com>
2324
2325 PR ld/20882
2326 * elflink.c (elf_gc_mark_debug_section): Also check the local
2327 debug definition section.
2328
2329 2018-03-13 Nick Clifton <nickc@redhat.com>
2330
2331 PR 22113
2332 * pei-x86_64.c (pex64_get_unwind_info): Change to a boolean
2333 function. Add an end address parameter. Check access of the data
2334 pointer to make sure that they do not extend beyond the end
2335 address. Return FALSE if any check fails. Add the end address
2336 pointer to the ui structure.
2337 (pex64_xdata_print_uwd_codes): Check accesses of the raw unwind
2338 codes to make sure that they do not extend beyond the end address
2339 pointer. Print an error message and return immediately if any
2340 check fails.
2341
2342 2018-03-09 Nick Clifton <nickc@redhat.com>
2343
2344 * elf64-s390.c (elf_s390_relocate_section): Move check for
2345 relocations against non-allocated sections to before the code that
2346 handles ifunc relocations.
2347 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2348 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat
2349 relocs against IFUNC symbols in non-allocated sections as relocs
2350 against FUNC symbols.
2351 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2352
2353 2018-03-08 H.J. Lu <hongjiu.lu@intel.com>
2354
2355 PR ld/22929
2356 * elf32-i386.c (elf_i386_relocate_section): Treat relocation
2357 against IFUNC symbol in SHT_NOTE section without SHF_ALLOC as
2358 relocation against FUNC symbol.
2359 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2360
2361 2018-03-07 Renlin Li <renlin.li@arm.com>
2362
2363 PR ld/20402
2364 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Check absolute
2365 symbol, and don't emit relocation in specific case.
2366
2367 2018-03-07 Alan Modra <amodra@gmail.com>
2368
2369 * elf64-mips.c (mips_elf64_rtype_to_howto): Return NULL on error.
2370 (mips_elf64_slurp_one_reloc_table): Pass on error.
2371
2372 2018-03-03 James Cowgill <james.cowgill@mips.com>
2373 Maciej W. Rozycki <macro@mips.com>
2374
2375 PR ld/21900
2376 * elfxx-mips.c (mips_elf_calculate_relocation): Only return
2377 after calling `undefined_symbol' hook if this is an error
2378 condition. Assume the value of 0 for the symbol requested
2379 otherwise.
2380
2381 2018-03-02 Jim Wilson <jimw@sifive.com>
2382
2383 PR 22903
2384 * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch
2385 and nop instead of 4.
2386 (elfNN_arch64_build_stubs): Add nop after branch. Increase size by
2387 8 instead of 4.
2388
2389 2018-03-01 Jim Wilson <jimw@sifive.com>
2390
2391 PR 22756
2392 * elfnn-riscv.c (riscv_relax_delete_bytes): When adjust st_size, use
2393 else if instead of if.
2394
2395 2018-03-01 Alan Modra <amodra@gmail.com>
2396
2397 * elf32-ft32.c (ft32_info_to_howto_rela): Correct range test.
2398
2399 2018-02-28 Alan Modra <amodra@gmail.com>
2400
2401 PR 22887
2402 * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
2403
2404 2018-02-28 Nick Clifton <nickc@redhat.com>
2405
2406 PR 22895
2407 PR 22893
2408 * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
2409 pointer. Drop unused abfd parameter. Check the size of the block
2410 before initialising the data field. Return the end pointer if the
2411 size is invalid.
2412 (read_attribute_value): Adjust invocations of read_n_bytes.
2413
2414 PR 22894
2415 * dwarf1.c (parse_die): Check the length of form blocks before
2416 advancing the data pointer.
2417
2418 2018-02-28 Alan Modra <amodra@gmail.com>
2419
2420 PR 22887
2421 * aoutx.h (translate_symbol_table): Print an error message and set
2422 bfd_error on finding an invalid name string offset.
2423
2424 2018-02-27 H.J. Lu <hongjiu.lu@intel.com>
2425
2426 * config.in: Regenerated.
2427 * configure: Likewise.
2428 * configure.ac: Add --enable-separate-code.
2429 (DEFAULT_LD_Z_SEPARATE_CODE): New AC_DEFINE_UNQUOTED. Default
2430 to 1 for Linux/x86 targets,
2431 * elf64-x86-64.c (ELF_MAXPAGESIZE): Set to 0x1000 if
2432 DEFAULT_LD_Z_SEPARATE_CODE is 1.
2433
2434 2018-02-27 Nick Clifton <nickc@redhat.com>
2435
2436 * aout-cris.c (swap_ext_reloc_out): Standadize error/warning
2437 message.
2438 * elf-hppa.h (elf_hppa_info_to_howto_rel): Likewise.
2439 * elf32-i386.c (elf_i386_reloc_type_lookup): Likewise.
2440 * elf32-xtensa.c (elf_xtensa_reloc_type_lookup): Likewise.
2441 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Likewise.
2442 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
2443 * elf64-sh64.c (sh_elf64_info_to_howto): Likewise.
2444 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
2445 * elfxx-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Likewise.
2446 * elfxx-tilegx.c (tilegx_reloc_type_lookup): Likewise.
2447
2448 PR 22875
2449 * elf-bfd.h (struct elf_backend_data): Change the return type of
2450 the elf_info_to_howto and elf_info_to_howto_rel function pointers
2451 to bfd_boolean.
2452 * elfcode.h (elf_slurp_reloc_table_from_section): Check the return
2453 value from the info_to_howto function and fail if that function
2454 failed.
2455 * elf32-h8300.c (elf32_h8_relocate_section): Check return value
2456 from the info_to_howto function.
2457 (elf32_h8_relax_section): Likewise.
2458 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
2459 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
2460 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2461 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2462 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
2463 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
2464 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
2465 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
2466 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
2467 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
2468 (riscv_elf_relocate_section): Likewise.
2469 * elf-hppa.h (elf_hppa_info_to_howto): Change return type to
2470 bfd_boolean. Issue an error message, set an error value and
2471 return FALSE if the reloc is not recognized.
2472 (elf_hppa_info_to_howto_rel): Likewise.
2473 * elf-m10200.c (mn10200_info_to_howto): Likewise.
2474 * elf-m10300.c (mn10300_info_to_howto): Likewise.
2475 * elf.c (_bfd_elf_no_info_to_howto): Likewise.
2476 * elf32-arc.c (arc_info_to_howto_rel): Likewise.
2477 * elf32-arm.c (elf32_arm_info_to_howto): Likewise.
2478 * elf32-avr.c (avr_info_to_howto_rela): Likewise.
2479 * elf32-bfin.c (bfin_info_to_howto): Likewise.
2480 * elf32-cr16.c (elf_cr16_info_to_howto): Likewise.
2481 * elf32-cr16c.c (elf_cr16c_info_to_howto): Likewise.
2482 * elf32-cris.c (elf_cr16c_info_to_howto_rel)
2483 (cris_info_to_howto_rela): Likewise.
2484 * elf32-crx.c (elf_crx_info_to_howto): Likewise.
2485 * elf32-d10v.c (d10v_info_to_howto_rel): Likewise.
2486 * elf32-d30v.c (d30v_info_to_howto_rel, d30v_info_to_howto_rela):
2487 Likewise.
2488 * elf32-dlx.c (dlx_rtype_to_howto, elf32_dlx_info_to_howto)
2489 (elf32_dlx_info_to_howto_rel): Likewise.
2490 * elf32-epiphany.c (epiphany_info_to_howto_rela): Likewise.
2491 * elf32-fr30.c (fr30_info_to_howto_rela): Likewise.
2492 * elf32-frv.c (frv_info_to_howto_rela)
2493 (frvfdpic_info_to_howto_rel): Likewise.
2494 * elf32-ft32.c (ft32_info_to_howto_rela): Likewise.
2495 * elf32-gen.c (elf_generic_info_to_howto)
2496 (elf_generic_info_to_howto_rel): Likewise.
2497 * elf32-h8300.c (elf32_h8_info_to_howto)
2498 (elf32_h8_info_to_howto_rel): Likewise.
2499 * elf32-i370.c (i370_elf_info_to_howto): Likewise.
2500 * elf32-i386.c (elf_i386_reloc_type_lookup)
2501 (elf_i386_rtype_to_howto, elf_i386_info_to_howto_rel): Likewise.
2502 * elf32-i860.c (lookup_howto, elf32_i860_info_to_howto_rela):
2503 Likewise.
2504 * elf32-i960.c (elf32_i960_info_to_howto_rel): Likewise.
2505 * elf32-ip2k.c (ip2k_info_to_howto_rela): Likewise.
2506 * elf32-iq2000.c (iq2000_info_to_howto_rela): Likewise.
2507 * elf32-lm32.c (lm32_info_to_howto_rela): Likewise.
2508 * elf32-m32c.c (m32c_info_to_howto_rela): Likewise.
2509 * elf32-m32r.c (m32r_info_to_howto_rel, m32r_info_to_howto):
2510 Likewise.
2511 * elf32-m68hc11.c (m68hc11_info_to_howto_rel): Likewise.
2512 * elf32-m68hc12.c (m68hc11_info_to_howto_rel): Likewise.
2513 * elf32-m68k.c (rtype_to_howto): Likewise.
2514 * elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
2515 * elf32-mep.c (mep_info_to_howto_rela): Likewise.
2516 * elf32-metag.c (metag_info_to_howto_rela): Likewise.
2517 * elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
2518 * elf32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
2519 Likewise.
2520 * elf32-moxie.c (moxie_info_to_howto_rela): Likewise.
2521 * elf32-msp430.c (msp430_info_to_howto_rela): Likewise.
2522 * elf32-mt.c (mt_info_to_howto_rela): Likewise.
2523 * elf32-nds32.c (nds32_info_to_howto_rel, nds32_info_to_howto):
2524 Likewise.
2525 * elf32-nios2.c (nios2_elf32_info_to_howto): Likewise.
2526 * elf32-or1k.c (or1k_info_to_howto_rela): Likewise.
2527 * elf32-pj.c (pj_elf_info_to_howto): Likewise.
2528 * elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
2529 * elf32-pru.c (pru_elf32_info_to_howto): Likewise.
2530 * elf32-rl78.c (rl78_info_to_howto_rela): Likewise.
2531 * elf32-rx.c (rx_info_to_howto_rela): Likewise.
2532 * elf32-s390.c (elf_s390_info_to_howto): Likewise.
2533 * elf32-score.c (s3_bfd_score_info_to_howto)
2534 (_bfd_score_info_to_howto): Likewise.
2535 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
2536 * elf32-sh.c (sh_elf_info_to_howto): Likewise.
2537 * elf32-spu.c (spu_elf_info_to_howto): Likewise.
2538 * elf32-tic6x.c (elf32_tic6x_info_to_howto)
2539 (elf32_tic6x_info_to_howto_rel): Likewise.
2540 * elf32-tilepro.c (tilepro_info_to_howto_rela): Likewise.
2541 * elf32-v850.c (v850_elf_info_to_howto_rel)
2542 (v850_elf_info_to_howto_rela, v800_elf_info_to_howto): Likewise.
2543 * elf32-vax.c (rtype_to_howto): Likewise.
2544 * elf32-visium.c (visium_info_to_howto_rela): Likewise.
2545 * elf32-wasm32.c (elf32_wasm32_rtype_to_howto)
2546 (elf32_wasm32_info_to_howto_rela): Likewise.
2547 * elf32-xc16x.c (elf32_xc16x_info_to_howto): Likewise.
2548 * elf32-xgate.c (xgate_info_to_howto_rel): Likewise.
2549 * elf32-xstormy16.c (xstormy16_info_to_howto_rela): Likewise.
2550 * elf32-xtensa.c (elf_xtensa_info_to_howto_rela): Likewise.
2551 * elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
2552 * elf64-gen.c (elf_generic_info_to_howto)
2553 (elf_generic_info_to_howto_rel): Likewise.
2554 * elf64-ia64-vms.c (elf64_ia64_info_to_howto): Likewise.
2555 * elf64-mips.c (mips_elf64_info_to_howto_rela): Likewise.
2556 * elf64-mmix.c (mmix_info_to_howto_rela): Likewise.
2557 * elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
2558 * elf64-s390.c (elf_s390_reloc_type_lookup): Likewise.
2559 * elf64-sh64.c (elf_s390_info_to_howto, sh_elf64_info_to_howto):
2560 Likewise.
2561 * elf64-x86-64.c (elf_x86_64_info_to_howto): Likewise.
2562 * elfn32-mips.c (mips_info_to_howto_rel, mips_info_to_howto_rela):
2563 Likewise.
2564 * elfnn-aarch64.c (elfNN_aarch64_info_to_howto): Likewise.
2565 * elfnn-ia64.c (elfNN_ia64_info_to_howto): Likewise.
2566 * elfnn-riscv.c (riscv_info_to_howto_rela): Likewise.
2567 * elfxx-ia64.c (ia64_elf_reloc_type_lookup): Likewise.
2568 * elfxx-sparc.c (_bfd_sparc_elf_info_to_howto): Likewise.
2569 * elfxx-tilegx.c (tilegx_info_to_howto_rela): Likewise.
2570 * elf32-score.h (s7_bfd_score_info_to_howto): Update prototype.
2571 * elfxx-sparc.h (_bfd_sparc_elf_info_to_howto): Update prototype.
2572 * elfxx-tilegx.h (tilegx_info_to_howto_rela): Update prototype.
2573 * elfxx-target.h (elf_info_to_howto, elf_info_to_howto_rel):
2574 Default to NULL.
2575
2576 2018-02-26 Jim Wilson <jimw@sifive.com>
2577 Stephan Schreiber <info@fs-driver.org>
2578
2579 PR 15904
2580 * elfnn-ia64.c (elfNN_ia64_relax_section): After ia64_elf_relax_brl
2581 call, set changed_contents and changed_relocs. Likewise after
2582 successful ia64_elf_relax_br call.
2583
2584 2018-02-26 Alan Modra <amodra@gmail.com>
2585
2586 * elf.c (assign_file_positions_except_relocs): Don't segfault
2587 when actual number of phdrs is less than allocated. Delete
2588 outdated comment. Formatting.
2589
2590 2018-02-26 Alan Modra <amodra@gmail.com>
2591
2592 * elf-m10300.c, * elf-s390-common.c, * elf32-arc.c, * elf32-cris.c,
2593 * elf32-dlx.c, * elf32-frv.c, * elf32-i370.c, * elf32-lm32.c,
2594 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
2595 * elf32-microblaze.c, * elf32-msp430.c, * elf32-nds32.c,
2596 * elf32-nios2.c, * elf32-or1k.c, * elf32-rl78.c, * elf32-rx.c,
2597 * elf32-score.c, * elf32-score7.c, * elf32-sh-symbian.c,
2598 * elf32-sh.c, * elf32-spu.c, * elf32-v850.c, * elf32-xtensa.c,
2599 * elf64-alpha.c, * elf64-ia64-vms.c, * elf64-mmix.c,
2600 * elf64-sh64.c, * elf64-sparc.c, * elfnn-ia64.c, * elfxx-tilegx.c,
2601 * mmo.c, * osf-core.c, * srec.c, * vms-alpha.c: Standardize
2602 error/warning messages.
2603
2604 2018-02-26 Alan Modra <amodra@gmail.com>
2605
2606 * archive.c, * bfd.c, * linker.c, * reloc.c, * stabs.c,
2607 * syms.c: Standardize error/warning messages.
2608
2609 2018-02-26 Alan Modra <amodra@gmail.com>
2610
2611 * aout-adobe.c, * aout-cris.c, * i386linux.c, * m68klinux.c,
2612 * sparclinux.c, * coff-alpha.c, * coff-arm.c, * coff-mcore.c,
2613 * coffcode.h, * coffgen.c, * cofflink.c, * ecoff.c, * pe-mips.c,
2614 * peXXigen.c, * peicode.h: Standardize error/warning messages.
2615
2616 2018-02-26 Alan Modra <amodra@gmail.com>
2617
2618 * elf32-arm.c, * elfnn-aarch64.c: Standardize error/warning messages.
2619
2620 2018-02-26 Alan Modra <amodra@gmail.com>
2621
2622 * elfxx-mips.c: Standardize error/warning messages.
2623
2624 2018-02-26 Alan Modra <amodra@gmail.com>
2625
2626 * dwarf2.c, * elf-attrs.c, * elf-eh-frame.c, * elf.c, * elf32-gen.c,
2627 * elflink.c: Standardize error/warning messages. Replace use of
2628 linker callback einfo with _bfd_error_handler when possible.
2629
2630 2018-02-26 Alan Modra <amodra@gmail.com>
2631
2632 * aoutx.h, * coff-alpha.c, * coff-i860.c, * coff-m68k.c,
2633 * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c, * coff-sh.c,
2634 * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c, * coff-w65.c,
2635 * elf-bfd.h, * elf-m10300.c, * elf.c, * elf32-avr.c, * elf32-bfin.c,
2636 * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
2637 * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
2638 * elf32-fr30.c, * elf32-frv.c, * elf32-i370.c, * elf32-i386.c,
2639 * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
2640 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
2641 * elf32-m68k.c, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
2642 * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
2643 * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-or1k.c,
2644 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-rx.c,
2645 * elf32-s390.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
2646 * elf32-v850.c, * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
2647 * elf32-xgate.c, * elf32-xtensa.c, * elf64-alpha.c,
2648 * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
2649 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
2650 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
2651 * elfnn-riscv.c, * elfxx-mips.c, * elfxx-riscv.c, * elfxx-riscv.h,
2652 * elfxx-sparc.c, * elfxx-sparc.h, * reloc.c: Standardize
2653 unrecognized/unsupported reloc message.
2654
2655 2018-02-26 Alan Modra <amodra@gmail.com>
2656
2657 * elf32-ppc.c: Standardize error/warning messages. Use
2658 _bfd_error_handler rather than einfo when einfo features not used.
2659 * elf64-ppc.c: Likewise.
2660
2661 2018-02-23 Alan Modra <amodra@gmail.com>
2662
2663 PR 22881
2664 * elf.c (assign_file_positions_for_non_load_sections): Remove RELRO
2665 segment if no matching LOAD segment.
2666
2667 2018-02-23 Kuan-Lin Chen <kuanlinchentw@gmail.com>
2668
2669 * elf32-nds32.h: Define mask for ict_model.
2670
2671 2018-02-20 Jason Duerstock <jason.duerstock@gmail.com>
2672
2673 * elfnn-ia64.c (elf_backend_can_gc_sections): Enable.
2674
2675 2018-02-19 Maciej W. Rozycki <macro@mips.com>
2676
2677 Revert
2678 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
2679
2680 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
2681 .reginfo section has wrong size.
2682
2683 2018-02-19 Maciej W. Rozycki <macro@mips.com>
2684
2685 * elfxx-mips.c (_bfd_mips_elf_always_size_sections): Set
2686 SEC_FIXED_SIZE and SEC_HAS_CONTENTS flags for `.reginfo' and
2687 `.MIPS.abiflags' sections.
2688 (_bfd_mips_elf_final_link): Avoid reading beyond `.reginfo'
2689 section's end.
2690
2691 2018-02-19 Maciej W. Rozycki <macro@mips.com>
2692
2693 * section.c (SEC_FIXED_SIZE): New macro.
2694 * bfd-in2.h: Regenerate.
2695
2696 2018-02-19 Maciej W. Rozycki <macro@mips.com>
2697
2698 * section.c (SEC_HAS_GOT_REF): Remove macro.
2699 * bfd-in2.h: Regenerate.
2700
2701 2018-02-19 Alan Modra <amodra@gmail.com>
2702
2703 * elf-attrs.c (_bfd_elf_parse_attributes): Correct _bfd_error_handler
2704 arguments.
2705 * elfxx-mips.c (_bfd_mips_elf_final_link): Likewise.
2706 * elfnn-riscv.c (_bfd_riscv_relax_align): Likewise.
2707 (_bfd_riscv_relax_pc): Likewise and fix typos.
2708 * libbfd-in.h (_bfd_error_handler): Add attribute printf.
2709 * libbfd.h: Regenerate.
2710
2711 2018-02-19 Alan Modra <amodra@gmail.com>
2712
2713 * dwarf2.c (read_section): Don't use 'll' format modifier.
2714 (find_abstract_instance): Likewise.
2715 * elfcore.h (elf_core_file_p): Likewise.
2716
2717 2018-02-19 Alan Modra <amodra@gmail.com>
2718
2719 * bfd-in.h: Include inttypes.h or if not available define
2720 PRId64, PRIu64 and PRIx64.
2721 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Remove support for L
2722 modifier to print bfd_vma.
2723 * coff-arm.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
2724 * coff-sh.c, * coff-tic80.c, * coffcode.h, * coffgen.c, * cofflink.c,
2725 * compress.c, * dwarf2.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
2726 * elf32-arm.c, * elf32-bfin.c, * elf32-cris.c, * elf32-hppa.c,
2727 * elf32-i386.c, * elf32-ip2k.c, * elf32-lm32.c, * elf32-m32r.c,
2728 * elf32-m68k.c, * elf32-metag.c, * elf32-nds32.c, * elf32-nios2.c,
2729 * elf32-ppc.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
2730 * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c, * elf32-spu.c,
2731 * elf32-tic6x.c, * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c,
2732 * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
2733 * elf64-mmix.c, * elf64-s390.c, * elf64-sh64.c, * elf64-x86-64.c,
2734 * elfcode.h, * elfcore.h, * elflink.c, * elfnn-aarch64.c,
2735 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c, * elfxx-sparc.c,
2736 * elfxx-tilegx.c, * ieee.c, * ihex.c, * mach-o.c, * merge.c, * mmo.c,
2737 * peXXigen.c, * xcofflink.c: Replace use of Lx modifier with PRIx64,
2738 and cast input to uint64_t, and similarly for Ld and Lu.
2739 * bfd-in2.h: Regenerate.
2740
2741 2018-02-19 Alan Modra <amodra@gmail.com>
2742
2743 * elf32-arm.c, * elf32-hppa.c, * elf32-lm32.c, * elf32-m32r.c,
2744 * elf32-metag.c, * elf32-nds32.c, * elf32-or1k.c, * elf32-ppc.c,
2745 * elf32-s390.c, * elf32-sh.c, * elf32-tic6x.c, * elf32-tilepro.c,
2746 * elf64-ppc.c, * elf64-s390.c, * elflink.c, * elfnn-aarch64.c,
2747 * elfnn-riscv.c, * elfxx-sparc.c, * elfxx-tilegx.c, * elfxx-x86.c,
2748 * reloc.c: Replace use of %R and %T in format strings passed to
2749 einfo and friends by %pR and %pT.
2750
2751 2018-02-19 Alan Modra <amodra@gmail.com>
2752
2753 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
2754 of %A and %B.
2755 * aout-adobe.c: Update all messages using %A and %B.
2756 * aout-cris.c: Likewise.
2757 * aoutx.h: Likewise.
2758 * archive.c: Likewise.
2759 * binary.c: Likewise.
2760 * cache.c: Likewise.
2761 * coff-alpha.c: Likewise.
2762 * coff-arm.c: Likewise.
2763 * coff-i860.c: Likewise.
2764 * coff-mcore.c: Likewise.
2765 * coff-ppc.c: Likewise.
2766 * coff-rs6000.c: Likewise.
2767 * coff-sh.c: Likewise.
2768 * coff-tic4x.c: Likewise.
2769 * coff-tic54x.c: Likewise.
2770 * coff-tic80.c: Likewise.
2771 * coff64-rs6000.c: Likewise.
2772 * coffcode.h: Likewise.
2773 * coffgen.c: Likewise.
2774 * cofflink.c: Likewise.
2775 * coffswap.h: Likewise.
2776 * compress.c: Likewise.
2777 * cpu-arm.c: Likewise.
2778 * ecoff.c: Likewise.
2779 * elf-attrs.c: Likewise.
2780 * elf-eh-frame.c: Likewise.
2781 * elf-ifunc.c: Likewise.
2782 * elf-m10300.c: Likewise.
2783 * elf-properties.c: Likewise.
2784 * elf-s390-common.c: Likewise.
2785 * elf.c: Likewise.
2786 * elf32-arc.c: Likewise.
2787 * elf32-arm.c: Likewise.
2788 * elf32-avr.c: Likewise.
2789 * elf32-bfin.c: Likewise.
2790 * elf32-cr16.c: Likewise.
2791 * elf32-cr16c.c: Likewise.
2792 * elf32-cris.c: Likewise.
2793 * elf32-crx.c: Likewise.
2794 * elf32-d10v.c: Likewise.
2795 * elf32-d30v.c: Likewise.
2796 * elf32-epiphany.c: Likewise.
2797 * elf32-fr30.c: Likewise.
2798 * elf32-frv.c: Likewise.
2799 * elf32-gen.c: Likewise.
2800 * elf32-hppa.c: Likewise.
2801 * elf32-i370.c: Likewise.
2802 * elf32-i386.c: Likewise.
2803 * elf32-i960.c: Likewise.
2804 * elf32-ip2k.c: Likewise.
2805 * elf32-iq2000.c: Likewise.
2806 * elf32-lm32.c: Likewise.
2807 * elf32-m32c.c: Likewise.
2808 * elf32-m32r.c: Likewise.
2809 * elf32-m68hc11.c: Likewise.
2810 * elf32-m68hc12.c: Likewise.
2811 * elf32-m68hc1x.c: Likewise.
2812 * elf32-m68k.c: Likewise.
2813 * elf32-mcore.c: Likewise.
2814 * elf32-mep.c: Likewise.
2815 * elf32-metag.c: Likewise.
2816 * elf32-microblaze.c: Likewise.
2817 * elf32-moxie.c: Likewise.
2818 * elf32-msp430.c: Likewise.
2819 * elf32-mt.c: Likewise.
2820 * elf32-nds32.c: Likewise.
2821 * elf32-nios2.c: Likewise.
2822 * elf32-or1k.c: Likewise.
2823 * elf32-pj.c: Likewise.
2824 * elf32-ppc.c: Likewise.
2825 * elf32-rl78.c: Likewise.
2826 * elf32-rx.c: Likewise.
2827 * elf32-s390.c: Likewise.
2828 * elf32-score.c: Likewise.
2829 * elf32-score7.c: Likewise.
2830 * elf32-sh-symbian.c: Likewise.
2831 * elf32-sh.c: Likewise.
2832 * elf32-sh64.c: Likewise.
2833 * elf32-sparc.c: Likewise.
2834 * elf32-spu.c: Likewise.
2835 * elf32-tic6x.c: Likewise.
2836 * elf32-tilepro.c: Likewise.
2837 * elf32-v850.c: Likewise.
2838 * elf32-vax.c: Likewise.
2839 * elf32-visium.c: Likewise.
2840 * elf32-wasm32.c: Likewise.
2841 * elf32-xgate.c: Likewise.
2842 * elf32-xtensa.c: Likewise.
2843 * elf64-alpha.c: Likewise.
2844 * elf64-gen.c: Likewise.
2845 * elf64-hppa.c: Likewise.
2846 * elf64-ia64-vms.c: Likewise.
2847 * elf64-mmix.c: Likewise.
2848 * elf64-ppc.c: Likewise.
2849 * elf64-s390.c: Likewise.
2850 * elf64-sh64.c: Likewise.
2851 * elf64-sparc.c: Likewise.
2852 * elf64-x86-64.c: Likewise.
2853 * elfcode.h: Likewise.
2854 * elfcore.h: Likewise.
2855 * elflink.c: Likewise.
2856 * elfnn-aarch64.c: Likewise.
2857 * elfnn-ia64.c: Likewise.
2858 * elfnn-riscv.c: Likewise.
2859 * elfxx-mips.c: Likewise.
2860 * elfxx-sparc.c: Likewise.
2861 * elfxx-tilegx.c: Likewise.
2862 * elfxx-x86.c: Likewise.
2863 * hpux-core.c: Likewise.
2864 * ieee.c: Likewise.
2865 * ihex.c: Likewise.
2866 * libbfd.c: Likewise.
2867 * linker.c: Likewise.
2868 * mach-o.c: Likewise.
2869 * merge.c: Likewise.
2870 * mmo.c: Likewise.
2871 * oasys.c: Likewise.
2872 * pdp11.c: Likewise.
2873 * pe-mips.c: Likewise.
2874 * peXXigen.c: Likewise.
2875 * peicode.h: Likewise.
2876 * reloc.c: Likewise.
2877 * rs6000-core.c: Likewise.
2878 * srec.c: Likewise.
2879 * stabs.c: Likewise.
2880 * vms-alpha.c: Likewise.
2881 * xcofflink.c: Likewise.
2882
2883 2018-02-19 Alan Modra <amodra@gmail.com>
2884
2885 PR 22845
2886 * elf.c (IS_TBSS): Define.
2887 (_bfd_elf_map_sections_to_segments): Use IS_TBSS.
2888 (assign_file_positions_for_non_load_sections): Revert last change.
2889 Properly calculate load segment limits to compare against relro limits.
2890
2891 2018-02-17 Alan Modra <amodra@gmail.com>
2892
2893 PR 22845
2894 * elf.c (assign_file_positions_for_non_load_sections): Ignore
2895 degenerate zero size PT_LOAD segments when finding one overlapping
2896 the PT_GNU_RELRO segment.
2897
2898 2018-02-16 Alan Modra <amodra@gmail.com>
2899
2900 * libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
2901 (_bfd_bool_bfd_true): Rename from bfd_true.
2902 (_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
2903 (_bfd_int_bfd_0): Rename from bfd_0.
2904 (_bfd_uint_bfd_0): Rename from bfd_0u.
2905 (_bfd_long_bfd_0): Rename from bfd_0l.
2906 (_bfd_long_bfd_n1_error): Rename from _bfd_n1.
2907 (_bfd_void_bfd): Rename from bfd_void.
2908 (_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
2909 (_bfd_bool_bfd_link_false_error),
2910 (_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
2911 (_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
2912 (_bfd_bool_bfd_asection_bfd_asection_true),
2913 (_bfd_bool_bfd_asymbol_bfd_asymbol_true),
2914 (_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
2915 * archive.c (_bfd_noarchive_get_elt_at_index),
2916 (_bfd_noarchive_openr_next_archived_file),
2917 (_bfd_noarchive_construct_extended_name_table),
2918 (_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
2919 (_bfd_noarchive_write_armap): New functions.
2920 * archures.c (_bfd_nowrite_set_arch_mach): New function.
2921 * coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
2922 (alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
2923 (alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
2924 (alpha_ecoff_swap_coff_lineno_out),
2925 (alpha_ecoff_swap_coff_reloc_out): New functions.
2926 * coff-mips.c (mips_ecoff_swap_coff_aux_in),
2927 (mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
2928 (mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
2929 (mips_ecoff_swap_coff_lineno_out),
2930 (mips_ecoff_swap_coff_reloc_out): New functions.
2931 * coffcode.h (coff_set_alignment_hook): Replace define with
2932 new function.
2933 (symname_in_debug_hook): Likewise.
2934 * ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
2935 * elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
2936 * elf.c (assign_file_positions_except_relocs): Test
2937 elf_backend_allow_non_load_phdr for NULL.
2938 * elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
2939 _bfd_elf_link_omit_section_dynsym. Update uses.
2940 (_bfd_elf_omit_section_dynsym_all): New function.
2941 * elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
2942 (_bfd_elf_omit_section_dynsym_default): Declare.
2943 (_bfd_elf_omit_section_dynsym_all): Declare.
2944 * linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
2945 (_bfd_nolink_bfd_get_relocated_section_contents),
2946 (_bfd_nolink_bfd_lookup_section_flags),
2947 (_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
2948 (_bfd_nolink_bfd_link_hash_table_create),
2949 (_bfd_nolink_bfd_link_just_syms),
2950 (_bfd_nolink_bfd_copy_link_hash_symbol_type),
2951 (_bfd_nolink_bfd_link_split_section),
2952 (_bfd_nolink_section_already_linked),
2953 (_bfd_nolink_bfd_define_common_symbol),
2954 (_bfd_nolink_bfd_define_start_stop): New functions.
2955 * reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
2956 (_bfd_norelocs_bfd_reloc_name_lookup),
2957 (_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
2958 * section.c (_bfd_nowrite_set_section_contents): New function.
2959 * syms.c (_bfd_nosymbols_canonicalize_symtab),
2960 (_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
2961 (_bfd_nosymbols_get_symbol_version_string),
2962 (_bfd_nosymbols_bfd_is_local_label_name),
2963 (_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
2964 (_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
2965 (_bfd_nosymbols_bfd_make_debug_symbol),
2966 ( _bfd_nosymbols_read_minisymbols),
2967 ( _bfd_nosymbols_minisymbol_to_symbol),
2968 (_bfd_nodynamic_get_synthetic_symtab): New functions.
2969 * libbfd-in.h: Declare new functions. Update existing defines,
2970 removing casts.
2971 * aix386-core.c: Update to use new hooks. Formatting.
2972 * aout-adobe.c: Likewise.
2973 * aout-arm.c: Likewise.
2974 * aout-target.h: Likewise.
2975 * aout-tic30.c: Likewise.
2976 * aoutf1.h: Likewise.
2977 * binary.c: Likewise.
2978 * bout.c: Likewise.
2979 * cisco-core.c: Likewise.
2980 * coff-alpha.c: Likewise.
2981 * coff-i386.c: Likewise.
2982 * coff-i860.c: Likewise.
2983 * coff-i960.c: Likewise.
2984 * coff-ia64.c: Likewise.
2985 * coff-mips.c: Likewise.
2986 * coff-ppc.c: Likewise.
2987 * coff-rs6000.c: Likewise.
2988 * coff-sh.c: Likewise.
2989 * coff-tic30.c: Likewise.
2990 * coff-tic54x.c: Likewise.
2991 * coff-x86_64.c: Likewise.
2992 * coff64-rs6000.c: Likewise.
2993 * coffcode.h: Likewise.
2994 * elf-m10300.c: Likewise.
2995 * elf32-cr16.c: Likewise.
2996 * elf32-lm32.c: Likewise.
2997 * elf32-m32r.c: Likewise.
2998 * elf32-metag.c: Likewise.
2999 * elf32-score.c: Likewise.
3000 * elf32-score7.c: Likewise.
3001 * elf32-tilepro.c: Likewise.
3002 * elf32-xstormy16.c: Likewise.
3003 * elf32-xtensa.c: Likewise.
3004 * elf64-alpha.c: Likewise.
3005 * elf64-hppa.c: Likewise.
3006 * elf64-ia64-vms.c: Likewise.
3007 * elf64-mmix.c: Likewise.
3008 * elf64-sh64.c: Likewise.
3009 * elfnn-ia64.c: Likewise.
3010 * elfxx-sparc.c: Likewise.
3011 * elfxx-target.h: Likewise.
3012 * elfxx-tilegx.c: Likewise.
3013 * elfxx-x86.h: Likewise.
3014 * hp300hpux.c: Likewise.
3015 * hppabsd-core.c: Likewise.
3016 * hpux-core.c: Likewise.
3017 * i386msdos.c: Likewise.
3018 * i386os9k.c: Likewise.
3019 * ieee.c: Likewise.
3020 * ihex.c: Likewise.
3021 * irix-core.c: Likewise.
3022 * libaout.h: Likewise.
3023 * libecoff.h: Likewise.
3024 * mach-o-target.c: Likewise.
3025 * mach-o.c: Likewise.
3026 * mipsbsd.c: Likewise.
3027 * mmo.c: Likewise.
3028 * netbsd-core.c: Likewise.
3029 * nlm-target.h: Likewise.
3030 * oasys.c: Likewise.
3031 * osf-core.c: Likewise.
3032 * pdp11.c: Likewise.
3033 * pe-mips.c: Likewise.
3034 * pe-x86_64.c: Likewise.
3035 * pef.c: Likewise.
3036 * plugin.c: Likewise.
3037 * ppcboot.c: Likewise.
3038 * ptrace-core.c: Likewise.
3039 * sco5-core.c: Likewise.
3040 * som.c: Likewise.
3041 * sparclynx.c: Likewise.
3042 * srec.c: Likewise.
3043 * tekhex.c: Likewise.
3044 * trad-core.c: Likewise.
3045 * verilog.c: Likewise.
3046 * versados.c: Likewise.
3047 * vms-alpha.c: Likewise.
3048 * vms-lib.c: Likewise.
3049 * wasm-module.c: Likewise.
3050 * xsym.c: Likewise.
3051 * libbfd.h: Regenerate.
3052
3053 2018-02-15 Jim Wilson <jimw@sifive.com>
3054
3055 * elfnn-riscv.c (_bfd_riscv_relax_section): Ifdef out check to ignore
3056 symbols whose section address is zero.
3057
3058 * elfnn-riscv.c (riscv_elf_relocate_section): Use bfd_reloc_dangerous
3059 when pcrel_lo reloc has an addend. Use reloc_dangerous callback for
3060 bfd_reloc_dangerous. Use einfo instead of warning callback for errors.
3061 Add %X%P to error messages.
3062
3063 2018-02-15 Eric Botcazou <ebotcazou@adacore.com>
3064
3065 PR ld/22832
3066 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
3067 Pass FALSE instead of TRUE as 'create' argument to bfd_link_hash_lookup
3068 and assert that the result of the call is not NULL.
3069
3070 2018-02-14 Nick Clifton <nickc@redhat.com>
3071
3072 PR 22823
3073 Revert previous delta. Add extra casts to avoid compile time
3074 warnings instead.
3075 * libbfd-in.h (_bfd_generic_bfd_copy_private_bfd_data): Add extra
3076 cast to avoid warning from gcc v8 compiler.
3077 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3078 (_bfd_generic_bfd_set_private_flags): Likewise.
3079 (_bfd_generic_bfd_copy_private_section_data): Likewise.
3080 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3081 (_bfd_generic_bfd_copy_private_header_data): Likewise.
3082 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3083 (_bfd_noarchive_construct_extended_name_table): Likewise.
3084 (_bfd_noarchive_truncate_arname): Likewise.
3085 (_bfd_noarchive_write_ar_hdr): Likewise.
3086 (_bfd_noarchive_get_elt_at_index): Likewise.
3087 (_bfd_nosymbols_canonicalize_symtab): Likewise.
3088 (_bfd_nosymbols_print_symbol): Likewise.
3089 (_bfd_nosymbols_get_symbol_info): Likewise.
3090 (_bfd_nosymbols_get_symbol_version_string): Likewise.
3091 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
3092 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
3093 (_bfd_nosymbols_get_lineno): Likewise.
3094 (_bfd_nosymbols_find_nearest_line): Likewise.
3095 (_bfd_nosymbols_find_line): Likewise.
3096 (_bfd_nosymbols_find_inliner_info): Likewise.
3097 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
3098 (_bfd_nosymbols_read_minisymbols): Likewise.
3099 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
3100 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
3101 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
3102 (_bfd_nowrite_set_arch_mach): Likewise.
3103 (_bfd_nowrite_set_section_contents): Likewise.
3104 (_bfd_nolink_sizeof_headers): Likewise.
3105 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
3106 (_bfd_nolink_bfd_relax_section): Likewise.
3107 (_bfd_nolink_bfd_gc_sections): Likewise.
3108 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
3109 (_bfd_nolink_bfd_merge_sections): Likewise.
3110 (_bfd_nolink_bfd_is_group_section): Likewise.
3111 (_bfd_nolink_bfd_discard_group): Likewise.
3112 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
3113 (_bfd_nolink_bfd_link_add_symbols): Likewise.
3114 (_bfd_nolink_bfd_link_just_syms): Likewise.
3115 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
3116 (_bfd_nolink_bfd_final_link): Likewise.
3117 (_bfd_nolink_bfd_link_split_section): Likewise.
3118 (_bfd_nolink_section_already_linked): Likewise.
3119 (_bfd_nolink_bfd_define_common_symbol): Likewise.
3120 (_bfd_nolink_bfd_define_start_stop): Likewise.
3121 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
3122 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
3123 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
3124 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
3125 * libbfd.c (bfd_false_any): Delete.
3126 (bfd_true_any, bfd_nullvoidptr_any, bfd_0_any): Delete.
3127 (bfd_0u_any, bfd_0l_any, _bfd_n1_any, bfd_void_any): Delete.
3128 * libbfd.h (extern): Regenerate
3129 * aout-target.h (MY_bfd_is_target_special_symbol): Add extra
3130 cast to avoid warning from gcc v8 compiler.
3131 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
3132 * binary.c (binary_get_symbol_info): Likewise.
3133 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3134 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3135 * coffcode.h (coff_set_alignment_hook): Likewise.
3136 (symname_in_debug_hook): Likewise.
3137 (bfd_coff_backend_data bigobj_swap_table): Likewise.
3138 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
3139 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
3140 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
3141 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
3142 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
3143 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
3144 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
3145 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
3146 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
3147 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
3148 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
3149 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
3150 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
3151 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
3152 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
3153 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
3154 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
3155 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
3156 (bfd_elfNN_bfd_set_private_flags): Likewise.
3157 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
3158 (elf_backend_init_index_section): Likewise.
3159 (elf_backend_allow_non_load_phdr): Likewise.
3160 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
3161 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
3162 * ieee.c (ieee_construct_extended_name_table): Likewise.
3163 (ieee_write_armap): Likewise.
3164 (ieee_write_ar_hdr): Likewise.
3165 (ieee_bfd_is_target_special_symbol): Likewise.
3166 * ihex.c (ihex_canonicalize_symtab): Likewise.
3167 (ihex_bfd_is_target_special_symbol): Likewise.
3168 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
3169 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
3170 (_bfd_ecoff_set_alignment_hook): Likewise.
3171 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
3172 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
3173 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
3174 * oasys.c (oasys_construct_extended_name_table): Likewise.
3175 (oasys_write_armap): Likewise.
3176 (oasys_write_ar_hdr): Likewise.
3177 (oasys_bfd_is_target_special_symbol): Likewise.
3178 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
3179 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
3180 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
3181 * som.c (som_bfd_is_target_special_symbol): Likewise.
3182 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
3183 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
3184 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
3185 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
3186 (versados_bfd_reloc_name_lookup): Likewise.
3187 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
3188 (vms_bfd_define_start_stop): Likewise.
3189 (alpha_vms_bfd_is_target_special_symbol): Likewise.
3190 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
3191 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
3192
3193 2018-02-14 H.J. Lu <hongjiu.lu@intel.com>
3194
3195 PR ld/22842
3196 * elf32-i386.c (elf_i386_check_relocs): Pass FALSE for non
3197 PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3198 * elf64-x86-64.c (elf_x86_64_check_relocs): Create PLT for
3199 R_X86_64_PC32 reloc against dynamic function in data section.
3200 Pass TRUE for PC-relative PLT to NEED_DYNAMIC_RELOCATION_P.
3201 (elf_x86_64_relocate_section): Use PLT for R_X86_64_PC32 reloc
3202 against dynamic function in data section.
3203 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Use PLT in PIE as
3204 function address only if pcrel_plt is true.
3205 (_bfd_x86_elf_link_hash_table_create): Set pcrel_plt.
3206 * elfxx-x86.h (NEED_DYNAMIC_RELOCATION_P): Add PCREL_PLT for
3207 PC-relative PLT. If PLT is PC-relative, don't generate dynamic
3208 PC-relative relocation against a function definition in data
3209 secton in PIE. Remove the obsolete comments.
3210 (elf_x86_link_hash_table): Add pcrel_plt.
3211
3212 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
3213
3214 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Check bfd_link_dll,
3215 instead of bfd_link_pic, for building shared library.
3216
3217 2018-02-13 H.J. Lu <hongjiu.lu@intel.com>
3218
3219 PR gas/22791
3220 * elf64-x86-64.c (is_32bit_relative_branch): Removed.
3221 (elf_x86_64_relocate_section): Check PIC relocations in PIE.
3222 Remove is_32bit_relative_branch usage. Disallow PC32 reloc
3223 against protected function in shared object.
3224
3225 2018-02-13 Sergei Trofimovich <slyfox@inbox.ru>
3226
3227 PR 22828
3228 * po/ru.po: Fix typo in Russian translation.
3229
3230 2018-02-13 Maciej W. Rozycki <macro@mips.com>
3231
3232 * wasm-module.c (wasm_scan_name_function_section): Rename
3233 `index' local variable to `idx'.
3234
3235 2018-02-13 Nick Clifton <nickc@redhat.com>
3236
3237 PR 22823
3238 Fix compile time warnings generated by gcc version 8.
3239 * libbfd-in.h: Remove extraneous text from prototypes.
3240 Add prototypes for bfd_false_any, bfd_true_any,
3241 bfd_nullvoidptr_any, bfd_0_any, bfd_0u_any, bfd_0l_any,
3242 bfd_n1_any, bfd_void_any.
3243 (_bfd_generic_bfd_copy_private_bfd_data): Use vararg based dummy
3244 function.
3245 (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
3246 (_bfd_generic_bfd_set_private_flags): Likewise.
3247 (_bfd_generic_bfd_copy_private_section_data): Likewise.
3248 (_bfd_generic_bfd_copy_private_symbol_data): Likewise.
3249 (_bfd_generic_bfd_copy_private_header_data): Likewise.
3250 (_bfd_generic_bfd_print_private_bfd_data): Likewise.
3251 (_bfd_noarchive_construct_extended_name_table): Likewise.
3252 (_bfd_noarchive_truncate_arname): Likewise.
3253 (_bfd_noarchive_write_ar_hdr): Likewise.
3254 (_bfd_noarchive_get_elt_at_index): Likewise.
3255 (_bfd_nosymbols_canonicalize_symtab): Likewise.
3256 (_bfd_nosymbols_print_symbol): Likewise.
3257 (_bfd_nosymbols_get_symbol_info): Likewise.
3258 (_bfd_nosymbols_get_symbol_version_string): Likewise.
3259 (_bfd_nosymbols_bfd_is_local_label_name): Likewise.
3260 (_bfd_nosymbols_bfd_is_target_special_symbol): Likewise.
3261 (_bfd_nosymbols_get_lineno): Likewise.
3262 (_bfd_nosymbols_find_nearest_line): Likewise.
3263 (_bfd_nosymbols_find_line): Likewise.
3264 (_bfd_nosymbols_find_inliner_info): Likewise.
3265 (_bfd_nosymbols_bfd_make_debug_symbol): Likewise.
3266 (_bfd_nosymbols_read_minisymbols): Likewise.
3267 (_bfd_nosymbols_minisymbol_to_symbol): Likewise.
3268 (_bfd_norelocs_bfd_reloc_type_lookup): Likewise.
3269 (_bfd_norelocs_bfd_reloc_name_lookup): Likewise.
3270 (_bfd_nowrite_set_arch_mach): Likewise.
3271 (_bfd_nowrite_set_section_contents): Likewise.
3272 (_bfd_nolink_sizeof_headers): Likewise.
3273 (_bfd_nolink_bfd_get_relocated_section_contents): Likewise.
3274 (_bfd_nolink_bfd_relax_section): Likewise.
3275 (_bfd_nolink_bfd_gc_sections): Likewise.
3276 (_bfd_nolink_bfd_lookup_section_flags): Likewise.
3277 (_bfd_nolink_bfd_merge_sections): Likewise.
3278 (_bfd_nolink_bfd_is_group_section): Likewise.
3279 (_bfd_nolink_bfd_discard_group): Likewise.
3280 (_bfd_nolink_bfd_link_hash_table_create): Likewise.
3281 (_bfd_nolink_bfd_link_add_symbols): Likewise.
3282 (_bfd_nolink_bfd_link_just_syms): Likewise.
3283 (_bfd_nolink_bfd_copy_link_hash_symbol_type): Likewise.
3284 (_bfd_nolink_bfd_final_link): Likewise.
3285 (_bfd_nolink_bfd_link_split_section): Likewise.
3286 (_bfd_nolink_section_already_linked): Likewise.
3287 (_bfd_nolink_bfd_define_common_symbol): Likewise.
3288 (_bfd_nolink_bfd_define_start_stop): Likewise.
3289 (_bfd_nodynamic_canonicalize_dynamic_symtab): Likewise.
3290 (_bfd_nodynamic_get_synthetic_symtab): Likewise.
3291 (_bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_): Likewise.
3292 (_bfd_nodynamic_canonicalize_dynamic_reloc): Likewise.
3293 * libbfd.c (bfd_false_any): New function. Like bfd_false but
3294 accepts one or more arguments.
3295 (bfd_true_any): Likewise.
3296 (bfd_nullvoidptr_any): Likewise.
3297 (bfd_0_any): Likewise.
3298 (bfd_0u_any): Likewise.
3299 (bfd_0l_any): Likewise.
3300 (_bfd_n1_any): Likewise.
3301 (bfd_void_any): Likewise.
3302 * libbfd.h (extern): Regenerate
3303 * aout-target.h (MY_bfd_is_target_special_symbol): Use vararg
3304 based dummy function.
3305 * aout-tic30.c (tic30_aout_set_arch_mach): Likewise.
3306 * binary.c (binary_get_symbol_info): Likewise.
3307 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3308 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3309 * coffcode.h (coff_set_alignment_hook): Likewise.
3310 (symname_in_debug_hook): Likewise.
3311 (bfd_coff_backend_data bigobj_swap_table): Likewise.
3312 * elf-m10300.c (elf_backend_omit_section_dynsym): Likewise.
3313 * elf32-cr16.c (elf_backend_omit_section_dynsym): Likewise.
3314 * elf32-lm32.c (elf_backend_omit_section_dynsym): Likewise.
3315 * elf32-m32r.c (elf_backend_omit_section_dynsym): Likewise.
3316 * elf32-metag.c (elf_backend_omit_section_dynsym): Likewise.
3317 * elf32-score.c (elf_backend_omit_section_dynsym): Likewise.
3318 * elf32-score7.c (elf_backend_omit_section_dynsym): Likewise.
3319 * elf32-xstormy16.c (elf_backend_omit_section_dynsym): Likewise.
3320 * elf32-xtensa.c (elf_backend_omit_section_dynsym): Likewise.
3321 * elf64-alpha.c (elf_backend_omit_section_dynsym): Likewise.
3322 * elf64-hppa.c (elf_backend_omit_section_dynsym): Likewise.
3323 * elf64-ia64-vms.c (elf_backend_omit_section_dynsym): Likewise.
3324 * elf64-mmix.c (elf_backend_omit_section_dynsym): Likewise.
3325 * elf64-sh64.c (elf_backend_omit_section_dynsym): Likewise.
3326 * elfnn-ia64.c (elf_backend_omit_section_dynsym): Likewise.
3327 * elfxx-target.h (bfd_elfNN_bfd_debug_info_accumulate): Likewise.
3328 (bfd_elfNN_bfd_make_debug_symbol): Likewise.
3329 (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
3330 (bfd_elfNN_bfd_set_private_flags): Likewise.
3331 (bfd_elfNN_bfd_is_target_special_symbol): Likewise.
3332 (elf_backend_init_index_section): Likewise.
3333 (elf_backend_allow_non_load_phdr): Likewise.
3334 * elfxx-x86.h (elf_backend_omit_section_dynsym): Likewise.
3335 * i386msdos.c (msdos_bfd_is_target_special_symbol): Likewise.
3336 * ieee.c (ieee_construct_extended_name_table): Likewise.
3337 (ieee_write_armap): Likewise.
3338 (ieee_write_ar_hdr): Likewise.
3339 (ieee_bfd_is_target_special_symbol): Likewise.
3340 * ihex.c (ihex_canonicalize_symtab): Likewise.
3341 (ihex_bfd_is_target_special_symbol): Likewise.
3342 * libaout.h (aout_32_bfd_is_target_special_symbol): Likewise.
3343 * libecoff.h (_bfd_ecoff_bfd_is_target_special_symbol): Likewise.
3344 (_bfd_ecoff_set_alignment_hook): Likewise.
3345 * mach-o-target.c (bfd_mach_o_bfd_is_target_special_symbol): Likewise.
3346 * mmo.c (mmo_bfd_is_target_special_symbol): Likewise.
3347 * nlm-target.h (nlm_bfd_is_target_special_symbol): Likewise.
3348 * oasys.c (oasys_construct_extended_name_table): Likewise.
3349 (oasys_write_armap): Likewise.
3350 (oasys_write_ar_hdr): Likewise.
3351 (oasys_bfd_is_target_special_symbol): Likewise.
3352 * pef.c (bfd_pef_bfd_is_target_special_symbol): Likewise.
3353 * plugin.c (bfd_plugin_bfd_is_target_special_symbol): Likewise.
3354 * ppcboot.c (ppcboot_bfd_is_target_special_symbol): Likewise.
3355 * som.c (som_bfd_is_target_special_symbol): Likewise.
3356 * srec.c (srec_bfd_is_target_special_symbol): Likewise.
3357 * tekhex.c (tekhex_bfd_is_target_special_symbol): Likewise.
3358 * verilog.c (verilog_bfd_is_target_special_symbol): Likewise.
3359 * versados.c (versados_bfd_is_target_special_symbol): Likewise.
3360 (versados_bfd_reloc_name_lookup): Likewise.
3361 * vms-alpha.c (vms_bfd_is_target_special_symbol): Likewise.
3362 (vms_bfd_define_start_stop): Likewise.
3363 (alpha_vms_bfd_is_target_special_symbol): Likewise.
3364 * wasm-module.c (wasm_bfd_is_target_special_symbol): Likewise.
3365 * xsym.c (bfd_sym_bfd_is_target_special_symbol): Likewise.
3366 * elf32-arc.c (get_replace_function): Assign replacement function
3367 to func pointer.
3368 * elf32-i370.c (i370_noop): Update prototype.
3369
3370 2018-02-13 Alan Modra <amodra@gmail.com>
3371
3372 PR 22836
3373 * elf.c (_bfd_elf_fixup_group_sections): Account for removed
3374 relocation sections. If size reduces to just the flag word,
3375 remove that too and mark with SEC_EXCLUDE.
3376 * elflink.c (bfd_elf_final_link): Strip empty group sections.
3377
3378 2018-02-13 Alan Modra <amodra@gmail.com>
3379
3380 PR 22829
3381 * elf.c (assign_file_positions_for_non_load_sections): Rewrite
3382 PT_GNU_RELRO setup.
3383
3384 2018-02-12 Zebediah Figura <z.figura12@gmail.com>
3385
3386 * i386msdos.c (msdos_mkobject); New function.
3387 (msdos_object_p): New function.
3388 (i386_msdos_vec): Use msdos_object_p as the check_format
3389 function.
3390 * peicode.h: Rename external_PEI_DOS_hdr, DOSMAGIC, and
3391 NT_SIGNATURE to external_DOS_hdr, IMAGE_DOS_SIGNATURE, and
3392 IMAGE_NT_SIGNATURE.
3393 * peXXigen.c: Likewise.
3394 * coff-ia64.c: Likewise.
3395
3396 2018-02-12 Nick Clifton <nickc@redhat.com>
3397
3398 * elf32-nds32.c (nds32_elf_relax_longjump3): Remove redundant
3399 assignment.
3400 * elf32-arc.c (elf_arc_relocate_section): Likewise.
3401
3402 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
3403
3404 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Reorder conditions.
3405 (sparc_elf_append_rela): Assert that there is enough room in section.
3406 (_bfd_sparc_elf_copy_indirect_symbol): Fix formatting.
3407 (_bfd_sparc_elf_adjust_dynamic_symbol): Minor tweak.
3408 (allocate_dynrelocs): Remove outdated comments and reorder conditions.
3409 For a symbol subject to a GOT relocation, reserve a slot in the
3410 relocation section if the symbol isn't dynamic and we are in PIC mode.
3411 (_bfd_sparc_elf_relocate_section) <R_SPARC_GOTDATA_OP>: If relocation
3412 is relaxed and a slot was reserved, generate a R_SPARC_NONE relocation.
3413 <R_SPARC_GOTDATA_OP_HIX22>: Adjust comments.
3414 <R_SPARC_PC10>: Reorder conditions. Remove always-false assertion.
3415 (_bfd_sparc_elf_finish_dynamic_symbol): Rename local_undefweak into
3416 resolved_to_zero. Do not generate a dynamic GOT relocation for an
3417 undefined weak symbol with non-default visibility. Remove superfluous
3418 'else' and fix formatting.
3419
3420 2018-02-09 H.J. Lu <hongjiu.lu@intel.com>
3421
3422 * elf32-i386.c (elf_i386_get_synthetic_symtab): Also handle
3423 is_solaris.
3424 (i386_elf32_sol2_vec): Don't declare.
3425 (elf_i386_link_setup_gnu_properties): Also handle is_solaris.
3426 Don't set need_global_offset_table.
3427 (elf_i386_solaris_arch_bed): New.
3428 (elf_backend_arch_data): Set to elf_i386_solaris_arch_bed for
3429 Solaris.
3430 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Check
3431 target_os != is_nacl instead of target_os == is_normal.
3432 (x86_64_elf64_sol2_vec): Don't declare.
3433 (elf_x86_64_link_setup_gnu_properties): Check target_os !=
3434 is_nacl instead of target_os == is_normal. Don't set
3435 need_global_offset_table.
3436 (elf_x86_64_solaris_arch_bed): New.
3437 (elf_backend_arch_data): Set to elf_x86_64_solaris_arch_bed for
3438 Solaris.
3439 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep
3440 _GLOBAL_OFFSET_TABLE_ for Solaris.
3441 (_bfd_x86_elf_link_setup_gnu_properties): Don't copy
3442 need_global_offset_table.
3443 * elfxx-x86.h (elf_x86_target_os): Add is_solaris.
3444 (elf_x86_link_hash_table): Remove need_global_offset_table.
3445 (elf_x86_init_table): Likewise.
3446
3447 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
3448
3449 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
3450 Remove prototype.
3451 (i386_elf32_sol2_vec): Declared.
3452 (elf_i386_link_setup_gnu_properties): Set
3453 need_global_offset_table with info->output_bfd->xvec.
3454 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
3455 Remove prototype.
3456 (x86_64_elf64_sol2_vec): Declared.
3457 (elf_x86_64_link_setup_gnu_properties): Set
3458 need_global_offset_table with info->output_bfd->xvec.
3459
3460 2018-02-08 H.J. Lu <hongjiu.lu@intel.com>
3461
3462 * elf32-i386.c (elf32_i386_copy_solaris_special_section_fields):
3463 New prototype.
3464 (elf_i386_link_setup_gnu_properties): Set need_global_offset_table
3465 for Solaris.
3466 * elf64-x86-64.c (elf64_x86_64_copy_solaris_special_section_fields):
3467 New prototype.
3468 (elf_x86_64_link_setup_gnu_properties): Set
3469 need_global_offset_table for Solaris.
3470 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Keep the
3471 unused _GLOBAL_OFFSET_TABLE_ for Solaris.
3472 (_bfd_x86_elf_link_setup_gnu_properties): Copy
3473 need_global_offset_table.
3474 * elfxx-x86.h (elf_x86_link_hash_table): Add
3475 need_global_offset_table.
3476 (elf_x86_init_table): Likewise.
3477
3478 2018-02-08 Jim Wilson <jimw@sifive.com>
3479
3480 * elfnn-riscv.c (riscv_elf_relocate_section): Add comment for previous
3481 change.
3482
3483 2018-02-08 Nick Clifton <nickc@redhat.com>
3484
3485 PR 22788
3486 * elf.c (elf_parse_notes): Reject notes with excessuively large
3487 alignments.
3488
3489 2018-02-07 Alan Modra <amodra@gmail.com>
3490
3491 Revert 2018-01-17 Alan Modra <amodra@gmail.com>
3492 * elf32-ppc.c: Remove speculation barrier support.
3493 * elf32-ppc.h: Likewise.
3494 * elf64-ppc.c: Likewise.
3495 * elf64-ppc.h: Likewise.
3496
3497 2018-02-06 Jim Wilson <jimw@sifive.com>
3498
3499 * elfnn-riscv.c (riscv_elf_relocate_section): Return TRUE if used
3500 callback to report an error.
3501
3502 2018-02-06 Eric Botcazou <ebotcazou@adacore.com>
3503
3504 PR ld/22263
3505 * elfxx-sparc.c (sparc_elf_tls_transition): Turn call to bfd_link_pic
3506 into call to !bfd_link_executable and tidy up.
3507 (_bfd_sparc_elf_check_relocs): Fix formatting and tidy up.
3508 <R_SPARC_TLS_LE_HIX22>: Turn call to bfd_link_pic into call to
3509 !bfd_link_executable.
3510 <R_SPARC_TLS_IE_HI22>: Likewise.
3511 <GOT relocations>: Remove useless code, tidy and merge related blocks.
3512 <R_SPARC_TLS_GD_CALL>: Turn call to bfd_link_pic into call to
3513 !bfd_link_executable.
3514 <R_SPARC_WPLT30>: Tidy up.
3515 (_bfd_sparc_elf_gc_mark_hook): Turn call to bfd_link_pic into call to
3516 !bfd_link_executable.
3517 (allocate_dynrelocs): Likewise.
3518 (_bfd_sparc_elf_relocate_section): Fix formatting and tidy up.
3519 <R_SPARC_TLS_GD_HI22>: Merge into...
3520 <R_SPARC_TLS_GD_LO10>: ...this. Adjust 4th argument in call to
3521 sparc_elf_tls_transition and remove redundant code.
3522 <R_SPARC_TLS_LDM_HI22>: Turn call to bfd_link_pic into call to
3523 !bfd_link_executable.
3524 <R_SPARC_TLS_LDO_HIX22>: Likewise.
3525 <R_SPARC_TLS_LE_HIX22>: Likewise. Tidy up.
3526 <R_SPARC_TLS_LDM_CALL>: Likewise.
3527 <R_SPARC_TLS_GD_CALL>: Likewise. Tidy up.
3528 <R_SPARC_TLS_GD_ADD>: Likewise.
3529 <R_SPARC_TLS_LDM_ADD>: Likewise.
3530 <R_SPARC_TLS_LDO_ADD>: Likewise.
3531 <R_SPARC_TLS_IE_LD>: Likewise.
3532
3533 2018-02-06 Miloš Stojanović <milos.stojanovic@rt-rk.com>
3534
3535 PR 22789
3536 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): If the dwarf
3537 functions failed to find the function name, try the generic elf
3538 find function instead.
3539
3540 2018-02-06 Sergio Durigan Junior <sergiodj@redhat.com>
3541
3542 * coff-rs6000.c (xcoff_write_archive_contents_old): Use
3543 'memcpy' instead of 'strncpy' when writing the magic number.
3544
3545 2018-02-06 Nick Clifton <nickc@redhat.com>
3546
3547 PR 22794
3548 * opncls.c (bfd_get_debug_link_info_1): Check the size of the
3549 section before attempting to read it in.
3550 (bfd_get_alt_debug_link_info): Likewise.
3551
3552 2018-02-06 Paul Carroll <pcarroll@codesourcery.com>
3553
3554 * bfd/dwarf2.c (find_abstract_name): Modified to return file and
3555 line information in addition to name, if they can be found.
3556
3557 2018-02-05 Renlin Li <renlin.li@arm.com>
3558
3559 PR ld/22764
3560 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Relax the
3561 R_AARCH64_ABS32 and R_AARCH64_ABS16 for absolute symbol. Apply the
3562 check for writeable section as well.
3563
3564 2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
3565
3566 PR ld/22782
3567 * elf32-i386.c (elf_i386_check_relocs): Set got_referenced if
3568 _GLOBAL_OFFSET_TABLE_ is referenced or GOT is needed to resolve
3569 undefined weak symbol to 0.
3570 * elf64-x86-64.c (elf_x86_64_check_relocs): Set got_referenced
3571 if _GLOBAL_OFFSET_TABLE_ is referenced.
3572 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Check
3573 got_referenced instead of ref_regular_nonweak. Remove the
3574 unused _GLOBAL_OFFSET_TABLE_ from symbol table.
3575 * elfxx-x86.h (elf_x86_link_hash_table): Add got_referenced.
3576
3577 2018-02-05 Maciej W. Rozycki <macro@mips.com>
3578
3579 * elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
3580 initialize `hi_reloc'.
3581
3582 2018-02-05 Maciej W. Rozycki <macro@mips.com>
3583
3584 * elfxx-mips.c (_bfd_mips_elf_section_processing): For
3585 SHT_MIPS_REGINFO sections don't assert the correct size and
3586 report an error instead.
3587
3588 2018-02-05 Maciej W. Rozycki <macro@mips.com>
3589
3590 * elf.c (_bfd_elf_write_object_contents): Propagate a failure
3591 status from `->elf_backend_section_processing'.
3592
3593 2018-02-02 Jim Wilson <jimw@sifive.com>
3594
3595 PR ld/22756
3596 * elfnn-riscv.c (riscv_relax_delete_bytes): New parameter link_info.
3597 If link_info->wrap_hash, check for a duplicate symbol and ignore.
3598 (_bfd_riscv_relax_call, bfd_riscv_relax_lui, _bfd_riscv_relax_tls_le):
3599 Pass new argument to riscv_relax_delete_bytes.
3600 (_bfd_riscv_relax_align, _bfd_riscv_relax_delete): Likewise. Remove
3601 ATTRIBUTE_UNUSED from link_info parameter.
3602
3603 2018-02-02 Alan Modra <amodra@gmail.com>
3604
3605 * elf64-ppc.c (ppc64_elf_relocate_section): Don't relocate nops
3606 emitted for toc sequence optimization. Set and use "howto" later.
3607
3608 2018-02-01 Simon Marchi <simon.marchi@ericsson.com>
3609
3610 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Avoid pointer
3611 arithmetic on NULL pointer.
3612 * elflink.c (_bfd_elf_archive_symbol_lookup,
3613 elf_link_add_archive_symbols): Likewise.
3614
3615 2018-01-31 Michael Matz <matz@suse.de>
3616
3617 * elflink.c (bfd_elf_define_start_stop): Fix check of
3618 def_dynamic.
3619
3620 2018-01-31 H.J. Lu <hongjiu.lu@intel.com>
3621
3622 PR ld/21964
3623 * elflink.c (bfd_elf_define_start_stop): Check if __start and
3624 __stop symbols are referenced by shared objects.
3625
3626 2018-01-30 Alan Modra <amodra@gmail.com>
3627
3628 PR 22758
3629 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new
3630 segment when demand paged with lma on the same page. Test this
3631 before load/non-load, executable/non-executable,
3632 writable/non-writable tests and simplify. Delete bogus relro
3633 condition in writable/non-writable test. Delete outdated
3634 comment. Formatting.
3635
3636 2018-01-30 Alan Modra <amodra@gmail.com>
3637
3638 * elflink.c (bfd_elf_define_start_stop): Make __start and __stop
3639 symbols dynamic.
3640
3641 2018-01-29 Alan Modra <amodra@gmail.com>
3642
3643 PR 22741
3644 * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
3645 range before converting to a symbol table pointer.
3646
3647 2018-01-27 Nick Clifton <nickc@redhat.com>
3648
3649 * po/ru.po: Updated Russian translation.
3650
3651 2018-01-26 Alan Modra <amodra@gmail.com>
3652
3653 * elflink.c (bfd_elf_define_start_stop): Override symbols when
3654 they are defined dynamically.
3655
3656 2018-01-26 Alan Modra <amodra@gmail.com>
3657
3658 * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when
3659 .branch_lt changes size.
3660
3661 2018-01-25 Alan Modra <amodra@gmail.com>
3662
3663 PR 22746
3664 * elfcode.h (elf_object_p): Avoid integer overflow.
3665
3666 2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
3667
3668 PR ld/22727
3669 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs) <R_SPARC_TLS_GD_CALL>:
3670 Do a mere lookup of the __tls_get_addr symbol instead of adding it.
3671
3672 Revert
3673 2017-10-19 H.J. Lu <hongjiu.lu@intel.com>
3674
3675 PR ld/22263
3676 * elfxx-sparc.c (sparc_elf_tls_transition): Replace
3677 bfd_link_pic with !bfd_link_executable, !bfd_link_pic with
3678 bfd_link_executable for TLS check.
3679 (_bfd_sparc_elf_check_relocs): Likewise.
3680 (allocate_dynrelocs): Likewise.
3681 (_bfd_sparc_elf_relocate_section): Likewise.
3682
3683 2018-01-24 Renlin Li <renlin.li@arm.com>
3684
3685 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Add support for
3686 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
3687 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
3688 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
3689 BFD_RELOC_AARCH64_MOVW_PREL_G3.
3690 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
3691 (_bfd_aarch64_elf_resolve_relocation): Likewise.
3692
3693 2018-01-24 Renlin Li <renlin.li@arm.com>
3694
3695 * reloc.c: Add BFD_RELOC_AARCH64_MOVW_PREL_G0,
3696 BFD_RELOC_AARCH64_MOVW_PREL_G0_NC, BFD_RELOC_AARCH64_MOVW_PREL_G1,
3697 BFD_RELOC_AARCH64_MOVW_PREL_G1_NC, BFD_RELOC_AARCH64_MOVW_PREL_G2,
3698 BFD_RELOC_AARCH64_MOVW_PREL_G2_NC, BFD_RELOC_AARCH64_MOVW_PREL_G3.
3699 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Add entries for
3700 BFD_RELOC_AARCH64_MOVW_PREL_G0, BFD_RELOC_AARCH64_MOVW_PREL_G0_NC,
3701 BFD_RELOC_AARCH64_MOVW_PREL_G1, BFD_RELOC_AARCH64_MOVW_PREL_G1_NC,
3702 BFD_RELOC_AARCH64_MOVW_PREL_G2, BFD_RELOC_AARCH64_MOVW_PREL_G2_NC,
3703 BFD_RELOC_AARCH64_MOVW_PREL_G3.
3704 * bfd-in2.h: Regenerate.
3705 * libbfd.h: Regenerate.
3706
3707 2018-01-23 Maciej W. Rozycki <macro@mips.com>
3708
3709 * elfxx-mips.c (_bfd_mips_elf_final_link): Update a stale
3710 `mips_elf32_section_processing' comment reference.
3711
3712 2018-01-20 H.J. Lu <hongjiu.lu@intel.com>
3713
3714 PR ld/22721
3715 * elfxx-x86.c (_bfd_x86_elf_link_check_relocs): Check the
3716 versioned __tls_get_addr symbol.
3717
3718 2018-01-19 Nick Clifton <nickc@redhat.com>
3719
3720 * po/fr.po: Updated French translation.
3721
3722 2018-01-18 Alan Modra <amodra@gmail.com>
3723
3724 * elf32-ppc.c (ppc_elf_create_glink): Correct alignment of .glink.
3725 * elf64-ppc.c (ppc64_elf_size_stubs): Handle negative plt_stub_align.
3726 (ppc64_elf_build_stubs): Likewise.
3727
3728 2018-01-17 Nick Clifton <nickc@redhat.com>
3729
3730 * po/ru.po: Updated Russian translation.
3731 * po/uk/po: Updated Ukranian translation.
3732
3733 2018-01-17 Alan Modra <amodra@gmail.com>
3734
3735 * elf64-ppc.c (ppc64_elf_build_stubs): Silence gcc warning.
3736
3737 2018-01-17 Alan Modra <amodra@gmail.com>
3738
3739 * elf32-ppc.c (GLINK_ENTRY_SIZE): Handle speculation barrier.
3740 (CRSETEQ, BEQCTRM): Define.
3741 (is_nonpic_glink_stub): Don't check bctr.
3742 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
3743 (ppc_elf_relax_section): Size speculation barrier.
3744 (output_bctr): New function.
3745 (write_glink_stub): Use output_bctr.
3746 (ppc_elf_relocate_section): Use output_bctr for long branch stub.
3747 (ppc_elf_finish_dynamic_symbol): Likewise.
3748 (ppc_elf_finish_dynamic_sections): Use output_bctr.
3749 * elf32-ppc.h (struct ppc_elf_params): Add speculate_indirect_jumps.
3750 * elf64-ppc.c (CRSETEQ, BEQCTRM, BEQCTRLM): Define.
3751 (GLINK_PLTRESOLVE_SIZE): Size speculation barrier.
3752 (size_global_entry_stubs): Handle speculation barrier sizing.
3753 (plt_stub_size): Likewise.
3754 (output_bctr): New function.
3755 (build_plt_stub, build_tls_get_addr_stub): Output speculation
3756 barrier.
3757 (ppc_build_one_stub): Likewise for ppc_stub_plt_branch.
3758 (ppc_size_one_stub): Size speculation barrier in ppc_stub_plt_branch.
3759 (build_global_entry_stubs): Output speculation barrier.
3760 (ppc64_elf_build_stubs): Likewise in __glink_PLTresolve stub.
3761 * elf64-ppc.h (struct ppc64_elf_params): Add speculate_indirect_jumps.
3762
3763 2018-01-17 Alan Modra <amodra@gmail.com>
3764
3765 * elf32-ppc.c (GLINK_ENTRY_SIZE): Add parameters, handle
3766 __tls_get_addr_opt, and alignment sizing.
3767 (TLS_GET_ADDR_GLINK_SIZE): Delete.
3768 (is_nonpic_glink_stub): Don't use GLINK_ENTRY_SIZE.
3769 (ppc_elf_get_synthetic_symtab): Recognize stubs spaced at 4, 6,
3770 or 8 insns.
3771 (ppc_elf_link_hash_table_create): Init new ppc_elf_params field.
3772 (allocate_dynrelocs): Use new GLINK_ENTRY_SIZE.
3773 (ppc_elf_size_dynamic_sections): Likewise. Size branch table
3774 by PLT reloc count.
3775 (write_glink_stub): Handle __tls_get_addr_opt stub.
3776 Pad out to size given by GLINK_ENTRY_SIZE.
3777 (ppc_elf_relocate_section): Adjust write_glink_stub call.
3778 (ppc_elf_finish_dynamic_symbol): Likewise.
3779 (ppc_elf_finish_dynamic_sections): Write PLTresolve without using
3780 insn array since so many need rewriting.
3781 * elf32-ppc.h (struct ppc_elf_params): Add plt_stub_align.
3782 * elf64-ppc.c (GLINK_PLTRESOLVE_SIZE): Rename from
3783 GLINK_CALL_STUB_SIZE. Add htab param and evaluate to size without
3784 nops. Adjust all uses.
3785 (ppc64_elf_get_synthetic_symtab): Don't use GLINK_CALL_STUB_SIZE
3786 in glink_vma calculation.
3787 (struct ppc_link_hash_table): Add global_entry section pointer.
3788 (create_linkage_sections): Create separate section for global
3789 entry stubs.
3790 (PPC_LO, PPC_HI, PPC_HA): Move earlier.
3791 (size_global_entry_stubs): Handle sizing for aligned stubs.
3792 (ppc64_elf_size_dynamic_sections): Handle global_entry alloc,
3793 and don't stash end of glink branch table in rawsize.
3794 (ppc_build_one_stub): Rewrite stub size calculations.
3795 (build_global_entry_stubs): Use new section.
3796 (ppc64_elf_build_stubs): Don't pad __glink_PLTresolve with nops.
3797 Build lazy link stubs out to end of section. Build global entry
3798 stubs in new section.
3799
3800 2018-01-15 Nick Clifton <nickc@redhat.com>
3801
3802 * po/uk.po: Updated Ukranian translation.
3803
3804 2018-01-13 Nick Clifton <nickc@redhat.com>
3805
3806 * po/bfd.pot: Regenerated.
3807
3808 2018-01-13 Nick Clifton <nickc@redhat.com>
3809
3810 * version.m4: Bump version to 2.30.51
3811 * configure: Regenerate.
3812
3813 2018-01-13 Nick Clifton <nickc@redhat.com>
3814
3815 2.30 branch created.
3816
3817 2018-01-12 Jens Widell <jl@opera.com>
3818
3819 * elf.c (setup_group): Optimize search for group by remembering
3820 last found group and restarting search at that index.
3821 * elf-bfd.h (struct elf_obj_tdata): Add group_search_offset field.
3822
3823 2018-01-12 Gunther Nikl <gnikl@users.sourceforge.net>
3824
3825 * aoutx.h (aout_link_check_ar_symbols): Remove default and handle
3826 bfd_link_common_skip_none in switch.
3827
3828 2018-01-12 Alan Modra <amodra@gmail.com>
3829
3830 PR ld/22649
3831 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore dynamic
3832 references on forced local symbols.
3833
3834 2018-01-12 Vlad Ivanov <vlad@ivanov.email>
3835
3836 * elfxx-mips.c (_bfd_mips_elf_final_link): Notify user when
3837 .reginfo section has wrong size.
3838
3839 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
3840
3841 PR ld/22393
3842 * elf.c (_bfd_elf_map_sections_to_segments): When generating
3843 separate code and read-only data LOAD segments, create a new
3844 LOAD segment if the previous section contains text and the
3845 current section doesn't or vice versa. Don't put a writable
3846 section in a read-only segment if there is a RELRO segment.
3847
3848 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
3849
3850 PR ld/22649
3851 * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Ignore dynamic
3852 references on forced local symbols.
3853
3854 2018-01-11 H.J. Lu <hongjiu.lu@intel.com>
3855
3856 PR ld/22677
3857 * elflink.c (bfd_elf_gc_sections): Keep all PREINIT_ARRAY,
3858 INIT_ARRAY as well as FINI_ARRAY sections for ld -r --gc-section.
3859
3860 2018-01-09 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3861
3862 PR 22662
3863 * elf32-nds32.c (nds32_elf_relax_loadstore): Fix a typographical error.
3864
3865 2018-01-03 John Baldwin <jhb@FreeBSD.org>
3866
3867 * elf.c (elfcore_grok_freebsd_note): Handle
3868 NT_FREEBSD_PROCSTAT_PROC, NT_FREEBSD_PROCSTAT_FILES, and
3869 NT_FREEBSD_PROCSTAT_VMMAP.
3870
3871 2018-01-03 Alan Modra <amodra@gmail.com>
3872
3873 Update year range in copyright notice of all files.
3874
3875 For older changes see ChangeLog-2017
3876 \f
3877 Copyright (C) 2018 Free Software Foundation, Inc.
3878
3879 Copying and distribution of this file, with or without modification,
3880 are permitted in any medium without royalty provided the copyright
3881 notice and this notice are preserved.
3882
3883 Local Variables:
3884 mode: change-log
3885 left-margin: 8
3886 fill-column: 74
3887 version-control: never
3888 End:
This page took 0.127281 seconds and 4 git commands to generate.