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