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