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