[AArch64] Cortex-A53 erratum 835769 linker workaround
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2014-10-24  Tejas Belagod  <tejas.belagod@arm.com>
2
3         * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter.
4         * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
5         * elfnn-aarch64.c (aarch64_erratum_835769_stub): New.
6         (elf_aarch64_stub_type): Add new type
7         aarch64_stub_erratum_835769_veneer.
8         (elf_aarch64_stub_hash_entry): New fields for erratum 835769.
9         (aarch64_erratum_835769_fix): New data struct to record erratum
10         835769.
11         (elf_aarch64_link_hash_table: Global flags for 835769.
12         (aarch64_build_one_stub): Add case for 835769.
13         (aarch64_size_one_stub): Likewise.
14         (aarch64_mem_op_p, aarch64_mlxl_p,
15         aarch64_erratum_sequence,erratum_835769_scan):
16         New. Decode and scan functions for erratum 835769.
17         (elf_aarch64_create_or_find_stub_sec): New.
18         (elfNN_aarch64_size_stubs): Look for erratum 835769 and record
19         them.
20         (bfd_elfNN_aarch64_set_options: Set global flag for 835769.
21         (erratum_835769_branch_to_stub_data,
22         make_branch_to_erratum_835769_stub):New. Connect up all the
23         erratum stubs to occurances by branches.
24         (elfNN_aarch64_write_section): New hook.
25         (aarch64_map_one_stub): Output erratum stub symbol.
26         (elfNN_aarch64_size_dynamic_sections): Init mapping symbol
27         information for erratum 835769.
28         (elf_backend_write_section): Define.
29
30 2014-10-14  Tristan Gingold  <gingold@adacore.com>
31
32         * version.m4: Bump version to 2.24.90
33         * configure: Regenerate.
34
35 2014-10-14  Alan Modra  <amodra@gmail.com>
36
37         PR 17453
38         * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types.
39         (EIGHT_GAZILLION): Delete.
40
41 2014-10-13  Alan Modra  <amodra@gmail.com>
42
43         PR 17467
44         * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc.
45         (_bfd_elf_parse_eh_frame): When relocatable output, don't set
46         flags enabling conversion of CIEs and FDEs to use relative encoding.
47         (find_merged_cie): Similarly.
48         (_bfd_elf_write_section_eh_frame): Don't edit FDEs when
49         relocatable, except for CIE pointer.
50         * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for
51         relocs against symbols in dropped comdat group sections.
52         (bfd_elf_discard_info): Do some eh_frame optimisation when
53         relocatable.
54
55 2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
56
57         * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle
58         the hwcaps2 object attribute.
59
60 2014-10-04  Alan Modra  <amodra@gmail.com>
61
62         PR 17447
63         * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf.
64         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address
65         range FDEs for discarding.
66         (vma_compare): Sort on range after address.
67         (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf.
68         (_bfd_elf_discard_section_eh_frame): Likewise.  Write "FDE" in
69         error message rather than "fde".
70         (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in
71         error message.
72
73 2014-09-29  H.J. Lu  <hongjiu.lu@intel.com>
74
75         PR ld/17440
76         * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build
77         for OLD_FREEBSD_ABI_LABEL.
78
79 2014-09-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
80
81         PR 17422
82         * plugin.c (try_claim): New function. Moved from
83         bfd_plugin_object_p.
84         (try_load_plugin): Pass through bfd. Add test.
85         (load_plugin): Pass through bfd.
86         (bfd_plugin_object_p): Move logic to try_claim.
87
88 2014-09-23  Sterling Augustine  <augustine.sterling@gmail.com>
89
90         * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section
91         call relaxation use furthermost addresses where call source and
92         destination can be to check whether it's in the range of a direct
93         call.
94
95 2014-09-22  Alan Modra  <amodra@gmail.com>
96
97         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return
98         false for overflow or overlapping FDEs.  Give more detail in
99         error messages.
100
101 2014-09-22  Andrew Bennett  <andrew.bennett@imgtec.com>
102
103         * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend
104         the addend if relocations are RELA.
105
106 2014-09-22  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
107
108         * elf32-nds32.c (nds32_elf_ex9_build_hash_table,
109         nds32_elf_ex9_relocation_check): Synchronize the argument type.
110
111 2014-09-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
112
113         * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF
114         for PIE.
115         * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF
116         for PIE.
117
118 2014-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
119
120         PR gdb/17407
121         * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET.
122
123 2014-09-16  Terry Guo  <terry.guo@arm.com>
124
125         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if
126         failed to merge.
127
128 2014-09-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
129
130         * bfd-in2.h: Regenerate.
131         * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject.
132         (nds32_elf_relax_section): Code refactoring.
133         (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2,
134         nds32_elf_relax_longcall3, nds32_elf_relax_longcall4,
135         nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call
136         pattern. The first three is moved from nds32_elf_relax_section,
137         and the last three is new function.
138         (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2,
139         nds32_elf_relax_longjump3, nds32_elf_relax_longjump4,
140         nds32_elf_relax_longjump5, nds32_elf_relax_longjump6,
141         nds32_elf_relax_longjump7): Relax condition branch pattern. The first
142         three is moved from nds32_elf_relax_section, and the last four
143         is new function.
144         (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store
145         pattern and address setting pattern.
146         (nds32_elf_relax_piclo12, nds32_elf_relax_ptr,
147         nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff,
148         nds32_elf_relax_gotoff_suff): Relax pic pattern.
149         (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd,
150         nds32_elf_relax_letlsls): Relax TLS pattern.
151         (nds32_relax_adjust_label): Adjust alignment and nop.
152         (nds32_elf_pick_relax): Choose relaxation optimization.
153         (nds32_elf_get_relocated_section_contents): New hook.
154         (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9
155         table 234th entry.
156         * elf32-nds32.h: Declare.
157         * libbfd.h: Regenerate.
158         * reloc.c: Add nds32 new relocations.
159
160 2014-09-15  Chen Gang  <gang.chen.5i5j@gmail.com>
161
162         * dwarf2.c (find_abstract_instance_name): Use 'form' instead of
163         'name' for the typo issue, which related with commit
164         60d77146a249ae9b51d7ce98930cdbedb2cfa352.
165
166 2014-09-15  Andrew Bennett  <andrew.bennett@imgtec.com>
167             Matthew Fortune  <matthew.fortune@imgtec.com>
168
169         * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6.
170         * archures.c (bfd_architecture): Likewise.
171         * bfd-in2.h (bfd_architecture): Likewise.
172         (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2,
173         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
174         BFD_RELOC_MIPS_19_PCREL_S2.
175         * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6.
176         * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2
177         R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16.
178         (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
179         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
180         BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
181         BFD_RELOC_LO16_PCREL.
182         * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2,
183         R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16
184         and R_MIPS_PCLO16.
185         (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2,
186         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3,
187         BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and
188         BFD_RELOC_LO16_PCREL.
189         * elfn32-mips.c: Likewise.
190         * elfxx-mips.c (MIPSR6_P): New define.
191         (mipsr6_exec_plt_entry): New array.
192         (hi16_reloc_p): Add support for R_MIPS_PCHI16.
193         (lo16_reloc_p): Add support for R_MIPS_PCLO16.
194         (aligned_pcrel_reloc_p): New function.
195         (mips_elf_relocation_needs_la25_stub): Add support for relocs:
196         R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
197         (mips_elf_calculate_relocation): Add support for relocs:
198         R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2,
199         R_MIPS_PCHI16 and R_MIPS_PCLO16.
200         (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6.
201         (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16.
202         (_bfd_mips_elf_check_relocs): Add support for relocs:
203         R_MIPS_PC21_S2 and R_MIPS_PC26_S2.
204         (_bfd_mips_elf_relocate_section): Add a check for unaligned
205         pc relative relocs.
206         (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6
207         plt entry.
208         (mips_set_isa_flags): Add support for mips32r6 and mips64r6.
209         (_bfd_mips_elf_print_private_bfd_data): Likewise.
210         (mips_32bit_flags_p): Add support for mips32r6.
211         * libbfd.h (bfd_reloc_code_real_names): Add entries for
212         BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2,
213         BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2.
214         * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2,
215         BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and
216         BFD_RELOC_MIPS_19_PCREL_S2.
217         * config.bfd: Add mips*-img-elf* target triple.
218
219 2014-09-12  Andrew Bennett  <andrew.bennett@imgtec.com>
220
221         * config.bfd: Add mips*-img-elf* target triple.
222
223 2014-09-12  Alan Modra  <amodra@gmail.com>
224
225         * elf-bfd.h (struct eh_frame_array_ent): Add "range".
226         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address
227         range of FDEs to hdr_info->array.
228         (_bfd_elf_write_section_eh_frame_hdr): Report overflow in
229         .eh_frame_hdr entries, and overlapping FDEs.
230
231 2014-09-10  Alan Modra  <amodra@gmail.com>
232
233         * elf.c (assign_file_positions_except_relocs): Move section header
234         placement to..
235         (_bfd_elf_assign_file_positions_for_relocs): ..here.  Make static.
236         * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
237         * elflink.c (bfd_elf_final_link): Don't call above function.
238
239 2014-08-30  Alan Modra  <amodra@gmail.com>
240
241         * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error.
242
243 2014-08-29  Alan Modra  <amodra@gmail.com>
244
245         * elf64-ppc.c (ppc64_elf_relocate_section): Report a different
246         error for calls via a toc adjusting stub without a nop.
247
248 2014-08-29  Alan Modra  <amodra@gmail.com>
249
250         * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated
251         error.  Remove redundant bfd_set_error.
252
253 2014-08-29  Alan Modra  <amodra@gmail.com>
254
255         * srec.c (srec_scan): Revert last change.  Report an error for
256         S-records with less than the miniumum byte count.
257
258 2014-08-28  H.J. Lu  <hongjiu.lu@intel.com>
259
260         * srec.c (srec_scan): Return error for 0 size.
261
262 2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
263
264         PR ld/17306
265         * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section
266         to check discarded input section.
267         * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise.
268
269 2014-08-27  H.J. Lu  <hongjiu.lu@intel.com>
270
271         PR ld/17313
272         * elflink.c (elf_link_add_object_symbols): Don't attach dynamic
273         sections to input from ld --just-symbols.
274
275 2014-08-26  DJ Delorie  <dj@redhat.com>
276
277         * elf32-rl78.c (rl78_elf_relax_section): Disambiguate test for
278         relaxation type.
279
280 2014-08-26  Jiong Wang  <jiong.wang@arm.com>
281
282         * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Initialize non_got_ref
283         properly for MOVW_G0/1/2_NC and MOVW_G3.  Reject them when linking
284         shared library.
285         (elfNN_aarch64_gc_sweep_hook): Add check on these relocs.
286
287 2014-08-26  Nick Clifton  <nickc@redhat.com>
288
289         * config.bfd: Fix typo in or1knd selection.
290
291 2014-08-22  Kai Tietz  <ktietz@redhat.com>
292
293         PR binutils/11822
294         * coffcode.h (coff_compute_section_file_positions): Keep
295         FileAlignment valid as set.
296
297 2014-08-22  Alan Modra  <amodra@gmail.com>
298
299         * elf-eh-frame.c (struct cie): Delete "output_sec" field.
300         (cie_eq, cie_compute_hash): Use output_section from cie_inf instead.
301
302 2014-08-22  Alan Modra  <amodra@gmail.com>
303
304         * elf-bfd.h (struct eh_frame_hdr_info): Delete merge_cies and
305         parsed_eh_frames.
306         (_bfd_elf_begin_eh_frame_parsing): Delete.
307         (_bfd_elf_end_eh_frame_parsing): Delete.
308         * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): Delete.
309         (_bfd_elf_end_eh_frame_parsing): Delete.
310         (_bfd_elf_parse_eh_frame): Don't test parsed_eh_frame.  Test
311         !info->relocatable in place of merge_cies.
312         * elflink.c (bfd_elf_gc_sections, bfd_elf_discard_info): Adjust.
313         * elf64-ppc.c (glink_eh_frame_cie): Pad to multiple of 8.
314         (ppc64_elf_size_stubs): Likewise pad stub FDE.
315         (ppc64_elf_build_stubs): Move code setting glink .eh_frame to..
316         (ppc64_elf_size_stubs): ..here and..
317         (ppc64_elf_finish_dynamic_sections): ..here.
318
319 2014-08-21  Maciej W. Rozycki  <macro@codesourcery.com>
320
321         * elf64-ppc.h (ppc64_elf_set_toc): Fix indentation.
322
323 2014-08-21  Tony Wang  <tony.wang@arm.com>
324
325         * elf32-arm.c (elf32_arm_final_link_relocate): Implement
326         the veneer routine for R_ARM_THM_JUMP19.
327         (arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
328         (elf32_arm_size_stub): Ditto.
329
330 2014-08-20  Roland McGrath  <mcgrathr@google.com>
331
332         PR ld/17277
333         * elf32-arm.c (elf32_arm_check_relocs): Increment P->pc_count for
334         all reloc types with pc_relative set in the howto, not just for
335         R_ARM_REL32 and R_ARM_REL32_NOI.
336         (allocate_dynrelocs_for_symbol): Update comment.
337         (elf32_arm_gc_sweep_hook): For all reloc types with pc_relative
338         set in the howto, set call_reloc_p and may_need_local_target_p but
339         not may_become_dynamic_p; not only for R_ARM_REL32 and R_ARM_REL32_NOI.
340         (elf32_arm_check_relocs): Likewise.
341
342 2014-08-20  Will Newton  <will.newton@linaro.org>
343
344         * config.bfd: Default armeb-*-eabi* to big endian.
345
346 2014-08-19  Alan Modra  <amodra@gmail.com>
347
348         * configure: Regenerate.
349
350 2014-08-18  Alan Modra  <amodra@gmail.com>
351
352         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't attempt to
353         use dynrelocs for ifunc.
354         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Similarly.
355
356 2014-08-18  Alan Modra  <amodra@gmail.com>
357
358         PR 17287
359         * elflink.c (on_needed_list): Only consider libraries that have
360         been loaded.
361
362 2014-08-18  Alan Modra  <amodra@gmail.com>
363
364         * elflink.c (bfd_elf_discard_info): Return int error status.
365         * stabs.c (_bfd_discard_section_stabs): Comment typo fix.
366         * bfd-in.h (bfd_elf_discard_info): Updata prototype.
367         * bfd-in2.h: Regenerate.
368
369 2014-08-14  Alan Modra  <amodra@gmail.com>
370
371         * peXXigen.c (pe_print_reloc): Protect against access past end
372         of .reloc section.
373
374 2014-08-14  Alan Modra  <amodra@gmail.com>
375
376         PR 16563
377         * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab
378         in the order they are mapped to output sections.
379
380 2014-08-14  Alan Modra  <amodra@gmail.com>
381
382         * configure.ac: Delete redundant plugin related checks.
383         * configure: Regenerate.
384
385 2014-08-13  Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
386
387         * elf32-or1k.c (or1k_elf_relocate_section, or1k_elf_check_relocs,
388         allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL
389         and SYMBOLIC_BIND.
390
391 2014-08-12  Alan Modra  <amodra@gmail.com>
392
393         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Only call "notice"
394         here when not calling the generic add_symbol function.  Formatting.
395         Correct handling of indirect symbols.  Update notice call.
396         * elflink.c (_bfd_elf_notice_as_needed): Update notice call.
397         * linker.c (_bfd_generic_link_add_one_symbol): Create indirect
398         symbols early.  Update notice call.  Add comments regarding weak
399         symbols vs. indirect.
400
401 2014-08-12  Alan Modra  <amodra@gmail.com>
402
403         PR ld/16746
404         * linker.c (_bfd_generic_link_add_one_symbol <WARN>): Handle
405         !lto_plugin_active.
406
407 2014-08-07  Chen Gang <gang.chen.5i5j@gmail.com>
408
409         * coff-ppc.c (coff_ppc_relocate_section): Ensure local symbols are
410         zero terminated.
411
412 2014-08-07  H.J. Lu  <hongjiu.lu@intel.com>
413             Alan Modra  <amodra@gmail.com>
414
415         PR ld/16746
416         * linker.c (_bfd_generic_link_add_one_symbol): Don't issue a
417         warning for references in LTO IR to warning symbols.
418
419 2014-08-07  Alan Modra  <amodra@gmail.com>
420
421         * linker.c (WARN, CWARN): Collapse these states to WARN.
422         (_bfd_generic_link_add_one_symbol): Use old CWARN case for
423         new WARN.
424
425 2014-08-05  Doug Evans  <dje@google.com>
426
427         * bfd-in2.h: Regenerate.
428         * libcoff.h: Regenerate.
429
430 2014-08-05  Maciej W. Rozycki  <macro@codesourcery.com>
431
432         * elfxx-mips.c (_bfd_mips_elf_discard_info): Set section's
433         rawsize if changing size.
434
435 2014-08-05  Alan Modra  <amodra@gmail.com>
436
437         PR ld/17226
438         * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Typo fix.
439
440 2014-08-05  Alan Modra  <amodra@gmail.com>
441
442         * linker.c (generic_link_check_archive_element): Move handling
443         of command link -u symbols with a common symbol def to the
444         code handling non-common symbols so that archive element symbols
445         are loaded.  Use generic_link_add_object_symbols.
446
447 2014-08-05  Alan Modra  <amodra@gmail.com>
448
449         PR 13557
450         * linker.c (struct archive_list, struct archive_hash_entry,
451         struct archive_hash_table, archive_hash_newfunc,
452         archive_hash_table_init, archive_hash_lookup, archive_hash_allocate,
453         archive_hash_table_free): Delete.
454         (_bfd_generic_link_add_archive_symbols): Add h and name params to
455         checkfn.  Rewrite using a straight-forward scan over archive map.
456         (generic_link_check_archive_element_no_collect,
457         generic_link_check_archive_element_collect,
458         generic_link_check_archive_element): Add h and name params.
459         * aoutx.h (aout_link_check_archive_element): Likewise.
460         * pdp11.c (aout_link_check_archive_element): Likewise.
461         * xcofflink.c (xcoff_link_check_archive_element): Likewise.
462         * cofflink.c (coff_link_check_archive_element): Likewise.  Don't
463         scan symbols, simply add archive element whenever h is undefined.
464         (coff_link_check_ar_symbols): Delete.
465         * ecoff.c (read_ext_syms_and_strs): Delete.
466         (reread_ext_syms_and_strs): Delete.
467         (ecoff_link_check_archive_element): Add h and name param.  Don't
468         scan symbols, simply add based on h.  Use ecoff_link_add_object_symbols.
469         * elflink.c (elf_link_is_defined_archive_symbol): Don't test
470         archive_pass.
471         (elf_link_add_archive_symbols): Delete "defined" array, merge
472         functionality into "included".  Make "included" a char array.  Don't
473         set or test archive_pass.
474         * libbfd-in.h (_bfd_generic_link_add_archive_symbols): Update.
475         * libbfd.h: Regenerate.
476
477 2014-08-01  Takashi Yoshii  <yoshii.takashi@renesas.com>
478
479         PR 10373
480         * elf32-sh.c (sh_elf_relax_section): Add jmp to bra relaxing.
481
482 2014-07-29  Matthew Fortune  <matthew.fortune@imgtec.com>
483
484         * elfxx-mips.c (ABI_O32_P, MIPS_ELF_ABIFLAGS_SECTION_NAME_P): New macro.
485         (mips_elf_obj_tdata): Add abiflags and abiflags_valid fields.
486         (bfd_mips_elf_swap_abiflags_v0_in): New function.
487         (bfd_mips_elf_swap_abiflags_v0_out): Likewise.
488         (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_ABIFLAGS.
489         (_bfd_mips_elf_fake_sections): Likewise.
490         (_bfd_mips_elf_always_size_sections): Handle .MIPS.abiflags.
491         (_bfd_mips_elf_additional_program_headers): Account for new
492         PT_MIPS_ABIFLAGS program header.
493         (_bfd_mips_elf_modify_segment_map): Create PT_MIPS_ABIFLAGS segment and
494         associate with .MIPS.abiflags.
495         (_bfd_mips_elf_gc_mark_extra_sections): New function.
496         (bfd_mips_isa_ext, update_mips_abiflags_isa): New static function.
497         (infer_mips_abiflags): Likewise.
498         (_bfd_mips_elf_final_link): Handle .MIPS.abiflags.
499         (mips_32bit_flags_p): Moved higher.
500         (mips_elf_merge_obj_attributes, _bfd_mips_fp_abi_string): Error
501         checking for FP ABIs.
502         (_bfd_mips_elf_merge_private_bfd_data): Restructure and add abiflags
503         checks.  Check EF_MIPS_FP64 flag consistency.
504         (print_mips_ases, print_mips_isa_ext): New static function.
505         (print_mips_fp_abi_value, get_mips_reg_size): Likewise.
506         (_bfd_mips_elf_print_private_bfd_data): Display abiflags data.
507         (_bfd_mips_post_process_headers): Set EI_ABIVERSION = 3 for
508         Val_GNU_MIPS_ABI_FP_64 or Val_GNU_MIPS_ABI_FP_64A.
509         * elfxx-mips.h (_bfd_mips_elf_gc_mark_extra_sections): New prototype.
510         * elf32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
511         * elfn32-mips.c (elf_backend_gc_mark_extra_sections): Implement.
512         * elf64-mips.c (elf_backend_gc_mark_extra_sections): Implement.
513
514 2014-07-28  Alan Modra  <amodra@gmail.com>
515
516         PR 13227
517         * archive.c (_bfd_compute_and_write_armap): Warn on adding
518         __gnu_lto_slim to armap.
519         * linker.c (_bfd_generic_link_add_one_symbol): Warn on adding
520         __gnu_lto_slim to linker hash table.
521
522 2014-07-27  Anthony Green  <green@moxielogic.org>
523
524         * config.bfd: Add moxie-*-moxiebox*.
525
526 2014-07-21  Joel Sherrill  <joel.sherrill@oarcorp.com>
527
528         Add or reactivate or1k-*-rtems*
529         * config.bfd (or1k-*-rtems*): Reactivate.
530
531 2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
532
533         * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
534         ELFOSABI_GNU input.
535         * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
536         (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
537
538 2014-07-16  H.J. Lu  <hongjiu.lu@intel.com>
539
540         PR binutils/17154
541         * elf32-i386.c (elf_i386_plt_sym_val): Only match R_*_JUMP_SLOT
542         and R_*_IRELATIVE relocation offset with PLT entry.
543         * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
544         (elf_x86_64_plt_sym_val_offset_plt_bnd): New.
545         (elf_x86_64_get_synthetic_symtab): Use it.
546
547 2014-07-15  H.J. Lu  <hongjiu.lu@intel.com>
548
549         PR ld/17057
550         * elf32-i386.c (elf_i386_compute_jump_table_size): Replace
551         next_tls_desc_index with elf.srelplt->reloc_count.
552
553 2014-07-15  Alan Modra  <amodra@gmail.com>
554
555         * cache.c (cache_bread_1): Don't return -1 when fread returns
556         a positive value.
557
558 2014-07-15  Alan Modra  <amodra@gmail.com>
559
560         * elflink.c (elf_merge_st_other): Update comments.  Simplify
561         visibility handling.  Make isym const.  Move code modifying
562         isym->st_other for --exclude-libs to..
563         (elf_link_add_object_symbols): ..here.
564
565 2014-07-11  Maks Naumov  <maksqwe1@ukr.net>
566
567         PR 17141
568         * elf.c (_bfd_elf_strtab_add): Check strtab name for failure.
569
570 2014-07-08  Nick Clifton  <nickc@redhat.com>
571
572         PR ld/17110
573         * elf32-sh.c (sh_elf_osec_to_segment): Do not look for output
574         segments in input bfds.
575
576 2014-07-08  Will Newton  <will.newton@linaro.org>
577
578         * elf32-arm.c (ELF_MAXPAGESIZE): Increase the default
579         value to 64kB and remove custom setting for NaCl.
580
581 2014-07-08  Alan Modra  <amodra@gmail.com>
582
583         * elflink.c (_bfd_elf_copy_link_hash_symbol_type): Copy st_other
584         bits from source to dest.
585         * linker.c (_bfd_generic_copy_link_hash_symbol_type): Update comment.
586         * targets.c (struct bfd_target <_bfd_copy_link_hash_symbol_type>):
587         Likewise.
588         * bfd-in2.h: Regenerate.
589
590 2014-07-08  Jiong Wang  <jiong.wang@arm.com>
591
592         * elfnn-aarch64.c (elf_backend_rela_normal): Set to 1.
593         (elfNN_aarch64_relocate_section): Remove duplicated addend adjustment
594         when info->relocatable be true.
595
596 2014-07-07  Barney Stratford  <barney_stratford@fastmail.fm>
597
598         * elf32-avr.c: Handle R_AVR_PORT5 and R_AVR_PORT6.
599         * reloc.c: Add BFD_RELOC_AVR_PORT5 and BFD_RELOC_AVR_PORT6.
600         * bfd-in2.h: Regenerate.
601         * libbfd.h: Regenerate.
602
603 2014-07-04  Alan Modra  <amodra@gmail.com>
604
605         * Makefile.am: Update "configure.in" comments.
606         * PORTING: Likewise.
607         * aoutx.h: Likewise.
608         * configure.host: Likewise.
609         * doc/bfdint.texi: Likewise.
610         * targets.c: Likewise.
611         * warning.m4: Likewise.
612         * Makefile.in: Regenerate.
613
614 2014-07-04  Alan Modra  <amodra@gmail.com>
615
616         * configure.ac: Rename from configure.in.
617         * Makefile.in: Regenerate.
618         * config.in: Regenerate.
619         * doc/Makefile.in: Regenerate.
620
621 2014-07-04  Alan Modra  <amodra@gmail.com>
622
623         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Remove configure.in.
624         * Makefile.in: Regenerate.
625
626 2014-07-04  Alan Modra  <amodra@gmail.com>
627
628         * version.m4: New file.
629         * configure.in: Include version.m4.
630         (AC_INIT): Update.
631         * Makefile.am (RELEASE): Delete.
632         (bfdver.h): Depend on development.sh, use instead of RELEASE.
633         * Makefile.in: Regenerate.
634         * doc/Makefile.in: Regenerate.
635
636 2014-07-02  Alan Modra  <amodra@gmail.com>
637
638         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear
639         pointer_equality_needed when !readonly_dynrelocs.
640         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
641
642 2014-07-02  Alan Modra  <amodra@gmail.com>
643
644         * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too.
645         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
646
647 2014-07-01  Alan Modra  <amodra@gmail.com>
648
649         * bfd.c (struct bfd): Reorganise for better packing.  Delete
650         "ifd" field.  Make "format", "direction" and "flags" bitfields.
651         (HAS_LOAD_PAGE): Delete, renumber following flags.
652         * bfd-in2.h: Regenerate.
653         * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs.
654
655 2014-07-01  Alan Modra  <amodra@gmail.com>
656
657         * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry.
658         (struct ppc_link_hash_table): Increase size of stub_count array.
659         (build_global_entry_stubs): Emit symbol on global entry stub.
660         (ppc64_elf_build_stubs): NULL check htab->brlt.  Add global entry
661         stub stats.
662
663 2014-07-01  Alan Modra  <amodra@gmail.com>
664
665         * elf64-ppc.c (abiversion, set_abiversion): Move earlier.
666         (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset.
667         (ppc64_elf_set_toc): Set ".TOC." symbol value when using
668         generic linker.
669         (ppc64_elf_relocate_section): Disable ELFv2 function entry
670         optimisation when --traditional-format.
671
672 2014-07-01  Barney Stratford   <barney_stratford@fastmail.fm>
673             Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
674             Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
675             Soundararajan  <Sounderarajan.D@atmel.com>
676
677         * archures.c: Add avrtiny architecture for avr target.
678         * cpu-avr.c (arch_info_struct): Add avrtiny arch info.
679         * elf32-avr.c (elf_avr_howto_table): New relocation R_AVR_LDS_STS_16
680         added for 16 bit LDS/STS instruction of avrtiny arch.
681         (avr_reloc_map): Reloc R_AVR_LDS_STS_16 is mapped to
682         BFD_RELOC_AVR_LDS_STS_16.
683         (bfd_elf_avr_final_write_processing): Select machine number
684         avrtiny arch.
685         (elf32_avr_object_p): Set machine number for avrtiny arch.
686         * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc.
687         * bfd-in2.h: Regenerate.
688         * libbfd.h: Regenerate.
689
690 2014-06-26  Nick Clifton  <nickc@redhat.com>
691
692         PR binutils/16949
693         * dwarf2.c (is_str_attr): New function.
694         (find_abstract_instance_name): Use it to determine when an
695         attribute has a string value.
696
697 2014-06-24  Alan Modra  <amodra@gmail.com>
698
699         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep
700         .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output
701         for --emit-relocs.
702
703 2014-06-21  Philippe De Muyter  <phdm@macqel.be>
704
705         * targets.c (_bfd_target_vector): Add missing #ifdef BFD64 for
706         a number of targets.
707
708 2014-06-20  Kyle McMartin <kyle@redhat.com>
709
710         * elf32-arm.c (elf32_arm_check_relocs): Set DF_STATIC_TLS when
711         emitting initial-exec relocs when not linking an executable.
712
713 2014-06-16  Will Newton  <will.newton@linaro.org>
714
715         * elf32-arm.c (elf32_arm_allocate_plt_entry): Increment
716         htab->next_tls_desc_index in the non-IPLT case.
717         Calculate GOT offset correctly for the non-IPLT case.
718         (allocate_dynrelocs_for_symbol): Don't increment
719         htab->next_tls_desc_index here.
720
721 2014-06-16  Alan Modra  <amodra@gmail.com>
722
723         * elf32-vax.c (elf_vax_size_dynamic_sections): Clear linker
724         created sections.
725
726 2014-06-13  Omair Javaid  <omair.javaid@linaro.org>
727
728         * elfxx-aarch64.c (stdarg.h): Include.
729         (string.h): Include.
730         (_bfd_aarch64_elf_grok_prstatus): Updated.
731         (_bfd_aarch64_elf_grok_psinfo): New function.
732         (_bfd_aarch64_elf_write_core_note): New function.
733         * elfxx-aarch64.h (elf_backend_grok_psinfo): Define.
734         (elf_backend_write_core_note): Define.
735
736 2014-06-13  Alan Modra  <amodra@gmail.com>
737
738         * archive.c: Include bfdlink.h.
739         (_bfd_archive_close_and_cleanup): Call linker hash_table_free.
740         * bfd.c (struct bfd): Add is_linker_output field.
741         * elf-bfd.h (_bfd_elf_link_hash_table_free): Update prototype.
742         * linker.c (_bfd_link_hash_table_init): Set up hash_table_free,
743         link.hash and is_linker_output.
744         (_bfd_generic_link_hash_table_free): Replace bfd_link_hash_table*
745         param with bfd*.  Assert is_linker_output and link.hash, and
746         clear them before exit.
747         * elf-m10300.c (elf32_mn10300_link_hash_table_free): Replace
748         bfd_link_hash_table* param with bfd*.  Hack is_linker_output
749         and link.hash so we can free two linker hash tables.
750         (elf32_mn10300_link_hash_table_create): Create static_hash_table
751         first.  Clean up on errors.  Set hash_table_free pointer.
752         * elf32-arm.c (elf32_arm_link_hash_table_free): Replace
753         bfd_link_hash_table* param with bfd*.
754         (elf32_arm_link_hash_table_create): Clean up on errors.  Set
755         hash_table_free pointer.
756         * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc1x.c,
757         * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c, * elf32-xgate.c,
758         * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c, * elflink.c,
759         * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c,
760         * xcofflink.c: Similarly.
761         * simple.c (bfd_simple_get_relocated_section_contents): Save and
762         clear link.next before creating linker hash table.  Clean up on
763         errors, and restore link.next on exit.
764         * elf32-m68hc1x.h (m68hc11_elf_bfd_link_hash_table_free): Delete.
765         * elf32-xgate.h (xgate_elf_bfd_link_hash_table_free): Delete.
766         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table_free): Delete.
767         * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Delete.
768         * hash.c (bfd_hash_table_init_n): Free table on error.
769         * libbfd-in.h (_bfd_generic_link_hash_table_free): Update proto.
770         * bfd-in2.h: Regenerate.
771         * libbfd.h: Regenerate.
772         * libcoff.h: Regenerate.
773
774 2014-06-13  Alan Modra  <amodra@gmail.com>
775
776         PR 17047
777         * targets.c (BFD_JUMP_TABLE): Delete NAME##_bfd_link_hash_table_free.
778         (struct bfd_target <_bfd_link_hash_table_free>): Delete.
779         * bfd.c (bfd_link_hash_table_free): Don't define.
780         * aout-adobe.c, * aout-target.h, * aout-tic30.c, * binary.c, * bout.c,
781         * coff64-rs6000.c, * coffcode.h, * elf-m10300.c, * elf32-arm.c,
782         * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-m68hc11.c,
783         * elf32-m68hc12.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
784         * elf32-sparc.c, * elf32-xgate.c, * elf64-ia64-vms.c, * elf64-ppc.c,
785         * elf64-sparc.c, * elf64-x86-64.c, * elfnn-aarch64.c, * elfnn-ia64.c,
786         * elfxx-target.h, * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c,
787         * libbfd-in.h, * libecoff.h, * mach-o-target.c, * mmo.c,
788         * nlm-target.h, * oasys.c, * pef.c, * plugin.c, * ppcboot.c, * som.c,
789         * srec.c, * tekhex.c, * verilog.c, * versados.c, * vms-alpha.c,
790         * xsym.c: Don't define various link_hash_table_free defines, and
791         remove from bfd_target vars.  Temporarily reference some of the
792         target link_hash_table_free functions to avoid warnings.
793         * bfd-in2.h: Regenerate.
794         * libbfd.h: Regenerate.
795
796 2014-06-13  Alan Modra  <amodra@gmail.com>
797
798         * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c,
799         * elf32-i386.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-metag.c,
800         * elf32-nios2.c, * elf64-ia64-vms.c, * elf64-ppc.c, * elf64-x86-64.c,
801         * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-sparc.c, * xcofflink.c:
802         Move link_hash_table_free functions before their corresponding
803         link_hash_table_create functions.
804
805 2014-06-13  Alan Modra  <amodra@gmail.com>
806
807         * bfd.c (struct bfd): Replace link_next with a union.
808         * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
809         * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
810         * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
811         * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
812         * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
813         * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
814         * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
815         * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
816         * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
817         * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
818         * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
819         * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
820         * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
821         * bfd-in2.h: Regenerate.
822
823 2014-06-11  Alan Modra  <amodra@gmail.com>
824
825         * linker.c (unwrap_hash_lookup): Add missing parens.
826
827 2014-06-11  Kai Tietz  <ktietz@redhat.com>
828
829         * libcoff-in.h (coff_tdata): Make relocbase member unsigned.
830         * libcoff.h: Regenerated.
831
832 2014-06-10  Alan Modra  <amodra@gmail.com>
833
834         PR ld/16910
835         * linker.c (unwrap_hash_lookup): New function.
836         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup.
837         * elf32-i370.c (i370_elf_relocate_section): Likewise.
838         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
839         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
840         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
841         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
842         * elf32-spu.c (spu_elf_relocate_section): Likewise.
843         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
844
845 2014-06-07  Alan Modra  <amodra@gmail.com>
846
847         * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli
848         insn as a bitfield; Use complain_overflow_bitfield.
849         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
850
851 2014-06-05  Joel Brobecker  <brobecker@adacore.com>
852
853         * development.sh: New file.
854         * warning.m4 (AM_BINUTILS_WARNINGS): Source bfd/development.sh.
855         Make -Werror the default with GCC only if DEVELOPMENT is true.
856         * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
857         $(srcdir)/development.sh.
858         * Makefile.in, configure: Regenerate.
859
860 2014-06-04  Will Newton  <will.newton@linaro.org>
861
862         * elfnn-aarch64.c (tpoff_base): Make test of tls_sec
863         being non-NULL into an assert.
864         (elfNN_aarch64_tls_relax): Remove unused code.
865
866 2014-06-03  DJ Delorie  <dj@redhat.com>
867
868         * elf32-rx.c (rx_table_map): Use BFD_VMA_FMT for portability.
869
870 2014-06-03  Nick Clifton  <nickc@redhat.com>
871
872         PR ld/16807
873         * peXXigen.c (rsrc_process_section): Page align the new contents
874         befgore writing out.
875
876 2014-06-03  Alan Modra  <amodra@gmail.com>
877
878         * elf64-ppc.c (ADDIS_R12_R2): Define.
879         (build_plt_stub): Support fusion on ELFv2 stub.
880         (ppc_build_one_stub): Likewise for plt branch stubs.
881
882 2014-05-28  Alan Modra  <amodra@gmail.com>
883
884         * elf32-rx.c (rx_table_map): Delete set but not used variables.
885
886 2014-05-28  Tristan Gingold  <gingold@adacore.com>
887
888         * dwarf2.c (lookup_address_in_function_table): Add best_fit_len
889         to keep the length of the best fit range.
890         (lookup_symbol_in_function_table, info_hash_lookup_funcinfo):
891         Likewise.
892
893 2014-05-27  DJ Delorie  <dj@redhat.com>
894
895         * elf32-rx.c (get_symbol_value_maybe): New.
896         (rx_elf_relocate_section): If we find a reloc against
897         $tableentry$default$<name>, redirect it to the appropriate
898         $tableentry$<n>$.
899         (RX_Table_Info): New.
900         (rx_table_find): New.  Check all tables and SEC_KEEP all sections
901         with table parts in them.
902         (rx_check_directives): New.
903         (rx_table_map_2): New.
904         (rx_table_map): New.
905         (rx_additional_link_map_text): New.  Called to dump tables to the
906         map file.
907         * elf32-rx.h: New.
908
909 2014-05-20  DJ Delorie  <dj@redhat.com>
910
911         * elf32-msp430.c (msp430_elf_relax_adjust_locals): Avoid overflow.
912
913 2014-05-20  Alan Modra  <amodra@gmail.com>
914
915         PR 16952
916         * elf32-ppc.c (ppc_elf_create_linker_section): Move earlier.
917         Remove redundant setting of htab->elf.dynobj.  Don't align.
918         Define .sdata symbols using _bfd_elf_define_linkage_sym.
919         (ppc_elf_create_glink): Call ppc_elf_create_linker_section.
920         (create_sdata_sym): Delete.
921         (elf_allocate_pointer_linker_section): Rename from
922         elf_create_pointer_linker_section.  Align section.
923         (ppc_elf_check_relocs): Don't call ppc_elf_creat_linker_section
924         directly here, or create_sdata_sym.  Set ref_regular on _SDA_BASE_
925         and _SDA2_BASE_.
926         (ppc_elf_size_dynamic_sections): Remove ATTRIBUTE_UNUSED on param.
927         Remove unnecessary tests on _SDA_BASE_ sym.
928         (maybe_strip_sdasym, ppc_elf_maybe_strip_sdata_syms): New functions.
929         (ppc_elf_relocate_section): Tighten SDA reloc symbol section checks.
930         * elf32-ppc.h (ppc_elf_set_sdata_syms): Delete.
931         (ppc_elf_maybe_strip_sdata_syms): Declare.
932
933 2014-05-16  Ryan Mansfield  <rmansfield@qnx.com>
934
935         * config.bfd: Move QNX target_cflags from arm-*-netbsd* to arm-*-nto*.
936
937 2014-05-16  Jon Turney  <jon.turney@dronecode.org.uk>
938
939         * peXXigen.c (pe_print_debugdata): Don't interpret debug directory
940         in a section with no contents.
941         (is_vma_in_section, find_section_by_vma): New functions.
942         (_bfd_XX_bfd_copy_private_bfd_data_common): Recalculate file
943         offsets in the debug directory.
944         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
945         Byte-swap GUID from little-endian to big-endian order for
946         consistent and conventional display.
947
948 2014-05-16  Kaushik Phata  <Kaushik.Phatak@kpit.com>
949
950         * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if
951         64-bit doubles objects mix with 32-bit doubles objects.
952         (rl78_elf_print_private_bfd_data): Describe 64-bit doubles flag.
953
954 2014-05-08  Hans-Peter Nilsson  <hp@bitrange.com>
955
956         * mmo.c: Update URLs in documentation comments.
957
958 2014-05-02  Volodymyr Arbatov  <arbatov@cadence.com>
959             David Weatherford  <weath@cadence.com>
960             Max Filippov  <jcmvbkbc@gmail.com>
961
962         * elf32-xtensa.c (relax_section): treat R_XTENSA_DIFF* relocations as
963         signed.
964
965 2014-05-07  Andreas Tobler  <andreast@fgznet.ch>
966
967         * config.bfd: Add proper arm config for *-*-freebsd*.
968
969 2014-05-07  Andrew Bennett  <andrew.bennett@imgtec.com>
970
971         * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3,
972         mips32r5 and mips64r5.
973         * archures.c (bfd_architecture): Likewise.
974         * bfd-in2.h (bfd_architecture): Likewise.
975         * cpu-mips.c (arch_info_struct): Likewise.
976         * elfxx-mips.c (mips_set_isa_flags): Likewise.
977
978 2014-05-06  Richard Sandiford  <rdsandiford@googlemail.com>
979
980         * elfxx-mips.h (elfxx-mips.h): Declare.
981         * elfxx-mips.c (mips_elf_merge_obj_attributes): Use it to report
982         Tag_GNU_MIPS_ABI_FP mismatches.
983         (_bfd_mips_fp_abi_string): New function.
984
985 2014-05-02  Alan Modra  <amodra@gmail.com>
986
987         * targets.c: Sort bfd_target vectors somewhat alphabetically.
988         * configure.in: Likewise.
989         * configure: Regenerate.
990
991 2014-05-02  Alan Modra  <amodra@gmail.com>
992
993         * aix386-core.c, * aout-adobe.c, * aout-arm.c, * aout-ns32k.c,
994         * aout-sparcle.c, * aout0.c, * aoutx.h, * armnetbsd.c, * bout.c,
995         * cf-i386lynx.c, * cf-sparclynx.c, * cisco-core.c, * coff-alpha.c,
996         * coff-apollo.c, * coff-arm.c, * coff-aux.c, * coff-go32.c,
997         * coff-h8300.c, * coff-h8500.c, * coff-i386.c, * coff-i860.c,
998         * coff-i960.c, * coff-m68k.c, * coff-m88k.c, * coff-mips.c,
999         * coff-rs6000.c, * coff-sh.c, * coff-sparc.c, * coff-stgo32.c,
1000         * coff-svm68k.c, * coff-tic80.c, * coff-u68k.c, * coff-w65.c,
1001         * coff-we32k.c, * coff-x86_64.c, * coff-z80.c, * coff-z8k.c,
1002         * coff64-rs6000.c, * config.bfd, * configure.com, * configure.in,
1003         * demo64.c, * elf-m10200.c, * elf-m10300.c, * elf32-am33lin.c,
1004         * elf32-arc.c, * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c,
1005         * elf32-cr16.c, * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c,
1006         * elf32-d10v.c, * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
1007         * elf32-fr30.c, * elf32-frv.c, * elf32-gen.c, * elf32-h8300.c,
1008         * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-i860.c,
1009         * elf32-i960.c, * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c,
1010         * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
1011         * elf32-m68k.c, * elf32-m88k.c, * elf32-mcore.c, * elf32-mep.c,
1012         * elf32-metag.c, * elf32-microblaze.c, * elf32-mips.c, * elf32-moxie.c,
1013         * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c, * elf32-nios2.c,
1014         * elf32-or1k.c, * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c,
1015         * elf32-rx.c, * elf32-s390.c, * elf32-score.c, * elf32-sh-symbian.c,
1016         * elf32-sh.c, * elf32-sh64.c, * elf32-sparc.c, * elf32-spu.c,
1017         * elf32-tic6x.c, * elf32-tilegx.c, * elf32-tilepro.c, * elf32-v850.c,
1018         * elf32-vax.c, * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
1019         * elf32-xtensa.c, * elf64-alpha.c, * elf64-gen.c, * elf64-hppa.c,
1020         * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c, * elf64-ppc.c,
1021         * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c, * elf64-tilegx.c,
1022         * elf64-x86-64.c, * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c,
1023         * epoc-pe-arm.c, * epoc-pei-arm.c, * hp300bsd.c, * hp300hpux.c,
1024         * hppabsd-core.c, * hpux-core.c, * i386aout.c, * i386bsd.c,
1025         * i386dynix.c, * i386freebsd.c, * i386linux.c, * i386lynx.c,
1026         * i386mach3.c, * i386msdos.c, * i386netbsd.c, * i386os9k.c,
1027         * irix-core.c, * m68k4knetbsd.c, * m68klinux.c, * m68knetbsd.c,
1028         * m88kmach3.c, * m88kopenbsd.c, * mach-o-i386.c, * mach-o-x86-64.c,
1029         * makefile.vms, * mipsbsd.c, * mmo.c, * netbsd-core.c, * newsos3.c,
1030         * nlm32-alpha.c, * nlm32-i386.c, * nlm32-ppc.c, * nlm32-sparc.c,
1031         * ns32knetbsd.c, * osf-core.c, * pc532-mach.c, * pe-arm-wince.c,
1032         * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-mips.c, * pe-ppc.c,
1033         * pe-sh.c, * pe-x86_64.c, * pei-arm-wince.c, * pei-arm.c,
1034         * pei-i386.c, * pei-ia64.c, * pei-mcore.c, * pei-mips.c, * pei-ppc.c,
1035         * pei-sh.c, * pei-x86_64.c, * ppcboot.c, * ptrace-core.c, * riscix.c,
1036         * sco5-core.c, * som.c, * sparclinux.c, * sparclynx.c,
1037         * sparcnetbsd.c, * sunos.c, * targets.c, * trad-core.c,
1038         * vax1knetbsd.c, * vaxbsd.c, * vaxnetbsd.c, * versados.c,
1039         * vms-alpha.c, * vms-lib.c: Rename bfd targets to
1040         <cpu>_<format>_<other>_<endian>_vec.  Adjust associated MY macros
1041         on aout targets.
1042         * configure: Regenerate.
1043
1044 2014-05-01  Hans-Peter Nilsson  <hp@bitrange.com>
1045
1046         * mmo.c (mmo File layout documentation): Add note about low bits
1047         of address.
1048         (mmo_write_chunk): When handling data remainder, assert that
1049         previous remaining data is flushed.
1050         (mmo_write_loc_chunk): Only look for trailing and leading zeros
1051         when dealing with an aligned VMA and for aligned lengths.  Don't skip
1052         the last 32-bit-word of zeros.
1053         (mmo_write_loc_chunk): Emit an error if the VMA is not aligned.
1054         (mmo_scan) <case LOP_QUOTE>: Move re-alignment of vma before
1055         emitting data, not after updating it.
1056         <case LOP_LOC>: Call mmo_decide_section with aligned vma.
1057
1058 2014-04-30  Nick Clifton  <nickc@redhat.com>
1059
1060         * compress.c (bfd_is_section_compressed): When checking the
1061         .debug_str section, also check the fifth byte in the section is
1062         not part of a string.
1063
1064 2014-04-30  Alan Modra  <amodra@gmail.com>
1065
1066         * elf-eh-frame.c (struct cie.personality): Replace val with sym.
1067         (find_merged_cie): Identify personality functions by (bfd_id,index)
1068         pair when a local sym is used.
1069
1070 2014-04-29  Christian Svensson  <blue@cmd.nu>
1071
1072         * elf32-or1k.c: Fix a bug where non-TLS relocations would be forced
1073         into .rela.got if it contained TLS relocations as well.
1074
1075 2014-04-28  Nick Clifton  <nickc@redhat.com>
1076
1077         PR ld/16821
1078         * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile
1079         time warning.
1080
1081 2014-04-26  Alan Modra  <amodra@gmail.com>
1082
1083         * po/SRC-POTFILES.in: Regenerate.
1084         * configure: Regenerate.
1085
1086 2014-04-25  Nick Clifton  <nickc@redhat.com>
1087
1088         PR ld/16821
1089         * peXXigen.c (_bfd_XXi_swap_sym_out): Another fix for building on
1090         a 342-bit host.  This time for older versions of gcc.
1091
1092 2014-04-24  Nick Clifton  <nickc@redhat.com>
1093
1094         * peXXigen.c (rsrc_print_section): Fix compile time warning for
1095         32-bit hosts.
1096
1097 2014-04-24  Alan Modra  <amodra@gmail.com>
1098
1099         PR 16867
1100         * dwarf2.c: Formatting.
1101         (struct dwarf2_debug): Make adjusted_section_count signed.
1102         (unset_sections): Make i signed.
1103         (set_debug_vma): New function.
1104         (place_sections): Handle separate debug object file.  Set VMA
1105         on debug sections, even if they have an output section.  Also
1106         set VMA on zero size sections, and non-load but alloc sections.
1107         Set adjusted_section_count to -1 when no section adjustment.
1108         Malloc adjusted_sections.  Don't double last_vma.  Transfer
1109         alloc section VMAs to separate debug file.
1110         (_bfd_dwarf2_cleanup_debug_info): Free adjusted_sections.
1111         (_bfd_dwarf2_slurp_debug_info): Add do_place parameter.  Drop
1112         test on symbols being the same before using old stash.  Read
1113         and use separate debug file symbols.  Call place_sections.
1114         (find_line): Don't call place_sections here.
1115         * libbfd-in.h (_bfd_dwarf2_slurp_debug_info): Update proto.
1116         * libbfd.h: Regenerate.
1117         * mach-o.c (bfd_mach_o_find_nearest_line): Adjust
1118         _bfd_dwarf2_slurp_debug_info call.
1119         * simple.c (simple_save_output_info): Clarify comment.
1120
1121 2014-04-24  Nick Clifton  <nickc@redhat.com>
1122
1123         PR ld/16807
1124         * peXXigen.c (struct rsrc_regions): New structure.
1125         (rsrc_print_resource_directory): Use new structure.  Include
1126         offset of directory in listing.
1127         (rsrc_print_resource_entry): Likewise.
1128         (rsrc_print_section): Likewise.
1129         (rsrc_count_entries): Do not increment sizeof_strings or
1130         sizeof_leaves.
1131         (rsrc_count_directory): Do not increment sizeof_tables.
1132         (rsrc_compute_region_sizes): New function.
1133         (rsrc_write_leaf): Maintain 8-byte alignment for resource data.
1134         (rsrc_process_section): Compute size of regions after merging
1135         entries.
1136
1137 2014-04-23  Alan Modra  <amodra@gmail.com>
1138
1139         PR ld/16787
1140         * dwarf2.c (struct dwarf2_debug): Add sec_vma field.
1141         (place_sections): Do not modify VMA of sections when called from
1142         linker after sections have been placed in output sections.  Short
1143         circuit single section case.
1144         (save_section_vma, section_vma_same): New functions.
1145         (_bfd_dwarf2_slurp_debug_info): Throw away stash if section VMAs
1146         change.
1147         * reloc.c (bfd_perform_relocation): Do not modify reloc addend
1148         when non-relocatable.
1149
1150 2014-04-22  Nick Clifton  <nickc@redhat.com>
1151
1152         PR ld/16821
1153         * peXXigen.c (_bfd_XXi_swap_sym_out): Fix for 32-bit hosts.
1154
1155 2014-04-22  Christian Svensson  <blue@cmd.nu>
1156
1157         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
1158         * archures.c: Likewise.
1159         * coffcode.h: Likewise.
1160         * config.bfd: Likewise.
1161         * configure.in: Likewise.
1162         * reloc.c: Likewise.
1163         * targets.c: Likewise.
1164         * cpu-or1k.c: New file.
1165         * elf32-or1k.c: New file.
1166         * coff-or32.c: Delete.
1167         * cpu-openrisc.c: Delete.
1168         * cpu-or32.c: Delete.
1169         * elf32-openrisc.c: Delete.
1170         * elf32-or32.c: Delete.
1171         * Makefile.in: Regenerate.
1172         * bfd-in2.h: Regenerate.
1173         * configure: Regenerate.
1174         * libbfd.h: Regenerate.
1175
1176 2014-04-22  Yuanhui Zhang  <asmwarrior@gmail.com>
1177
1178         PR ld/16821
1179         * peXXigen.c (abs_finder): Fix for 32-bit host builds.
1180
1181 2014-04-22  Will Newton  <will.newton@linaro.org>
1182
1183         * elfnn-aarch64.c (elfNN_aarch64_section_flags): Remove
1184         function.  (elf_backend_section_flags): Remove define.
1185
1186 2014-04-21  Richard Henderson  <rth@redhat.com>
1187
1188         * elf64-alpha.c (elf64_alpha_size_got_sections): New may_merge
1189         parameter; honor it and disable got merging when false.
1190         (elf64_alpha_relax_got_load): Do not relax to GPREL relocs during
1191         the first pass of relaxation.
1192         (elf64_alpha_relax_with_lituse): Likewise.  Move relaxed relocs to
1193         the end of the LITERAL+LITUSE chain.
1194         (elf64_alpha_relax_section): Only process LITERAL relocs during the
1195         second pass of relaxation.
1196
1197         * configure.ac (use_secureplt): Enable by default.
1198         * configure: Rebuild.
1199
1200 2014-04-18  Tristan Gingold  <gingold@adacore.com>
1201
1202         * mach-o.h (bfd_mach_o_dyld_info_command): Add rebase_content,
1203         bind_content, weak_bind_content, lazy_bind_content,
1204         export_content.
1205         (bfd_mach_o_load_command): Add comments, add next field.
1206         (mach_o_data_struct): Replace commands field by first_command
1207         and last_command.
1208         * mach-o.c (bfd_mach_o_append_command): New function.
1209         (bfd_mach_o_bfd_copy_private_symbol_data): Add blank lines.
1210         (bfd_mach_o_bfd_copy_private_section_data): Check flavour,
1211         copy fields.
1212         (bfd_mach_o_bfd_copy_private_header_data): Copy load commands.
1213         (bfd_mach_o_pad4, bfd_mach_o_pad_command): New functions.
1214         (bfd_mach_o_write_thread): Use macro instead of literal.
1215         (bfd_mach_o_write_dylinker, bfd_mach_o_write_dylib)
1216         (bfd_mach_o_write_main, bfd_mach_o_write_dyld_info): New
1217         functions.
1218         (bfd_mach_o_write_symtab_content): New function (extracted
1219         from bfd_mach_o_write_symtab).
1220         (bfd_mach_o_write_symtab): Split.
1221         (bfd_mach_o_count_indirect_symbols): Move
1222         (bfd_mach_o_build_dysymtab): Remove layout code.
1223         (bfd_mach_o_write_contents): Rewritten to build commands in order.
1224         (bfd_mach_o_count_sections_for_seg): Remove.
1225         (bfd_mach_o_build_obj_seg_command): New function (extracted from
1226         bfd_mach_o_build_seg_command).
1227         (bfd_mach_o_build_exec_seg_command): New function.
1228         (bfd_mach_o_build_dysymtab_command): Remove.
1229         (bfd_mach_o_layout_commands): New function.
1230         (bfd_mach_o_init_segment): New function.
1231         (bfd_mach_o_build_commands): Major rework to handle non-object
1232         files.
1233         (bfd_mach_o_alloc_and_read, bfd_mach_o_read_dyld_content): New
1234         function.
1235         (bfd_mach_o_read_dyld_info): Clear content fields.
1236         (bfd_mach_o_read_segment): Adjust call.
1237         (bfd_mach_o_flatten_sections): Adjust as now load commands are
1238         chained.
1239         (bfd_mach_o_scan_start_address, bfd_mach_o_scan)
1240         (bfd_mach_o_mkobject_init, bfd_mach_o_get_base_address)
1241         (bfd_mach_o_lookup_command, bfd_mach_o_core_fetch_environment):
1242         Likewise.
1243
1244 2014-04-18  Tristan Gingold  <gingold@adacore.com>
1245
1246         * mach-o-target.c (bfd_mach_o_bfd_copy_private_header_data):
1247         Define instead of bfd_mach_o_bfd_copy_private_bfd_data.
1248         * mach-o.c (bfd_mach_o_bfd_copy_private_bfd_data): Rename.
1249         * mach-o.h (bfd_mach_o_bfd_copy_private_bfd_data): Likewise.
1250
1251 2014-04-18  Tristan Gingold  <gingold@adacore.com>
1252
1253         * mach-o.h (bfd_mach_o_dylinker_command)
1254         (bfd_mach_o_dylib_command, bfd_mach_o_fvmlib_command): Remove
1255         name_len field.
1256         * mach-o.c (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
1257         (bfd_mach_o_read_fvmlib): Adjust after name_len removal.
1258
1259 2014-04-18  Tristan Gingold  <gingold@adacore.com>
1260
1261         * mach-o.h (bfd_mach_o_backend_data): Add page_size field.
1262         * mach-o-target.c: Check TARGET_PAGESIZE is defined.
1263         (TARGET_NAME_BACKEND): Add TARGET_PAGESIZE.
1264         * mach-o.c (TARGET_PAGESIZE): Define and undefined for
1265         each targets declared.
1266         * mach-o-x86-64.c (TARGET_PAGESIZE): Define.
1267         * mach-o-i386.c (TARGET_PAGESIZE): Define.
1268
1269 2014-04-18  Tristan Gingold  <gingold@adacore.com>
1270
1271         * mach-o.c (bfd_mach_o_write_thread)
1272         (bfd_mach_o_write_section_32, bfd_mach_o_write_section_64)
1273         (bfd_mach_o_write_segment_32, bfd_mach_o_write_segment_64)
1274         (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib)
1275         (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_prebind_cksum)
1276         (bfd_mach_o_read_twolevel_hints, bfd_mach_o_read_fvmlib)
1277         (bfd_mach_o_read_thread, bfd_mach_o_read_dysymtab)
1278         (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid)
1279         (bfd_mach_o_read_linkedit, bfd_mach_o_read_str)
1280         (bfd_mach_o_read_dyld_info, bfd_mach_o_read_segment)
1281         (bfd_mach_o_read_segment_32, bfd_mach_o_read_segment_64)
1282         (bfd_mach_o_read_command): Now return a boolean status.
1283         Adjust return statements.
1284         (bfd_mach_o_write_contents, bfd_mach_o_scan): Adjust tests.
1285         (bfd_mach_o_core_file_failing_command): Remove useless initialization.
1286
1287 2014-04-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
1288
1289         * elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
1290         field.  Add assigned_low_gotno and assigned_high_gotno fields.
1291         (mips_elf_create_local_got_entry): Update out-of-space condition.
1292         Set index of new GOT entry to assigned_low_gotno if required by
1293         the current relocation, else set it to assigned_high_gotno.
1294         (mips_elf_set_global_gotidx): Replace uses of assigned_gotno
1295         with assigned_low_gotno.
1296         (mips_elf_multi_got): Initialize assigned_low_gotno and
1297         assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
1298         in place of assigned_gotno when handling global GOT entries.
1299         (mips_elf_lay_out_got): Initialize assigned_low_gotno and
1300         assigned_high_gotno.
1301         (_bfd_mips_elf_finish_dynamic_sections): Account for a possible
1302         gap in the middle of local GOT space.
1303
1304 2014-04-17  Alan Modra  <amodra@gmail.com>
1305
1306         PR 16846
1307         * elflink.c (_bfd_elf_merge_symbol): Ignore TLS mismatch when
1308         current bfd is a plugin.  Don't always set type_change_ok
1309         when old bfd is a plugin.
1310
1311 2014-04-16  Tristan Gingold  <gingold@adacore.com>
1312
1313         * mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Adjust cpusubtype
1314         flag.
1315
1316 2014-04-16  Alan Modra  <amodra@gmail.com>
1317
1318         * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area
1319         with "ba 0" rather than zeros.
1320
1321 2014-04-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1322
1323         * (elfNN_aarch64_tls_relax): Fix instruction mask.
1324
1325 2014-04-14  Alan Modra  <amodra@gmail.com>
1326
1327         * elf32-ppc.c (BA): Define
1328         (ppc_elf_link_hash_table_create): Correct default_params.
1329         (write_glink_stub): Pad small plt call stub with "ba 0" rather
1330         than "nop" for ppc476_workaround.
1331         (ppc_elf_finish_dynamic_sections): Likewise for branch table
1332         and __glink_PLTresolve.  Ensure plt call stub at end of page
1333         doesn't allow fall-thru prefetch.
1334
1335 2014-04-11  Nick Clifton  <nickc@redhat.com>
1336
1337         PR ld/16821
1338         * peXXigen.c (abs_finder): New function.
1339         (_bfd_XXi_swap_sym_out): For absolute symbols with values larger
1340         than 1^32 try to convert them into section relative values
1341         instead.
1342
1343 2014-04-11  Nick Clifton  <nickc@redhat.com>
1344
1345         * bfd-in2.h: Regenerate.
1346         * libbfd.h: Regenerate.
1347
1348 2014-04-10  Cesar Philippidis  <cesar@codesourcery.com>
1349
1350         * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs
1351         when building function stubs.
1352
1353 2014-04-10  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
1354
1355         * elf32-avr.c: Add DIFF relocations for AVR.
1356         (avr_final_link_relocate): Handle the DIFF relocs.
1357         (bfd_elf_avr_diff_reloc): New.
1358         (elf32_avr_is_diff_reloc): New.
1359         (elf32_avr_adjust_diff_reloc_value): Reduce difference value.
1360         (elf32_avr_relax_delete_bytes): Recompute difference after deleting
1361         bytes.
1362
1363         * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations
1364
1365 2014-04-09  Alan Modra  <amodra@gmail.com>
1366
1367         * libcoff.h: Regenerate.
1368
1369 2014-04-09  Alan Modra  <amodra@gmail.com>
1370
1371         * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list
1372         of safe ppc476 insns at end of page.  Also remove non-branch insns.
1373         Expand comments.
1374
1375 2014-04-08  Jon Turney  <jon.turney@dronecode.org.uk>
1376
1377         * peXXigen.c (pe_print_debugdata): New function: Displays the
1378         contents of the debug directory and decodes codeview entries.
1379         (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
1380         (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record):
1381         Add functions for reading and writing debugdir and codeview
1382         records.
1383         * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out)
1384         (_bfd_XXi_write_codeview_record): Add prototypes and macros.
1385         * libcoff-in.h (pe_tdata): Add build-id data.
1386         * libcoff.h: Regenerate.
1387         * coffcode.h (coff_write_object_contents): Run build_id
1388         after_write_object_contents hook.
1389
1390 2014-04-05  Alan Modra  <amodra@gmail.com>
1391
1392         * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when
1393         merging non-default sym.
1394
1395 2014-04-04  Tristan Gingold  <gingold@adacore.com>
1396
1397         * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not
1398         configured for.
1399
1400 2014-04-04  Tristan Gingold  <gingold@adacore.com>
1401
1402         * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix
1403         thinko on names length.
1404
1405 2014-04-04  Tristan Gingold  <gingold@adacore.com>
1406
1407         * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index
1408         of output_section.
1409         * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto.
1410
1411 2014-04-04  Tristan Gingold  <gingold@adacore.com>
1412
1413         * bfd.c (bfd_get_arch_size): Default is taken from arch.
1414
1415 2014-04-03  Jon Turney  <jon.turney@dronecode.org.uk>
1416
1417         * peXXigen.c (pe_print_edata): Verify edt.name lies inside
1418         section before dereferencing.
1419         (pe_print_idata, pe_print_edata, pe_print_reloc)
1420         (rsrc_print_section): Don't bother interpreting the contents
1421         of sections which have no contents.
1422
1423 2014-04-03  Maria Guseva  <m.guseva@samsung.com>
1424
1425         PR ld/16803
1426         * elf.c (_bfd_elf_set_section_contents): Use correct type to hold
1427         file position.
1428
1429 2014-04-03  Tristan Gingold  <gingold@adacore.com>
1430
1431         * mach-o.c (bfd_mach_o_mangle_symbols): Use index from
1432         output_section.
1433         (bfd_mach_o_build_seg_command): Add comment.  Realign segment.
1434         Fix style.
1435         (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style.
1436
1437 2014-04-03  Alan Modra  <amodra@gmail.com>
1438
1439         * elf-bfd.h (struct elf_backend_data
1440         <elf_backend_bfd_from_remote_memory>): Replace "size_t size"
1441         with "bfd_size_type size".
1442         (_bfd_elf32_bfd_from_remote_memory): Likewise.
1443         (_bfd_elf64_bfd_from_remote_memory): Likewise.
1444         * elf.c (bfd_elf_bfd_from_remote_memory): Likewise.
1445         * elfcode.h (bfd_from_remote_memory): Likewise.
1446         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise.
1447         * bfd-in2.h: Regenerate.
1448
1449 2014-04-02  Tristan Gingold  <gingold@adacore.com>
1450
1451         * mach-o.h (bfd_mach_o_twolevel_hints_command)
1452         (bfd_mach_o_prebind_cksum_command): New types.
1453         (bfd_mach_o_prebound_dylib_command): Rewrite.
1454         (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints
1455         fields.
1456         * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the
1457         command.
1458         (bfd_mach_o_read_prebind_cksum): New function.
1459         (bfd_mach_o_read_twolevel_hints): Ditto.
1460         (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints
1461         commands.
1462
1463 2014-04-02  Alan Modra  <amodra@gmail.com>
1464
1465         * elfcode.h (bfd_from_remote_memory): Add "size" parameter.
1466         Consolidate code handling possible section headers past end of
1467         segment.  Don't use p_align for page size guess, instead use
1468         minpagesize.  Take note of ld.so clearing section headers when
1469         p_memsz > p_filesz.  Handle file header specifying no section
1470         headers.  Handle zero p_align throughout.  Default loadbase to
1471         zero.  Add comments.  Rename contents_size to high_offset, and
1472         make it a bfd_vma.  Delete unnecessary bfd_set_error calls.
1473         * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe.
1474         * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>):
1475         Likewise.
1476         (_bfd_elf32_bfd_from_remote_memory): Likewise.
1477         (_bfd_elf64_bfd_from_remote_memory): Likewise.
1478         * elf.c (bfd_elf_bfd_from_remote_memory): Adjust.
1479         * bfd-in2.h: Regnerate.
1480
1481 2014-04-01  Tristan Gingold  <gingold@adacore.com>
1482
1483         * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash
1484         when num == 0.
1485
1486 2014-03-27  Yury Gribov  <y.gribov@samsung.com>
1487             Pavel Fedin  <p.fedin@samsung.com>
1488
1489         * elf32-arm.c: Add support for limited pretty-printing of PLT
1490         entries on eabi and nacl targets.
1491         (elf32_arm_get_synthetic_symtab): Add new callback.
1492         (elf32_arm_nacl_plt_sym_val): Likewise.
1493         (elf32_arm_plt0_size): Add helper function.
1494         (elf32_arm_plt_size): Likewise.
1495
1496 2014-03-27  Tristan Gingold  <gingold@adacore.com>
1497
1498         * mach-o.c (bfd_mach_o_read_dylinker): Remove assert.
1499         (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT.
1500
1501 2014-03-27  Tristan Gingold  <gingold@adacore.com>
1502
1503         * mach-o.h (bfd_mach_o_get_base_address): New prototype.
1504         * mach-o.c (bfd_mach_o_write_symtab)
1505         (bfd_mach_o_write_contents)
1506         (bfd_mach_o_set_section_flags_from_bfd)
1507         (bfd_mach_o_build_seg_command): Fix indentation.
1508         (bfd_mach_o_get_base_address): New function.
1509
1510 2014-03-26  Nick Clifton  <nickc@redhat.com>
1511
1512         * cofflink.c (_bfd_coff_generic_relocate_section): Skip
1513         relocations in discarded sections.
1514
1515 2014-03-26  Tristan Gingold  <gingold@adacore.com>
1516
1517         * mach-o.c (bfd_mach_o_convert_architecture): Add
1518         BFD_MACH_O_CPU_TYPE_ARM64.
1519
1520 2014-03-26  Alan Modra  <amodra@gmail.com>
1521
1522         * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly
1523         needed plt entries when taking the address of functions for
1524         abiversion == 0 (ie. unknown) as well as abiversion == 2.
1525         Move opd setup and abiversion checks to..
1526         (ppc64_elf_before_check_relocs): ..here.  Renamed from
1527         ppc64_elf_process_dot_syms.  Set output abiversion from input and
1528         input abiversion from output, if either is not set.
1529         (ppc64_elf_merge_private_bfd_data): Don't merge flags here.
1530         (elf_backend_check_directives): Update.
1531
1532 2014-03-25  Will Newton  <will.newton@linaro.org>
1533
1534          * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections):
1535          Set value of DT_PLTRELSZ and DT_RELASZ based on the size
1536          of input sections rather than output sections.
1537
1538 2014-03-20  Will Newton  <will.newton@linaro.org>
1539
1540         PR ld/16715
1541         * elf32-arm.c (elf32_arm_check_relocs): Set
1542         pointer_equality_needed for absolute references within
1543         executable links.
1544         (elf32_arm_finish_dynamic_symbol): Set st_value to zero
1545         unless pointer_equality_needed is set.
1546
1547 2014-03-19  Nick Clifton  <nickc@redhat.com>
1548
1549         * peXXigen.c (rsrc_process_section): Add code to scan input
1550         sections and record their lengths.  Use these lengths to find the
1551         start of each merged .rsrc section.
1552
1553 2014-03-17  Tristan Gingold  <gingold@adacore.com>
1554
1555         * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib.
1556         (bfd_mach_o_read_command): Ditto.
1557
1558 2014-03-14  Meador Inge  <meadori@codesourcery.com>
1559
1560         * configure.in: Add strnlen to AC_CHECK_DECLS.
1561         * config.in: Regenerate.
1562         * configure: Regenerate.
1563         * sysdep.h (strnlen): Add prototype.
1564
1565 2014-03-14  Alan Modra  <amodra@gmail.com>
1566
1567         * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow
1568         handling for VLE_SDA21 relocs.
1569
1570 2014-03-13  Tristan Gingold  <gingold@adacore.com>
1571
1572         * peicode.h (pe_ILF_object_p): Adjust, as the version number
1573         has been read.
1574         (pe_bfd_object_p): Also read version number to detect ILF.
1575         * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define.
1576         (x86_64pe_bigobj_vec): Define
1577         * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field.
1578         (bfd_coff_max_nscns): New macro.
1579         (coff_compute_section_file_positions): Use unsigned int for
1580         target_index.  Compare with bfd_coff_max_nscns.
1581         (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table):
1582         Set a value for _bfd_coff_max_nscns.
1583         (header_bigobj_classid): New constant.
1584         (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out)
1585         (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out)
1586         (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New
1587         functions.
1588         (bigobj_swap_table): New table.
1589         * libcoff.h: Regenerate.
1590         * coff-sh.c (bfd_coff_small_swap_table): Likewise.
1591         * coff-alpha.c (alpha_ecoff_backend_data): Add value for
1592         _bfd_coff_max_nscns.
1593         * coff-mips.c (mips_ecoff_backend_data): Likewise.
1594         * coff-rs6000.c (bfd_xcoff_backend_data)
1595         (bfd_pmac_xcoff_backend_data): Likewise.
1596         * coff64-rs6000.c (bfd_xcoff_backend_data)
1597         (bfd_xcoff_aix5_backend_data): Likewise.
1598         * targets.c (x86_64pe_bigobj_vec): Declare.
1599         * configure.in (x86_64pe_bigobj_vec): New vector.
1600         * configure: Regenerate.
1601         * config.bfd: Add bigobj object format for Windows targets.
1602
1603 2014-03-12  Nick Clifton  <nickc@redhat.com>
1604
1605         PR ld/16671
1606         * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format
1607         before testing for vxworks.
1608
1609 2014-03-12  Alan Modra  <amodra@gmail.com>
1610
1611         * Makefile.in: Regenerate.
1612
1613 2014-03-12  Alan Modra  <amodra@gmail.com>
1614
1615         PR 16690
1616         * elf.c (copy_elf_program_header): Ignore first section lma if
1617         non-alloc.
1618
1619 2014-03-11  Alan Modra  <amodra@gmail.com>
1620
1621         PR 16686
1622         * coff-rs6000.c: Include stdint.h.
1623         * coff64-rs6000.c: Likewise.
1624
1625 2014-03-10  Tristan Gingold  <gingold@adacore.com>
1626
1627         * ticoff.h: Removed.
1628
1629 2014-03-08  Alan Modra  <amodra@gmail.com>
1630
1631         * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for
1632         many relocations.  Correct bitsize and rightshift too for a number
1633         of VLE relocs.  Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO.
1634         Correct dst_mask on R_PPC_VLE_SDA21_LO.
1635         (ppc_elf_vle_split16): Tidy, delete unnecessary prototype.
1636         (ppc_elf_relocate_section): Modify overflow test for 16-bit
1637         fields in instructions to signed/unsigned according to whether
1638         the field takes a signed or unsigned value.  Tidy vle split16 code.
1639         Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling.
1640
1641 2014-03-08  Alan Modra  <amodra@gmail.com>
1642
1643         * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed
1644         for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN,
1645         R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS,
1646         R_PPC64_REL16 entries.  Use complain_overflow_dont for R_PPC64_TOC.
1647         (ppc64_elf_relocate_section): Modify overflow test for 16-bit
1648         fields in instructions to signed/unsigned according to whether
1649         the field takes a signed or unsigned value.
1650
1651 2014-03-07  Pedro Alves  <palves@redhat.com>
1652
1653         PR gdb/16696
1654         * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma
1655         through ptr_to_uint instead of through long.
1656
1657 2014-03-06  Nick Clifton  <nickc@redhat.com>
1658
1659         PR 16664
1660         * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt
1661         attribute section names.
1662
1663 2014-03-05  Alan Modra  <amodra@gmail.com>
1664
1665         Update copyright years.
1666
1667 2014-03-05  Alan Modra  <amodra@gmail.com>
1668
1669         * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry.
1670         (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL.
1671         (ppc64_elf_check_relocs): Likewise.
1672         (ppc64_elf_relocate_section): Likewise.
1673         * Add BFD_RELOC_PPC64_ADDR64_LOCAL.
1674         * bfd-in2.h: Regenerate.
1675         * libbfd.h: Regenerate.
1676
1677 2014-03-04  Heiher  <r@hev.cc>
1678
1679         * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for
1680         Loongson-3A.
1681         (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an
1682         extension of bfd_mach_mipsisa64r2.
1683
1684 2014-03-04  Nick Clifton  <nickc@redhat.com>
1685
1686         PR ld/16017
1687         * elf32-arm.c (elf32_thumb2_plt0_entry): New array.
1688         (elf32_thumb2_plt_entry): New array.
1689         (elf32_arm_create_dynamic_sections): Set PLT entry sizes when
1690         using thumb2 based PLT.
1691         (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT
1692         entries.
1693         (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based
1694         PLT entries.
1695         (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2
1696         based PLT 0-entry.
1697         (elf32_arm_output_plt_map_1): Handle creation of local symbols for
1698         Thumb2 based PLT 0-entry.
1699         (elf32_arm_output_arch_local_syms): Handle creation of local
1700         symbols for Thumb2 based PLT entries.
1701
1702 2014-02-28  Alan Modra  <amodra@gmail.com>
1703
1704         PR ld/16643
1705         * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly
1706         the same conditions we called check_relocs.
1707
1708 2014-02-27  Yuri Gribov  <y.gribov@samsung.com>
1709
1710         * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt.
1711         * bfd-in2.h: Regenerate.
1712         * elf32-arm.c (elf32_arm_plt_entry_long): New array.
1713         (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if
1714         using long PLT entries.
1715         (bfd_elf32_arm_use_long_plt): New function.
1716         (elf32_arm_populate_plt_entry): Add support for long PLT entries.
1717
1718 2014-02-27  Alan Modra  <amodra@gmail.com>
1719
1720         * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default
1721         params for targets that don't use ppc32elf.em.
1722
1723 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
1724
1725         * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation
1726         of GOTOFF relocations.
1727
1728 2014-02-19  Igor Zamyatin  <igor.zamyatin@intel.com>
1729             H.J. Lu  <hongjiu.lu@intel.com>
1730
1731         * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New.
1732         (elf_x86_64_legacy_plt_entry): Likewise.
1733         (elf_x86_64_bnd_plt_entry): Likewise.
1734         (elf_x86_64_legacy_plt2_entry): Likewise.
1735         (elf_x86_64_bnd_plt2_entry): Likewise.
1736         (elf_x86_64_bnd_arch_bed): Likewise.
1737         (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd.
1738         (elf_x86_64_link_hash_table): Add plt_bnd.
1739         (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and
1740         plt_bnd.
1741         (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc.
1742         (elf_x86_64_check_relocs): Create the second PLT for Intel MPX
1743         in 64-bit mode.
1744         (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC
1745         symbols.  Resolve call to the second PLT if it is created.
1746         (elf_x86_64_size_dynamic_sections): Keep the second PLT section.
1747         (elf_x86_64_relocate_section): Resolve PLT references to the
1748         second PLT if it is created.
1749         (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the
1750         second PLT entry for BND relocation.
1751         (elf_x86_64_finish_dynamic_sections): Use MPX backend data if
1752         the second PLT is created.
1753         (elf_x86_64_get_synthetic_symtab): New.
1754         (bfd_elf64_get_synthetic_symtab): Likewise.  Undefine for NaCl.
1755
1756 2014-02-19  Alan Modra  <amodra@gmail.com>
1757
1758         * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs.
1759         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control
1760         provision of out-of-line register save/restore routines.
1761
1762 2014-02-18  Jack Carter  <jack.carter@imgtec.com>
1763
1764         * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of
1765         PT_DYNAMIC segment flags.
1766
1767 2014-02-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
1768
1769         PR binutils/16595
1770         * simple.c (struct saved_offsets): New.
1771         (simple_save_output_info): Use it for ptr.
1772         (simple_restore_output_info): Use it for ptr.  Check section_count.
1773         (bfd_simple_get_relocated_section_contents): Use it for saved_offsets.
1774
1775 2014-02-17  Alan Modra  <amodra@gmail.com>
1776
1777         * elf64-ppc.h (struct ppc64_elf_params): Define.
1778         (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
1779         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
1780         ppc64_elf_build_stubs): Update prototype.
1781         * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
1782         fields now in params.  Adjust code throughout file.
1783         (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
1784         Save params pointer in htab.
1785         (ppc64_elf_edit_opd, ppc64_elf_tls_setup,
1786         ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
1787         ppc64_elf_build_stubs): Remove parameters now in "params".
1788
1789 2014-02-17  Alan Modra  <amodra@gmail.com>
1790
1791         * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns
1792         patched for ppc476 workaround.  Reapply branch taken/not taken
1793         relocs.
1794
1795 2014-02-12  Alan Modra  <amodra@gmail.com>
1796
1797         * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch
1798         stubs for calls to __tls_get_addr that we know will later be
1799         optimised away.
1800
1801 2014-02-12  Alan Modra  <amodra@gmail.com>
1802
1803         * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
1804         for ld -r, when code sections are sufficiently aligned.
1805         * elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
1806         pagesize_p2.
1807
1808 2014-02-12  Alan Modra  <amodra@gmail.com>
1809
1810         PR gold/15530
1811         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
1812         --export-dynamic and --dynamic-list marking of symbols.
1813         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder
1814         cheap tests first.
1815
1816 2014-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1817
1818         PR gold/16530
1819         * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in
1820         executables if it matches dynamic_list.
1821
1822 2014-02-10  Alan Modra  <amodra@gmail.com>
1823
1824         * po/SRC-POTFILES.in: Regenerate.
1825         * po/bfd.pot: Regenerate.
1826
1827 2014-02-09  Alan Modra  <amodra@gmail.com>
1828
1829         * elf-bfd.h (struct elf_backend_data): Add caches_rawsize.
1830         * elfxx-target.h (elf_backend_caches_rawsize): Define.
1831         (elfNN_bed): Init new field.
1832         * elflink.c (elf_link_input_bfd): Handle caches_rawsize.
1833         * elf32-ppc.c (shared_stub_entry): Zero addi offset.
1834         (ppc_elf_relax_section): Don't reallocate section here, write
1835         stubs, or write out relocs for ld -r here..
1836         (ppc_elf_relocate_section): ..instead write stubs here, and use
1837         existing code to write out relocs for ld -r.  Fix offset
1838         adjustment on reloc for little-endian.
1839         (elf_backend_caches_rawsize): Define.
1840
1841 2014-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1842
1843         PR build/16550
1844         * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t.
1845
1846 2014-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
1847
1848         * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in
1849         return paths.  Three times.
1850         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all
1851         return paths.
1852         (ppc64_elf_tls_optimize): Free TOC_REF in return path.
1853         (ppc64_elf_edit_toc): Free USED in return path.
1854
1855 2014-02-03  Sandra Loosemore  <sandra@codesourcery.com>
1856
1857         * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New.
1858         (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New.
1859         * libbfd.h: Regenerated.
1860         * bfd-in2.h: Regenerated.
1861         * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations.
1862         (nios2_reloc_map): Likewise.
1863         (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED.
1864         Fixed all references.
1865         (nios2_elf32_relocate_section): Add new relocations.
1866         (nios2_elf32_check_relocs): Likewise.
1867         (nios2_elf32_gc_sweep_hook): Likewise.
1868
1869 2014-02-03  Alan Modra  <amodra@gmail.com>
1870
1871         * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params.
1872         Delete emit_stub_syms, no_tls_get_addr_opt.  Update all uses.
1873         (ppc_elf_link_params): New function.
1874         (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476
1875         workaround.
1876         (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms
1877         parameters.  Use htab->params instead.
1878         (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter.
1879         (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to
1880         64 bytes for ppc476 workaround.
1881         (struct ppc_elf_relax_info): New.
1882         (ppc_elf_relax_section): Exclude linker created sections and
1883         those too small to hold one instruction.  Don't add another
1884         branch around trampolines on later relax passes.  Don't
1885         generate trampolines for undefined symbols when !relocatable,
1886         nor for plugin symbols.  Allocate space for ppc476 workaround
1887         patch area.  Free fixups on error return path.
1888         (ppc_elf_relocate_section): Handle ppc476 workaround patching.
1889         * elf32-ppc.h (struct ppc_elf_params): New.
1890         (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype.
1891         (ppc_elf_link_params): Declare.
1892         * section.c (SEC_INFO_TYPE_TARGET): Define.
1893         * bfd-in2.h: Regenerate.
1894
1895 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
1896
1897         * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add
1898         h_gp_got field.
1899         (nios2_elf32_relocate_section): Use got_base to adjust
1900         GOT-pointer-relative relocations relative to _gp_got.
1901         (create_got_section): Create _gp_got symbol.
1902         (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute.
1903         (nios2_elf32_size_dynamic_sections): Set _gp_got offset.
1904
1905 2014-01-30  Sandra Loosemore  <sandra@codesourcery.com>
1906
1907         * bfd-in2.h: Update from reloc.c.
1908         * elf32-nios2.c: Include elf32-nios2.h.
1909         (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT.
1910         (nios2_reloc_map): Likewise.
1911         (enum elf32_nios2_stub_type): Declare.
1912         (struct elf32_nios2_stub_hash_entry): Declare.
1913         (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros.
1914         (struct elf32_nios2_link_hash_entry): Add hsh_cache field.
1915         (struct elf32_nios2_link_hash_table): Add new fields bstab,
1916         stub_bfd, add_stub_section, layout_sections_again, stub_group,
1917         bfd_count, top_index, input_list, all_local_syms.
1918         (nios2_call26_stub_entry): New.
1919         (nios2_elf32_install_imm16): Move up in file.
1920         (nios2_elf32_install_data): Move up in file.
1921         (hiadj): Move up in file.
1922         (stub_hash_newfunc): New.
1923         (link_hash_newfunc): Initialize hsh_cache field.
1924         (STUB_SUFFIX): New.
1925         (nios2_stub_name): New.
1926         (nios2_get_stub_entry): New.
1927         (nios2_add_stub): New.
1928         (nios2_elf32_setup_section_lists): New.
1929         (nios2_elf32_next_input_section): New.
1930         (CALL26_SEGMENT): New.
1931         (MAX_STUB_SECTION_SIZE): New.
1932         (group_sections): New.
1933         (nios2_type_of_stub): New.
1934         (nios2_build_one_stub): New.
1935         (nios2_size_one_stub): New.
1936         (get_local_syms): New.
1937         (nios2_elf32_size_stubs): New.
1938         (nios2_elf32_build_stubs): New.
1939         (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test.
1940         (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT.  Add
1941         trampolines for R_NIOS2_CALL26 stubs.
1942         (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT.
1943         (nios2_elf32_gc_sweep_hook): Likewise.
1944         (nios2_elf32_link_hash_table_create): Initialize the stub hash table.
1945         (nios2_elf32_link_hash_table_free): New.
1946         (bfd_elf32_bfd_link_hash_table_free): Define.
1947         * elf32-nios2.h: New file.
1948         * libbfd.h: Update from reloc.c.
1949         * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New.
1950
1951 2014-01-29  Nick Clifton  <nickc@redhat.com>
1952
1953         PR binutils/16318
1954         * elf32-metag.c (elf_metag_post_process_headers): Call
1955         _bfd_elf_post_process_headers.
1956         * elf32-sh64.c (sh64_elf_copy_private_data): Call
1957         _bfd_elf_copy_private_data.
1958         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1959
1960 2014-01-29  Nick Clifton  <nickc@redhat.com>
1961
1962         * bfd-in.h (bfd_set_section_vma): Delete.
1963         (bfd_set_section_alignment): Delete.
1964         (bfd_set_section_userdata): Delete.
1965         (bfd_set_cacheable): Delete.
1966         * bfd.c (bfd_set_cacheable): New static inline function.
1967         * section.c (bfd_set_section_userdata): Likewise.
1968         (bfd_set_section_vma): Likewise.
1969         (bfd_set_section_alignment): Likewise.
1970         * bfd-in2.h: Regenerate.
1971
1972 2014-01-28  Nick Clifton  <nickc@redhat.com>
1973
1974         * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr
1975         attributes select the CU containing the abbreviation, which may not
1976         be the current CU.
1977
1978 2014-01-24  Alan Modra  <amodra@gmail.com>
1979
1980         * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed
1981         to get_relocs for ELFv2.
1982
1983 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
1984
1985         PR ld/16498
1986         * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error
1987         if TLS sections are not adjacent.
1988
1989 2014-01-22  Alan Modra  <amodra@gmail.com>
1990
1991         * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed.
1992
1993 2014-01-22  Alan Modra  <amodra@gmail.com>
1994
1995         * elf64-ppc.c (STK_LINKER): Comment typo fix.
1996
1997 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
1998
1999         PR ld/16467
2000         * elflink.c (_bfd_elf_merge_symbol): When types of the existing
2001         regular default symbol definition and the versioned dynamic
2002         symbol definition mismatch, skip the default symbol definition
2003         if one of them is IFUNC.
2004
2005 2014-01-21  H.J. Lu  <hongjiu.lu@intel.com>
2006
2007         PR ld/2404
2008         * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared,
2009         info->export_dynamic nor h->ref_dynamic for type mismatch when
2010         adding the default version.
2011
2012 2014-01-16  Alan Modra  <amodra@gmail.com>
2013
2014         * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a
2015         mips_elf_traverse_got_arg* rather than mips_got_info*.
2016         Adjust caller.  Alloc on output_bfd rather than symbol section
2017         owner.
2018
2019 2014-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2020
2021         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
2022         change.
2023         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2024
2025 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2026
2027         PR ld/16428
2028         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs
2029         against __ehdr_start.
2030         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2031
2032 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2033
2034         * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last
2035         change.
2036         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2037
2038 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2039
2040         PR ld/16428
2041         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc
2042         count if there are any non pc-relative relocs.
2043         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2044
2045 2014-01-14  Michael Hudson-Doyle  <michael.hudson@linaro.org>
2046             Kugan Vivekanandarajah  <kugan.vivekanandarajah@linaro.org>
2047
2048         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct
2049         offset while calculating relocation address.
2050         (elfNN_aarch64_create_small_pltn_entry): Likewise.
2051         (elfNN_aarch64_init_small_plt0_entry): Likewise.
2052
2053 2014-01-13  Ma Jiang  <ma.jiang@zte.com.cn>
2054
2055         PR ld/16202
2056         * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for
2057         R_ARM_ABS8 and R_ARM_ABS16.
2058
2059 2014-01-13  Alan Modra  <amodra@gmail.com>
2060
2061         * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc,
2062         error when shared and force a plt call otherwise.
2063         (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless
2064         plt_type == PLT_NEW.
2065         (ppc_elf_relocate_section): Add missing test to resolve ifuncs to
2066         the appropriate call stub.
2067
2068 2014-01-10  Alan Modra  <amodra@gmail.com>
2069
2070         PR ld/14207
2071         PR ld/16322
2072         PR binutils/16323
2073         * elf.c (assign_file_positions_for_load_sections): Revert last change.
2074         (assign_file_positions_for_non_load_sections): When setting up
2075         PT_GNU_RELRO header, don't require a corresponding PT_LOAD
2076         header that completely covers the relro region.
2077
2078 2014-01-09  Tristan Gingold  <gingold@adacore.com>
2079
2080         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump
2081         table macros and add macros to initializa the structure.
2082
2083 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
2084
2085         PR ld/14207
2086         PR ld/16322
2087         PR binutils/16323
2088         * elf.c (_bfd_elf_map_sections_to_segments): Don't check section
2089         size for PT_GNU_RELRO segment.
2090         (assign_file_positions_for_load_sections): If PT_LOAD segment
2091         doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz.
2092
2093 2014-01-07  Tom Tromey  <tromey@redhat.com>
2094
2095         * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility
2096         wrappers.
2097
2098 2014-01-03  Nick Clifton  <nickc@redhat.com>
2099
2100         PR binutils/16199
2101         * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of
2102         zero.
2103
2104 2014-01-02  Yuanhui Zhang  <asmwarrior@gmail.com>
2105
2106         PR binutils/14289
2107         * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80.
2108
2109 2014-01-02  Nick Clifton  <nickc@redhat.com>
2110
2111         PR binutils/11983
2112         * archive.c (_bfd_get_elt_at_filepos): Store a copy of the
2113         filename in the bfd's filename field.
2114         * elfcode.h (bfd_from_remote_memory): Likewise.
2115         * ieee.c (ieee_object_p): Likewise.
2116         * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
2117         * oasys.c (oasys_openr_next_archived_file): Likewise.
2118         * vms-lib.c (_bfd_vms_lib_get_module): Likewise.
2119         * opncls.c (bfd_fopen): Likewise.
2120         (bfd_openstreamr): Likewise.
2121         (bfd_openr_iovec): Likewise.
2122         (bfd_openw): Likewise.
2123         (bfd_create): Likewise.
2124         (_bfd_delete_bfd): Free filename.
2125
2126 For older changes see ChangeLog-2013
2127 \f
2128 Copyright (C) 2014 Free Software Foundation, Inc.
2129
2130 Copying and distribution of this file, with or without modification,
2131 are permitted in any medium without royalty provided the copyright
2132 notice and this notice are preserved.
2133
2134 Local Variables:
2135 mode: change-log
2136 left-margin: 8
2137 fill-column: 74
2138 version-control: never
2139 End: