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