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