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