9a4b3f69c0af4ce7e9c0d095e004f2d1fde7a3f6
[external/binutils.git] / bfd / ChangeLog
1 2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
2
3         * elfxx-mips.c (check_br32): Fix return type.
4
5 2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
6
7         * elfxx-mips.c (bz_insn_16): Correct opcode mask.
8
9 2011-07-29  Maciej W. Rozycki  <macro@codesourcery.com>
10
11         * elfxx-mips.c: Adjust comments throughout.
12         (mips_elf_relax_delete_bytes): Reshape code.
13         (_bfd_mips_elf_relax_section): Remove check for
14         R_MICROMIPS_GPREL16 relocations.  Reshape code.
15
16 2011-07-28  Roland McGrath  <mcgrathr@google.com>
17
18         * elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros.
19         (elf_i386_nacl_plt0_entry): New variable.
20         (elf_i386_plt_entry): New variable.
21         (elf_i386_nacl_pic_plt0_entry): New variable.
22         (elf_i386_nacl_pic_plt_entry): New variable.
23         (elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables.
24         (elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza.
25         (elf_backend_plt_alignment): Likewise.
26
27         * config.bfd: Handle i[3-7]86-*-nacl*.
28         * elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza.
29         * targets.c: Support bfd_elf32_i386_nacl_vec.
30         * configure.in: Likewise.
31         * configure: Regenerated.
32
33         * elf32-i386.c (struct elf_i386_plt_layout): New type.
34         (GET_PLT_ENTRY_SIZE): New macro.
35         (elf_i386_plt): New variable.
36         (struct elf_i386_backend_data): New member `plt'.
37         (elf_i386_arch_bed): Add initializer for it.
38         (elf_i386_vxworks_arch_bed): Likewise.
39         (elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE.
40         (elf_i386_plt_sym_val): Likewise.
41         (elf_i386_relocate_section): Likewise.
42         (elf_i386_finish_dynamic_symbol): Likewise.
43         Also use other elf_i386_plt_layout members for PLT details.
44         (elf_i386_finish_dynamic_sections): Likewise.
45
46         * elf32-i386.c (struct elf_i386_backend_data): New type.
47         (get_elf_i386_backend_data): New macro.
48         (elf_i386_arch_bed): New variable.
49         (elf_backend_arch_data): New macro.
50         (struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
51         (elf_i386_link_hash_table_create): Don't initialize them.
52         (elf_i386_create_dynamic_sections): Find is_vxworks flags in
53         elf_i386_backend_data, not elf_i386_link_hash_table.
54         (elf_i386_adjust_dynamic_symbol): Likewise.
55         (elf_i386_allocate_dynrelocs): Likewise.
56         (elf_i386_readonly_dynrelocs): Likewise.
57         (elf_i386_size_dynamic_sections): Likewise.
58         (elf_i386_relocate_section): Likewise.
59         (elf_i386_finish_dynamic_symbol): Likewise.
60         (elf_i386_finish_dynamic_sections): Likewise.  Same for plt0_pad_byte.
61         (elf_i386_vxworks_link_hash_table_create): Function removed.
62         (elf_i386_vxworks_arch_bed): New variable.
63         (elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
64
65         * elf-bfd.h (elf_backend_data): New member arch_backend_data.
66         * elfxx-target.h (elf_backend_arch_data): New macro.
67         (elfNN_bed): Use it as initializer for the new member.
68
69 2011-07-28  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
70
71         * elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
72         of range branches.
73
74 2011-07-26  Jakub Jelinek  <jakub@redhat.com>
75
76         * dwarf2.c (dwarf_debug_sections): Add .debug_macro
77         and .zdebug_macro entry.
78         (dwarf_debug_section_enum): Add debug_macro.
79
80 2011-07-26  Alan Modra  <amodra@gmail.com>
81
82         * elf32-ppc.c: Include dwarf2.h.
83         (struct ppc_elf_link_hash_table): Add glink_eh_frame.
84         (ppc_elf_create_glink): Create .eh_frame section.
85         (glink_eh_frame_cie): New array.
86         (ppc_elf_size_dynamic_sections): Size glink_eh_frame.
87         (ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
88         * elf64-ppc.c: Include dwarg2.h.
89         (struct ppc_link_hash_table): Add glink_eh_frame.
90         (create_linkage_sections): Create .eh_frame section.
91         (ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
92         glink_eh_frame.
93         (glink_eh_frame_cie): New array.
94         (ppc64_elf_size_stubs): Size glink_eh_frame.
95         (ppc64_elf_build_stubs): Init glink_eh_frame contents.
96         (ppc64_elf_finish_dynamic_sections): Write glink_eh_frame.
97
98 2011-07-25  Hans-Peter Nilsson  <hp@bitrange.com>
99
100         PR ld/12815
101         * elf64-mmix.c (struct _mmix_elf_section_data): New members
102         has_warned_bpo and has_warned_pushj.
103         (mmix_final_link_relocate): Remove PARAMS and PTR macros,
104         converting to ISO C.  Add new parameter error_message.  All
105         callers changed.
106         (mmix_elf_perform_relocation): Ditto.
107         <case R_MMIX_PUSHJ_STUBBABLE, case R_MMIX_BASE_PLUS_OFFSET>:
108         Handle the case where mmix_elf_check_common_relocs has not been
109         called, missing preparations for relocs of the respective type.
110
111 2011-07-24  Chao-ying Fu  <fu@mips.com>
112             Ilie Garbacea  <ilie@mips.com>
113             Maciej W. Rozycki  <macro@codesourcery.com>
114             Joseph Myers  <joseph@codesourcery.com>
115             Catherine Moore  <clm@codesourcery.com>
116             Richard Sandiford  <rdsandiford@googlemail.com>
117
118         * archures.c (bfd_mach_mips_micromips): New macro.
119         * cpu-mips.c (I_micromips): New enum value.
120         (arch_info_struct): Add bfd_mach_mips_micromips.
121         * elfxx-mips.h (_bfd_mips_elf_is_target_special_symbol): New
122         prototype.
123         (_bfd_mips_elf_relax_section): Likewise.
124         (_bfd_mips16_elf_reloc_unshuffle): Rename to...
125         (_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
126         ASE.
127         (_bfd_mips16_elf_reloc_shuffle): Rename to...
128         (_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
129         (gprel16_reloc_p): Handle microMIPS ASE.
130         (literal_reloc_p): New function.
131         * elf32-mips.c (elf_micromips_howto_table_rel): New variable.
132         (_bfd_mips_elf32_gprel16_reloc): Handle microMIPS ASE.
133         (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
134         and _bfd_mips_elf_reloc_shuffle changes.
135         (mips_elf_gprel32_reloc): Update comment.
136         (micromips_reloc_map): New variable.
137         (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
138         (mips_elf32_rtype_to_howto): Likewise.
139         (mips_info_to_howto_rel): Likewise.
140         (bfd_elf32_bfd_is_target_special_symbol): Define.
141         (bfd_elf32_bfd_relax_section): Likewise.
142         * elf64-mips.c (micromips_elf64_howto_table_rel): New variable.
143         (micromips_elf64_howto_table_rela): Likewise.
144         (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
145         and _bfd_mips_elf_reloc_shuffle changes.
146         (micromips_reloc_map): Likewise.
147         (bfd_elf64_bfd_reloc_type_lookup): Handle microMIPS ASE.
148         (bfd_elf64_bfd_reloc_name_lookup): Likewise.
149         (mips_elf64_rtype_to_howto): Likewise.
150         (bfd_elf64_bfd_is_target_special_symbol): Define.
151         * elfn32-mips.c (elf_micromips_howto_table_rel): New variable.
152         (elf_micromips_howto_table_rela): Likewise.
153         (mips16_gprel_reloc): Update for _bfd_mips_elf_reloc_unshuffle
154         and _bfd_mips_elf_reloc_shuffle changes.
155         (micromips_reloc_map): Likewise.
156         (bfd_elf32_bfd_reloc_type_lookup): Handle microMIPS ASE.
157         (bfd_elf32_bfd_reloc_name_lookup): Likewise.
158         (mips_elf_n32_rtype_to_howto): Likewise.
159         (bfd_elf32_bfd_is_target_special_symbol): Define.
160         * elfxx-mips.c (LA25_LUI_MICROMIPS_1): New macro.
161         (LA25_LUI_MICROMIPS_2): Likewise.
162         (LA25_J_MICROMIPS_1, LA25_J_MICROMIPS_2): Likewise.
163         (LA25_ADDIU_MICROMIPS_1, LA25_ADDIU_MICROMIPS_2): Likewise.
164         (TLS_RELOC_P): Handle microMIPS ASE.
165         (mips_elf_create_stub_symbol): Adjust value of stub symbol if
166         target is a microMIPS function.
167         (micromips_reloc_p): New function.
168         (micromips_reloc_shuffle_p): Likewise.
169         (got16_reloc_p, call16_reloc_p): Handle microMIPS ASE.
170         (got_disp_reloc_p, got_page_reloc_p): New functions.
171         (got_ofst_reloc_p): Likewise.
172         (got_hi16_reloc_p, got_lo16_reloc_p): Likewise.
173         (call_hi16_reloc_p, call_lo16_reloc_p): Likewise.
174         (hi16_reloc_p, lo16_reloc_p, jal_reloc_p): Handle microMIPS ASE.
175         (micromips_branch_reloc_p): New function.
176         (tls_gd_reloc_p, tls_ldm_reloc_p): Likewise.
177         (tls_gottprel_reloc_p): Likewise.
178         (_bfd_mips16_elf_reloc_unshuffle): Rename to...
179         (_bfd_mips_elf_reloc_unshuffle): ... this.  Handle microMIPS
180         ASE.
181         (_bfd_mips16_elf_reloc_shuffle): Rename to...
182         (_bfd_mips_elf_reloc_shuffle): ... this.  Handle microMIPS ASE.
183         (_bfd_mips_elf_lo16_reloc): Handle microMIPS ASE.
184         (mips_tls_got_index, mips_elf_got_page): Likewise.
185         (mips_elf_create_local_got_entry): Likewise.
186         (mips_elf_relocation_needs_la25_stub): Likewise.
187         (mips_elf_calculate_relocation): Likewise.
188         (mips_elf_perform_relocation): Likewise.
189         (_bfd_mips_elf_symbol_processing): Likewise.
190         (_bfd_mips_elf_add_symbol_hook): Likewise.
191         (_bfd_mips_elf_link_output_symbol_hook): Likewise.
192         (mips_elf_add_lo16_rel_addend): Likewise.
193         (_bfd_mips_elf_check_relocs): Likewise.
194         (mips_elf_adjust_addend): Likewise.
195         (_bfd_mips_elf_relocate_section): Likewise.
196         (mips_elf_create_la25_stub): Likewise.
197         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
198         (_bfd_mips_elf_gc_sweep_hook): Likewise.
199         (_bfd_mips_elf_is_target_special_symbol): New function.
200         (mips_elf_relax_delete_bytes): Likewise.
201         (opcode_descriptor): New structure.
202         (RA): New macro.
203         (OP32_SREG, OP32_TREG, OP16_VALID_REG): Likewise.
204         (b_insns_32, bc_insn_32, bz_insn_32, bzal_insn_32): New variables.
205         (beq_insn_32): Likewise.
206         (b_insn_16, bz_insn_16): New variables.
207         (BZC32_REG_FIELD): New macro.
208         (bz_rs_insns_32, bz_rt_insns_32): New variables.
209         (bzc_insns_32, bz_insns_16):Likewise.
210         (BZ16_REG, BZ16_REG_FIELD): New macros.
211         (jal_insn_32_bd16, jal_insn_32_bd32): New variables.
212         (jal_x_insn_32_bd32): Likewise.
213         (j_insn_32, jalr_insn_32): Likewise.
214         (ds_insns_32_bd16, ds_insns_32_bd32): Likewise.
215         (jalr_insn_16_bd16, jalr_insn_16_bd32, jr_insn_16): Likewise.
216         (JR16_REG): New macro.
217         (ds_insns_16_bd16): New variable.
218         (lui_insn): Likewise.
219         (addiu_insn, addiupc_insn): Likewise.
220         (ADDIUPC_REG_FIELD): New macro.
221         (MOVE32_RD, MOVE32_RS): Likewise.
222         (MOVE16_RD_FIELD, MOVE16_RS_FIELD): Likewise.
223         (move_insns_32, move_insns_16): New variables.
224         (nop_insn_32, nop_insn_16): Likewise.
225         (MATCH): New macro.
226         (find_match): New function.
227         (check_br16_dslot, check_br32_dslot): Likewise.
228         (check_br16, check_br32): Likewise.
229         (IS_BITSIZE): New macro.
230         (check_4byte_branch): New function.
231         (_bfd_mips_elf_relax_section): Likewise.
232         (_bfd_mips_elf_merge_private_bfd_data): Disallow linking MIPS16
233         and microMIPS modules together.
234         (_bfd_mips_elf_print_private_bfd_data): Handle microMIPS ASE.
235         * reloc.c (BFD_RELOC_MICROMIPS_7_PCREL_S1): New relocation.
236         (BFD_RELOC_MICROMIPS_10_PCREL_S1): Likewise.
237         (BFD_RELOC_MICROMIPS_16_PCREL_S1): Likewise.
238         (BFD_RELOC_MICROMIPS_GPREL16): Likewise.
239         (BFD_RELOC_MICROMIPS_JMP, BFD_RELOC_MICROMIPS_HI16): Likewise.
240         (BFD_RELOC_MICROMIPS_HI16_S): Likewise.
241         (BFD_RELOC_MICROMIPS_LO16): Likewise.
242         (BFD_RELOC_MICROMIPS_LITERAL): Likewise.
243         (BFD_RELOC_MICROMIPS_GOT16): Likewise.
244         (BFD_RELOC_MICROMIPS_CALL16): Likewise.
245         (BFD_RELOC_MICROMIPS_GOT_HI16): Likewise.
246         (BFD_RELOC_MICROMIPS_GOT_LO16): Likewise.
247         (BFD_RELOC_MICROMIPS_CALL_HI16): Likewise.
248         (BFD_RELOC_MICROMIPS_CALL_LO16): Likewise.
249         (BFD_RELOC_MICROMIPS_SUB): Likewise.
250         (BFD_RELOC_MICROMIPS_GOT_PAGE): Likewise.
251         (BFD_RELOC_MICROMIPS_GOT_OFST): Likewise.
252         (BFD_RELOC_MICROMIPS_GOT_DISP): Likewise.
253         (BFD_RELOC_MICROMIPS_HIGHEST): Likewise.
254         (BFD_RELOC_MICROMIPS_HIGHER): Likewise.
255         (BFD_RELOC_MICROMIPS_SCN_DISP): Likewise.
256         (BFD_RELOC_MICROMIPS_JALR): Likewise.
257         (BFD_RELOC_MICROMIPS_TLS_GD): Likewise.
258         (BFD_RELOC_MICROMIPS_TLS_LDM): Likewise.
259         (BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16): Likewise.
260         (BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16): Likewise.
261         (BFD_RELOC_MICROMIPS_TLS_GOTTPREL): Likewise.
262         (BFD_RELOC_MICROMIPS_TLS_TPREL_HI16): Likewise.
263         (BFD_RELOC_MICROMIPS_TLS_TPREL_LO16): Likewise.
264         * bfd-in2.h: Regenerate.
265         * libbfd.h: Regenerate.
266
267 2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>
268
269         * Makefile.am (ALL_MACHINES): Add cpu-k1om.lo.
270         (ALL_MACHINES_CFILES): Add cpu-k1om.c.
271         * Makefile.in: Regenerated.
272
273         * archures.c (bfd_architecture): Add bfd_arch_k1om.
274         (bfd_k1om_arch): New.
275         (bfd_archures_list): Add &bfd_k1om_arch.
276         * bfd-in2.h: Regenerated.
277
278         * config.bfd (targ64_selvecs): Add bfd_elf64_k1om_vec if
279         bfd_elf64_x86_64_vec is supported.  Add bfd_elf64_k1om_freebsd_vec
280         if bfd_elf64_x86_64_freebsd_vec is supported.
281         (targ_selvecs): Likewise.
282
283         * configure.in: Support bfd_elf64_k1om_vec and
284         bfd_elf64_k1om_freebsd_vec.
285         * configure: Regenerated.
286
287         * cpu-k1om.c: New.
288
289         * elf64-x86-64.c (elf64_k1om_elf_object_p): New.
290         (bfd_elf64_k1om_vec): Likewise.
291         (bfd_elf64_k1om_freebsd_vec): Likewise.
292
293         * targets.c (bfd_elf64_k1om_vec): New.
294         (bfd_elf64_k1om_freebsd_vec): Likewise.
295         (_bfd_target_vector): Add bfd_elf64_k1om_vec and
296         bfd_elf64_k1om_freebsd_vec.
297
298 2011-07-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
299
300         Fix false coff-go32-exe matches.
301         * coff-i386.c (TARGET_SYM) <_bfd_check_format>: Conditionally use
302         COFF_CHECK_FORMAT.
303         * coff-stgo32.c (go32_check_format): New forward declaration.
304         (COFF_CHECK_FORMAT): New defintion.
305         (go32_check_format): New function.
306
307 2011-07-15  Alan Modra  <amodra@gmail.com>
308
309         * configure.in: Bump version.
310         * configure: Regenerate.
311
312 2011-07-14  Alan Modra  <amodra@gmail.com>
313
314         * linker.c (_bfd_generic_section_already_linked): Set l_flags.
315         * elf-bfd.h (struct already_linked): Forward declare.
316
317 2011-07-14  Alan Modra  <amodra@gmail.com>
318
319         * elflink.c (_bfd_elf_fix_symbol_flags): Loop on indirect syms.
320         (_bfd_elf_adjust_dynamic_symbol): Remove FIXME.
321
322 2011-07-14  Alan Modra  <amodra@gmail.com>
323
324         * elf64-ppc.c (struct ppc_link_hash_table): Add plt_static_chain.
325         (build_plt_stub): Add plt_static_chain param, don't load r11 if false.
326         (build_tls_get_addr_stub): Likewise.
327         (ppc_build_one_stub): Update calls to above.
328         (ppc_size_one_stub): Adjust stub size.
329         (ppc64_elf_size_stubs): Add plt_static_chain param, save to htab.
330         * elf64-ppc.h (ppc64_elf_size_stubs): Update prototype.
331
332 2011-07-12  Nick Clifton  <nickc@redhat.com>
333
334         * elf32-arm.c (elf32_arm_section_flags): Delete.
335         (elf_backend_section_flags): Remove.
336
337 2011-07-11  H.J. Lu  <hongjiu.lu@intel.com>
338
339         PR ld/12982
340         * elflink.c (bfd_elf_size_dynamic_sections): Also skip BFD_PLUGIN
341         when setting stack_flags.
342
343 2011-07-11  Catherine Moore  <clm@codesourcery.com>
344
345         * aout-adobe.c (aout_32_bfd_lookup_section_flags): New definition.
346         * aout-target.h (MY_bfd_lookup_section_flags): New definition.
347         * aout-tic30.c (MY_bfd_lookup_section_flags): New definition.
348         * bfd-in2.h: Regenerated.
349         * bfd.c (bfd_lookup_section_flags): New definition.
350         * binary.c (binary_bfd_lookup_section_flags): New definition.
351         * bout.c (b_out_bfd_lookup_section_flags): New definition.
352         * coff-alpha.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
353         * coff-mips.c (_bfd_ecoff_bfd_lookup_section_flags): New definition.
354         * coff-rs6000.c (rs6000coff_vec): Include
355         bfd_generic_lookup_section_flags.
356         (pmac_xcoff_vec): Likewise.
357         * coffcode.h (coff_bfd_lookup_section_flags): New definition.
358         * coff64-rs6000.c (rs6000coff64_vec): Include
359         bfd_generic_lookup_section_flags.
360         (aix5coff64_vec): Likewise.
361         * ecoff.c (bfd_debug_section): Initialize flag_info field.
362         * elf-bfd.h (elf_backend_lookup_section_flags_hook): Declare.
363         (bfd_elf_lookup_section_flags): Declare.
364         * elflink.c (bfd_elf_lookup_section_flags): New function.
365         * elfxx-target.h (bfd_elfNN_bfd_lookup_section_flags): Define.
366         (elf_backend_lookup_section_flags_hook): Define.
367         (elf_backend_data): Add elf_backend_lookup_section_flags_hook.
368         * i386msdos.c (msdos_bfd_lookup_section_flags): New define.
369         * i386os9k.c (os9k_bfd_lookup_section_flags): New define.
370         * ieee.c (ieee_bfd_lookup_section_flags): New define.
371         * ihex.c (ihex_bfd_lookup_section_flags): New define.
372         * libbfd-in.h (_bfd_nolink_bfd_lookup_section_flags): Declare.
373         (bfd_generic_lookup_section_flags): Declare.
374         * libbfd.h: Regenerated.
375         * mach-o-target.c (bfd_mach_o_bfd_lookup_section_flags): New.
376         * mmo.c (mmo_bfd_lookup_section_flags): New definition.
377         * nlm-target.h (nlm_bfd_lookup_section_flags): New definition.
378         * oasys.c (oasys_bfd_lookup_section_flags): New definition.
379         * pef.c (bfd_pef_bfd_lookup_section_flags): New definition.
380         * plugin.c (bfd_plugin_bfd_lookup_section_flags): New definition.
381         * ppcboot.c (ppcboot_bfd_lookup_section_flags): New definition.
382         * reloc.c (bfd_generic_lookup_section_flags): New function.
383         * som.c (som_bfd_lookup_section_flags): New definition.
384         * srec.c (srec_bfd_lookup_section_flags): New definition.
385         * targets.c (flag_info): Declare.
386         (NAME##_bfd_lookup_section_flags): Add to LINK jump table.
387         (_bfd_lookup_section_flags): New.
388         * tekhex.c (tekhex_bfd_lookup_section_flags): New definition.
389         * versados.c (versados_bfd_lookup_section_flags): New definition.
390         * vms-alpha.c (alpha_vms_bfd_lookup_section_flag): New definition.
391         * xsym.c (bfd_sym_bfd_lookup_section_flags): New definition.
392
393 2011-07-11  H.J. Lu  <hongjiu.lu@intel.com>
394
395         PR ld/12978
396         * elfnn-ia64.c (count_dyn_reloc): Fix a typo.
397
398 2011-07-09  Alan Modra  <amodra@gmail.com>
399
400         PR ld/12942
401         * elflink.c (elf_link_add_object_symbols): Use elf_discarded_section
402         rather than kept_section to determine whether a symbol is from
403         a discarded section.
404         * cofflink.c (coff_link_add_symbols): Make symbols from discarded
405         sections appear undefined.
406
407 2011-07-09  H.J. Lu  <hongjiu.lu@intel.com>
408
409         PR ld/12942
410         * elf-bfd.h (_bfd_elf_section_already_linked): Replace
411         "asection *" with "struct already_linked *".
412         * libbfd-in.h (_bfd_nolink_section_already_linked): Likewise.
413         (_bfd_generic_section_already_linked): Likewise.
414         (bfd_section_already_linked_table_insert): Likewise.
415         (struct already_linked): New.
416         (struct bfd_section_already_linked): Use it.
417         * elflink.c (_bfd_elf_section_already_linked): Replace.
418         "asection *" with "struct already_linked *".  Replace the plugin
419         dummy with the LTO output.
420         * linker.c (_bfd_generic_section_already_linked): Likewise.
421         * targets.c (struct already_linked): Add forward declaration.
422         (bfd_target): Replace "struct bfd_section *" with
423         "struct already_linked *" in _section_already_linked.
424         * bfd-in2.h: Regenerate.
425         * libbfd.h: Regenerate.
426
427 2011-07-06  Tristan Gingold  <gingold@adacore.com>
428
429         * mach-o.h: Move loader related definitions to
430         include/mach-o/loader.h.  Include it.
431
432 2011-07-05  H.J. Lu  <hongjiu.lu@intel.com>
433
434         * elf64-x86-64.c (elf_backend_post_process_headers): Always
435         define to _bfd_elf_set_osabi.
436
437 2011-07-03  Samuel Thibault  <samuel.thibault@gnu.org>
438             Thomas Schwinge  <thomas@schwinge.name>
439
440         PR binutils/12913
441         * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of
442         ELFOSABI_LINUX alias.
443         * elf32-hppa.c: Likewise.
444         * elf32-i370.c: Likewise.
445         * elf64-hppa.c: Likewise.
446
447 2011-07-01  Ian Lance Taylor  <iant@google.com>
448
449         * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change
450         DW_OP_lit3 to DW_OP_lit2.
451
452 2011-07-01  Alan Modra  <amodra@gmail.com>
453
454         * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Don't look at
455         dyn relocs when called to copy flags for a weak sym.
456         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
457         (ppc64_elf_merge_private_bfd_data): Delete.
458         (bfd_elf64_bfd_merge_private_bfd_data): Define as
459         _bfd_generic_verify_endian_match.
460
461 2011-06-30  Bernd Schmidt  <bernds@codesourcery.com>
462
463         * bfd/elf32-tic6x.c (elf32_tic6x_set_osabi): Also set it if
464         link_info is NULL.
465
466 2011-06-28  Tristan Gingold  <gingold@adacore.com>
467
468         * vms-alpha.c (vms_private_data_struct): Make vms_linkage_index
469         unsigned int.
470         (_bfd_vms_write_etir): Write linkage index from reloc.
471
472 2011-06-28  Fawzi Mohamed <fawzi.mohamed@nokia.com>
473
474         * mach-o.c (bfd_mach_o_read_command): Also ignore
475         BFD_MACH_O_LC_ROUTINES_64.
476
477 2011-06-27  Tristan Gingold  <gingold@adacore.com>
478
479         * vms-alpha.c (_bfd_vms_write_etir): Use 'section' to get current
480         section target index.
481
482 2011-06-27  Nick Clifton  <nickc@redhat.com>
483
484         * cisco-core.c (cisco_core_little_vec): Add initialization of
485         match_priority field.
486
487 2011-06-27  Tristan Gingold  <gingold@adacore.com>
488
489         * cache.c: Include bfd_stdint.h.
490         (cache_bmmap): Change profile.  Return region start and size.
491         * bfdio.c (struct bfd_iovec): Change bmmap profile.
492         (bfd_mmap): Change profile and adjust.   Update comment.
493         (memory_bmmap): Change profile.
494         * opncls.c (opncls_bmmap): Change profile.
495         * vms-lib.c (vms_lib_bmmap): Likewise.
496         * libbfd.h: Regenerate.
497         * bfd-in2.h: Regenerate.
498
499 2011-06-27  Tristan Gingold  <gingold@adacore.com>
500
501         * vms-misc.c (vms_time_to_time_t): Adjust overflow detection.
502         Add comment.
503
504 2011-06-25  H.J. Lu  <hongjiu.lu@intel.com>
505
506         * elf64-x86-64.c (elf_backend_post_process_headers): Don't
507         define for FreeBSD/x86-64 nor FreeBSD/L1OM.  Define for L1OM.
508
509 2011-06-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
510
511         * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Initialize
512         PLT_EH_FRAME.
513         * elf32-i386.c (elf_i386_link_hash_table): Likewise.
514
515 2011-06-24  Richard Henderson  <rth@redhat.com>
516
517         PR ld/12928
518         * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Recover the
519         tlsgd insn before swapping adjacent insns.
520
521 2011-06-24  Tristan Gingold  <gingold@adacore.com>
522
523         * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
524         absolute section.
525
526 2011-06-24  Alan Modra  <amodra@gmail.com>
527
528         PR ld/12921
529         * elf.c (assign_file_positions_for_load_sections): Don't align
530         sh_offset for all SHT_NOBITS sections here, just .tbss sections
531         that don't get a PT_LOAD.
532
533 2011-06-22  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
534
535         * elf32-sh.c (sh_elf_relocate_section): Allow R_SH_TLS_LE_32 for PIE.
536         (sh_elf_check_relocs): Likewise.
537
538 2011-06-22  Richard Henderson  <rth@redhat.com>
539
540         * elf64-alpha.c (elf64_alpha_check_relocs): No dynamic reloc for
541         TPREL in a PIE image.
542         (alpha_dynamic_entries_for_reloc): Likewise.
543         (elf64_alpha_relocate_section): Allow TPREL in PIE images.
544         (elf64_alpha_relax_got_load): Likewise.
545
546 2011-06-22  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
547
548         * elf32-arm.c (elf32_arm_final_link_relocate): Allow R_ARM_TLS_LE32
549         for PIE.
550
551 2011-06-22  Alan Modra  <amodra@gmail.com>
552
553         * elflink.c (_bfd_elf_merge_symbol): Allow type changes for
554         plugin symbols.  Fix segfault on linker scrip defined syms.
555
556 2011-06-20  Jakub Jelinek  <jakub@redhat.com>
557
558         PR ld/12570
559         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Allow no relocations
560         at all for linker created .eh_frame sections.
561         (_bfd_elf_discard_section_eh_frame): Handle linker created
562         .eh_frame sections with no relocations.
563         * elf64-x86-64.c: Include dwarf2.h.
564         (elf_x86_64_eh_frame_plt): New variable.
565         (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
566         PLT_FDE_LEN_OFFSET): Define.
567         (struct elf_x86_64_link_hash_table): Add plt_eh_frame field.
568         (elf_x86_64_create_dynamic_sections): Create and fill in
569         .eh_frame section for .plt section.
570         (elf_x86_64_size_dynamic_sections): Write .plt section size
571         into .eh_frame FDE covering .plt section.
572         (elf_x86_64_finish_dynamic_sections): Write .plt section
573         start into .eh_frame FDE covering .plt section.  Call
574         _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
575         (elf_backend_plt_alignment): Define to 4.
576         * elf32-i386.c: Include dwarf2.h.
577         (elf_i386_eh_frame_plt): New variable.
578         (PLT_CIE_LENGTH, PLT_FDE_LENGTH, PLT_FDE_START_OFFSET,
579         PLT_FDE_LEN_OFFSET): Define.
580         (struct elf_i386_link_hash_table): Add plt_eh_frame field.
581         (elf_i386_create_dynamic_sections): Create and fill in
582         .eh_frame section for .plt section.
583         (elf_i386_size_dynamic_sections): Write .plt section size
584         into .eh_frame FDE covering .plt section.
585         (elf_i386_finish_dynamic_sections): Write .plt section
586         start into .eh_frame FDE covering .plt section.  Call
587         _bfd_elf_write_section_eh_frame on htab->plt_eh_frame section.
588         (elf_backend_plt_alignment): Define to 4.
589
590 2011-06-19  H.J. Lu  <hongjiu.lu@intel.com>
591
592         * elf64-x86-64.c (elf_backend_post_process_headers): Defined
593         for x32.
594
595 2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
596
597         * elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if
598         CORE_HEADER is defined.
599         (elf_x86_64_write_core_note): New.
600         (elf_backend_write_core_note): Likewise.
601
602         * hosts/x86-64linux.h (uint64_t): New.
603         (user_regsx32_struct): Likewise.
604         (elf_gregx32_t): Likewise.
605         (ELF_NGREGX32): Likewise.
606         (elf_gregsetx32_t): Likewise.
607         (elf_prstatusx32): Likewise.
608         (prstatusx32_t): Likewise.
609         (user_fpregs32_struct): Removed.
610         (user_fpxregs32_struct): Likewise.
611         (user32): Likewise.
612         (elf_fpregset32_t): Likewise.
613         (elf_fpxregset32_t): Likewise.
614         (prgregset32_t): Likewise.
615         (prfpregset32_t): Likewise.
616
617 2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
618
619         * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
620         (elf_x86_64_grok_psinfo): Likewise.
621
622 2011-06-16  Nick Clifton  <nickc@redhat.com>
623
624         * elf.c (elf_find_function): Fail if not provided with a symbol
625         table.
626
627 2011-06-15  Ulrich Weigand  <ulrich.weigand@linaro.org>
628
629         * elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
630         * elf.c (elfcore_grok_arm_vfp): New function.
631         (elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
632         (elfcore_write_arm_vfp): New function.
633         (elfcore_write_register_note): Call it to handle .reg-arm-vfp.
634
635 2011-06-14  Richard Henderson  <rth@redhat.com>
636
637         * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
638         elf64_alpha_merge_ind_symbols; adjust for the generic interface.
639         (elf64_alpha_always_size_sections): Don't call
640         elf64_alpha_merge_ind_symbols.
641         (elf_backend_copy_indirect_symbol): New.
642
643 2011-06-14  Alan Modra  <amodra@gmail.com>
644
645         PR ld/12887
646         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
647         before doing anything.
648         (_bfd_elf_discard_section_eh_frame): Likewise.
649
650 2011-06-14  Alan Modra  <amodra@gmail.com>
651
652         * Makefile.am: Formatting.
653         * Makefile.in: Regenerate.
654         * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
655         * po/SRC-POTFILES.in: Regnerate.
656
657 2011-06-14  Alan Modra  <amodra@gmail.com>
658
659         * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
660         (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
661         Don't handle warning symbols here.
662         * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
663         (allocate_dynrelocs, readonly_dynrelocs): As above.
664
665 2011-06-14  Alan Modra  <amodra@gmail.com>
666
667         PR ld/12851
668         * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
669         (elf_gc_sweep): Don't treat debug and sections like .comment
670         specially here.
671         (bfd_elf_gc_sections): Treat note sections as gc roots only when
672         not part of a group.  Always call gc_mark_extra_sections.
673         * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
674         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
675         _bfd_elf_gc_mark_extra_sections.
676         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
677         _bfd_elf_gc_mark_extra_sections.
678         * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
679
680 2011-06-13  Nick Clifton  <nickc@redhat.com>
681
682         * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
683         variable 'local_got_offsets'.
684         * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
685         (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
686
687 2011-06-13  Walter Lee  <walt@tilera.com>
688
689         * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
690         (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
691         (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
692         and elfxx-tilegx.lo.
693         (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
694         elfxx-tilegx.c.
695         (BFD64_BACKENDS): Add elf64-tilegx.lo.
696         (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
697         * Makefile.in: Regenerate.
698         * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
699         bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
700         (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
701         (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
702         bfd-in2.h: Regenerate.
703         * config.bfd: Handle tilegx-*-* and tilepro-*-*.
704         * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
705         and bfd_elf64_tilegx_vec.
706         * configure: Regenerate.
707         * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
708         TILEPRO_ELF_DATA.
709         * libbfd.h: Regenerate.
710         * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
711         RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
712         IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
713         IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
714         IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
715         IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
716         IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
717         IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
718         IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
719         IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
720         MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
721         IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
722         IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
723         IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
724         IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
725         IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
726         IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
727         Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
728         HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
729         JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
730         DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
731         SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
732         IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
733         IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
734         IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
735         IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
736         IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
737         IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
738         IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
739         IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
740         IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
741         IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
742         IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
743         IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
744         IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
745         IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
746         IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
747         IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
748         IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
749         IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
750         IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
751         IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
752         IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
753         IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
754         IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
755         IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
756         IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
757         IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
758         IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
759         TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
760         * targets.c (bfd_elf32_tilegx_vec): Declare.
761         (bfd_elf32_tilepro_vec): Declare.
762         (bfd_elf64_tilegx_vec): Declare.
763         (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
764         and bfd_elf64_tilegx_vec.
765         * cpu-tilegx.c: New file.
766         * cpu-tilepro.c: New file.
767         * elf32-tilepro.h: New file.
768         * elf32-tilepro.c: New file.
769         * elf32-tilegx.c: New file.
770         * elf32-tilegx.h: New file.
771         * elf64-tilegx.c: New file.
772         * elf64-tilegx.h: New file.
773         * elfxx-tilegx.c: New file.
774         * elfxx-tilegx.h: New file.
775
776 2011-06-13  Alan Modra  <amodra@gmail.com>
777
778         * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
779         (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
780         warning symbols here.
781         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
782         * elf32-arm.c (allocate_dynrelocs_for_symbol,
783         elf32_arm_readonly_dynrelocs): Likewise.
784         * elf32-bfin.c (bfin_discard_copies): Likewise.
785         * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
786         elf_cris_discard_excess_dso_dynamics,
787         elf_cris_discard_excess_program_dynamics): Likewise.
788         * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
789         clobber_millicode_symbols, readonly_dynrelocs): Likewise.
790         * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
791         * elf32-i386.c (elf_i386_allocate_dynrelocs,
792         elf_i386_readonly_dynrelocs): Likewise.
793         * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
794         * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
795         * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
796         * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
797         * elf32-microblaze.c (allocate_dynrelocs): Likewise.
798         * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
799         * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
800         * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
801         * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
802         * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
803         * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
804         elf32_tic6x_readonly_dynrelocs): Likewise.
805         * elf32-vax.c (elf_vax_discard_copies): Likewise.
806         * elf32-xstormy16.c (xstormy16_relax_plt_check,
807         xstormy16_relax_plt_realloc): Likewise.
808         * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
809         * elf64-alpha.c (elf64_alpha_output_extsym,
810         elf64_alpha_calc_got_offsets_for_symbol,
811         elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
812         * elf64-hppa.c (elf64_hppa_mark_exported_functions,
813         allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
814         elf_hppa_unmark_useless_dynamic_symbols,
815         elf_hppa_remark_useless_dynamic_symbols): Likewise.
816         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
817         adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
818         readonly_dynrelocs, merge_global_got, reallocate_got,
819         undo_symbol_twiddle): Likewise.
820         * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
821         * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
822         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
823         elf_x86_64_readonly_dynrelocs): Likewise.
824         * elflink.c (elf_link_renumber_hash_table_dynsyms,
825         elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
826         _bfd_elf_link_find_version_dependencies,
827         _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
828         _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
829         elf_collect_hash_codes, elf_collect_gnu_hash_codes,
830         elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
831         elf_gc_propagate_vtable_entries_used,
832         elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
833         elf_gc_allocate_got_offsets): Likewise.
834         * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
835         elfNN_ia64_global_dyn_sym_thunk): Likewise.
836         * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
837         mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
838         * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
839         * i386linux.c (linux_tally_symbols): Likewise.
840         * m68klinux.c (linux_tally_symbols): Likewise.
841         * sparclinux.c (linux_tally_symbols): Likewise.
842         * sunos.c (sunos_scan_dynamic_symbol): Likewise.
843         * xcofflink.c (xcoff_post_gc_symbol): Likewise.
844
845         * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
846         function.  Update all callers.
847         * aoutx.h (aout_link_write_other_symbol): Likewise.
848         * pdp11.c (aout_link_write_other_symbol): Likewise.
849         * cofflink.c (_bfd_coff_write_global_sym): Likewise.
850         * ecoff.c (ecoff_link_write_external): Likewise.
851         * xcofflink.c (xcoff_write_global_symbol): Likewise.
852         * vms-alpha.c (alpha_vms_link_output_symbol): Likewise.  Handle
853         warning symbols.
854         * ecoff.c (ecoff_link_hash_traverse): Delete.
855         * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
856         _bfd_coff_write_global_sym.
857         * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
858         * libcoff.h: Regenerate.
859
860 2011-06-10  Nick Clifton  <nickc@redhat.com>
861
862         * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
863         backend does not provide a function for creating dynamic sections
864         then fail.
865         (bfd_elf_final_link): Issue a warning message if a dynamic section
866         has the SHT_NOTE type.
867         (bfd_elf_final_link): Do not look for dynamic strings in a section
868         that does not have the SHT_STRTAB type or the name .dynstr.
869         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
870         section is not in the output binary.
871         * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
872
873 2011-06-09  Tristan Gingold  <gingold@adacore.com>
874
875         * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
876         (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
877         spaces.
878
879 2011-06-09  Tristan Gingold  <gingold@adacore.com>
880
881         * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
882
883 2011-06-09  Nick Clifton  <nickc@redhat.com>
884
885         PR ld/12845
886         * elf.c (_bfd_elf_init_private_section_data): Add an assertion
887         that the output section has an allocated bfd_elf_section_data
888         structure.
889         * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
890         symbols in sections that have been removed by garbage collection.
891
892 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
893
894         * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
895         relocations in SEC_DEBUGGING sections when building shared
896         libraries.
897
898 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
899
900         PR ld/12851
901         * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
902         (bfd_elf_gc_sections): Also check SHT_NOTE sections.
903
904 2011-06-08  Tristan Gingold  <gingold@adacore.com>
905
906         * makefile.vms (OBJS): Add elfxx-ia64.obj
907         Remove vax case.
908
909 2011-06-08  Alan Modra  <amodra@gmail.com>
910
911         * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
912         * sco5-core.c: Init match_priority field.
913
914 2011-06-08  Alan Modra  <amodra@gmail.com>
915
916         * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
917         indirect links here.
918
919 2011-06-07  Joel Brobecker  <brobecker@adacore.com>
920
921         * irix-core.c (irix_core_vec): Add match_priority field.
922
923 2011-06-06  Alan Modra  <amodra@gmail.com>
924
925         * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
926         Add match_priority.
927         * configure.in: Bump bfd version.
928         * elfcode.h (elf_object_p): Delete hacks preventing match of
929         EM_NONE and ELFOSABI_NONE targets when a better match exists.
930         * elfxx-target.h (elf_match_priority): Define and use.
931         * format.c (bfd_check_format_matches): Use target match_priority
932         to choose best of multiple matching targets.  In cases with multiple
933         matches rerun _bfd_check_format if we don't choose the last match.
934         * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
935         * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
936         * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
937         * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
938         * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
939         * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
940         * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
941         * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
942         * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
943         * vms-lib.c, * xsym.c: Init match_priority field.
944         * configure: Regenerate.
945         * bfd-in2.h: Regenerate.
946
947 2011-06-04  H.J. Lu  <hongjiu.lu@intel.com>
948
949         PR ld/12842
950         * elfcode.h (elf_object_p): Revert the last change.
951
952 2011-06-04  Alan Modra  <amodra@gmail.com>
953
954         * archures.c (bfd_arch_get_compatible): If one arch is unknown,
955         return the other arch.
956         * elfcode.h (elf_object_p): Allow explicit match to generic ELF
957         target.
958
959 2011-06-03  Bertram Felgenhauer  <bertram.felgenhauer@gmail.com>
960
961         PR ld/12682
962         * hash.c (higher_primer_number): Add more, small, prime numbers.
963         (bfd_hash_set_default_size): Likewise.
964
965 2011-06-02  Nick Clifton  <nickc@redhat.com>
966
967         * coff-mcore.c: Fix spelling typo.
968         * coff-stgo32.c: Likewise.
969         * elf32-arm.c: Likewise.
970         * elf32-avr.c: Likewise.
971         * elf-m68hc1x.c: Likewise.
972         * elf32-mcore.c: Likewise.
973         * elf32-mep.c: Likewise.
974         * elf32-mt.c: Likewise.
975         * elf32-ppc.c: Likewise.
976         * elf32-xtensa.c: Likewise.
977         * elf64-ppc.c: Likewise.
978         * elfxx-mips.c: Likewise.
979         * netbsd.h: Likewise.
980         * nlmcode.h: Likewise.
981         * vms-alpha.c: Likewise.
982         * po/bfd.pot: Regenerate.
983         * po/SRC-POTFILES.in: Regenerate.
984
985 2011-06-01  DJ Delorie  <dj@redhat.com>
986
987         * config.bfd: Add bfd_elf32_rx_be_ns_vec.
988         * target.c: Likewise.
989         * configure.in: Likewise.
990         * configure.in: Regenerate.
991         * elf32-rx.c: Add elf32-rx-be-ns target.
992         (rx_elf_object_p): Never allow the be-ns target by default,
993         only allow it if the user requests it.
994
995 2011-06-01  H.J. Lu  <hongjiu.lu@intel.com>
996
997         * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
998         relocation in readonly section in a shared object.
999         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
1000
1001 2011-05-31  Nick Clifton  <nickc@redhat.com>
1002
1003         * archive.c (adjust_relative_path): Fix comment to prevent it
1004         corrupting the auto-generated bfd.h.
1005
1006 2011-05-31  Paul Brook  <paul@codesourcery.com>
1007
1008         * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
1009         for known functions.
1010         (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
1011         symbols.
1012
1013 2011-05-31  Paul Brook  <paul@codesourcery.com>
1014
1015         * elf32-arm.c (arm_stub_is_thumb): Add
1016         arm_stub_long_branch_v4t_thumb_tls_pic.
1017         (elf32_arm_final_link_relocate): TLS stubs are always ARM.
1018         Handle Thumb stubs.
1019
1020 2011-05-27  Nick Clifton  <nickc@redhat.com>
1021
1022         PR binutils/12710
1023         * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
1024         unable to read a file pointed to by an entry in a thin archive.
1025         (adjust_relative_path): Use lrealpath to canonicalize paths.
1026         Handle the case where the reference path is above the current
1027         path in the directory tree.
1028
1029 2011-05-26  H.J. Lu  <hongjiu.lu@intel.com>
1030
1031         PR ld/12809
1032         * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
1033         R_X86_64_TPOFF64 in executable.
1034
1035 2011-05-26  Alan Modra  <amodra@gmail.com>
1036
1037         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
1038         * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
1039         local_protected comment.
1040
1041 2011-05-25  Tristan Gingold  <gingold@adacore.com>
1042
1043         * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
1044         (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
1045         (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
1046         * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
1047         (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
1048         (elf32-ia64.c): Created from elfnn-ia64.c
1049         (elf64-ia64.c): Likewise.
1050         * elfxx-ia64.h: New file.
1051         * elfxx-ia64.c: Split with elfnn-ia64.c.  Keep only the following
1052         functions.Includes elfxx-ia64.h.
1053         (elfNN_ia64_reloc): Renames to ia64_elf_reloc.  Adjust error message.
1054         (IA64_HOWTO): Adjust.
1055         (lookup_howto): Renames to ia64_elf_lookup_howto.  Make it public.
1056         (elfNN_ia64_reloc_type_lookup): Renames to
1057         ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
1058         (elfNN_ia64_reloc_name_lookup): Renames to
1059         ia64_elf_reloc_name_lookup. Make it public.
1060         (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br.  Make it public.
1061         (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
1062         public.
1063         (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
1064         Move it and make it public.  Move prototype to elfxx-ia64.h
1065         (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
1066         Move prototype to elfxx-ia64.h
1067         * elfnn-ia64.c: New file, split from elfxx-ia64.c.
1068         (elfNN_ia64_info_to_howto): Adjust calls.
1069         (elfNN_ia64_relax_section): Adjust calls.
1070         (count_dyn_reloc): Fix typo.
1071         (elfNN_ia64_relocate_section): Adjust calls.
1072         (elfNN_ia64_finish_dynamic_symbol): Likewise.
1073         (bfd_elfNN_bfd_reloc_type_lookup)
1074         (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
1075         * configure: Regenerate.
1076         * Makefile.in: Regenerate.
1077
1078 2011-05-23  DJ Delorie  <dj@redhat.com>
1079
1080         * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
1081         the vma/lma swapping done in elf32_rx_modify_program_headers.
1082
1083 2011-05-23  Nick Clifton  <nickc@redhat.com>
1084
1085         * elf-m10300.c (mn10300_elf_mkobject): New function.
1086         (bfd_elf32_mkobject): Define.
1087
1088 2011-05-23  Alan Modra  <amodra@gmail.com>
1089
1090         * elf-bfd.h: Comment typo fix.
1091         * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete.  Replace with
1092         struct elf_dyn_relocs throughout.
1093         * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
1094
1095 2011-05-23  Alan Modra  <amodra@gmail.com>
1096
1097         * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
1098         functions rather than warning callback or _bfd_error_handler.
1099         * elf32-ppc.c: Likewise.
1100         * elf64-ppc.c: Likewise.
1101         * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
1102         arg error.
1103         * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1104
1105 2011-05-23  Alan Modra  <amodra@gmail.com>
1106
1107         PR 12763
1108         * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
1109         .tbss, and page align same for all SHT_NOBITS sections.
1110
1111 2011-05-21  Alan Modra  <amodra@gmail.com>
1112
1113         PR 12763
1114         * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
1115         from PT_TLS header.
1116         (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
1117         segment if just for .tbss.
1118         (assign_file_positions_for_load_sections): Don't report "can't
1119         allocate in segment" errors for .tbss.
1120         (assign_file_positions_for_non_load_sections): Don't set p_filesz
1121         from SHT_NOBITS section filepos.
1122
1123 2011-05-20  Bernd Schmidt  <bernds@codesourcery.com>
1124
1125         * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
1126         R_C6000_PCR_H16 and R_C6000_PCR_L16.
1127         (elf32_tic6x_relocate_section): Handle them.
1128
1129 2011-05-18  Nick Clifton  <nickc@redhat.com>
1130
1131         PR ld/12761
1132         * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
1133         sections when building shared libraries.
1134
1135 2011-05-18  Rafał Krypa  <r.krypa@samsung.com>
1136
1137         PR ld/12778
1138         * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
1139         reloc pointer.
1140
1141 2011-05-18  Tristan Gingold  <gingold@adacore.com>
1142
1143         * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
1144         (xcoff_sweep): Always keep dwarf sections.
1145         (xcoff_link_input_bfd): Handle dwarf symbols and sections.
1146
1147 2011-05-18  Tristan Gingold  <gingold@adacore.com>
1148
1149         * libxcoff.h (struct xcoff_dwsect_name): New type.
1150         (XCOFF_DWSECT_NBR_NAMES): New macro.
1151         (xcoff_dwsect_names): Declare.
1152         * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
1153         (styp_to_sec_flags): Ditto.
1154         (coff_new_section_hook): Ditto.
1155         (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
1156         * coff-rs6000.c (xcoff_dwsect_name): New variable.
1157
1158 2011-05-17  Tomohiro Kashiwada  <kikairoya@gmail.com>
1159
1160         PR ld/12759
1161         * elf32-rx.c (ignore_lma): New variable.
1162         (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
1163         (rx_modify_program_headers): Only copy the LMA into the VMA if
1164         ignore_lma is true.
1165
1166 2011-05-17  Alan Modra  <amodra@gmail.com>
1167
1168         PR ld/12760
1169         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
1170         * elflink.c (elf_link_add_object_symbols): Likewise.
1171         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
1172
1173 2011-05-16  Alan Modra  <amodra@gmail.com>
1174
1175         * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
1176
1177 2011-05-15  Richard Sandiford  <rdsandiford@googlemail.com>
1178
1179         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
1180         global GOT entries for GOT_PAGE relocations against global symbols.
1181
1182 2011-05-13  Bernd Schmidt  <bernds@codesourcery.com>
1183
1184         * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
1185         (tic6x-*-*): Replaced by these.
1186         * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
1187         (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
1188         (elf_backend_relocs_compatible, elf_backend_post_process_headers):
1189         Define.
1190         (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
1191         TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
1192         "elf32-target.h" two more times.
1193         * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
1194         bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
1195         bfd_elf32_tic6x_elf_le_vec.
1196         * configure: Regenerate.
1197
1198 2011-05-13  Jan Beulich  <jbeulich@novell.com>
1199
1200         * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
1201
1202 2011-05-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
1203
1204         * config.in: Regenerated.
1205         * configure: Regenerated.
1206         * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
1207         HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
1208         HAVE_PSINFO32_T_PR_PID.
1209         * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
1210         HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
1211         and HAVE_PSINFO32_T_PR_PID.
1212         * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
1213
1214 2011-05-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
1215
1216         * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
1217         32bit psinfo.
1218         * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
1219         * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
1220
1221 2011-05-09  Paul Brook  <paul@codesourcery.com>
1222
1223         * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
1224         * bfd-in2.h: Regenerate.
1225         * elf32-tic6x.c: Include limits.h.
1226         (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
1227         _tic6x_elf_section_data): New.
1228         (elf32_tic6x_section_data): Define.
1229         (elf32_tic6x_new_section_hook): Allocate target specific data.
1230         (elf32_tic6x_add_unwind_table_edit): New function.
1231         (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
1232         elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
1233         elf32_tic6x_copy_exidx_entry): New functions.
1234         (elf_backend_write_section): Define.
1235
1236 2011-05-09  Paul Brook  <paul@codesourcery.com>
1237
1238         * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
1239         elf32_tic6x_fake_sections): New functions.
1240         (elf_backend_fake_sections): Define.
1241
1242 2011-05-09  Paul Brook  <paul@codesourcery.com>
1243
1244         * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
1245         (elf_backend_gc_mark_extra_sections): Define.
1246
1247 2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
1248
1249         PR ld/12365
1250         * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
1251         references to symbols defined in discarded sections.
1252
1253 2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
1254
1255         PR ld/12365
1256         * coffgen.c (coff_write_symbol): Assume input section is its own
1257         output section if output_section member not set.
1258         (coff_write_alien_symbol): Likewise.
1259
1260 2011-05-07  H.J. Lu  <hongjiu.lu@intel.com>
1261
1262         PR ld/12730
1263         * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
1264
1265         * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
1266         sections if needed.
1267
1268         * section.c (SEC_ELF_REVERSE_COPY): New.
1269         * bfd-in2.h: Regenerated.
1270
1271 2011-05-07  Anders Kaseorg  <andersk@ksplice.com>
1272
1273         PR 12739
1274         * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
1275         * bfd-in2.h: Regenerate.
1276
1277 2011-05-06  Tristan Gingold  <gingold@adacore.com>
1278
1279         * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
1280         (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags.  Handle
1281         any code section.  Add comments.
1282         (alpha_vms_object_p): Use void * instead of PTR.
1283         (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
1284         (build_module_list): Guard against no DST section.  Add comments.
1285         (alpha_vms_link_output_symbol): Discard undefined symbols.
1286         (alpha_vms_get_section_contents): Simply memcpy if the section was
1287         already loaded.  Fix typo.
1288         (vms_new_section_hook): Use void * instead of PTR.
1289         (vms_alpha_vec): Ditto.
1290
1291 2011-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
1292
1293         * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
1294         branch to a PLT entry, redirect it to the PLT's Thumb entry point.
1295
1296 2011-05-05  Bernd Schmidt  <bernds@codesourcery.com>
1297
1298         * elf32-tic6x.c (elf32_tic6x_final_link): New function.
1299         (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
1300         mismatch.  Choose the lower of the two values.
1301         (bfd_elf32_bfd_final_link): New macro.
1302
1303 2011-04-28  Tristan Gingold  <gingold@adacore.com>
1304
1305         * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
1306         (bfd_xcoff_swap_aux_out): Ditto.
1307         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
1308         (bfd_xcoff64_swap_aux_out): Ditto.
1309
1310 2011-05-04  Alan Modra  <amodra@gmail.com>
1311
1312         PR ld/12727
1313         * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
1314         was_undefined on dot-symbols.
1315
1316 2011-05-03  Paul Brook  <paul@codesourcery.com>
1317
1318
1319         * elf32-tic6x.c (elf32_tic6x_howto_table,
1320         elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
1321         elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
1322         Add R_C6000_EHTYPE.
1323
1324 2011-05-01  Alan Modra  <amodra@gmail.com>
1325
1326         PR ld/12718
1327         * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
1328         creating ifunc sections.
1329         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1330
1331 2011-04-30  H.J. Lu  <hongjiu.lu@intel.com>
1332
1333         * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
1334         names.
1335
1336 2011-04-28  Tom Tromey  <tromey@redhat.com>
1337
1338         * bfdio.c (memory_bstat): Pass correct size to memset.
1339
1340 2011-04-28  Mike Frysinger  <vapier@gentoo.org>
1341
1342         * dwarf2.c (dwarf_debug_sections): Mark const.
1343         * elf.c (special_sections): Likewise.
1344         * libbfd-in.h (dwarf_debug_sections): Likewise.
1345         * libbfd.h: Regenerate.
1346
1347 2011-04-26  Kai Tietz  <ktietz@redhat.com>
1348
1349         * coffcode.h (sec_to_styp_flags): Allow linkonce for
1350         debugging sections.
1351
1352 2011-04-26  Tristan Gingold  <gingold@adacore.com>
1353
1354         * coff64-rs6000.c: Convert to ISO-C.  Remove PARAMS and PTR macros.
1355
1356 2011-04-24  Alan Modra  <amodra@gmail.com>
1357
1358         PR ld/12365
1359         PR ld/12696
1360         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
1361         * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
1362         (_bfd_generic_link_add_one_symbol): Update "notice" call.
1363         * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
1364         it is a redef of an IR symbol in a real BFD.
1365
1366 2011-04-22  H.J. Lu  <hongjiu.lu@intel.com>
1367
1368         * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
1369         in readonly section in a shared object.
1370         (elf_i386_size_dynamic_sections): Likewise.
1371         * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1372         (elf_x86_64_size_dynamic_sections): Likewise.
1373
1374 2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1375
1376         PR ld/12694
1377         * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
1378         symbols.
1379         * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
1380
1381 2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1382
1383         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
1384         on dynamic symbol error.
1385         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
1386
1387 2011-04-20  Tristan Gingold  <gingold@adacore.com>
1388
1389         * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
1390
1391 2011-04-20  Alan Modra  <amodra@gmail.com>
1392
1393         * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
1394         (bfd_hash_table_init_n): Overflow checking.
1395         (bfd_hash_set_default_size): Return current size.  Take unsigned long
1396         arg.  Add 65537 to hash_size primes.
1397         * bfd-in.h (bfd_hash_set_default_size): Update prototype.
1398         * bfd-in2.h: Regenerate.
1399
1400 2011-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
1401
1402         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
1403         memmove elements.
1404
1405 2011-04-20  Alan Modra  <amodra@gmail.com>
1406
1407         * libbfd.c (bfd_log2): Do return rounded up value.
1408         * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
1409         call with expanded old round down version of the function.
1410
1411         * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
1412         * elflink.c (elf_link_add_object_symbols): Delete redundant code.
1413
1414 2011-04-20  Alan Modra  <amodra@gmail.com>
1415
1416         PR ld/12365
1417         * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
1418         in their own common section.
1419         * elflink.c (elf_link_add_object_symbols): Likewise.
1420         * linker.c (generic_link_check_archive_element): Don't lose flags
1421         if common section is pre-existing.
1422         (_bfd_generic_link_add_one_symbol): Likewise.
1423
1424 2011-04-20  Alan Modra  <amodra@gmail.com>
1425
1426         PR ld/12365
1427         * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
1428         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
1429         multiple_definition regardless of allow_multiple_definition.
1430         * simple.c (simple_dummy_multiple_definition): Update.
1431         * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
1432         calls.
1433
1434 2011-04-18  Tristan Gingold  <gingold@adacore.com>
1435
1436         * coff-rs6000.c: Convert to ISO-C.  Remove PARAMS macro.
1437
1438 2011-04-18  Alan Modra  <amodra@gmail.com>
1439
1440         PR ld/12365
1441         PR ld/12672
1442         * bfd.c (BFD_PLUGIN): Define.
1443         (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
1444         * bfd-in2.h: Regenerate.
1445         * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
1446         * opncls.c (bfd_make_readable): Don't lose original bfd flags.
1447
1448 2011-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
1449
1450         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
1451         SEC_LOAD.
1452
1453 2011-04-15  Sergio Durigan Junior  <sergiodj@redhat.com>
1454
1455         * elf-bfd.h (struct sdt_note): New struct.
1456         (struct elf_obj_tdata) <sdt_note_head>: New field.
1457         * elf.c (elfobj_grok_stapsdt_note_1): New function.
1458         (elfobj_grok_stapsdt_note): Likewise.
1459         (elf_parse_notes): Added code to treat SystemTap note
1460         sections.
1461
1462 2011-04-12  Richard Henderson  <rth@redhat.com>
1463
1464         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
1465         exclude empty .got sections.
1466
1467 2011-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1468
1469         * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
1470         array access for BFD_RELOC_386_IRELATIVE.
1471
1472 2011-04-11  Bernd Schmidt  <bernds@codesourcery.com>
1473
1474         * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
1475
1476 2011-04-11  Mark Wielaard  <mjw@redhat.com>
1477
1478         PR 10549
1479         * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
1480         (has_gnu_symbols): Renamed from has_ifunc_symbols.
1481         * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
1482         * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
1483         also if STB_GNU_UNIQUE symbol binding was seen.
1484         * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
1485         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1486         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
1487         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
1488         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
1489         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
1490
1491 2011-04-11  Alan Modra  <amodra@gmail.com>
1492
1493         * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
1494         sections.
1495         * libbfd.c (_bfd_generic_get_section_contents): Likewise.
1496         (_bfd_generic_get_section_contents_in_window): Likewise.
1497         * section.c (bfd_get_section_contents): Likewise.
1498         * compress.c (bfd_get_full_section_contents): Likewise.
1499         * elf32-rx.c (rx_final_link): Ignore rawsize.
1500         * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
1501         bfd with bfd_get_section_limit.
1502         * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter.  Use
1503         os->size during final link.  Update callers.
1504         * bfd-in2.h: Regenerate.
1505
1506 2011-04-10  Richard Sandiford  <rdsandiford@googlemail.com>
1507
1508         PR ld/12637
1509         * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
1510         as the number of global entries when merging with the primary GOT.
1511
1512 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
1513
1514         * elf32-i386.c: Update copyright year.
1515         * elf64-x86-64.c: Likewise.
1516
1517 2011-04-09  Kai Tietz  <ktietz@redhat.com>
1518
1519         * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
1520         buffer and use rawsize for sorting.
1521         * coffcode.h (coff_compute_section_file_positions): Set rawsize
1522         before doing alignment.
1523
1524 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
1525
1526         * elf32-i386.c (elf_i386_relocate_section): Return relocation
1527         error on unsupported relocation.
1528         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1529
1530 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
1531
1532         PR binutils/12657
1533         * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
1534         pid_t.
1535
1536 2011-04-08  H.J. Lu  <hongjiu.lu@intel.com>
1537
1538         PR ld/12654
1539         * elf32-i386.c (elf_i386_relocate_section): Check !executable
1540         instead of shared for R_386_TLS_LDO_32.
1541
1542 2011-04-08  Tristan Gingold  <gingold@adacore.com>
1543
1544         * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
1545         * coff-pmac: Remove
1546         * xcoff-target.h: Remove
1547         * Makefile.in: Regenerate.
1548
1549 2011-04-07  Cary Coutant  <ccoutant@google.com>
1550
1551         * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
1552
1553 2011-04-07  Paul Brook  <paul@codesourcery.com>
1554
1555         * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
1556         pc-relative.
1557         (elf32_tic6x_howto_table_rel): Ditto.
1558         (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
1559         (elf32_tic6x_check_relocs): Ditto.
1560
1561 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
1562
1563         * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
1564         targets.
1565         (strongarm*, thumb*, xscale*): Remove architectures.
1566         (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
1567         thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
1568         xscale-*-coff): Remove targets.
1569
1570 2011-04-01  Tristan Gingold  <gingold@adacore.com>
1571
1572         * elfxx-ia64.c: include bfd_stdint.h
1573
1574 2011-03-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
1575
1576         * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
1577         dynobj and its initialization.
1578
1579 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1580
1581         * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
1582         * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
1583         BFD_HOST_LONG_LONG to 1.
1584
1585 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1586
1587         * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
1588         (_bfd_vms_write_etir): Ditto.
1589         (_bfd_vms_slurp_etir): Avoid to use intptr_t
1590         * configure.com: Generate bfd_stdint.h
1591
1592 2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
1593
1594         * elf32-tic6x.h (struct elf32_tic6x_params): New.
1595         (elf32_tic6x_setup): Declare.
1596         * elf32-tic6x.c: Include <limits.h>.
1597         (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
1598         (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
1599         New structures.
1600         (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
1601         (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
1602         tic6x_elf_scom_symbol_ptr): New static variables.
1603         (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
1604         elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
1605         R_C6000_PCR_H16 and R_C6000_PCR_L16.
1606         (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
1607         elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
1608         elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
1609         elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
1610         elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
1611         elf32_tic6x_adjust_dynamic_symbol): New static functions.
1612         (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
1613         to weak symbols as required by the ABI.
1614         Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
1615         as needed when generating DSBT output.
1616         (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
1617         elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
1618         elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
1619         elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
1620         elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
1621         elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
1622         New static functions.
1623         (ELF_MAXPAGESIZE): Define to 0x1000.
1624         (bfd_elf32_bfd_copy_private_bfd_data,
1625         bfd_elf32_bfd_link_hash_table_create,
1626         bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
1627         elf_backend_want_got_plt, elf_backend_want_dynbss,
1628         elf_backend_plt_readonly, elf_backend_got_header_size,
1629         elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
1630         elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
1631         elf_backend_check_relocs, elf_backend_add_symbol_hook,
1632         elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
1633         elf_backend_section_from_bfd_section,
1634         elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
1635         elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
1636         elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
1637
1638         * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
1639         BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
1640         * bfd/bfd-in2.h: Regenerate.
1641         * bfd/libbfd.h: Regenerate.
1642         * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
1643
1644 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1645
1646         * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
1647         entry on xcoff when value is C_NULL_VALUE.
1648
1649 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1650
1651         * libcoff-in.h (exec_hdr): Remove.
1652         * libcoff.h: Regenerate.
1653
1654 2011-03-30  Nick Clifton  <nickc@redhat.com>
1655
1656         * po/da.po: Updated Danish translation.
1657
1658 2011-03-29  Richard Henderson  <rth@redhat.com>
1659
1660         * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
1661         (elf64_alpha_gc_sweep_hook): New.
1662         (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
1663         (elf_backend_can_gc_sections): New.
1664
1665 2011-03-26  John Marino  <binutils@marino.st>
1666
1667         * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
1668         * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
1669         * configure: Regenerate.
1670
1671 2011-03-25  Michael Snyder  <msnyder@vmware.com>
1672
1673         * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
1674
1675 2011-03-25  Tristan Gingold  <gingold@adacore.com>
1676
1677         * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
1678         of find_nearest_line on object files.
1679
1680 2011-03-25  Tristan Gingold  <gingold@adacore.com>
1681
1682         * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
1683         Minor reordering.
1684         (alpha_vms_create_eisd_for_section): Make code sections read-only.
1685
1686 2011-03-24  Alan Modra  <amodra@gmail.com>
1687
1688         * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
1689         old-style __tls_get_addr calls without marker relocs don't match
1690         their arg setup insn one for one.  If such mismatches are found
1691         report the reloc and don't do any tls optimization.
1692         * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1693
1694 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
1695
1696         * bfd-in2.h: Regenerate.
1697
1698 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
1699
1700         * archures.c: Add AVR XMEGA architecture information.
1701         * cpu-avr.c (arch_info_struct): Likewise.
1702         * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1703         (elf32_avr_object_p): Likewise.
1704
1705 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1706
1707         * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
1708         * bfd-in2.h: Regenerate.
1709         * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
1710         to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
1711         entry.
1712         (elf32_arm_howto_from_type): Update accordingly.
1713         (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
1714         (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
1715         (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
1716         with an extra noncall_refcount field.
1717         (arm_local_iplt_info): New structure.
1718         (elf_arm_obj_tdata): Add local_iplt.
1719         (elf32_arm_local_iplt): New accessor macro.
1720         (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
1721         plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
1722         Change tls_type to a bitfield and add is_iplt.
1723         (elf32_arm_link_hash_newfunc): Update accordingly.
1724         (elf32_arm_allocate_local_sym_info): New function.
1725         (elf32_arm_create_local_iplt): Likewise.
1726         (elf32_arm_get_plt_info): Likewise.
1727         (elf32_arm_plt_needs_thumb_stub_p): Likewise.
1728         (elf32_arm_get_local_dynreloc_list): Likewise.
1729         (create_ifunc_sections): Likewise.
1730         (elf32_arm_copy_indirect_symbol): Update after the changes to
1731         elf32_arm_link_hash_entry.  Assert the is_iplt has not yet been set.
1732         (arm_type_of_stub): Add an st_type argument.  Use elf32_arm_get_plt_info
1733         to get PLT information.  Assert that all STT_GNU_IFUNC references
1734         are turned into PLT references.
1735         (arm_build_one_stub): Pass the symbol type to
1736         elf32_arm_final_link_relocate.
1737         (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
1738         (elf32_arm_allocate_irelocs): New function.
1739         (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
1740         all R_ARM_IRELATIVE.
1741         (elf32_arm_allocate_plt_entry): New function.
1742         (elf32_arm_populate_plt_entry): Likewise.
1743         (elf32_arm_final_link_relocate): Add an st_type parameter.
1744         Set srelgot to null for static objects.  Use separate variables
1745         to record which st_value and st_type should be used when generating
1746         a dynamic relocation.  Use elf32_arm_get_plt_info to find the
1747         symbol's PLT information, setting has_iplt_entry, splt,
1748         plt_offset and gotplt_offset accordingly.  Check whether
1749         STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
1750         the relocation target accordingly.  Broaden assert to include
1751         .iplts.  Don't set sreloc for static relocations.  Assert that
1752         we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
1753         and R_ARM_ABS32_NOI.  Generate R_ARM_IRELATIVE relocations instead
1754         of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
1755         symbol.  Pass the symbol type to arm_type_of_stub.  Conditionally
1756         resolve GOT references to the .igot.plt entry.
1757         (elf32_arm_relocate_section): Update the call to
1758         elf32_arm_final_link_relocate.
1759         (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
1760         information.  Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
1761         relocations in shared libraries and relocatable executables.
1762         Count non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
1763         to get the list of dynamic relocations for a local symbol.
1764         (elf32_arm_check_relocs): Always create ifunc sections.  Set isym
1765         at the same time as setting h.  Use elf32_arm_allocate_local_sym_info
1766         to allocate local symbol information.  Treat R_ARM_REL32 and
1767         R_ARM_REL32_NOI as call relocations in shared libraries and
1768         relocatable executables.  Record PLT information for local
1769         STT_GNU_IFUNC functions as well as global functions.   Count
1770         non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
1771         to get the list of dynamic relocations for a local symbol.
1772         (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
1773         Don't remove STT_GNU_IFUNC PLTs unless all references have been
1774         removed.  Update after the changes to elf32_arm_link_hash_entry.
1775         (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
1776         entries should live in .plt or .iplt.  Check whether the .igot.plt
1777         and .got entries can be combined.  Use elf32_arm_allocate_plt_entry
1778         to allocate .plt and .(i)got.plt entries.  Detect which .got
1779         entries will need R_ARM_IRELATIVE relocations and use
1780         elf32_arm_allocate_irelocs to allocate them.  Likewise other
1781         non-.got dynamic relocations.
1782         (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
1783         and dynamic relocations for local STT_GNU_IFUNC symbols.
1784         Check whether the .igot.plt and .got entries can be combined.
1785         Detect which .got entries will need R_ARM_IRELATIVE relocations
1786         and use elf32_arm_allocate_irelocs to allocate them.  Use stashed
1787         section pointers intead of strcmp checks.  Handle iplt and igotplt.
1788         (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
1789         to fill in .plt, .got.plt and .rel(a).plt entries.  Point
1790         STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
1791         resolve to it.
1792         (elf32_arm_output_plt_map_1): New function, split out from
1793         elf32_arm_output_plt_map.  Handle .iplt entries.  Use
1794         elf32_arm_plt_needs_thumb_stub_p.
1795         (elf32_arm_output_plt_map): Call it.
1796         (elf32_arm_output_arch_local_syms): Add mapping symbols for
1797         local .iplt entries.
1798         (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
1799         (elf32_arm_swap_symbol_out): Likewise.
1800         (elf32_arm_add_symbol_hook): New function.
1801         (elf_backend_add_symbol_hook): Define for all targets.
1802
1803 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1804
1805         * elf-bfd.h (elf_link_hash_entry): Add target_internal.
1806         * elf.c (swap_out_syms): Set st_target_internal for each
1807         Elf_Internal_Sym.
1808         * elfcode.h (elf_swap_symbol_in): Likewise.
1809         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1810         * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
1811         * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
1812         * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1813         * elflink.c (elf_link_output_extsym): Likewise.
1814         (bfd_elf_final_link): Likewise.
1815         (elf_link_add_object_symbols): Copy st_target_internal
1816         to the hash table if we see a definition.
1817         (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
1818         * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
1819         a branch_type field.
1820         (a8_erratum_fix, a8_erratum_reloc): Likewise.
1821         (arm_type_of_stub): Replace actual_st_type with an
1822         actual_branch_type parameter.
1823         (arm_build_one_stub): Use branch types rather than st_types to
1824         determine the type of branch.
1825         (cortex_a8_erratum_scan): Likewise.
1826         (elf32_arm_size_stubs): Likewise.
1827         (bfd_elf32_arm_process_before_allocation): Likewise.
1828         (allocate_dynrelocs_for_symbol): Likewise.
1829         (elf32_arm_finish_dynamic_sections): Likewise.
1830         (elf32_arm_final_link_relocate): Replace sym_flags parameter with
1831         a branch_type parameter.
1832         (elf32_arm_relocate_section): Update call accordingly.
1833         (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
1834         (elf32_arm_output_map_sym): Initialize st_target_internal.
1835         (elf32_arm_output_stub_sym): Likewise.
1836         (elf32_arm_symbol_processing): Delete.
1837         (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
1838         Use st_target_internal to record the branch type.
1839         (elf32_arm_swap_symbol_out): Use st_target_internal to test for
1840         Thumb functions.
1841         (elf32_arm_is_function_type): Delete.
1842         (elf_backend_symbol_processing): Likewise.
1843         (elf_backend_is_function_type): Likewise.
1844
1845 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1846
1847         * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
1848         (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
1849         into the PLT block.
1850
1851 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1852
1853         * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
1854         may_need_local_target_p and may_become_dynamic_p to classify
1855         the relocation type.  Don't check info->symbolic or h->def_regular
1856         when deciding whether to record a potential dynamic reloc.
1857         Don't treat potential dynamic relocs as PLT references.
1858         (elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
1859         try to make the PLT reference count go negative.
1860
1861 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1862
1863         * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
1864         GOT entry here, rather than leaving it to finish_dynamic_symbol.
1865         Only create a dynamic relocation for local references if
1866         info->shared.
1867         (allocate_dynrelocs_for_symbol): Update dynamic relocation
1868         allocation accordingly.
1869         (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
1870
1871 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1872
1873         * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
1874         (elf32_arm_add_dynreloc): Likewise.
1875         (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
1876         to allocate dynamic relocations.
1877         (elf32_arm_size_dynamic_sections): Likewise.
1878         (allocate_dynrelocs): Likewise.  Rename to
1879         allocate_dynrelocs_for_symbol.
1880         (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
1881         create dynamic relocations.
1882         (elf32_arm_finish_dynamic_symbol): Likewise.
1883
1884 2011-03-12  H.J. Lu  <hongjiu.lu@intel.com>
1885
1886         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1887         x32 GD->IE and GD->LE transitions.
1888         (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
1889         and LD->LE transitions.
1890
1891 2011-03-10  Alan Modra  <amodra@gmail.com>
1892
1893         * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
1894         for LO_DS error message and correct multiple.
1895
1896 2011-03-10  Alan Modra  <amodra@gmail.com>
1897
1898         * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
1899         (ppc64_elf_link_just_syms): New function.
1900         (opd_entry_value): Don't assume big-endian host.
1901         (get_r2off): New function.
1902         (ppc_build_one_stub, ppc_size_one_stub): Use it here.
1903
1904 2011-03-06  Michael Snyder  <msnyder@vmware.com>
1905
1906         * compress.c (bfd_compress_section_contents): Check for out of mem.
1907
1908         * elf64-x86-64.c (elf_x86_64_relocate_section): Document
1909         that case statement falls through intentionally.
1910
1911         * elf32-i386.c (elf_i386_relocate_section): Document fall through.
1912
1913 2011-03-04  Alan Modra  <amodra@gmail.com>
1914
1915         * archive.c (bsd_write_armap): Don't call stat in deterministic
1916         mode, and don't use st_mtime if stat returns error.
1917
1918 2011-03-03  Michael Snyder  <msnyder@vmware.com>
1919
1920         * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
1921
1922         * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
1923
1924         * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
1925         (aout_link_write_other_symbol): Missing break statement.
1926
1927         * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
1928
1929         * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
1930
1931 2011-03-03  H.J. Lu  <hongjiu.lu@intel.com>
1932
1933         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1934         x32 IE->LE transition.
1935         (elf_x86_64_relocate_section): Likewise.
1936
1937 2011-03-02  Bernd Schmidt  <bernds@codesourcery.com>
1938
1939         * elflink.c (is_reloc_section): Remove function.
1940         (get_dynamic_reloc_section_name): Construct string manually.
1941
1942 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
1943
1944         * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
1945         (adjust_relative_path): Likewise.
1946         (_bfd_construct_extended_name_table): Likewise.
1947         * corefile.c (generic_core_file_matches_executable_p): Likewise.
1948         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1949         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1950         * elf32-spu.c (sort_bfds): Likewise.
1951         (spu_elf_auto_overlay): Likewise.
1952         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1953         * xcofflink.c (xcoff_set_import_path): Likewise.
1954         * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
1955         (xtensa_regfile_lookup_shortname): Likewise.
1956
1957 2011-02-28  Alan Modra  <amodra@gmail.com>
1958
1959         PR 12513
1960         * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
1961         stringsize.  Properly sanity check symdef_count.  Remove redundant
1962         bfd_release.
1963
1964 2011-02-25  Rafael Ávila de Espíndola <respindola@mozilla.com>
1965
1966         * plugin.c (bfd_plugin_object_p): Correctly set the filesize
1967         and handle claim_file seeking. Only try to load the plugin once.
1968
1969 2011-02-22  Andreas Schwab  <schwab@redhat.com>
1970
1971         * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
1972         relocation read the value from the second GOT slot.
1973
1974 2011-02-15  Tristan Gingold  <gingold@adacore.com>
1975
1976         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
1977
1978 2011-02-15  Alan Modra  <amodra@gmail.com>
1979
1980         * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
1981         toc relocs.  Fuss over free(NULL).
1982
1983 2011-02-14  Mike Frysinger  <vapier@gentoo.org>
1984
1985         * elflink.c (bfd_elf_size_dynamic_sections): Add
1986         bfd_get_symbol_leading_char to the start of newname.
1987
1988 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1989
1990         * configure: Regenerate.
1991
1992 2011-02-09  Alan Modra  <amodra@gmail.com>
1993
1994         * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
1995         we are done.  When optimising large toc, check that a global
1996         symbol on a toc reloc is defined in a kept section.
1997
1998 2011-02-08  Nick Clifton  <nickc@redhat.com>
1999
2000         PR binutils/12467
2001         * elf.c (assign_file_positions_for_load_sections): Set the program
2002         header offset and entry size to zero if there are no program
2003         headers.
2004
2005 2011-02-08  Alan Modra  <amodra@gmail.com>
2006
2007         * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
2008         local_syms when looking for local symbols in .toc.
2009
2010 2011-02-01  Alan Modra  <amodra@gmail.com>
2011
2012         * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
2013         for toc pointer on any section having makes_toc_func_call set.
2014         (check_pasted_section): Ensure pasted .init/.fini fragments use
2015         the same toc if any has makes_toc_func_call set.
2016
2017 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
2018
2019         * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
2020         field.
2021
2022 2011-01-22  Richard Sandiford  <rdsandiford@googlemail.com>
2023
2024         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
2025         common sections too.
2026
2027 2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2028
2029         * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
2030         Solaris target.
2031
2032 2011-01-18  Pierre Muller  <muller@ics.u-strasbg.fr>
2033
2034         Fix compilation for mingw64.
2035         * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
2036         typecast to avoid warning.
2037         * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
2038         usage.
2039         * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
2040         of long for pointer to avoid warning.
2041         (elfNN_ia64_relax_brl): Idem.
2042         (elfNN_ia64_install_value): Idem.
2043         * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
2044
2045 2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
2046
2047         * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
2048         h->needs_plt when deciding whether to record a possible dynamic reloc.
2049
2050 2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
2051
2052         * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
2053         dynamic relocs for the removed section.
2054
2055 2011-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2056
2057         * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
2058         relocations.
2059
2060 2011-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2061
2062         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
2063         (elf_x86_64_link_hash_table_create): Set pointer_r_type.
2064         (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
2065         for ILP32.  Remove ABI_64_P PIC check for R_X86_64_8,
2066         R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
2067         (elf_x86_64_relocate_section):  Handle R_X86_64_32 like R_X86_64_64
2068         for ILP32.
2069
2070 2011-01-14  Alan Modra  <amodra@gmail.com>
2071
2072         * bfd.c (bfd_perror): Flush stdout before and stderr after printing
2073         error.
2074         (_bfd_default_error_handler): Likewise.
2075         * elf.c (print_segment_map): Likewise.
2076         * libbfd.c (warn_deprecated): Likewise.
2077         * som.c (som_sizeof_headers): No need to do so here.
2078         * coff-i860.c: Replace use of printf for error messages with
2079         _bfd_error_handler.
2080         * coff-ppc.c: Likewise.
2081         * coff-sh.c: Likewise.
2082         * elf32-bfin.c: Likewise.
2083         * elf32-dlx.c: Likewise.
2084         * elf32-mep.c: Likewise.
2085         * elf32-v850.c: Likewise.
2086         * mach-o.c: Likewise.
2087         * pef.c: Likewise.
2088
2089 2011-01-13  H.J. Lu  <hongjiu.lu@intel.com>
2090
2091         * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
2092         swap_reloca_out.
2093         (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
2094         (elf_x86_64_check_relocs): Align relocation section to 4 byte
2095         for 32bit.
2096         (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
2097         ELF_ST_TYPE.
2098         (elf_x86_64_finish_dynamic_symbol): Updated.
2099         (elf_x86_64_finish_dynamic_sections): Don't use
2100         Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
2101         bfd_elf64_swap_dyn_out.
2102
2103 2011-01-14  J. Park  <grassman@gmail.com>
2104
2105         PR ld/12339
2106         * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
2107         following bfd_link_hash_warning symbol link.
2108
2109 2011-01-10  Nathan Sidwell  <nathan@codesourcery.com>
2110             Glauber de Oliveira Costa  <glommer@gmail.com>
2111
2112         * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
2113         BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
2114         BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
2115         relocations.
2116         * libbfd.h: Rebuilt.
2117         * bfd-in2.h: Rebuilt.
2118         * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
2119         (elf32_arm_reloc_map): Likewise.
2120         (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
2121         (elf32_arm_stub_long_branch_any_tls_pic,
2122         elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
2123         (DEF_STUBS): Add new stubs.
2124         (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
2125         (elf32_arm_local_tlsdesc_gotent): New.
2126         (GOT_TLS_GDESC): New mask.
2127         (GOT_TLS_GD_ANY): Define.
2128         (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
2129         (elf32_arm_compute_jump_table_size): New.
2130         (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
2131         num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
2132         sgotplt_jump_table_size fields.
2133         (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
2134         (elf32_arm_link_hash_table_create): Initialize new fields.
2135         (arm_type_of_stub): Check TLS desc relocs too.
2136         (elf32_arm_stub_name): TLS desc relocs can be shared.
2137         (elf32_arm_tls_transition): Determine relaxation.
2138         (arm_stub_required_alignment): Add tls stubs.
2139         (elf32_arm_size_stubs): Likewise.
2140         (elf32_arm_tls_relax): Perform TLS relaxing.
2141         (elf32_arm_final_link_relocate): Process TLS DESC relocations.
2142         (IS_ARM_TLS_GNU_RELOC): New.
2143         (IS_ARM_TLS_RELOC): Use it.
2144         (elf32_arm_relocate_section): Perform TLS relaxing.
2145         (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
2146         desc relocations.
2147         (allocate_dynrelocs): Allocate tls desc relcoations.
2148         (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
2149         symbols.
2150         (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
2151         got slots.
2152         (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
2153         symbol.
2154         (elf32_arm_finish_dynamic_symbol): Adjust.
2155         (arm_put_trampoline): New.
2156         (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
2157         trampolines.
2158         (elf_backend_always_size_sections): Define.
2159
2160 2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2161
2162         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
2163
2164 2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2165
2166         PR ld/12366
2167         PR ld/12371
2168         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
2169         handle symbols marked with regular reference, but not non-GOT
2170         reference when building shared library.
2171
2172         * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
2173         local and global STT_GNU_IFUNC symols when building shared
2174         library.
2175         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
2176
2177 2011-01-05  DJ Delorie  <dj@redhat.com>
2178
2179         * reloc.c: Add BFD_RELOC_RX_OP_NEG.
2180         * libbfd.h: Regenerate.
2181         * bfd-in2.h: Regenerate.
2182         * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
2183
2184 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2185
2186         * cpu-i386.c (bfd_i386_compatible): New.
2187         (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
2188         with bfd_i386_compatible.
2189         (bfd_x86_64_arch_intel_syntax): Likewise.
2190         (bfd_i386_arch_intel_syntax): Likewise.
2191         (i8086_arch): Likewise.
2192         (bfd_x64_32_arch): Likewise.
2193         (bfd_x86_64_arch): Likewise.
2194         (bfd_i386_arch): Likewise.
2195
2196 For older changes see ChangeLog-2010
2197 \f
2198 Local Variables:
2199 mode: change-log
2200 left-margin: 8
2201 fill-column: 74
2202 version-control: never
2203 End: