Don't include libbfd.h outside of bfd, part 3
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
00dad9a4
AM
12016-07-16 Alan Modra <amodra@gmail.com>
2
3 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
4 * libbfd.h: Regenerate.
5 * bfd-in2.h: Regenerate.
6
76e7a751
AM
72016-07-16 Alan Modra <amodra@gmail.com>
8
9 * libbfd-in.h (BFD_ALIGN): Move to..
10 * bfd-in.h: ..here.
11 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
12 * elf32-ppc.c (default_params): Adjust init.
13 (ppc_elf_link_params): Set pagesize_p2.
14 * libbfd.h: Regenerate.
15 * bfd-in2.h: Regenerate.
16
76359541
TP
172016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
18
19 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
20 (_bfd_elf_filter_global_symbols): Declare.
21 * elf.c (_bfd_elf_filter_global_symbols): New function.
22 * elflink.c (elf_filter_global_symbols): Likewise.
23 (elf_output_implib): Likewise.
24 (bfd_elf_final_link): Call above function, failing if it does.
25 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
26 default it to NULL.
27 (elf_backend_copy_indirect_symbol): Fix spacing.
28 (elf_backend_hide_symbol): Likewise.
29 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
30
f7e8b360
NC
312016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
32 Nick Clifton <nickc@redhat.com>
33
34 * elf32-arc.c (PR_DEBUG): Delete.
35 Fix printing of debug information. Fix formatting of debug
36 statements.
37 (debug_arc_reloc): Handle symbols that are not from an input file.
38 (arc_do_relocation): Remove excessive exclamation points.
39
40 * arc-got.h: Fix formatting. Fix printing of debug information.
41 (new_got_entry_to_list): Use xmalloc.
42 * config.bfd: use the big-endian arc vector as the default vector
43 for big-endian arc targets.
44
06ab6faf
AM
452016-07-15 Alan Modra <amodra@gmail.com>
46
47 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
48 from marking sym_indices.
49
0c117286
MR
502016-07-14 Maciej W. Rozycki <macro@imgtec.com>
51
52 * reloc.c (bfd_perform_relocation): Try the `howto' handler
53 first with relocations against absolute symbols.
54 (bfd_install_relocation): Likewise.
55
37567a2c
L
562016-07-12 H.J. Lu <hongjiu.lu@intel.com>
57
58 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
59 .got/.got.plt sections to 8 bytes.
60
cf143069
NC
612016-07-12 Nick Clifton <nickc@redhat.com>
62
63 * binary.c (binary_set_section_contents): Second grammar fix.
64
f231881e
DR
652016-07-12 Douglas B Rupp <rupp@adacore.com>
66
67 * binary.c (binary_set_section_contents): Fix grammar in warning
68 message.
69
b9316f59
CM
702016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
71
72 * elf32-arc.c: made PR_DEBUG always defined.
73
08759e0f
CM
742016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
75
76 * arc-got.h: Moved got related structures from elf32-arc.c to
77 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
78 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
79 tls_type_for_reloc, symbol_has_entry_of_type,
80 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
81 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
82 relocate_fix_got_relocs_for_got_info,
83 create_got_dynrelocs_for_single_entry,
84 create_got_dynrelocs_for_got_info): Added to file.
85 * elf32-arc.c: Removed GOT & TLS related structs and functions to
86 arc-got.h.
87
458653a9 882016-07-08 James Bowman <james.bowman@ftdichip.com>
89
90 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
91
d5a67c02
AV
922016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
93
94 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
95 (THUMB32_MOVW): Likewise.
96 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
97 (DEF_STUBS): Define long_branch_thumb2_only_pure.
98 (arm_stub_is_thumb): Add new veneer stub.
99 (arm_type_of_stub): Use new veneer.
100 (arm_stub_required_alignment): Add new veneer.
101
f0728ee3
AV
1022016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
103
104 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
105 (SEC_ELF_PURECODE): ... this.
106 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
107 to SEC_ELF_NOREAD.
108 (elf32_arm_fake_sections): Likewise.
109 (elf_32_arm_section_flags): Likewise.
110 (elf_32_arm_lookup_section_flags): Likewise.
111 * section.c (SEC_ELF_NOREAD): Rename to ...
112 (SEC_ELF_PURECODE): ... this.
113
5e866f5a
TP
1142016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
115
116 * elf32-arm.c (using_thumb2_bl): New function.
117 (arm_type_of_stub): Declare thumb2 variable together and change type
118 to bfd_boolean. Use using_thumb2_bl () to determine whether
119 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
120 checked for BL range.
121 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
122 the bit size of BL offset.
123
d691934d
NC
1242016-06-29 Nick Clifton <nickc@redhat.com>
125
126 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
127 Returns TRUE for AArch64 mapping symbols.
128 (elfNN_aarch64_backend_symbol_processing): New function. Marks
129 mapping symbols as precious in object files so that they will not
130 be stripped.
131 (elf_backend_symbol_processing): Define.
132
133 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
134 for ARM mapping symbols.
135 (elf32_arm_backend_symbol_processing): Make use of the new function.
136
f4ab0e2d
L
1372016-06-28 H.J. Lu <hongjiu.lu@intel.com>
138
139 PR ld/20306
140 * elflink.c (elf_link_check_versioned_symbol): Return false
141 for unreferenced undefined symbol.
142
fca2a38f
NC
1432016-06-28 Nick Clifton <nickc@redhat.com>
144
1b857aee
NC
145 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
146 is needed.
147
fca2a38f
NC
148 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
149 function. Marks mapping symbols in object files as precious, so
150 that strip will not remove them.
151 (elf_backend_symbol_processing): Define.
152
7160c10d
JC
1532016-06-28 James Clarke <jrtc27@jrtc27.com>
154
155 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
156 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
157
c9775dde
MR
1582016-06-28 Maciej W. Rozycki <macro@imgtec.com>
159
160 * elf32-mips.c (elf_mips16_howto_table_rel): Add
161 R_MIPS16_PC16_S1.
162 (mips16_reloc_map): Likewise.
163 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
164 (mips16_elf64_howto_table_rela): Likewise.
165 (mips16_reloc_map): Likewise.
166 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
167 (elf_mips16_howto_table_rela): Likewise.
168 (mips16_reloc_map): Likewise.
169 * elfxx-mips.c (mips16_branch_reloc_p): New function.
170 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
171 (b_reloc_p): Likewise.
172 (mips_elf_calculate_relocation): Likewise.
173 (_bfd_mips_elf_check_relocs): Likewise.
174 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
175 * bfd-in2.h: Regenerate.
176 * libbfd.h: Regenerate.
177
c9301e31
AM
1782016-06-27 Alan Modra <amodra@gmail.com>
179
180 PR ld/19264
181 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
182 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
183 if shrinking stubs.
184 (ppc64_elf_size_stubs): Adjust to suit.
185
3cd72572
TS
1862016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
187
188 * elf32-dlx.h: New file.
189 * elf32-dlx.c: Adjust.
190
7c2c4aa1
TS
1912016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
192
193 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
194
3350c5f5
JB
1952016-06-24 John Baldwin <jhb@FreeBSD.org>
196
197 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
198 notes.
199
aa1ed4a9
JB
2002016-06-24 John Baldwin <jhb@FreeBSD.org>
201
202 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
203 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
204 (elfcore_grok_freebsd_psinfo): New function.
205 (elfcore_grok_freebsd_prstatus): New function.
206 (elfcore_grok_freebsd_note): New function.
207 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
208 notes.
209
6e321fa8
JB
2102016-06-24 Joel Brobecker <brobecker@adacore.com>
211
212 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
213 than its existance.
214
9cc0123f
AM
2152016-06-24 Alan Modra <amodra@gmail.com>
216
217 * config.bfd: Delete mips vxworks patterns matched earlier.
218 Combine mips*-*-none with mips*-*-elf*.
219
5f68df25
MR
2202016-06-21 Maciej W. Rozycki <macro@imgtec.com>
221
222 * elfxx-mips.c (mips_elf_perform_relocation): Call
223 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
224 use the `%X%H' format for the cross-mode jump conversion error
225 message. Remove the full stop from the end of the message.
226 Continue processing rather than returning failure.
227
bdd582db
GM
2282016-06-21 Graham Markall <graham.markall@embecosm.com>
229
230 * archures.c: Remove bfd_mach_arc_nps400.
231 * bfd-in2.h: Likewise.
232 * cpu-arc.c (arch_info_struct): Likewise.
233 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
234 Likewise.
235
7dc3990e
L
2362016-06-20 H.J. Lu <hongjiu.lu@intel.com>
237
238 PR ld/18250
239 PR ld/20267
240 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
241 defined.
242 (elf_link_is_defined_archive_symbol): Call
243 bfd_link_plugin_object_p on unknown plugin object and use the
244 IR symbol table if the input is an IR object.
245 * plugin.c (bfd_link_plugin_object_p): New function.
246 * plugin.h (bfd_link_plugin_object_p): New prototype.
247
0616a280
AM
2482016-06-20 H.J. Lu <hongjiu.lu@intel.com>
249
250 PR ld/20276
251 * elflink.c (elf_link_add_object_symbols): Don't check alignment
252 on symbol from plugin dummy input.
253
49f30d83
L
2542016-06-18 H.J. Lu <hongjiu.lu@intel.com>
255
256 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
257 bfd_plugin_unknown.
258 * bfd-in2.h: Regenerated.
259 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
260 with bfd_plugin_unknown.
261
233cc9c1
L
2622016-06-18 H.J. Lu <hongjiu.lu@intel.com>
263
264 PR ld/20253
265 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
266 bfd_boolean argument.
267 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
268 "shared object" with "PIC object" in comments.
269 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
270 "shared object" with "PIC object" in comments. Avoid PLT if
271 requested. Generate dynamic relocations for non-GOT references.
272 Make room for the special first entry in PLT and allocate PLT
273 entry only for PLT and PC-relative references. Store dynamic
274 GOT relocations in .rel[a].iplt section for static executables.
275 If PLT isn't used, always use GOT for symbol value. Don't
276 allocate GOT entry if it isn't used.
277 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
278 count only in the code section. Allocate dynamic pointer
279 relocation against STT_GNU_IFUNC symbol in the non-code section.
280 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
281 only for PC-relative references.
282 (elf_i386_allocate_dynrelocs): Pass TRUE to
283 _bfd_elf_allocate_ifunc_dyn_relocs.
284 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
285 relocations against STT_GNU_IFUNC symbols without PLT. Generate
286 dynamic pointer relocation against STT_GNU_IFUNC symbol in
287 the non-code section and store it in the proper REL section.
288 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
289 without PLT.
290 (elf_i386_finish_dynamic_symbol): Generate dynamic
291 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
292 STT_GNU_IFUNC symbols without PLT.
293 (elf_i386_finish_dynamic_sections): Don't handle local
294 STT_GNU_IFUNC symbols here.
295 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
296 symbols here.
297 (elf_backend_output_arch_local_syms): New.
298 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
299 count only in the code section. Allocate dynamic pointer
300 relocation against STT_GNU_IFUNC symbol in the non-code section.
301 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
302 count only for PC-relative references.
303 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
304 _bfd_elf_allocate_ifunc_dyn_relocs.
305 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
306 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
307 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
308 without PLT. Generate dynamic pointer relocation against
309 STT_GNU_IFUNC symbol in the non-code section and store it in
310 the proper RELA section. Don't allow non-pointer relocation
311 against STT_GNU_IFUNC symbol without PLT.
312 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
313 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
314 STT_GNU_IFUNC symbols without PLT.
315 (elf_x86_64_finish_dynamic_sections): Don't handle local
316 STT_GNU_IFUNC symbols here.
317 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
318 symbols here.
319 (elf_backend_output_arch_local_syms): New.
320 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
321 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
322
80c135e5
TP
3232016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
324 Tony Wang <tony.wang@arm.com>
325
326 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
327 sequence.
328 (stub_long_branch_thumb2_only): Define stub.
329 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
330 (arm_stub_long_branch_thumb2_only): Likewise.
331 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
332 capable targets.
333
4f26fb3a
JM
3342016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
335
336 * archures.c (bfd_mach_sparc_v8plusc): Define.
337 (bfd_mach_sparc_v9c): Likewise.
338 (bfd_mach_sparc_v8plusd): Likewise.
339 (bfd_mach_sparc_v9d): Likewise.
340 (bfd_mach_sparc_v8pluse): Likewise.
341 (bfd_mach_sparc_v9e): Likewise.
342 (bfd_mach_sparc_v8plusv): Likewise
343 (bfd_mach_sparc_v9v): Likewise.
344 (bfd_mach_sparc_v8plusm): Likewise.
345 (bfd_mach_sparc_v9m): Likewise.
346 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
347 (bfd_mach_sparc_64bit_p): Likewise.
348 * bfd-in2.h: Regenerate.
349 * cpu-sparc.c (arch_info_struct): Add entries for
350 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
351 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
352 and bfd_mach_sparc_v9{c,d,e,v,m}.
353 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
354 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
355
ca45f6e9
L
3562016-06-16 H.J. Lu <hongjiu.lu@intel.com>
357
358 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
359 symbols for relocations against IFUNC symbols.
360 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
361
f92339b8
MK
3622016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
363
364 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
365 .rela.iplt in DT_PLTRELSZ.
366 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
367 for DT_PLTRELSZ and DT_RELASZ as well.
368
081b1afe
L
3692016-06-16 H.J. Lu <hongjiu.lu@intel.com>
370
371 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
372 non-loaded, non-alloced sections.
373 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
374
4c23f2ff
L
3752016-06-15 H.J. Lu <hongjiu.lu@intel.com>
376
377 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
378 allocating dynamic relocation.
379 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
380
31eef93e
SKS
3812016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
382
383 PR ld/20254
384 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
385 offsets until reloc_toaddr.
386
c428ce9d
L
3872016-06-14 H.J. Lu <hongjiu.lu@intel.com>
388
389 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
390 Don't check symbol type for STN_UNDEF symbol index.
391 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
392 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
393 index.
394
60a019a0
TP
3952016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
396
397 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
398 new architecture.
399 (using_thumb2): Try Tag_THUMB_ISA_use first and check
400 for exact arch value then. Force review of arch check logic for new
401 architecture.
402 (arch_has_arm_nop): Update and fix arch check logic. Force review of
403 that logic for new architecture.
404 (arch_has_thumb2_nop): Remove.
405 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
406 (elf32_arm_final_link_relocate): Likewise but using thumb2.
407
3860d2b4
AM
4082016-06-14 Alan Modra <amodra@gmail.com>
409
410 * bfd-in.h (bfd_my_archive): Delete.
411 * bfd-in2.h: Regenerate.
412
b0cffb47
AM
4132016-06-14 Alan Modra <amodra@gmail.com>
414
415 PR ld/20241
416 * archive.c (open_nested_file): Set my_archive.
417 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
418 for thin archives.
419 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
420 (bfd_seek): Likewise.
421 * bfdwin.c (bfd_get_file_window): Likewise.
422 * cache.c (cache_bmmap): Likewise.
423 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
424 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
425 thin archives.
426 * plugin.c (try_claim): Likewise.
427 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
428 file within thin archive, not the archive.
429
712ec279
L
4302016-06-13 H.J. Lu <hongjiu.lu@intel.com>
431
432 PR ld/20244
433 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
434 section address for R_386_GOT32/R_386_GOT32X relocations against
435 IFUNC symbols if there is no base register and return error for
436 PIC.
437
ca8c86ef
L
4382016-06-13 H.J. Lu <hongjiu.lu@intel.com>
439
440 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
441 GOT32 adjustment for static executables.
442
0c9663cb
MR
4432016-06-13 Maciej W. Rozycki <macro@imgtec.com>
444
445 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
446
815dc1bc
CZ
4472016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
448
449 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
450
3b63d2ce
CM
4512016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
452
453 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
454
2ab2f40d
CM
4552016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
456
457 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
458 (SECTSTART): Changed.
459 (elf_arc_relocate_section): Fixed mistake in PIE related
460 condition.
461 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
462
0f7f3789
CM
4632016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
464
465 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
466 enable support for "-z combreloc" and DT_RELACOUNT.
467 (elf_backend_reloc_type_class): Likewise
468
74d7f0aa
L
4692016-06-11 H.J. Lu <hongjiu.lu@intel.com>
470
471 PR ld/20244
472 * elf32-i386.c (elf_i386_relocate_section): When relocating
473 R_386_GOT32, return error without a base register for PIC and
474 subtract the .got.plt section address only with a base register.
475
ef53be89
AM
4762016-06-10 Alan Modra <amodra@gmail.com>
477
478 * elf-strtab.c (struct strtab_save): Use size_t for "size".
479 (struct elf_strtab_hash): Likewise for "size" and "alloced".
480 (_bfd_elf_strtab_init): Formatting.
481 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
482 (_bfd_elf_strtab_addref): Take size_t idx param.
483 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
484 (_bfd_elf_strtab_offset): Likewise.
485 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
486 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
487 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
488 (_bfd_elf_strtab_finalize): Similarly.
489 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
490 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
491 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
492 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
493 using bfd_size_type.
494 (bfd_section_from_shdr): Delete amt.
495 (_bfd_elf_init_reloc_shdr): Likewise.
496 (_bfd_elf_link_assign_sym_version): Likewise.
497 (assign_section_numbers): Use size_t reloc_count.
498 * elflink.c (struct elf_symbuf_head): Use size_t "count".
499 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
500 (elf_link_is_defined_archive_symbol): Likewise.
501 (elf_add_dt_needed_tag): Likewise.
502 (elf_finalize_dynstr): Likewise.
503 (elf_link_add_object_symbols): Likewise.
504 (bfd_elf_size_dynamic_sections): Likewise.
505 (elf_create_symbuf): Similarly.
506 (bfd_elf_match_symbols_in_sections): Likewise.
507 (elf_link_swap_symbols_out): Likewise.
508 (elf_link_check_versioned_symbol): Likewise.
509 (bfd_elf_gc_record_vtinherit): Likewise.
510 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
511
5c41dbc3
DC
5122016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
513
514 PR ld/20221
515 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
516 and relocs only if shrinking occurred.
517
6eaa7fb5
L
5182016-06-08 H.J. Lu <hongjiu.lu@intel.com>
519
520 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
521 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
522 (elf_i386_check_tls_transition): Check indirect call and direct
523 call with the addr32 prefix for general and local dynamic models.
524 Set the tls_get_addr feild.
525 (elf_i386_convert_load_reloc): Always use addr32 prefix for
526 indirect ___tls_get_addr call via GOT.
527 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
528 transitions with indirect call and direct call with the addr32
529 prefix.
530
3b67f094
MK
5312016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
532
533 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
534 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
535 (elf_s390_relocate_section): Fix comment.
536 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
537 .got.plt entries.
538
161db279
AK
5392016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
540
541 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
542 section offset when calculation the larl operand in the first PLT
543 entry.
544
14b57c7c
AM
5452016-06-07 Alan Modra <amodra@gmail.com>
546
547 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
548 to match other 32-bit archs.
549 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
550 (ppc_elf_object_p): Call it.
551 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
552 overlong line.
553 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
554 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
555 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
556 _bfd_elf_ppc_at_tprel_transform): Move to..
557 * elf-bfd.h: ..here.
558 (_bfd_elf_ppc_set_arch): Declare.
559 * bfd-in2.h: Regenerate.
560
e2cbcd91
L
5612016-06-06 H.J. Lu <hongjiu.lu@intel.com>
562
563 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
564 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
565 (elf_x86_64_check_tls_transition): Check indirect call and
566 direct call with the addr32 prefix for general and local dynamic
567 models. Set the tls_get_addr feild.
568 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
569 indirect __tls_get_addr call via GOT.
570 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
571 transitions with indirect call and direct call with the addr32
572 prefix.
573
2ac27cd3
CG
5742016-06-04 Christian Groessler <chris@groessler.org>
575
576 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
577
99914dfd
NC
5782016-06-02 Nick Clifton <nickc@redhat.com>
579
580 PR target/20088
581 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
582 architecture.
583 (arch_info_struct): Likewise.
584 (architectures): Likewise.
585
4ad0bb5f
VG
5862016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
587
588 * config.bfd: Replace -uclibc with *.
589
3ddf1bdd
L
5902016-06-02 H.J. Lu <hongjiu.lu@intel.com>
591
592 * elf64-x86-64.c: Replace data32 with data16 in comments.
593
5b677558
AM
5942016-05-31 Alan Modra <amodra@gmail.com>
595
596 PR ld/20159
597 PR ld/16467
598 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
599 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
600 symbol given a version by a script different to the version
601 of the symbol being added.
602 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
603 _bfd_elf_strtab_restore. Don't fudge dynstr references.
604 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
605 (struct strtab_save): New.
606 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
607 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
608 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
609
1fe0971e
TS
6102016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
611
612 * elf32-hppa.h: Add extern "C".
613 * elf32-nds32.h: Likewise.
614 * elf32-tic6x.h: Likewise.
615
885a1087
NC
6162016-06-01 Nick Clifton <nickc@redhat.com>
617
618 * po/sr.po: New Serbian translation.
619 * configure.ac (ALL_LINGUAS): Add sr.
620 * configure: Regenerate.
621
99aefae6
MR
6222016-05-28 Maciej W. Rozycki <macro@imgtec.com>
623
624 * elfxx-mips.c (b_reloc_p): New function.
625 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
626 branch relocations.
627
77434823
MR
6282016-05-28 Maciej W. Rozycki <macro@imgtec.com>
629
630 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
631 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
632 reloc location from calculation, treat the addend as signed with
633 local non-section symbols and enable overflow detection.
634
1a72702b
AM
6352016-05-28 Alan Modra <amodra@gmail.com>
636
637 * aoutx.h: Adjust linker callback calls throughout file,
638 removing dead code.
639 * bout.c: Likewise.
640 * coff-alpha.c: Likewise.
641 * coff-arm.c: Likewise.
642 * coff-h8300.c: Likewise.
643 * coff-h8500.c: Likewise.
644 * coff-i960.c: Likewise.
645 * coff-mcore.c: Likewise.
646 * coff-mips.c: Likewise.
647 * coff-ppc.c: Likewise.
648 * coff-rs6000.c: Likewise.
649 * coff-sh.c: Likewise.
650 * coff-tic80.c: Likewise.
651 * coff-w65.c: Likewise.
652 * coff-z80.c: Likewise.
653 * coff-z8k.c: Likewise.
654 * coff64-rs6000.c: Likewise.
655 * cofflink.c: Likewise.
656 * ecoff.c: Likewise.
657 * elf-bfd.h: Likewise.
658 * elf-m10200.c: Likewise.
659 * elf-m10300.c: Likewise.
660 * elf32-arc.c: Likewise.
661 * elf32-arm.c: Likewise.
662 * elf32-avr.c: Likewise.
663 * elf32-bfin.c: Likewise.
664 * elf32-cr16.c: Likewise.
665 * elf32-cr16c.c: Likewise.
666 * elf32-cris.c: Likewise.
667 * elf32-crx.c: Likewise.
668 * elf32-d10v.c: Likewise.
669 * elf32-epiphany.c: Likewise.
670 * elf32-fr30.c: Likewise.
671 * elf32-frv.c: Likewise.
672 * elf32-ft32.c: Likewise.
673 * elf32-h8300.c: Likewise.
674 * elf32-hppa.c: Likewise.
675 * elf32-i370.c: Likewise.
676 * elf32-i386.c: Likewise.
677 * elf32-i860.c: Likewise.
678 * elf32-ip2k.c: Likewise.
679 * elf32-iq2000.c: Likewise.
680 * elf32-lm32.c: Likewise.
681 * elf32-m32c.c: Likewise.
682 * elf32-m32r.c: Likewise.
683 * elf32-m68hc1x.c: Likewise.
684 * elf32-m68k.c: Likewise.
685 * elf32-mep.c: Likewise.
686 * elf32-metag.c: Likewise.
687 * elf32-microblaze.c: Likewise.
688 * elf32-moxie.c: Likewise.
689 * elf32-msp430.c: Likewise.
690 * elf32-mt.c: Likewise.
691 * elf32-nds32.c: Likewise.
692 * elf32-nios2.c: Likewise.
693 * elf32-or1k.c: Likewise.
694 * elf32-ppc.c: Likewise.
695 * elf32-s390.c: Likewise.
696 * elf32-score.c: Likewise.
697 * elf32-score7.c: Likewise.
698 * elf32-sh.c: Likewise.
699 * elf32-sh64.c: Likewise.
700 * elf32-spu.c: Likewise.
701 * elf32-tic6x.c: Likewise.
702 * elf32-tilepro.c: Likewise.
703 * elf32-v850.c: Likewise.
704 * elf32-vax.c: Likewise.
705 * elf32-visium.c: Likewise.
706 * elf32-xstormy16.c: Likewise.
707 * elf32-xtensa.c: Likewise.
708 * elf64-alpha.c: Likewise.
709 * elf64-hppa.c: Likewise.
710 * elf64-ia64-vms.c: Likewise.
711 * elf64-mmix.c: Likewise.
712 * elf64-ppc.c: Likewise.
713 * elf64-s390.c: Likewise.
714 * elf64-sh64.c: Likewise.
715 * elf64-x86-64.c: Likewise.
716 * elflink.c: Likewise.
717 * elfnn-aarch64.c: Likewise.
718 * elfnn-ia64.c: Likewise.
719 * elfxx-mips.c: Likewise.
720 * elfxx-sparc.c: Likewise.
721 * elfxx-tilegx.c: Likewise.
722 * linker.c: Likewise.
723 * pdp11.c: Likewise.
724 * pe-mips.c: Likewise.
725 * reloc.c: Likewise.
726 * reloc16.c: Likewise.
727 * simple.c: Likewise.
728 * vms-alpha.c: Likewise.
729 * xcofflink.c: Likewise.
730 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
731 status param. Adjust calls to these and linker callbacks throughout.
732 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
733 get_ramstart): Delete status param. Adjust calls to these and
734 linker callbacks throughout.
735
bc27bb05
MR
7362016-05-27 Maciej W. Rozycki <macro@imgtec.com>
737
738 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
739 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
740 target alignment verification.
741
ceab86af
MR
7422016-05-27 Maciej W. Rozycki <macro@imgtec.com>
743
744 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
745 section name if `bfd_elf_string_from_elf_section' returns an
746 empty string.
747
ed53407e
MR
7482016-05-26 Maciej W. Rozycki <macro@imgtec.com>
749
750 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
751 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
752 for message. Continue processing rather than returning failure.
753
de341542 7542016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 755
de341542
MR
756 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
757 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
758 Call `bfd_set_error'.
759
e6cc316a
L
7602016-05-25 H.J. Lu <hongjiu.lu@intel.com>
761
762 PR binutils/14625
763 * archive.c (bfd_slurp_armap): Replace
764 bfd_elf64_archive_slurp_armap with
765 _bfd_archive_64_bit_slurp_armap.
766 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
767 BFD64 is defined and the archive is too big.
768 (coff_write_armap): Likewise.
769 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
770 (_bfd_archive_64_bit_slurp_armap): This.
771 (bfd_elf64_archive_write_armap): Renamed to ...
772 (_bfd_archive_64_bit_write_armap): This.
773 * configure.ac: Add --enable-64-bit-archive.
774 (want_64_bit_archive): New. Set to true by default for 64-bit
775 MIPS and s390 ELF targets.
776 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
777 * config.in: Regenerated.
778 * configure: Likewise.
779 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
780 (bfd_elf64_archive_slurp_armap): Likewise.
781 (bfd_elf64_archive_write_armap): Likewise.
782 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
783 (bfd_elf64_archive_construct_extended_name_table): Likewise.
784 (bfd_elf64_archive_truncate_arname): Likewise.
785 (bfd_elf64_archive_read_ar_hdr): Likewise.
786 (bfd_elf64_archive_write_ar_hdr): Likewise.
787 (bfd_elf64_archive_openr_next_archived_file): Likewise.
788 (bfd_elf64_archive_get_elt_at_index): Likewise.
789 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
790 (bfd_elf64_archive_update_armap_timestamp): Likewise.
791 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
792 (bfd_elf64_archive_slurp_armap): Likewise.
793 (bfd_elf64_archive_write_armap): Likewise.
794 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
795 (bfd_elf64_archive_construct_extended_name_table): Likewise.
796 (bfd_elf64_archive_truncate_arname): Likewise.
797 (bfd_elf64_archive_read_ar_hdr): Likewise.
798 (bfd_elf64_archive_write_ar_hdr): Likewise.
799 (bfd_elf64_archive_openr_next_archived_file): Likewise.
800 (bfd_elf64_archive_get_elt_at_index): Likewise.
801 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
802 (bfd_elf64_archive_update_armap_timestamp): Likewise.
803 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
804 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
805 bfd_elfNN_archive_functions isn't defined.
806 (TARGET_LITTLE_SYM): Likewise.
807 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
808 (_bfd_archive_64_bit_write_armap): Likewise.
809 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
810 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
811 (_bfd_archive_64_bit_truncate_arname): Likewise.
812 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
813 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
814 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
815 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
816 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
817 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
818 * libbfd.h: Regenerated.
819 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
820 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
821
b95a0a31
L
8222016-05-25 H.J. Lu <hongjiu.lu@intel.com>
823
824 PR ld/20103
825 * cofflink.c (coff_link_check_archive_element): Return TRUE if
826 linker add_archive_element callback returns FALSE.
827 * ecoff.c (ecoff_link_check_archive_element): Likewise.
828 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
829 archive element if linker add_archive_element callback returns
830 FALSE.
831 * elflink.c (elf_link_add_archive_symbols): Likewise.
832 * pdp11.c (aout_link_check_ar_symbols): Likewise.
833 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
834 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
835 (xcoff_link_check_ar_symbols): Likewise.
836
7db9a74e
MR
8372016-05-24 Maciej W. Rozycki <macro@imgtec.com>
838
839 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
840 <bfd_reloc_outofrange>: Unify error reporting code.
841
b7f28d87
JW
8422016-05-23 Jim Wilson <jim.wilson@linaro.org>
843
844 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
845 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
846 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
847 * bfd-in2.h: Regenerate.
848 * libbfd.h: Likewise.
849
a2bea324
KS
8502016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
851
852 * config.bfd: Add entry for arm-phoenix.
853
d7c5bd02
TP
8542016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
855
856 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
857 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
858 account for padding for stub section requiring one.
859 (elf32_arm_build_stubs): Add comment to stress the importance of
860 zeroing veneer section content.
861
daa4adae
TP
8622016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
863
864 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
865 bfd hook.
866 * bfd-in2.h: Regenerate.
867 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
868 function.
869 (arm_dedicated_stub_output_section_required_alignment): Likewise.
870 (arm_dedicated_stub_output_section_name): Likewise.
871 (arm_dedicated_stub_input_section_ptr): Likewise.
872 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
873 function description comment. Add support for dedicated output stub
874 section to given stub types.
875 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
876 elf32_arm_create_or_find_stub_sec.
877 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
878 (elf32_arm_size_stubs): Pass stub type when calling
879 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
880 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
881
52bf37dd
L
8822016-05-20 H.J. Lu <hongjiu.lu@intel.com>
883
884 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
885 when setting need_convert_load.
886
17c6c9d9
MR
8872016-05-20 Maciej W. Rozycki <macro@imgtec.com>
888
889 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
890 microMIPS JALX.
891
7d4d9709
L
8922016-05-19 H.J. Lu <hongjiu.lu@intel.com>
893
894 PR ld/20117
895 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
896 R_386_GOT32X.
897 (elf_i386_convert_load): Don't convert R_386_GOT32.
898
606851fb
AM
8992016-05-20 Alan Modra <amodra@gmail.com>
900
901 PR gas/20118
902 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
903 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
904
3c8adaca
CZ
9052016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
906
907 * elf32-arc.c (arc_elf_final_write_processing): Changed.
908 (debug_arc_reloc): Likewise.
909 (elf_arc_relocate_section): Likewise.
910 (elf_arc_check_relocs): Likewise.
911 (elf_arc_adjust_dynamic_symbol): Likewise.
912 (elf_arc_add_symbol_hook): Likewise.
913
6b200de0
MR
9142016-05-19 Maciej W. Rozycki <macro@imgtec.com>
915
916 * config.bfd: Remove `am34-*-linux*' support.
917
57e7d118
AM
9182016-05-19 Alan Modra <amodra@gmail.com>
919
920 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
921 relocs before plt relocs.
922
9f284bf9
AM
9232016-05-19 Alan Modra <amodra@gmail.com>
924
925 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
926 before dereferencing.
927
50498060
NC
9282016-05-18 Nick Clifton <nickc@redhat.com>
929
930 * po/sv.po: Updated Swedish translation.
931
7f991970
AM
9322016-05-18 Alan Modra <amodra@gmail.com>
933
934 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
935 for each BFD. Don't goto error_ret_free_local from outside loop.
936
a43942db
MR
9372016-05-17 Maciej W. Rozycki <macro@imgtec.com>
938
939 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
940 STB_GNU_UNIQUE handling.
941 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
942 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
943 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
944 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
945 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
946 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
947 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
948 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
949 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
950 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
951 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
952 (elf_backend_add_symbol_hook): Remove macro.
953 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
954 for STB_GNU_UNIQUE symbols.
955
71de3413
MR
9562016-05-16 Maciej W. Rozycki <macro@imgtec.com>
957
958 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
959 from...
960 (v850_elf_copy_private_bfd_data): ... here. Call the new
961 function and `_bfd_elf_copy_private_bfd_data'.
962
2168b268
L
9632016-05-13 H.J. Lu <hongjiu.lu@intel.com>
964
965 PR ld/20093
966 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
967 GOTPCREL relocation against large section.
968
4ade44b7
AM
9692016-05-13 Alan Modra <amodra@gmail.com>
970
971 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
972 linker dynamic sections in calculating size and address of
2168b268 973 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
974 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
975 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
976 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
977 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
978 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
979 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
980 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
981 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
982 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
983 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
984 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
985 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
986 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
987 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
988 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
989 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
990 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
991 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
992 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
993 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
994 * elflink.c (bfd_elf_final_link): Likewise.
995 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
996 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
997 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
998 don't set doit. Look up dynobj section.
999 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
1000 invocation and dynamic tag vma calculation. Don't test
1001 boolean var == TRUE.
1002 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
1003 DT_JMPREL calc.
1004
c8e44c6d
AM
10052016-05-13 Alan Modra <amodra@gmail.com>
1006
1007 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
1008 octets_per_byte. Put dynamic .rela.plt last in link orders.
1009 Assign output_offset for reloc sections rather than writing
1010 sorted relocs from block corresponding to output_offset.
1011
1997c994
AM
10122016-05-12 Alan Modra <amodra@gmail.com>
1013
1014 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
1015
8f4f9071
MF
10162016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
1017
1018 * elfxx-mips.c (print_mips_ases): Add DSPR3.
1019
a464198b
AM
10202016-05-11 Alan Modra <amodra@gmail.com>
1021
1022 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
1023 (elf32_hppa_check_relocs): Don't set dynobj.
1024 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
1025 (elf32_hppa_build_stubs): Likewise.
1026 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
1027
3bd43ebc
AM
10282016-05-11 Alan Modra <amodra@gmail.com>
1029
1030 PR 20060
1031 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
1032 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
1033
4e7fbb34
JW
10342016-05-10 Jiong Wang <jiong.wang@arm.com>
1035
1036 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
1037 aarch64_tls_transition check.
1038
4f4faa4d
TP
10392016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1040
1041 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
1042 enumerator.
1043 (arm_stub_sym_claimed): New function.
1044 (elf32_arm_create_stub): Use veneered symbol name and section if
1045 veneer needs to claim its symbol, and keep logic unchanged otherwise.
1046 (arm_stub_claim_sym): New function.
1047 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
1048 veneered symbol, otherwise create local symbol as before.
1049
39d911fc
TP
10502016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1051
1052 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
1053 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
1054 and set branch type of a symbol.
1055 (bfd_elf32_arm_process_before_allocation): Likewise.
1056 (elf32_arm_relocate_section): Likewise and fix identation along the
1057 way.
1058 (allocate_dynrelocs_for_symbol): Likewise.
1059 (elf32_arm_finish_dynamic_symbol): Likewise.
1060 (elf32_arm_swap_symbol_in): Likewise.
1061 (elf32_arm_swap_symbol_out): Likewise.
1062
6bde4c52
TP
10632016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1064
1065 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
1066 * bfd-in2.h: Regenerated.
1067 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
1068 parameter to add_stub_section callback.
1069 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
1070 and pass it down to add_stub_section.
1071 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
1072 for error message.
1073 (elf32_arm_size_stubs): Add output section parameter to
1074 add_stub_section function pointer parameter.
1075
b715f643
TP
10762016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1077
1078 * elf32-arm.c (elf32_arm_create_stub): New function.
1079 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
1080
8d9d9490
TP
10812016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1082
1083 * elf32-arm.c (enum elf32_arm_stub_type): Delete
1084 arm_stub_a8_veneer_lwm enumerator.
1085 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
1086 aforementioned enumerator.
1087 (struct elf32_arm_stub_hash_entry): Delete target_addend
1088 field and add source_value.
1089 (struct a8_erratum_fix): Delete addend field and add target_offset.
1090 (stub_hash_newfunc): Initialize source_value field amd remove
1091 initialization for target_addend.
1092 (arm_build_one_stub): Stop special casing Thumb relocations: promote
1093 the else to being always executed, moving the
1094 arm_stub_a8_veneer_b_cond specific code in it. Remove
1095 stub_entry->target_addend from points_to computation.
1096 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
1097 to target symbol from start of section rather than the offset from the
1098 stub address.
1099 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
1100 fields from struct a8_erratum_fix's offset and target_offset
1101 respectively.
1102 (make_branch_to_a8_stub): Rename target variable to loc. Compute
1103 veneered_insn_loc and loc using stub_entry's source_value.
1104
15afaa63
TP
11052016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
1106
1107 (elf32_arm_merge_eabi_attributes): Add merging logic for
1108 Tag_DSP_extension.
1109
66a36822
PC
11102016-05-10 Pip Cet <pipcet@gmail.com>
1111
1112 PR ld/20059
1113 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
1114 Define as _bfd_generic_copy_link_hash_symbol_type when using
1115 generic hash table.
1116
315350be
NC
11172016-05-09 Nick Clifton <nickc@redhat.com>
1118
1119 PR binutils/20063
1120 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
1121 field before accessing sections array.
1122
9239bbd3
CM
11232016-05-09 Christophe Monat <christophe.monat@st.com>
1124
1125 PR ld/20030
1126 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
1127 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
1128 to nb_words.
1129 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
1130 encoding.
1131 (create_instruction_vldmdb): Likewise.
1132 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
1133 uses it to re-encode.
1134
73597c18
NC
11352016-05-09 Nick Clifton <nickc@redhat.com>
1136
1137 PR 19938
1138 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
1139 commit.
1140
ae1bb197
AM
11412016-05-09 Alan Modra <amodra@gmail.com>
1142
1143 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
1144
97196564
L
11452016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1146
1147 PR ld/17550
1148 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
1149 documenting that indx == -3 if symbol is defined in a discarded
1150 section.
1151 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
1152 symbol is defined in a discarded section.
1153 (elf_link_output_extsym): Strip a global symbol defined in a
1154 discarded section.
1155
030e823c
L
11562016-05-06 H.J. Lu <hongjiu.lu@intel.com>
1157
1158 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
1159 MCU.
1160
c175a657
L
11612016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1162
1163 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
1164 conversion to ...
1165 (elf_i386_convert_load_reloc): This. New function.
1166 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
1167 conversion to ...
1168 (elf_x86_64_convert_load_reloc): This. New function.
1169
bedfd056
L
11702016-05-05 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
1173 Don't check if contents == NULL.
1174 (elf_i386_tls_transition): Add from_relocate_section. Check
1175 from_relocate_section instead of contents != NULL. Update
1176 elf_i386_check_tls_transition call.
1177 (elf_i386_check_relocs): Cache the section contents if
1178 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1179 elf_i386_tls_transition.
1180 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
1181 to elf_i386_tls_transition.
1182 (elf_backend_caches_rawsize): New.
1183 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
1184 if contents == NULL.
1185 (elf_x86_64_tls_transition): Add from_relocate_section. Check
1186 from_relocate_section instead of contents != NULL.
1187 (elf_x86_64_check_relocs): Cache the section contents if
1188 keep_memory is FALSE. Pass FALSE as from_relocate_section to
1189 elf_x86_64_tls_transition.
1190 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
1191 to elf_x86_64_tls_transition.
1192 (elf_backend_caches_rawsize): New.
1193
6d6a648c
MR
11942016-05-03 Maciej W. Rozycki <macro@imgtec.com>
1195
1196 PR 10549
1197 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
1198 STB_GNU_UNIQUE.
1199
1f56df9d
JW
12002016-05-03 Jiong Wang <jiong.wang@arm.com>
1201
1202 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
1203 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
1204 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
1205 no_apply_dynamic_relocs.
1206 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
1207 dynamic relocations generated.
1208
493f652c
L
12092016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1210
1211 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
1212 setting to ...
1213 (elf_i386_create_dynamic_sections): Here.
1214 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
1215 interp setting to ...
1216 (elf_x86_64_create_dynamic_sections): Here.
1217
e62b9723
L
12182016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1219
1220 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
1221 and replace (EH)->has_got_reloc with GOT_RELOC.
1222 (elf_i386_fixup_symbol): Pass has_got_reloc to
1223 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1224 (elf_i386_allocate_dynrelocs): Likewise.
1225 (elf_i386_relocate_section): Likewise.
1226 (elf_i386_finish_dynamic_symbol): Likewise.
1227 (elf_i386_convert_load): Pass TRUE to
1228 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1229 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
1230 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
1231 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
1232 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1233 (elf_x86_64_allocate_dynrelocs): Likewise.
1234 (elf_x86_64_relocate_section): Likewise.
1235 (elf_x86_64_finish_dynamic_symbol): Likewise.
1236 (elf_x86_64_convert_load): Pass TRUE to
1237 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
1238
c337a162
L
12392016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1240
1241 * elf32-i386.c (check_relocs_failed): New.
1242 (elf_i386_check_relocs): Set check_relocs_failed on error.
1243 (elf_i386_relocate_section): Skip if check_relocs failed.
1244
afd9acee
L
12452016-04-29 H.J. Lu <hongjiu.lu@intel.com>
1246
1247 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
1248 check_relocs_failed on error.
1249
5522f910
NC
12502016-04-29 Nick Clifton <nickc@redhat.com>
1251
1252 PR 19938
1253 * elf-bfd.h (struct elf_backend_data): Rename
1254 elf_backend_set_special_section_info_and_link to
1255 elf_backend_copy_special_section_fields.
1256 * elfxx-target.h: Likewise.
1257 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
1258 comparing section flags.
1259 (copy_special_section_fields): New function.
1260 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
1261 Perform two scans over special sections. The first one looks for
1262 a direct mapping between the output section and an input section.
1263 The second scan looks for a possible match based upon section
1264 characteristics.
1265 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
1266 function. Handle setting the sh_link field of SHT_ARM_EXIDX
1267 sections.
1268 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
1269 elf32_i386_copy_solaris_special_section_fields.
1270 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
1271 Rename to elf32_sparc_copy_solaris_special_section_fields.
1272 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
1273 elf64_x86_64_copy_solaris_special_section_fields.
1274
786a118c
NC
12752016-04-28 Nick Clifton <nickc@redhat.com>
1276
1277 * po/zh_CN.po: Updated Chinese (simplified) translation.
1278
91f8bf69
L
12792016-04-27 H.J. Lu <hongjiu.lu@intel.com>
1280
1281 PR ld/20006
1282 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
1283 when estimating distances between output sections.
1284
a6a4679f
AM
12852016-04-27 Alan Modra <amodra@gmail.com>
1286
1287 * elflink.c (_bfd_elf_is_start_stop): New function.
1288 (_bfd_elf_gc_mark_rsec): Use it.
1289 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
1290
28cc9170
TS
12912016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1292
1293 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
1294 * mmo.c (mmo_get_section_contents): Likewise.
1295 (mmo_set_section_contents): Likewise.
1296
d5486c43
L
12972016-04-26 H.J. Lu <hongjiu.lu@intel.com>
1298
1299 * elf-bfd.h (elf_link_hash_table): Update comments for
1300 dynsymcount.
1301 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
1302 the unused NULL entry at the head of dynamic symbol table.
1303 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
1304 checks.
1305
6645479e
L
13062016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1307
1308 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
1309 created file from dynobj.
1310
6cd255ca
L
13112016-04-21 H.J. Lu <hongjiu.lu@intel.com>
1312
1313 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
1314 normal input file if possible.
1315
4f3b23b3
NC
13162016-04-21 Nick Clifton <nickc@redhat.com>
1317
1318 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
1319 * aout-target.h: Likewise.
1320 * aout-tic30.c: Likewise.
1321 * binary.c: Likewise.
1322 * bout.c: Likewise.
1323 * coff-alpha.c: Likewise.
1324 * coff-rs6000.c: Likewise.
1325 * coff64-rs6000.c: Likewise.
1326 * coffcode.h: Likewise.
1327 * i386msdos.c: Likewise.
1328 * i386os9k.c: Likewise.
1329 * ieee.c: Likewise.
1330 * ihex.c: Likewise.
1331 * libbfd-in.h: Likewise.
1332 * libecoff.h: Likewise.
1333 * mach-o-target.c: Likewise.
1334 * mmo.c: Likewise.
1335 * nlm-target.h: Likewise.
1336 * oasys.c: Likewise.
1337 * pef.c: Likewise.
1338 * plugin.c: Likewise.
1339 * ppcboot.c: Likewise.
1340 * som.c: Likewise.
1341 * srec.c: Likewise.
1342 * tekhex.c: Likewise.
1343 * versados.c: Likewise.
1344 * vms-alpha.c: Likewise.
1345 * xsym.c: Likewise.
1346 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
1347 * linker.c (bfd_link_check_relocs): New function.
1348 (_bfd_generic_link_check_relocs): New function.
1349 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
1350 _bfd_link_check_relocs field.
1351 (struct bfd_target)L Add _bfd_link_check_relocs field.
1352 * bfd-in2.h: Regenerate.
1353 * libbfd.h: Regenerate.
1354
e66cdd68
L
13552016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1356
1357 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
1358 (elf_backend_gc_sweep_hook): Likewise.
1359 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1360 (elf_backend_gc_sweep_hook): Likewise.
1361
5ce03cea
L
13622016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1363
1364 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
1365 in excluded sections
1366
338c190a
L
13672016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1368
1369 PR ld/19969
1370 * elf64-x86-64.c (check_relocs_failed): New.
1371 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
1372 Support relocation agaist local symbol. Set check_relocs_failed.
1373 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
1374 R_X86_64_32 relocation overflow.
1375 (elf_x86_64_relocate_section): Skip if check_relocs failed.
1376 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
1377
466ee2af
L
13782016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1379
1380 * elf32-i386.c (elf_i386_check_relocs): Call
1381 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
1382 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1383
d9689752
L
13842016-04-20 H.J. Lu <hongjiu.lu@intel.com>
1385
1386 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
1387 * elflink.c (_bfd_elf_link_check_relocs): New function.
1388 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
1389 if check_relocs_after_open_input is FALSE.
1390
e6c7cdec
TS
13912016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1392
1393 * cache.c: Update old style function definitions.
1394 * elf32-m68k.c: Likewise.
1395 * elf64-mmix.c: Likewise.
1396 * stab-syms.c: Likewise.
1397
b98e6871
TS
13982016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1399
1400 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
1401
6fd8e7c2
L
14022016-04-15 H.J. Lu <hongjiu.lu@intel.com>
1403
1404 * Makefile.in: Regenerated with automake 1.11.6.
1405 * aclocal.m4: Likewise.
1406 * doc/Makefile.in: Likewise.
1407
4b0c052e
AB
14082016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1409
1410 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
1411 * bfd-in2.h: Regenerate.
1412 * libbfd.h: Regenerate.
1413 * elf32-arc.c: Add 'opcode/arc.h' include.
1414 (struct arc_relocation_data): Add symbol_name.
1415 (arc_special_overflow_checks): New function.
1416 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
1417 required, add an extra comment.
1418 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
1419
33cbe6c0
AB
14202016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
1421
1422 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
1423 entries.
1424 (elf_arc_relocate_section): Update enum uses.
1425 (elf_arc_check_relocs): Likewise.
1426 (elf_arc_finish_dynamic_symbol): Likewise.
1427
7634c4e6
L
14282016-04-14 H.J. Lu <hongjiu.lu@intel.com>
1429
1430 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
1431 "sh_link".
1432
84865015
NC
14332016-04-14 Nick Clifton <nickc@redhat.com>
1434
1435 PR target/19938
1436 * elf-bbfd.h (struct elf_backend_data): New field:
1437 elf_strtab_flags.
1438 New field: elf_backend_set_special_section_info_and_link
1439 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
1440 defined.
1441 (elf_backend_set_special_section_info_and_link): Define if not
1442 already defined.
1443 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
1444 elf_backend_strtab_flags macros to initialise fields in structure.
1445 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
1446 being set even if SHF_MERGE is not set.
1447 (elf_fake_sections): Likewise.
1448 (section_match): New function. Matches two ELF sections based
1449 upon fixed characteristics.
1450 (find_link): New function. Locates a section in a BFD that
1451 matches a section in a different BFD.
1452 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
1453 fields of reserved sections.
1454 (bfd_elf_compute_section_file_positions): Set the flags for the
1455 .shstrtab section based upon the elf_strtab_flags field in the
1456 elf_backend_data structure.
1457 (swap_out_syms): Likewise for the .strtab section.
1458 * elflink.c (bfd_elf_final_link): Set the flags for the
1459 .strtab section based upon the elf_strtab_flags field in the
1460 elf_backend_data structure.
1461 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
1462 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
1463 targets.
1464 (elf_backend_set_special_section_info_and_link): Define for
1465 Solaris targets.
1466 * elf32-sparc.c: Likewise.
1467 * elf64-x86-64.c: Likewise.
1468
2df3368d
L
14692016-04-11 H.J. Lu <hongjiu.lu@intel.com>
1470
1471 PR ld/19939
1472 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
1473 to bfd_boolean.
1474 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1475 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
1476 applies to read-only section.
1477 * elf32-i386.c (elf_i386_link_hash_table): Add
1478 readonly_dynrelocs_against_ifunc.
1479 (elf_i386_allocate_dynrelocs): Updated.
1480 (elf_i386_size_dynamic_sections): Issue an error for read-only
1481 segment with dynamic IFUNC relocations only if
1482 readonly_dynrelocs_against_ifunc is TRUE.
1483 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
1484 readonly_dynrelocs_against_ifunc.
1485 (elf_x86_64_allocate_dynrelocs): Updated.
1486 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
1487 segment with dynamic IFUNC relocations only if
1488 readonly_dynrelocs_against_ifunc is TRUE.
1489 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1490 Updated.
1491
15dd01b1
TP
14922016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
1493
1494 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
1495 a fall through from error_ret_free_internal. Free local_syms in
1496 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
1497
1e5885b7
CZ
14982016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1499
1500 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
1501 (relocate_plt_for_entry): Likewise.
1502
b3aee839
CZ
15032016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1504
1505 * elf32-arc.c (elf_arc_check_relocs): Changed
1506
094fb063
CZ
15072016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1508
1509 * elf32-arc.c (name_for_global_symbol): Changed assert.
1510 (get_replace_function): Created.:
1511 (struct arc_relocation_data): Changed to signed types.
1512 (defines S, L, P, PDATA): Casted to signed type.
1513 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
1514 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
1515 (arc_do_relocation): Changed.
1516
94e5c971
CZ
15172016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
1518
1519 * elf32-arc.c (name_for_global_symbol): Added assert to check for
1520 symbol index.
1521 (elf_arc_relocate_section): Added and changed asserts, validating
1522 the synamic symbol index.
1523 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
1524 relocation if symbol has dynindx set to -1.
1525
1f599d0e
MR
15262016-04-05 Maciej W. Rozycki <macro@imgtec.com>
1527
1528 * elflink.c (elf_link_add_object_symbols): Always turn hidden
1529 and internal symbols which have a dynamic index into local
1530 ones.
1531
67f101ee
NC
15322016-04-04 Nick Clifton <nickc@redhat.com>
1533
1534 PR 19872
1535 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
1536 version number if the version is zero.
1537
7b15fa7a
AM
15382016-04-01 Alan Modra <amodra@gmail.com>
1539
1540 PR 19886
1541 * elflink.c (on_needed_list): Recursively check needed status.
1542 (elf_link_add_object_symbols): Adjust.
1543
024ea11b
SKS
15442016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1545
1546 * elf32-avr.c (avr_elf32_load_records_from_section): Free
1547 internal_relocs only if they aren't cached.
1548
ed3056eb
NC
15492016-03-29 Nick Clifton <nickc@redhat.com>
1550
1551 PR 17334
1552 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
1553 assertion on the size of the got section to allow it to be bigger
1554 than the number of relocs.
1555
e2b4fc91
TS
15562016-03-29 Toni Spets <toni.spets@iki.fi>
1557
1558 PR 19878
1559 * coffcode.h (coff_write_object_contents): Revert accidental
1560 2014-11-10 change.
1561
a97fbc7e
AM
15622016-03-22 Alan Modra <amodra@gmail.com>
1563
1564 PR 19850
1565 * dwarf2.c (read_attribute_value): Skip info_ptr check for
1566 DW_FORM_flag_present.
1567
9780e045
NC
15682016-03-22 Nick Clifton <nickc@redhat.com>
1569
96254e5c
NC
1570 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
1571 architecture name for backwards compatibility.
1572
7769fa97
NC
1573 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
1574 unbounded stack use.
1575
9780e045
NC
1576 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
1577 sufficiently recent version of GCC.
1578 * configure: Regenerate.
1579
6f4c0a42
AM
15802016-03-22 Alan Modra <amodra@gmail.com>
1581
1582 PR 19851
1583 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
1584
8699fc3e
AB
15852016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1586
1587 * archures.c (bfd_mach_arc_nps400): Define.
1588 * bfd-in2.h: Regenerate.
1589 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
1590 some existing entries to make space.
1591 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
1592 (arc_elf_final_write_processing): Likewise.
1593
a9522a21
AB
15942016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1595
1596 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
1597 EF_ARC_CPU_GENERIC.
1598 (arc_elf_final_write_processing): Don't bother setting cpu field
1599 in e_flags, this will have been set elsewhere.
1600
c0334580
AB
16012016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
1602
1603 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
1604 EF_ARC_MACH_MSK.
1605
e1fa0163
NC
16062016-03-21 Nick Clifton <nickc@redhat.com>
1607
1608 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
1609 * configure: Regenerate.
1610 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
1611 alloca with call to xmalloc.
1612 * elf32-nds32.c: Likewise.
1613 * elf64-hppa.c: Likewise.
1614 * elfxx-mips.c: Likewise.
1615 * pef.c: Likewise.
1616 * pei-x86_64.c: Likewise.
1617 * som.c: Likewise.
1618 * xsym.c: Likewise.
1619
4e0c91e4
L
16202016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1621
1622 PR ld/19827
1623 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
1624 locally in PIE.
1625 (elf_i386_relocate_section): Likewise.
1626 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1627 (elf_x86_64_relocate_section): Likewise.
1628
4c10bbaa
L
16292016-03-15 H.J. Lu <hongjiu.lu@intel.com>
1630
1631 PR ld/19807
1632 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
1633 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
1634 relocation overflow check.
1635
fbe48798
L
16362016-03-14 H.J. Lu <hongjiu.lu@intel.com>
1637
1638 * bfd-in2.h: Regenerated.
1639
37b01f6a
DG
16402016-03-11 Dan Gissel <dgisselq@ieee.org>
1641
1642 PR 19713
1643 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
1644 uses bytes not octets.
1645 * elflink.c (resolve_section): Likewise.
1646 Add a bfd parameter.
1647 (eval_section): Pass the input_bfd to resolve_section.
1648 (bfd_elf_perform_complex_relocation): Convert byte offset to
1649 octets before read and writing values.
1650 (elf_link_input_bfd): Add byte to octet conversions.
1651 (elf_reloc_link_order): Likewise.
1652 (elf_fixup_link_order): Likewise.
1653 (bfd_elf_final_link): Likewise.
1654 * reloc.c (_bfd_final_link_relocate): Likewise.
1655 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1656
3ed4ff97
NC
16572016-03-10 Nick Clifton <nickc@redhat.com>
1658
1659 * config.bfd: Mark the i370 target as obsolete.
1660
4b05e0a7
PA
16612016-03-09 Pedro Alves <palves@redhat.com>
1662
1663 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
1664 gcc ABI)" to printable name.
1665 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
1666 of "v850-rh850" as printable name.
1667
26c62da0
LW
16682016-03-09 Leon Winter <winter-gcc@bfw-online.de>
1669
1670 PR ld/19623
1671 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
1672 relocations against absolute symbols.
1673
03ee8583
AM
16742016-03-09 Alan Modra <amodra@gmail.com>
1675
1676 PR binutils/19775
1677 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
1678 length elements in the archive.
1679
9c1d7a08
L
16802016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1681
1682 PR ld/19789
1683 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
1684 for -E/--dynamic-list only when not relocatable.
1685
d1ed1c7d
L
16862016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1687
1688 PR ld/19784
1689 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1690 count for locally defined local IFUNC symbols in shared object.
1691 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1692
202ac193
L
16932016-03-08 H.J. Lu <hongjiu.lu@intel.com>
1694
1695 PR ld/19579
1696 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
1697 together.
1698
72f3b6aa
CZ
16992016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1700 Andrew Burgess <andrew.burgess@embecosm.com>
1701
1702 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
1703 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
1704 (arc_elf_howto_init): Added assert to validate relocations.
1705 (get_middle_endian_relocation): Delete.
1706 (middle_endian_convert): New function.
1707 (ME): Redefine, now does nothing.
1708 (IS_ME): New define.
1709 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
1710 definition to call middle_endian_convert. Add a new local
1711 variable and make use of this throughout. Added call to
1712 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
1713
4fc87424
NC
17142016-03-07 Nick Clifton <nickc@redhat.com>
1715
1716 PR binutils/19775
1717 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
1718 length elements in the archive.
1719
18f822a0
JW
17202016-03-07 Jiong Wang <jiong.wang@arm.com>
1721
1722 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
1723 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
1724
07492f66
L
17252016-03-04 H.J. Lu <hongjiu.lu@intel.com>
1726
1727 PR ld/19579
1728 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
1729 executable as definition if the new definition comes from a
1730 shared library.
1731
70a5df4f
AM
17322016-03-02 Alan Modra <amodra@gmail.com>
1733
1734 * Makefile.in: Regenerate.
1735 * po/SRC-POTFILES.in: Regenerate.
1736
841fdfcd
CZ
17372016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
1738
1739 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
1740 relocation addend when sections get merged.
1741
7e458899
CZ
17422016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1743
1744 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
1745 the flag change.
1746 (elf_arc_relocate_section): Fixes and conditions to support PIE.
1747 Assert for code sections dynamic relocs.
1748
c5e3a364
RL
17492016-02-26 Renlin Li <renlin.li@arm.com>
1750
1751 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
1752 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
1753
bae420ef
L
17542016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1755
1756 PR ld/19609
1757 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
1758 load with locally bound symbols if PIC is false or there is no
1759 base register. Optimize branch to 0 if PIC is false.
1760 (elf_i386_relocate_section): Don't generate dynamic relocations
1761 against undefined weak symbols if PIC is false.
1762 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
1763 if we can't estimate relocation overflow with --no-relax.
1764 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
1765 symbols if PIC is false. Optimize branch to 0 if PIC is false.
1766 (elf_x86_64_relocate_section): Don't generate dynamic relocations
1767 against undefined weak symbols if PIC is false.
1768
11e5f1ec
L
17692016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1770
1771 PR ld/19645
1772 * bfd.c (bfd): Change flags to 20 bits.
1773 (BFD_CONVERT_ELF_COMMON): New.
1774 (BFD_USE_ELF_STT_COMMON): Likewise.
1775 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
1776 BFD_USE_ELF_STT_COMMON.
1777 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
1778 * configure.ac: Remove --enable-elf-stt-common.
1779 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
1780 common symbol depending on BFD_CONVERT_ELF_COMMON and
1781 BFD_USE_ELF_STT_COMMON.
1782 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
1783 STT_COMMON.
1784 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
1785 STT_COMMON.
1786 (elf_link_convert_common_type): New function.
1787 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
1788 common symbol depending on BFD_CONVERT_ELF_COMMON and
1789 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
1790 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
1791 and BFD_USE_ELF_STT_COMMON to object_flags.
1792 (TARGET_LITTLE_SYM): Likewise.
1793 * syms.c (BSF_KEEP_G): Renamed to ...
1794 (BSF_ELF_COMMON): This.
1795 * bfd-in2.h: Regenerated.
1796 * config.in: Likewise.
1797 * configure: Likewise.
1798
aec6b87e
L
17992016-02-26 H.J. Lu <hongjiu.lu@intel.com>
1800
1801 PR ld/19636
1802 PR ld/19704
1803 PR ld/19719
1804 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1805 (elf_i386_link_hash_entry): Add has_got_reloc and
1806 has_non_got_reloc.
1807 (elf_i386_link_hash_table): Add interp.
1808 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
1809 has_non_got_reloc.
1810 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
1811 has_non_got_reloc.
1812 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
1813 (elf_i386_fixup_symbol): New function.
1814 (elf_i386_pie_finish_undefweak_symbol): Likewise.
1815 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
1816 relocations and discard relocations against resolved undefined
1817 weak symbols in executable. Don't make resolved undefined weak
1818 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
1819 relocation against undefined weak symbols in PIE.
1820 (elf_i386_size_dynamic_sections): Set interp to .interp section.
1821 (elf_i386_relocate_section): Don't generate dynamic relocations
1822 against resolved undefined weak symbols in PIE, except for
1823 R_386_PC32.
1824 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
1825 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1826 Don't generate dynamic relocation against resolved undefined weak
1827 symbol in executable.
1828 (elf_i386_finish_dynamic_sections): Call
1829 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
1830 (elf_backend_fixup_symbol): New.
1831 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
1832 (elf_x86_64_link_hash_entry): Add has_got_reloc and
1833 has_non_got_reloc.
1834 (elf_x86_64_link_hash_table): Add interp.
1835 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
1836 has_non_got_reloc.
1837 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
1838 has_non_got_reloc.
1839 (elf_x86_64_check_relocs): Set has_got_reloc and
1840 has_non_got_reloc.
1841 (elf_x86_64_fixup_symbol): New function.
1842 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
1843 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
1844 relocations and discard relocations against resolved undefined
1845 weak symbols in executable. Don't make resolved undefined weak
1846 symbols in executable dynamic.
1847 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
1848 (elf_x86_64_relocate_section): Check relocation overflow for
1849 dynamic relocations against unresolved weak undefined symbols.
1850 Don't generate dynamic relocations against resolved weak
1851 undefined symbols in PIE.
1852 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
1853 dynamic PLT/GOT relocations for resolved undefined weak symbols.
1854 Don't generate dynamic relocation against resolved undefined weak
1855 symbol in executable.
1856 (elf_x86_64_finish_dynamic_sections): Call
1857 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
1858 (elf_backend_fixup_symbol): New.
1859
b32547cd
AM
18602016-02-26 Alan Modra <amodra@gmail.com>
1861
1862 * elf64-ppc.c (create_linkage_sections): Create sfpr when
1863 save_restore_funcs, rest of sections when not relocatable.
1864 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
1865 (sfpr_define): Define all symbols on emitted code.
1866 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
1867 when relocatable. Move sfpr_define loop earlier.
1868
ef77d6af
L
18692016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1870
1871 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
1872 (elf_x86_64_relocate_section): Use it. Replace
1873 x86_64_elf_howto_table[r_type] with howto.
1874
0f550b3d
L
18752016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1876
1877 PR ld/19698
1878 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
1879 symbol version is unknown.
1880
13f42277
L
18812016-02-24 H.J. Lu <hongjiu.lu@intel.com>
1882
1883 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
1884 to (bfd_vma) -1 when setting needs_plt to 0.
1885 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1886
6b3b0ab8
L
18872016-02-23 H.J. Lu <hongjiu.lu@intel.com>
1888
1889 * elflink.c (bfd_elf_record_link_assignment): Check for shared
1890 library, instead of PIC, and don't check PDE when making linker
1891 assigned symbol dynamic.
1892
17733f5b
FS
18932016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
1894
1895 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
1896 ABIVERSION for non-executable stack.
1897
47993b4a
RF
18982016-02-23 Rich Felker <bugdal@aerifal.cx>
1899
1900 PR target/19516
1901 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
1902 Always produce a RELATIVE reloc for a local symbol.
1903
2d8dcb81
HPN
19042016-02-23 Hans-Peter Nilsson <hp@axis.com>
1905
1906 Fix test-case ld-elf/pr19617b
1907 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
1908 discard unused non-function symbols when --dynamic-list-data.
1909
1a6e6083
L
19102016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1911
1912 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
1913 dynsym section, even if it is empty, with dynamic sections.
1914
75c1920b
L
19152016-02-22 H.J. Lu <hongjiu.lu@intel.com>
1916
1917 * syms.c: Remove BSF_COMMON from comments.
1918 * bfd-in2.h: Regenerated.
1919
9a228467
JW
19202016-02-22 Jiong Wang <jiong.wang@arm.com>
1921
1922 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
1923 for destination. Remove useless function parameters.
1924 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
1925
73768414
NC
19262016-02-19 Nick Clifton <nickc@redhat.com>
1927
e517df3d
NC
1928 PR ld/19629
1929 * aoutx.h (aout_link_add_symbols): Check for out of range string
1930 table offsets.
1931
73768414
NC
1932 PR ld/19628
1933 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
1934 processing if we encounter a reloc without an associated symbol.
1935
bf89386a
L
19362016-02-18 H.J. Lu <hongjiu.lu@intel.com>
1937
1938 PR ld/19617
1939 * elflink.c (elf_link_add_object_symbols): Always create dynamic
1940 sections for -E/--dynamic-list.
1941
8f79b794
L
19422016-02-17 H.J. Lu <hongjiu.lu@intel.com>
1943
1944 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
1945 to bfd_true.
1946
64bfc258
JM
19472016-02-16 Joseph Myers <joseph@codesourcery.com>
1948
1949 * plugin.c (plugin_vec): Set match priority to 255.
1950 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
1951 matching against the plugin vector, take priority from there not
1952 from TEMP.
1953
9fb71ee4
NC
19542016-02-15 Nick Clifton <nickc@redhat.com>
1955
1956 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
1957 for length and type fields. Use a signed value for the
1958 suffix_length field.
1959
32875eb1
L
19602016-02-10 H.J. Lu <hongjiu.lu@intel.com>
1961
1962 PR ld/19601
1963 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
1964 significant bit in GOT offset for R_386_GOT32X.
1965
83da6e74
NC
19662016-02-10 Nick Clifton <nickc@redhat.com>
1967
1968 PR 19405
1969 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
1970 immediate values.
1971 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
1972 number of messages about FDE encoding preventing .eh_frame_hdr
1973 generation.
1974
027e9c75
NC
19752016-02-09 Nick Clifton <nickc@redhat.com>
1976
609332f1
NC
1977 * oasys.c (oasys_archive_p): Fix indentation.
1978 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
1979 constant for left shifting.
1980
027e9c75
NC
1981 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
1982 helpful warning message to explain why certain AArch64 relocs
1983 might overflow.
1984
6f57d046
SM
19852016-02-05 Simon Marchi <simon.marchi@ericsson.com>
1986
1987 * pe-mips.c (coff_mips_reloc): Fix formatting.
1988
bdbca4e6
CM
19892016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
1990
1991 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
1992 to bfd_mach_arc_arc600.
1993
4f038ee5
AM
19942016-02-04 Alan Modra <amodra@gmail.com>
1995
1996 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
1997 for big-endian.
1998
4a539596
L
19992016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2000
2001 PR ld/19542
2002 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 2003 distances in the compressed_size field of the output section.
4a539596 2004
85fabe71
AM
20052016-02-02 Alan Modra <amodra@gmail.com>
2006
2007 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
2008 ELFv2 entry optimization.
2009
14f2c699
L
20102016-02-02 H.J. Lu <hongjiu.lu@intel.com>
2011
2012 PR binutils/19547
2013 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
2014 no relocations in relocatable files.
2015
aef28989
L
20162016-02-01 H.J. Lu <hongjiu.lu@intel.com>
2017
2018 PR ld/19553
2019 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
2020 if a symbol from a library loaded via DT_NEEDED doesn't match
2021 the symbol referenced by regular object.
2022
655ed9ea
NS
20232016-02-01 Nathaniel Smith <njs@pobox.com>
2024
2025 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
2026 CODE and DATA.
2027
ec1f73bb
AM
20282016-02-01 Alan Modra <amodra@gmail.com>
2029
2030 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
2031 an out of range reloc_index.
2032 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
2033
b6471e6e
KR
20342016-02-01 Kamil Rytarowski <n54@gmx.com>
2035
2036 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
2037 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
2038 * Makefile.in: Regenerated.
2039
0bc7245a
JK
20402016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2041
2042 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
2043
6d4b2867
JDA
20442016-01-31 John David Anglin <danglin@gcc.gnu.org>
2045
2046 PR ld/19526
2047 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
2048 files.
2049 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
2050
d9e3b590
L
20512016-01-30 H.J. Lu <hongjiu.lu@intel.com>
2052
2053 PR ld/19539
2054 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
2055 against STT_GNU_IFUNC symbol only with dynamic symbols.
2056 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
2057
bf150a0b
L
20582016-01-28 H.J. Lu <hongjiu.lu@intel.com>
2059
2060 PR binutils/19523
2061 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
2062 decompress debug sections.
2063
840855c5
MR
20642016-01-25 Maciej W. Rozycki <macro@imgtec.com>
2065
2066 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
2067 `dynindx'.
2068
cf466c2a
NC
20692016-01-25 Nick Clifton <nickc@redhat.com>
2070
2071 PR target/19435
2072 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
2073 dsym filename buffer.
2074
eb6b0cf4
MR
20752016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2076
2077 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
2078
e67f83e5
MR
20792016-01-24 Maciej W. Rozycki <macro@imgtec.com>
2080
2081 * elfxx-mips.c (BZ16_REG): Correct calculation.
2082
23a42089
NC
20832016-01-21 Nick Clifton <nickc@redhat.com>
2084
2085 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
2086 changing the type of _loc to be bfd_byte *.
2087 (elf_arc_finish_dynamic_symbol): Likewise.
2088
aebf9be7
NC
20892016-01-21 Nick Clifton <nickc@redhat.com>
2090
2091 PR ld/19455
2092 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
2093 class of the linker stub bfd.
2094 (elf32_arm_check_relocs): Skip check for pic format after
2095 processing a vxWorks R_ARM_ABS12 reloc.
2096 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
2097 reporting a class mismatch.
2098
2f340668
JW
20992016-01-21 Jiong Wang <jiong.wang@arm.com>
2100
2101 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
2102 veneer for sym_sec != input_sec.
2103 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
2104 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
2105 calculation destination.
2106
aeb70569
AM
21072016-01-21 Alan Modra <amodra@gmail.com>
2108
2109 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
2110 (swap_linux_prpsinfo64_out): New function.
2111 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2112 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
2113 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
2114 (elfcore_write_linux_prpsinfo64): Likewise.
2115 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
2116 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
2117 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
2118
de64ce13
AM
21192016-01-21 Alan Modra <amodra@gmail.com>
2120
2121 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
2122 * elf.c: Adjust #include.
2123 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
2124 * Makefile.am (SOURCE_HFILES): Update.
2125 * Makefile.in: Regenerate.
2126 * po/SRC-PORFILES.in: Regenerate.
2127
c603b11b
AM
21282016-01-21 Alan Modra <amodra@gmail.com>
2129
2130 * configure.ac: Move corefile selection later in file. Move
2131 tdefaults code immediately after other target vector code.
2132 * configure: Regenerate.
2133
91f68a68
MG
21342016-01-20 Mickael Guene <mickael.guene@st.com>
2135
2136 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
2137 section using '.text.noread' pattern.
2138
5b2c414d
JB
21392016-01-19 John Baldwin <jhb@FreeBSD.org>
2140
2141 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
2142
34e967a5
MC
21432016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
2144 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
2145
2146 * arc-plt.def: New file.
2147 * arc-plt.h: Likewise.
2148 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
2149 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
2150 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
2151 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
2152 (name_for_global_symbol): Added.
2153 (ADD_RELA): Helper to create dynamic relocs.
2154 (new_got_entry_to_list): Create a new got entry in linked list.
2155 (symbol_has_entry_of_type): Search for specific type of entry in
2156 list.
2157 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
2158 (is_reloc_for_TLS, arc_elf_set_private_flags)
2159 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
2160 (arc_elf_merge_private_bfd_data): New functions.
2161 (debug_arc_reloc): Cleaned debug info printing.
2162 (PDATA reloc): Changed not to perform address alignment.
2163 (reverse_me): Added. Fix for ARC_32 relocs.
2164 (arc_do_relocation): Return bfd_reloc_of when no relocation should
2165 occur.
2166 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
2167 Changed function to access an array of list of GOT entries instead
2168 of just an array of offsets.
2169 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
2170 (elf_arc_check_relocs): Likewise.
2171 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
2172 (elf_arc_finish_dynamic_sections): Likewise
2173 (arc_create_dynamic_sections): Modified conditions to create
2174 dynamic sections.
2175 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
2176 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
2177 (relocate_plt_for_entry): Changed to support new way to define PLT
2178 related code.
2179 (add_symbol_to_plt): Likewise.
2180 (arc_elf_link_hash_table_create): New function.
2181
9ae678af
NC
21822016-01-18 Nick Clifton <nickc@redhat.com>
2183
2184 PR ld/19440
2185 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
2186 section number into internal section number.
2187 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
2188 * coffswap.h (coff_swap_sym_in): Likewise.
2189 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
2190 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
2191 section number field is big enough to hold the external value.
2192
5c14705f
AM
21932016-01-17 Alan Modra <amodra@gmail.com>
2194
2195 * configure: Regenerate.
2196
ac06903d
YU
21972016-01-12 Yury Usishchev <y.usishchev@samsung.com>
2198
2199 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
2200 when address in first unwind entry does not match start of
2201 section.
2202
109575d7
JW
22032016-01-08 Richard Sandiford <richard.sandiford@arm.com>
2204 Jiong Wang <jiong.wang@arm.com>
2205
2206 PR ld/19368
2207 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
2208 reloc_class_ifunc.
2209
b05a65d0
AB
22102016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
2211
2212 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
2213 place 'R_' before the reloc name returned.
2214 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
2215 the relocation string.
2216
a3dc0a7f
MR
22172016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2218
2219 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
2220 factored out from...
2221 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2222
d537eeb5
MR
22232016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2224
2225 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
2226 attribute check after ELF file header flag check.
2227
43d223b5
MR
22282016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2229
2230 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
2231 return status from `_bfd_elf_merge_object_attributes'.
2232
b2e9744f
MR
22332016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2234
2235 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
2236 factored out from...
2237 (_bfd_mips_elf_merge_private_bfd_data): ... here.
2238
28d45e28
MR
22392016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2240
2241 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
2242 handling of input MIPS ABI flags together.
2243
23ba6f18
MR
22442016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2245
2246 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
2247 attribute checks for null input.
2248
cf8502c1
MR
22492016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2250
2251 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
2252 pointers to target data.
2253
dcb1c796
MR
22542016-01-04 Maciej W. Rozycki <macro@imgtec.com>
2255
2256 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2257 an FP ABI warning.
2258
6f2750fe
AM
22592016-01-01 Alan Modra <amodra@gmail.com>
2260
2261 Update year range in copyright notice of all files.
2262
3499769a
AM
2263For older changes see ChangeLog-2015 and doc/ChangeLog-0415
2264\f
2265Copyright (C) 2016 Free Software Foundation, Inc.
2266
2267Copying and distribution of this file, with or without modification,
2268are permitted in any medium without royalty provided the copyright
2269notice and this notice are preserved.
2270
2271Local Variables:
2272mode: change-log
2273left-margin: 8
2274fill-column: 74
2275version-control: never
2276End:
This page took 0.18221 seconds and 4 git commands to generate.