Suport x32 gcore.
[external/binutils.git] / bfd / ChangeLog
1 2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
2
3         * elf64-x86-64.c: Include <stdarg.h> and CORE_HEADER if
4         CORE_HEADER is defined.
5         (elf_x86_64_write_core_note): New.
6         (elf_backend_write_core_note): Likewise.
7
8         * hosts/x86-64linux.h (uint64_t): New.
9         (user_regsx32_struct): Likewise.
10         (elf_gregx32_t): Likewise.
11         (ELF_NGREGX32): Likewise.
12         (elf_gregsetx32_t): Likewise.
13         (elf_prstatusx32): Likewise.
14         (prstatusx32_t): Likewise.
15         (user_fpregs32_struct): Removed.
16         (user_fpxregs32_struct): Likewise.
17         (user32): Likewise.
18         (elf_fpregset32_t): Likewise.
19         (elf_fpxregset32_t): Likewise.
20         (prgregset32_t): Likewise.
21         (prfpregset32_t): Likewise.
22
23 2011-06-16  H.J. Lu  <hongjiu.lu@intel.com>
24
25         * elf64-x86-64.c (elf_x86_64_grok_prstatus): Support x32.
26         (elf_x86_64_grok_psinfo): Likewise.
27
28 2011-06-16  Nick Clifton  <nickc@redhat.com>
29
30         * elf.c (elf_find_function): Fail if not provided with a symbol
31         table.
32
33 2011-06-15  Ulrich Weigand  <ulrich.weigand@linaro.org>
34
35         * elf-bfd.h (elfcore_write_arm_vfp): Add prototype.
36         * elf.c (elfcore_grok_arm_vfp): New function.
37         (elfcore_grok_note): Call it to handle NT_ARM_VFP notes.
38         (elfcore_write_arm_vfp): New function.
39         (elfcore_write_register_note): Call it to handle .reg-arm-vfp.
40
41 2011-06-14  Richard Henderson  <rth@redhat.com>
42
43         * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Rename from
44         elf64_alpha_merge_ind_symbols; adjust for the generic interface.
45         (elf64_alpha_always_size_sections): Don't call
46         elf64_alpha_merge_ind_symbols.
47         (elf_backend_copy_indirect_symbol): New.
48
49 2011-06-14  Alan Modra  <amodra@gmail.com>
50
51         PR ld/12887
52         * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Check sec_info_type
53         before doing anything.
54         (_bfd_elf_discard_section_eh_frame): Likewise.
55
56 2011-06-14  Alan Modra  <amodra@gmail.com>
57
58         * Makefile.am: Formatting.
59         * Makefile.in: Regenerate.
60         * configure.in (bfd_elf64_tilegx_vec): Add elfxx-tilegx.lo.
61         * po/SRC-POTFILES.in: Regnerate.
62
63 2011-06-14  Alan Modra  <amodra@gmail.com>
64
65         * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Don't use PTR.
66         (allocate_dynrelocs, readonly_dynrelocs): Replace PTR with void *.
67         Don't handle warning symbols here.
68         * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): As above.
69         (allocate_dynrelocs, readonly_dynrelocs): As above.
70
71 2011-06-14  Alan Modra  <amodra@gmail.com>
72
73         PR ld/12851
74         * elflink.c (_bfd_elf_gc_mark_extra_sections): New function.
75         (elf_gc_sweep): Don't treat debug and sections like .comment
76         specially here.
77         (bfd_elf_gc_sections): Treat note sections as gc roots only when
78         not part of a group.  Always call gc_mark_extra_sections.
79         * elf-bfd.h (_bfd_elf_gc_mark_extra_sections): Declare.
80         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Default to
81         _bfd_elf_gc_mark_extra_sections.
82         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Call
83         _bfd_elf_gc_mark_extra_sections.
84         * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): Likewise.
85
86 2011-06-13  Nick Clifton  <nickc@redhat.com>
87
88         * elf32-tilepro.c (tilepro_elf_check_relocs): Delete unused local
89         variable 'local_got_offsets'.
90         * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
91         (tilegx_finish_dyn): Delete unused local variable 'abi_64_p'.
92
93 2011-06-13  Walter Lee  <walt@tilera.com>
94
95         * Makefile.am (ALL_MACHINES): Add cpu-tilegx.lo and cpu-tilepro.lo.
96         (ALL_MACHINE_CFILES): Add cpu-tilegx.c and cpu-tilepro.c.
97         (BFD32_BACKENDS): Add elf32-tilegx.lo, elf32-tilepro.lo,
98         and elfxx-tilegx.lo.
99         (BFD32_BACKENDS_CFILES): Add elf32-tilegx.c elf32-tilepro.c, and
100         elfxx-tilegx.c.
101         (BFD64_BACKENDS): Add elf64-tilegx.lo.
102         (BFD64_BACKENDS_CFILES): Add elf64-tilegx.c.
103         * Makefile.in: Regenerate.
104         * arctures.c (bfd_architecture): Define bfd_arch_tilepro,
105         bfd_arch_tilegx, bfd_mach_tilepro, bfd_mach_tilegx.
106         (bfd_arch_info): Add bfd_tilegx_arch, bfd_tilepro_arch.
107         (bfd_archures_list): Add bfd_tilegx_arch, bfd_tilepro_arch.
108         bfd-in2.h: Regenerate.
109         * config.bfd: Handle tilegx-*-* and tilepro-*-*.
110         * configure.in: Handle bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
111         and bfd_elf64_tilegx_vec.
112         * configure: Regenerate.
113         * elf-bfd.h (enum elf_target_id): Define TILEGX_ELF_DATA and
114         TILEPRO_ELF_DATA.
115         * libbfd.h: Regenerate.
116         * reloc.c: Add BFD_RELOC_TILEPRO_{COPY, GLOB_DAT, JMP_SLOT,
117         RELATIVE, BROFF_X1, JOFFLONG_X1, JOFFLONG_X1_PLT, IMM8_X0,
118         IMM8_Y0, IMM8_X1, IMM8_Y1, DEST_IMM8_X1, MT_IMM15_X1, MF_IMM15_X1,
119         IMM16_X0, IMM16_X1, IMM16_X0_LO, IMM16_X1_LO, IMM16_X0_HI,
120         IMM16_X1_HI, IMM16_X0_HA, IMM16_X1_HA, IMM16_X0_PCREL,
121         IMM16_X1_PCREL, IMM16_X0_LO_PCREL, IMM16_X1_LO_PCREL,
122         IMM16_X0_HI_PCREL, IMM16_X1_HI_PCREL, IMM16_X0_HA_PCREL,
123         IMM16_X1_HA_PCREL, IMM16_X0_GOT, IMM16_X1_GOT, IMM16_X0_GOT_LO,
124         IMM16_X1_GOT_LO, IMM16_X0_GOT_HI, IMM16_X1_GOT_HI,
125         IMM16_X0_GOT_HA, IMM16_X1_GOT_HA, MMSTART_X0, MMEND_X0,
126         MMSTART_X1, MMEND_X1, SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1,
127         IMM16_X0_TLS_GD, IMM16_X1_TLS_GD, IMM16_X0_TLS_GD_LO,
128         IMM16_X1_TLS_GD_LO, IMM16_X0_TLS_GD_HI, IMM16_X1_TLS_GD_HI,
129         IMM16_X0_TLS_GD_HA, IMM16_X1_TLS_GD_HA, IMM16_X0_TLS_IE,
130         IMM16_X1_TLS_IE, IMM16_X0_TLS_IE_LO, IMM16_X1_TLS_IE_LO,
131         IMM16_X0_TLS_IE_HI, IMM16_X1_TLS_IE_HI, IMM16_X0_TLS_IE_HA,
132         IMM16_X1_TLS_IE_HA, TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
133         Add BFD_RELOC_TILEGX_{HW0, HW1, HW2, HW3, HW0_LAST, HW1_LAST,
134         HW2_LAST, COPY, GLOB_DAT, JMP_SLOT, RELATIVE, BROFF_X1,
135         JUMPOFF_X1, JUMPOFF_X1_PLT, IMM8_X0, IMM8_Y0, IMM8_X1, IMM8_Y1,
136         DEST_IMM8_X1, MT_IMM14_X1, MF_IMM14_X1, MMSTART_X0, MMEND_X0,
137         SHAMT_X0, SHAMT_X1, SHAMT_Y0, SHAMT_Y1, IMM16_X0_HW0,
138         IMM16_X1_HW0, IMM16_X0_HW1, IMM16_X1_HW1, IMM16_X0_HW2,
139         IMM16_X1_HW2, IMM16_X0_HW3, IMM16_X1_HW3, IMM16_X0_HW0_LAST,
140         IMM16_X1_HW0_LAST, IMM16_X0_HW1_LAST, IMM16_X1_HW1_LAST,
141         IMM16_X0_HW2_LAST, IMM16_X1_HW2_LAST, IMM16_X0_HW0_PCREL,
142         IMM16_X1_HW0_PCREL, IMM16_X0_HW1_PCREL, IMM16_X1_HW1_PCREL,
143         IMM16_X0_HW2_PCREL, IMM16_X1_HW2_PCREL, IMM16_X0_HW3_PCREL,
144         IMM16_X1_HW3_PCREL, IMM16_X0_HW0_LAST_PCREL,
145         IMM16_X1_HW0_LAST_PCREL, IMM16_X0_HW1_LAST_PCREL,
146         IMM16_X1_HW1_LAST_PCREL, IMM16_X0_HW2_LAST_PCREL,
147         IMM16_X1_HW2_LAST_PCREL, IMM16_X0_HW0_GOT, IMM16_X1_HW0_GOT,
148         IMM16_X0_HW1_GOT, IMM16_X1_HW1_GOT, IMM16_X0_HW2_GOT,
149         IMM16_X1_HW2_GOT, IMM16_X0_HW3_GOT, IMM16_X1_HW3_GOT,
150         IMM16_X0_HW0_LAST_GOT, IMM16_X1_HW0_LAST_GOT,
151         IMM16_X0_HW1_LAST_GOT, IMM16_X1_HW1_LAST_GOT,
152         IMM16_X0_HW2_LAST_GOT, IMM16_X1_HW2_LAST_GOT, IMM16_X0_HW0_TLS_GD,
153         IMM16_X1_HW0_TLS_GD, IMM16_X0_HW1_TLS_GD, IMM16_X1_HW1_TLS_GD,
154         IMM16_X0_HW2_TLS_GD, IMM16_X1_HW2_TLS_GD, IMM16_X0_HW3_TLS_GD,
155         IMM16_X1_HW3_TLS_GD, IMM16_X0_HW0_LAST_TLS_GD,
156         IMM16_X1_HW0_LAST_TLS_GD, IMM16_X0_HW1_LAST_TLS_GD,
157         IMM16_X1_HW1_LAST_TLS_GD, IMM16_X0_HW2_LAST_TLS_GD,
158         IMM16_X1_HW2_LAST_TLS_GD, IMM16_X0_HW0_TLS_IE,
159         IMM16_X1_HW0_TLS_IE, IMM16_X0_HW1_TLS_IE, IMM16_X1_HW1_TLS_IE,
160         IMM16_X0_HW2_TLS_IE, IMM16_X1_HW2_TLS_IE, IMM16_X0_HW3_TLS_IE,
161         IMM16_X1_HW3_TLS_IE, IMM16_X0_HW0_LAST_TLS_IE,
162         IMM16_X1_HW0_LAST_TLS_IE, IMM16_X0_HW1_LAST_TLS_IE,
163         IMM16_X1_HW1_LAST_TLS_IE, IMM16_X0_HW2_LAST_TLS_IE,
164         IMM16_X1_HW2_LAST_TLS_IE, TLS_DTPMOD64, TLS_DTPOFF64, TLS_TPOFF64,
165         TLS_DTPMOD32, TLS_DTPOFF32, TLS_TPOFF32}
166         * targets.c (bfd_elf32_tilegx_vec): Declare.
167         (bfd_elf32_tilepro_vec): Declare.
168         (bfd_elf64_tilegx_vec): Declare.
169         (bfd_target_vector): Add bfd_elf32_tilegx_vec, bfd_elf32_tilepro_vec,
170         and bfd_elf64_tilegx_vec.
171         * cpu-tilegx.c: New file.
172         * cpu-tilepro.c: New file.
173         * elf32-tilepro.h: New file.
174         * elf32-tilepro.c: New file.
175         * elf32-tilegx.c: New file.
176         * elf32-tilegx.h: New file.
177         * elf64-tilegx.c: New file.
178         * elf64-tilegx.h: New file.
179         * elfxx-tilegx.c: New file.
180         * elfxx-tilegx.h: New file.
181
182 2011-06-13  Alan Modra  <amodra@gmail.com>
183
184         * linker.c (bfd_link_hash_traverse): Follow warning symbol link.
185         (_bfd_generic_link_write_global_symbol, fix_syms): Don't handle
186         warning symbols here.
187         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
188         * elf32-arm.c (allocate_dynrelocs_for_symbol,
189         elf32_arm_readonly_dynrelocs): Likewise.
190         * elf32-bfin.c (bfin_discard_copies): Likewise.
191         * elf32-cris.c (elf_cris_adjust_gotplt_to_got,
192         elf_cris_discard_excess_dso_dynamics,
193         elf_cris_discard_excess_program_dynamics): Likewise.
194         * elf32-hppa.c (allocate_plt_static, allocate_dynrelocs,
195         clobber_millicode_symbols, readonly_dynrelocs): Likewise.
196         * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
197         * elf32-i386.c (elf_i386_allocate_dynrelocs,
198         elf_i386_readonly_dynrelocs): Likewise.
199         * elf32-lm32.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
200         * elf32-m32c.c (m32c_relax_plt_check, m32c_relax_plt_realloc): Likewise.
201         * elf32-m32r.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
202         * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
203         * elf32-microblaze.c (allocate_dynrelocs): Likewise.
204         * elf32-ppc.c (allocate_dynrelocs, maybe_set_textrel): Likewise.
205         * elf32-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
206         * elf32-score.c (score_elf_sort_hash_table_f): Likewise.
207         * elf32-score7.c (score_elf_sort_hash_table_f): Likewise.
208         * elf32-sh.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
209         * elf32-tic6x.c (elf32_tic6x_allocate_dynrelocs,
210         elf32_tic6x_readonly_dynrelocs): Likewise.
211         * elf32-vax.c (elf_vax_discard_copies): Likewise.
212         * elf32-xstormy16.c (xstormy16_relax_plt_check,
213         xstormy16_relax_plt_realloc): Likewise.
214         * elf32-xtensa.c (elf_xtensa_allocate_dynrelocs): Likewise.
215         * elf64-alpha.c (elf64_alpha_output_extsym,
216         elf64_alpha_calc_got_offsets_for_symbol,
217         elf64_alpha_calc_dynrel_sizes, elf64_alpha_size_rela_got_1): Likewise.
218         * elf64-hppa.c (elf64_hppa_mark_exported_functions,
219         allocate_global_data_opd, elf64_hppa_mark_milli_and_exported_functions,
220         elf_hppa_unmark_useless_dynamic_symbols,
221         elf_hppa_remark_useless_dynamic_symbols): Likewise.
222         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref, func_desc_adjust,
223         adjust_opd_syms, adjust_toc_syms, allocate_dynrelocs,
224         readonly_dynrelocs, merge_global_got, reallocate_got,
225         undo_symbol_twiddle): Likewise.
226         * elf64-s390.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
227         * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
228         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs,
229         elf_x86_64_readonly_dynrelocs): Likewise.
230         * elflink.c (elf_link_renumber_hash_table_dynsyms,
231         elf_link_renumber_local_hash_table_dynsyms, _bfd_elf_export_symbol,
232         _bfd_elf_link_find_version_dependencies,
233         _bfd_elf_link_assign_sym_version, _bfd_elf_adjust_dynamic_symbol,
234         _bfd_elf_link_sec_merge_syms, elf_adjust_dynstr_offsets,
235         elf_collect_hash_codes, elf_collect_gnu_hash_codes,
236         elf_renumber_gnu_hash_syms, elf_gc_sweep_symbol,
237         elf_gc_propagate_vtable_entries_used,
238         elf_gc_smash_unused_vtentry_relocs, bfd_elf_gc_mark_dynamic_ref_symbol,
239         elf_gc_allocate_got_offsets): Likewise.
240         * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free,
241         elfNN_ia64_global_dyn_sym_thunk): Likewise.
242         * elfxx-mips.c (mips_elf_check_symbols, mips_elf_output_extsym,
243         mips_elf_sort_hash_table_f, allocate_dynrelocs): Likewise.
244         * elfxx-sparc.c (allocate_dynrelocs, readonly_dynrelocs): Likewise.
245         * i386linux.c (linux_tally_symbols): Likewise.
246         * m68klinux.c (linux_tally_symbols): Likewise.
247         * sparclinux.c (linux_tally_symbols): Likewise.
248         * sunos.c (sunos_scan_dynamic_symbol): Likewise.
249         * xcofflink.c (xcoff_post_gc_symbol): Likewise.
250
251         * elflink.c (elf_link_output_extsym): Make it a bfd_hash_traverse
252         function.  Update all callers.
253         * aoutx.h (aout_link_write_other_symbol): Likewise.
254         * pdp11.c (aout_link_write_other_symbol): Likewise.
255         * cofflink.c (_bfd_coff_write_global_sym): Likewise.
256         * ecoff.c (ecoff_link_write_external): Likewise.
257         * xcofflink.c (xcoff_write_global_symbol): Likewise.
258         * vms-alpha.c (alpha_vms_link_output_symbol): Likewise.  Handle
259         warning symbols.
260         * ecoff.c (ecoff_link_hash_traverse): Delete.
261         * coff-ppc.c (ppc_bfd_coff_final_link): Use bfd_hash_traverse for
262         _bfd_coff_write_global_sym.
263         * libcoff-in.h (_bfd_coff_write_global_sym): Update prototype.
264         * libcoff.h: Regenerate.
265
266 2011-06-10  Nick Clifton  <nickc@redhat.com>
267
268         * elflink.c (_bfd_elf_link_create_dynamic_sections): If the
269         backend does not provide a function for creating dynamic sections
270         then fail.
271         (bfd_elf_final_link): Issue a warning message if a dynamic section
272         has the SHT_NOTE type.
273         (bfd_elf_final_link): Do not look for dynamic strings in a section
274         that does not have the SHT_STRTAB type or the name .dynstr.
275         * elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
276         section is not in the output binary.
277         * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
278
279 2011-06-09  Tristan Gingold  <gingold@adacore.com>
280
281         * elfnn-ia64.c (elfNN_ia64_relax_section, elfNN_ia64_choose_gp)
282         (elfNN_ia64_relocate_section, elfNN_vms_object_p): Remove trailing
283         spaces.
284
285 2011-06-09  Tristan Gingold  <gingold@adacore.com>
286
287         * bfd.c (bfd_get_sign_extend_vma): Handle aixcoff.
288
289 2011-06-09  Nick Clifton  <nickc@redhat.com>
290
291         PR ld/12845
292         * elf.c (_bfd_elf_init_private_section_data): Add an assertion
293         that the output section has an allocated bfd_elf_section_data
294         structure.
295         * elfxx-mips.c (mips_elf_check_symbols): Do not create a stub for
296         symbols in sections that have been removed by garbage collection.
297
298 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
299
300         * elf64-x86-64.c (elf_x86_64_check_relocs): Allow R_X86_64_64
301         relocations in SEC_DEBUGGING sections when building shared
302         libraries.
303
304 2011-06-08  H.J. Lu  <hongjiu.lu@intel.com>
305
306         PR ld/12851
307         * elflink.c (elf_gc_sweep): Don't check SHT_NOTE sections here.
308         (bfd_elf_gc_sections): Also check SHT_NOTE sections.
309
310 2011-06-08  Tristan Gingold  <gingold@adacore.com>
311
312         * makefile.vms (OBJS): Add elfxx-ia64.obj
313         Remove vax case.
314
315 2011-06-08  Alan Modra  <amodra@gmail.com>
316
317         * aix386-core.c, * cisco-core.c, * hpux-core.c, * osf-core.c,
318         * sco5-core.c: Init match_priority field.
319
320 2011-06-08  Alan Modra  <amodra@gmail.com>
321
322         * elflink.c (_bfd_elf_archive_symbol_lookup): Follow warning and
323         indirect links here.
324
325 2011-06-07  Joel Brobecker  <brobecker@adacore.com>
326
327         * irix-core.c (irix_core_vec): Add match_priority field.
328
329 2011-06-06  Alan Modra  <amodra@gmail.com>
330
331         * targets.c (bfd_target): Make ar_max_namelen an unsigned char.
332         Add match_priority.
333         * configure.in: Bump bfd version.
334         * elfcode.h (elf_object_p): Delete hacks preventing match of
335         EM_NONE and ELFOSABI_NONE targets when a better match exists.
336         * elfxx-target.h (elf_match_priority): Define and use.
337         * format.c (bfd_check_format_matches): Use target match_priority
338         to choose best of multiple matching targets.  In cases with multiple
339         matches rerun _bfd_check_format if we don't choose the last match.
340         * aout-adobe.c, * aout-arm.c, * aout-target.h, * aout-tic30.c,
341         * binary.c, * bout.c, * coff-alpha.c, * coff-i386.c, * coff-i860.c,
342         * coff-i960.c, * coff-ia64.c, * coff-mips.c, * coff-or32.c,
343         * coff-ppc.c, * coff-rs6000.c, * coff-sh.c, * coff-tic30.c,
344         * coff-tic54x.c, * coff-x86_64.c, * coff64-rs6000.c, * coffcode.h,
345         * i386msdos.c, * i386os9k.c, * ieee.c, * ihex.c, * mach-o-target.c,
346         * mipsbsd.c, * mmo.c, * nlm-target.h, * oasys.c, * pdp11.c,
347         * pe-mips.c, * pef.c, * plugin.c, * ppcboot.c, * som.c, * srec.c,
348         * tekhex.c, * trad-core.c, * verilog.c, * versados.c, * vms-alpha.c,
349         * vms-lib.c, * xsym.c: Init match_priority field.
350         * configure: Regenerate.
351         * bfd-in2.h: Regenerate.
352
353 2011-06-04  H.J. Lu  <hongjiu.lu@intel.com>
354
355         PR ld/12842
356         * elfcode.h (elf_object_p): Revert the last change.
357
358 2011-06-04  Alan Modra  <amodra@gmail.com>
359
360         * archures.c (bfd_arch_get_compatible): If one arch is unknown,
361         return the other arch.
362         * elfcode.h (elf_object_p): Allow explicit match to generic ELF
363         target.
364
365 2011-06-03  Bertram Felgenhauer  <bertram.felgenhauer@gmail.com>
366
367         PR ld/12682
368         * hash.c (higher_primer_number): Add more, small, prime numbers.
369         (bfd_hash_set_default_size): Likewise.
370
371 2011-06-02  Nick Clifton  <nickc@redhat.com>
372
373         * coff-mcore.c: Fix spelling typo.
374         * coff-stgo32.c: Likewise.
375         * elf32-arm.c: Likewise.
376         * elf32-avr.c: Likewise.
377         * elf-m68hc1x.c: Likewise.
378         * elf32-mcore.c: Likewise.
379         * elf32-mep.c: Likewise.
380         * elf32-mt.c: Likewise.
381         * elf32-ppc.c: Likewise.
382         * elf32-xtensa.c: Likewise.
383         * elf64-ppc.c: Likewise.
384         * elfxx-mips.c: Likewise.
385         * netbsd.h: Likewise.
386         * nlmcode.h: Likewise.
387         * vms-alpha.c: Likewise.
388         * po/bfd.pot: Regenerate.
389         * po/SRC-POTFILES.in: Regenerate.
390
391 2011-06-01  DJ Delorie  <dj@redhat.com>
392
393         * config.bfd: Add bfd_elf32_rx_be_ns_vec.
394         * target.c: Likewise.
395         * configure.in: Likewise.
396         * configure.in: Regenerate.
397         * elf32-rx.c: Add elf32-rx-be-ns target.
398         (rx_elf_object_p): Never allow the be-ns target by default,
399         only allow it if the user requests it.
400
401 2011-06-01  H.J. Lu  <hongjiu.lu@intel.com>
402
403         * elf32-i386.c (elf_i386_size_dynamic_sections): Properly warn
404         relocation in readonly section in a shared object.
405         * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise.
406
407 2011-05-31  Nick Clifton  <nickc@redhat.com>
408
409         * archive.c (adjust_relative_path): Fix comment to prevent it
410         corrupting the auto-generated bfd.h.
411
412 2011-05-31  Paul Brook  <paul@codesourcery.com>
413
414         * elf32-arm.c (elf32_arm_final_link_relocate): Only do bl conversion
415         for known functions.
416         (elf32_arm_swap_symbol_in): Only set ST_BRANCH_TO_ARM for function
417         symbols.
418
419 2011-05-31  Paul Brook  <paul@codesourcery.com>
420
421         * elf32-arm.c (arm_stub_is_thumb): Add
422         arm_stub_long_branch_v4t_thumb_tls_pic.
423         (elf32_arm_final_link_relocate): TLS stubs are always ARM.
424         Handle Thumb stubs.
425
426 2011-05-27  Nick Clifton  <nickc@redhat.com>
427
428         PR binutils/12710
429         * archive.c (_bfd_get_elt_at_filepos): Set correct error value if
430         unable to read a file pointed to by an entry in a thin archive.
431         (adjust_relative_path): Use lrealpath to canonicalize paths.
432         Handle the case where the reference path is above the current
433         path in the directory tree.
434
435 2011-05-26  H.J. Lu  <hongjiu.lu@intel.com>
436
437         PR ld/12809
438         * elf64-x86-64.c (elf_x86_64_relocate_section): Handle
439         R_X86_64_TPOFF64 in executable.
440
441 2011-05-26  Alan Modra  <amodra@gmail.com>
442
443         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
444         * elflink.c (_bfd_elf_symbol_refs_local_p): Expand
445         local_protected comment.
446
447 2011-05-25  Tristan Gingold  <gingold@adacore.com>
448
449         * configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
450         (bfd_elf64_ia64_big_vec, bfd_elf64_ia64_hpux_big_vec)
451         (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_vms_vec): Add elfxx-ia64.lo
452         * Makefile.am (BFD64_BACKENDS): Add elfxx-ia64.lo
453         (BFD64_BACKENDS_CFILES): Add elfxx-ia64.c
454         (elf32-ia64.c): Created from elfnn-ia64.c
455         (elf64-ia64.c): Likewise.
456         * elfxx-ia64.h: New file.
457         * elfxx-ia64.c: Split with elfnn-ia64.c.  Keep only the following
458         functions.Includes elfxx-ia64.h.
459         (elfNN_ia64_reloc): Renames to ia64_elf_reloc.  Adjust error message.
460         (IA64_HOWTO): Adjust.
461         (lookup_howto): Renames to ia64_elf_lookup_howto.  Make it public.
462         (elfNN_ia64_reloc_type_lookup): Renames to
463         ia64_elf_reloc_type_lookup. Make it public. Adjust calls.
464         (elfNN_ia64_reloc_name_lookup): Renames to
465         ia64_elf_reloc_name_lookup. Make it public.
466         (elfNN_ia64_relax_br): Renames to ia64_elf_relax_br.  Make it public.
467         (elfNN_ia64_relax_brl): Renames to ia64_elf_relax_brl. Make it
468         public.
469         (elfNN_ia64_relax_ldxmov): Renames to ia64_elf_relax_ldxmov.
470         Move it and make it public.  Move prototype to elfxx-ia64.h
471         (elfNN_ia64_install_value): Renames to ia64_elf_install_value.
472         Move prototype to elfxx-ia64.h
473         * elfnn-ia64.c: New file, split from elfxx-ia64.c.
474         (elfNN_ia64_info_to_howto): Adjust calls.
475         (elfNN_ia64_relax_section): Adjust calls.
476         (count_dyn_reloc): Fix typo.
477         (elfNN_ia64_relocate_section): Adjust calls.
478         (elfNN_ia64_finish_dynamic_symbol): Likewise.
479         (bfd_elfNN_bfd_reloc_type_lookup)
480         (bfd_elfNN_bfd_reloc_name_lookup): Adjust macros.
481         * configure: Regenerate.
482         * Makefile.in: Regenerate.
483
484 2011-05-23  DJ Delorie  <dj@redhat.com>
485
486         * elf32-rx.c (rx_elf_object_p): When reading an RX object in, undo
487         the vma/lma swapping done in elf32_rx_modify_program_headers.
488
489 2011-05-23  Nick Clifton  <nickc@redhat.com>
490
491         * elf-m10300.c (mn10300_elf_mkobject): New function.
492         (bfd_elf32_mkobject): Define.
493
494 2011-05-23  Alan Modra  <amodra@gmail.com>
495
496         * elf-bfd.h: Comment typo fix.
497         * elf32-ppc.c (struct ppc_elf_dyn_relocs): Delete.  Replace with
498         struct elf_dyn_relocs throughout.
499         * elf64-ppc.c (struct ppc_dyn_relocs): Likewise.
500
501 2011-05-23  Alan Modra  <amodra@gmail.com>
502
503         * elf32-frv.c: Use info->callbacks->einfo throughout file in linker
504         functions rather than warning callback or _bfd_error_handler.
505         * elf32-ppc.c: Likewise.
506         * elf64-ppc.c: Likewise.
507         * elf32-ppc.c (ppc_elf_tls_optimize): Use %H in __tls_get_addr lost
508         arg error.
509         * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
510
511 2011-05-23  Alan Modra  <amodra@gmail.com>
512
513         PR 12763
514         * elf.c (assign_file_positions_for_load_sections): Set sh_offset for
515         .tbss, and page align same for all SHT_NOBITS sections.
516
517 2011-05-21  Alan Modra  <amodra@gmail.com>
518
519         PR 12763
520         * elf.c (_bfd_elf_make_section_from_shdr): Set up TLS section LMAs
521         from PT_TLS header.
522         (_bfd_elf_map_sections_to_segments): Don't create a final PT_LOAD
523         segment if just for .tbss.
524         (assign_file_positions_for_load_sections): Don't report "can't
525         allocate in segment" errors for .tbss.
526         (assign_file_positions_for_non_load_sections): Don't set p_filesz
527         from SHT_NOBITS section filepos.
528
529 2011-05-20  Bernd Schmidt  <bernds@codesourcery.com>
530
531         * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
532         R_C6000_PCR_H16 and R_C6000_PCR_L16.
533         (elf32_tic6x_relocate_section): Handle them.
534
535 2011-05-18  Nick Clifton  <nickc@redhat.com>
536
537         PR ld/12761
538         * elflink.c (elf_link_add_object_symbols): Process .gnu.warning
539         sections when building shared libraries.
540
541 2011-05-18  Rafał Krypa  <r.krypa@samsung.com>
542
543         PR ld/12778
544         * elf32-arm.c (elf32_arm_gc_sweep_hook): Use the computed dynamic
545         reloc pointer.
546
547 2011-05-18  Tristan Gingold  <gingold@adacore.com>
548
549         * xcofflink.c (xcoff_link_add_symbols): Handle C_DWARF symbols.
550         (xcoff_sweep): Always keep dwarf sections.
551         (xcoff_link_input_bfd): Handle dwarf symbols and sections.
552
553 2011-05-18  Tristan Gingold  <gingold@adacore.com>
554
555         * libxcoff.h (struct xcoff_dwsect_name): New type.
556         (XCOFF_DWSECT_NBR_NAMES): New macro.
557         (xcoff_dwsect_names): Declare.
558         * coffcode.h (sec_to_styp_flags): Handle xcoff dwarf sections.
559         (styp_to_sec_flags): Ditto.
560         (coff_new_section_hook): Ditto.
561         (coff_slurp_symbol_table): Handle C_DWARF and C_INFO.
562         * coff-rs6000.c (xcoff_dwsect_name): New variable.
563
564 2011-05-17  Tomohiro Kashiwada  <kikairoya@gmail.com>
565
566         PR ld/12759
567         * elf32-rx.c (ignore_lma): New variable.
568         (bfd_elf32_rx_set_target_flags): Add ignore_lma parameter.
569         (rx_modify_program_headers): Only copy the LMA into the VMA if
570         ignore_lma is true.
571
572 2011-05-17  Alan Modra  <amodra@gmail.com>
573
574         PR ld/12760
575         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Adjust "notice" call.
576         * elflink.c (elf_link_add_object_symbols): Likewise.
577         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
578
579 2011-05-16  Alan Modra  <amodra@gmail.com>
580
581         * linker.c (_bfd_generic_link_add_one_symbol): Don't init u.undef.weak.
582
583 2011-05-15  Richard Sandiford  <rdsandiford@googlemail.com>
584
585         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Record both local and
586         global GOT entries for GOT_PAGE relocations against global symbols.
587
588 2011-05-13  Bernd Schmidt  <bernds@codesourcery.com>
589
590         * config.bfd (tic6x-*-elf, tic6x-*-uclinux): New.
591         (tic6x-*-*): Replaced by these.
592         * elf32-tic6x.c (elf32_tic6x_set_osabi): New static function.
593         (elf32_tic6x_check_relocs): Create dynamic sections if -shared.
594         (elf_backend_relocs_compatible, elf_backend_post_process_headers):
595         Define.
596         (elf32_bed, TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM,
597         TARGET_BIG_NAME, ELF_OSABI): Redefine twice, and include
598         "elf32-target.h" two more times.
599         * configure.in: Handle bfd_elf32_tic6x_linux_be_vec,
600         bfd_elf32_tic6x_linux_le_vec, bfd_elf32_tic6x_elf_be_vec and
601         bfd_elf32_tic6x_elf_le_vec.
602         * configure: Regenerate.
603
604 2011-05-13  Jan Beulich  <jbeulich@novell.com>
605
606         * config.bfd: Add targets x86_64-*-pe and x86_64-*-pep.
607
608 2011-05-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
609
610         * config.in: Regenerated.
611         * configure: Regenerated.
612         * configure.in: New tests for HAVE_PRPSINFO_T_PR_PID,
613         HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID and
614         HAVE_PSINFO32_T_PR_PID.
615         * elf.c (elfcore_grok_psinfo): Protect reading psinfo.pr_pid by
616         HAVE_PRPSINFO_T_PR_PID, HAVE_PRPSINFO32_T_PR_PID, HAVE_PSINFO_T_PR_PID
617         and HAVE_PSINFO32_T_PR_PID.
618         * hosts/x86-64linux.h (HAVE_PRPSINFO32_T_PR_PID): New redefinition.
619
620 2011-05-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
621
622         * elf.c (elfcore_grok_psinfo): Initialize CORE_PID for both native and
623         32bit psinfo.
624         * elf32-ppc.c (ppc_elf_grok_psinfo): Initialize core_pid.
625         * elf64-ppc.c (ppc64_elf_grok_psinfo): Likewise.
626
627 2011-05-09  Paul Brook  <paul@codesourcery.com>
628
629         * bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
630         * bfd-in2.h: Regenerate.
631         * elf32-tic6x.c: Include limits.h.
632         (tic6x_unwind_edit_type, tic6x_unwind_table_edit,
633         _tic6x_elf_section_data): New.
634         (elf32_tic6x_section_data): Define.
635         (elf32_tic6x_new_section_hook): Allocate target specific data.
636         (elf32_tic6x_add_unwind_table_edit): New function.
637         (get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
638         elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
639         elf32_tic6x_copy_exidx_entry): New functions.
640         (elf_backend_write_section): Define.
641
642 2011-05-09  Paul Brook  <paul@codesourcery.com>
643
644         * elf32-tic6x.c (is_tic6x_elf_unwind_section_name,
645         elf32_tic6x_fake_sections): New functions.
646         (elf_backend_fake_sections): Define.
647
648 2011-05-09  Paul Brook  <paul@codesourcery.com>
649
650         * elf32-tic6x.c (elf32_tic6x_gc_mark_extra_sections): New function.
651         (elf_backend_gc_mark_extra_sections): Define.
652
653 2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
654
655         PR ld/12365
656         * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about
657         references to symbols defined in discarded sections.
658
659 2011-05-07  Dave Korn  <dave.korn.cygwin@gmail.com>
660
661         PR ld/12365
662         * coffgen.c (coff_write_symbol): Assume input section is its own
663         output section if output_section member not set.
664         (coff_write_alien_symbol): Likewise.
665
666 2011-05-07  H.J. Lu  <hongjiu.lu@intel.com>
667
668         PR ld/12730
669         * elf.c (_bfd_elf_section_offset): Check SEC_ELF_REVERSE_COPY.
670
671         * elflink.c (elf_link_input_bfd): Reverse copy .ctors/.dtors
672         sections if needed.
673
674         * section.c (SEC_ELF_REVERSE_COPY): New.
675         * bfd-in2.h: Regenerated.
676
677 2011-05-07  Anders Kaseorg  <andersk@ksplice.com>
678
679         PR 12739
680         * libbfd.c (bfd_get_8, bfd_get_signed_8): Use const cast.
681         * bfd-in2.h: Regenerate.
682
683 2011-05-06  Tristan Gingold  <gingold@adacore.com>
684
685         * vms-alpha.c (evax_section_flags): Remove SEC_IN_MEMORY.
686         (_bfd_vms_slurp_egsd): Rename old_flags to vms_flags.  Handle
687         any code section.  Add comments.
688         (alpha_vms_object_p): Use void * instead of PTR.
689         (alpha_vms_create_eisd_for_section): Fix test for setting DZRO.
690         (build_module_list): Guard against no DST section.  Add comments.
691         (alpha_vms_link_output_symbol): Discard undefined symbols.
692         (alpha_vms_get_section_contents): Simply memcpy if the section was
693         already loaded.  Fix typo.
694         (vms_new_section_hook): Use void * instead of PTR.
695         (vms_alpha_vec): Ditto.
696
697 2011-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
698
699         * elf32-arm.c (cortex_a8_erratum_scan): If the stub is a Thumb
700         branch to a PLT entry, redirect it to the PLT's Thumb entry point.
701
702 2011-05-05  Bernd Schmidt  <bernds@codesourcery.com>
703
704         * elf32-tic6x.c (elf32_tic6x_final_link): New function.
705         (elf32_tic6x_merge_attributes): Do not warn for PID or PIC
706         mismatch.  Choose the lower of the two values.
707         (bfd_elf32_bfd_final_link): New macro.
708
709 2011-04-28  Tristan Gingold  <gingold@adacore.com>
710
711         * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Adjust for x_file.
712         (bfd_xcoff_swap_aux_out): Ditto.
713         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Ditto.
714         (bfd_xcoff64_swap_aux_out): Ditto.
715
716 2011-05-04  Alan Modra  <amodra@gmail.com>
717
718         PR ld/12727
719         * elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
720         was_undefined on dot-symbols.
721
722 2011-05-03  Paul Brook  <paul@codesourcery.com>
723
724
725         * elf32-tic6x.c (elf32_tic6x_howto_table,
726         elf32_tic6x_howto_table_rel, (elf32_tic6x_gc_sweep_hook,
727         elf32_tic6x_relocate_section, elf32_tic6x_check_relocs):
728         Add R_C6000_EHTYPE.
729
730 2011-05-01  Alan Modra  <amodra@gmail.com>
731
732         PR ld/12718
733         * elf32-i386.c (elf_i386_check_relocs): Ensure dynobj set before
734         creating ifunc sections.
735         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
736
737 2011-04-30  H.J. Lu  <hongjiu.lu@intel.com>
738
739         * elf64-x86-64.c (elf_x86_64_merge_symbol): Correct parameter
740         names.
741
742 2011-04-28  Tom Tromey  <tromey@redhat.com>
743
744         * bfdio.c (memory_bstat): Pass correct size to memset.
745
746 2011-04-28  Mike Frysinger  <vapier@gentoo.org>
747
748         * dwarf2.c (dwarf_debug_sections): Mark const.
749         * elf.c (special_sections): Likewise.
750         * libbfd-in.h (dwarf_debug_sections): Likewise.
751         * libbfd.h: Regenerate.
752
753 2011-04-26  Kai Tietz  <ktietz@redhat.com>
754
755         * coffcode.h (sec_to_styp_flags): Allow linkonce for
756         debugging sections.
757
758 2011-04-26  Tristan Gingold  <gingold@adacore.com>
759
760         * coff64-rs6000.c: Convert to ISO-C.  Remove PARAMS and PTR macros.
761
762 2011-04-24  Alan Modra  <amodra@gmail.com>
763
764         PR ld/12365
765         PR ld/12696
766         * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
767         * linker.c (_bfd_link_hash_newfunc): Clear bitfields.
768         (_bfd_generic_link_add_one_symbol): Update "notice" call.
769         * elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
770         it is a redef of an IR symbol in a real BFD.
771
772 2011-04-22  H.J. Lu  <hongjiu.lu@intel.com>
773
774         * elf32-i386.c (elf_i386_readonly_dynrelocs): Warn relocation
775         in readonly section in a shared object.
776         (elf_i386_size_dynamic_sections): Likewise.
777         * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
778         (elf_x86_64_size_dynamic_sections): Likewise.
779
780 2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
781
782         PR ld/12694
783         * elf32-i386.c (elf_i386_readonly_dynrelocs): Skip local IFUNC
784         symbols.
785         * elf64-x86-64.c (elf_x86_64_readonly_dynrelocs): Likewise.
786
787 2011-04-21  H.J. Lu  <hongjiu.lu@intel.com>
788
789         * elf32-i386.c (elf_i386_finish_dynamic_symbol): Return false
790         on dynamic symbol error.
791         * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
792
793 2011-04-20  Tristan Gingold  <gingold@adacore.com>
794
795         * config.bfd (alpha*-*-*vms*, ia64*-*-*vms*): Define targ_selvecs.
796
797 2011-04-20  Alan Modra  <amodra@gmail.com>
798
799         * hash.c (bfd_default_hash_table_size): Make it an unsigned long.
800         (bfd_hash_table_init_n): Overflow checking.
801         (bfd_hash_set_default_size): Return current size.  Take unsigned long
802         arg.  Add 65537 to hash_size primes.
803         * bfd-in.h (bfd_hash_set_default_size): Update prototype.
804         * bfd-in2.h: Regenerate.
805
806 2011-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
807
808         * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Fix +1 overrun of
809         memmove elements.
810
811 2011-04-20  Alan Modra  <amodra@gmail.com>
812
813         * libbfd.c (bfd_log2): Do return rounded up value.
814         * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Replace bfd_log2
815         call with expanded old round down version of the function.
816
817         * archive.c (_bfd_get_elt_at_filepos): Don't release n_nfd.
818         * elflink.c (elf_link_add_object_symbols): Delete redundant code.
819
820 2011-04-20  Alan Modra  <amodra@gmail.com>
821
822         PR ld/12365
823         * elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
824         in their own common section.
825         * elflink.c (elf_link_add_object_symbols): Likewise.
826         * linker.c (generic_link_check_archive_element): Don't lose flags
827         if common section is pre-existing.
828         (_bfd_generic_link_add_one_symbol): Likewise.
829
830 2011-04-20  Alan Modra  <amodra@gmail.com>
831
832         PR ld/12365
833         * elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
834         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
835         multiple_definition regardless of allow_multiple_definition.
836         * simple.c (simple_dummy_multiple_definition): Update.
837         * xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
838         calls.
839
840 2011-04-18  Tristan Gingold  <gingold@adacore.com>
841
842         * coff-rs6000.c: Convert to ISO-C.  Remove PARAMS macro.
843
844 2011-04-18  Alan Modra  <amodra@gmail.com>
845
846         PR ld/12365
847         PR ld/12672
848         * bfd.c (BFD_PLUGIN): Define.
849         (BFD_FLAGS_SAVED, BFD_FLAGS_FOR_BFD_USE_MASK): Add BFD_PLUGIN.
850         * bfd-in2.h: Regenerate.
851         * elflink.c (elf_link_output_extsym): Strip undefined plugin syms.
852         * opncls.c (bfd_make_readable): Don't lose original bfd flags.
853
854 2011-04-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
855
856         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
857         SEC_LOAD.
858
859 2011-04-15  Sergio Durigan Junior  <sergiodj@redhat.com>
860
861         * elf-bfd.h (struct sdt_note): New struct.
862         (struct elf_obj_tdata) <sdt_note_head>: New field.
863         * elf.c (elfobj_grok_stapsdt_note_1): New function.
864         (elfobj_grok_stapsdt_note): Likewise.
865         (elf_parse_notes): Added code to treat SystemTap note
866         sections.
867
868 2011-04-12  Richard Henderson  <rth@redhat.com>
869
870         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Do not
871         exclude empty .got sections.
872
873 2011-04-11  H.J. Lu  <hongjiu.lu@intel.com>
874
875         * elf32-i386.c (elf_i386_reloc_type_lookup): Fix the out of bound
876         array access for BFD_RELOC_386_IRELATIVE.
877
878 2011-04-11  Bernd Schmidt  <bernds@codesourcery.com>
879
880         * elf32-tic6x.c (elf32_tic6x_check_relocs): Initialize pc_count field.
881
882 2011-04-11  Mark Wielaard  <mjw@redhat.com>
883
884         PR 10549
885         * elf-bfd.h (has_ifunc_symbols): Renamed to has_gnu_symbols.
886         (has_gnu_symbols): Renamed from has_ifunc_symbols.
887         * elf.c (_bfd_elf_set_osabi): Use new has_gnu_symbols name.
888         * elf32-arm.c (elf32_arm_add_symbol_hook): Set has_gnu_symbols
889         also if STB_GNU_UNIQUE symbol binding was seen.
890         * elf32-i386.c (elf_i386_add_symbol_hook): Likewise.
891         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
892         * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
893         * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
894         * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
895         * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
896
897 2011-04-11  Alan Modra  <amodra@gmail.com>
898
899         * bfd-in.h (bfd_get_section_limit): Don't use rawsize with output
900         sections.
901         * libbfd.c (_bfd_generic_get_section_contents): Likewise.
902         (_bfd_generic_get_section_contents_in_window): Likewise.
903         * section.c (bfd_get_section_contents): Likewise.
904         * compress.c (bfd_get_full_section_contents): Likewise.
905         * elf32-rx.c (rx_final_link): Ignore rawsize.
906         * elf32-microblaze.c (microblaze_elf_relocate_section): Use correct
907         bfd with bfd_get_section_limit.
908         * elfxx-ia64.c (elfNN_ia64_choose_gp): Add "final" parameter.  Use
909         os->size during final link.  Update callers.
910         * bfd-in2.h: Regenerate.
911
912 2011-04-10  Richard Sandiford  <rdsandiford@googlemail.com>
913
914         PR ld/12637
915         * elfxx-mips.c (mips_elf_merge_got_with): Use arg->global_count
916         as the number of global entries when merging with the primary GOT.
917
918 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
919
920         * elf32-i386.c: Update copyright year.
921         * elf64-x86-64.c: Likewise.
922
923 2011-04-09  Kai Tietz  <ktietz@redhat.com>
924
925         * peXXigen.c (_bfd_XXi_final_link_postscripte): Sort pdata in temporary
926         buffer and use rawsize for sorting.
927         * coffcode.h (coff_compute_section_file_positions): Set rawsize
928         before doing alignment.
929
930 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
931
932         * elf32-i386.c (elf_i386_relocate_section): Return relocation
933         error on unsupported relocation.
934         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
935
936 2011-04-09  H.J. Lu  <hongjiu.lu@intel.com>
937
938         PR binutils/12657
939         * hosts/x86-64linux.h (elf_prstatus32): Replace __pid_t with
940         pid_t.
941
942 2011-04-08  H.J. Lu  <hongjiu.lu@intel.com>
943
944         PR ld/12654
945         * elf32-i386.c (elf_i386_relocate_section): Check !executable
946         instead of shared for R_386_TLS_LDO_32.
947
948 2011-04-08  Tristan Gingold  <gingold@adacore.com>
949
950         * Makefile.am (SOURCE_HFILES): Remove xcoff-target.h
951         * coff-pmac: Remove
952         * xcoff-target.h: Remove
953         * Makefile.in: Regenerate.
954
955 2011-04-07  Cary Coutant  <ccoutant@google.com>
956
957         * dwarf2.c (scan_unit_for_symbols): Check for DW_AT_specification.
958
959 2011-04-07  Paul Brook  <paul@codesourcery.com>
960
961         * elf32-tic6x.c (elf32_tic6x_howto_table): R_C6000_PREL31 is
962         pc-relative.
963         (elf32_tic6x_howto_table_rel): Ditto.
964         (elf32_tic6x_relocate_section): Implement R_C6000_PREL31.
965         (elf32_tic6x_check_relocs): Ditto.
966
967 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
968
969         * config.bfd (thumb-*-oabi): Don't handle in list of obsolete
970         targets.
971         (strongarm*, thumb*, xscale*): Remove architectures.
972         (strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe*,
973         thumb-*-pe*, strongarm-*-elf, strongarm-*-coff, xscale-*-elf,
974         xscale-*-coff): Remove targets.
975
976 2011-04-01  Tristan Gingold  <gingold@adacore.com>
977
978         * elfxx-ia64.c: include bfd_stdint.h
979
980 2011-03-31  Jan Kratochvil  <jan.kratochvil@redhat.com>
981
982         * elf32-tic6x.c (elf32_tic6x_relocate_section): Remove unused variable
983         dynobj and its initialization.
984
985 2011-03-31  Tristan Gingold  <gingold@adacore.com>
986
987         * makefile.vms (DEFS): Add HAVE_bfd_elf64_ia64_vms_vec.
988         * configure.com: Set BFD_HOST_64BIT_LONG_LONG and
989         BFD_HOST_LONG_LONG to 1.
990
991 2011-03-31  Tristan Gingold  <gingold@adacore.com>
992
993         * vms-alpha.c (vms_get_remaining_object_record): Fix dec-c warning.
994         (_bfd_vms_write_etir): Ditto.
995         (_bfd_vms_slurp_etir): Avoid to use intptr_t
996         * configure.com: Generate bfd_stdint.h
997
998 2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>
999
1000         * elf32-tic6x.h (struct elf32_tic6x_params): New.
1001         (elf32_tic6x_setup): Declare.
1002         * elf32-tic6x.c: Include <limits.h>.
1003         (ELF_DYNAMIC_LINKER, DEFAULT_STACK_SIZE, PLT_ENTRY_SIZE): Define.
1004         (struct elf32_tic6x_link_hash_table, struct elf32_link_hash_entry):
1005         New structures.
1006         (elf32_tic6x_link_hash_table, is_tic6x_elf): New macros.
1007         (tic6x_elf_scom_section, tic6x_elf_scom_symbol,
1008         tic6x_elf_scom_symbol_ptr): New static variables.
1009         (elf32_tic6x_howto_table, elf32_tic6x_howto_table_rel,
1010         elf32_tic6x_reloc_map): Add R_C6000_JUMP_SLOT, R_C6000_EHTYPE,
1011         R_C6000_PCR_H16 and R_C6000_PCR_L16.
1012         (elf32_tic6x_link_hash_newfunc, elf32_tic6x_link_hash_table_create,
1013         elf32_tic6x_link_hash_table_free, elf32_tic6x_setup,
1014         elf32_tic6x_using_dsbt, elf32_tic6x_install_rela,
1015         elf32_tic6x_create_dynamic_sections, elf32_tic6x_make_got_dynreloc,
1016         elf32_tic6x_finish_dynamic_symbol, elf32_tic6x_gc_sweep_hook,
1017         elf32_tic6x_adjust_dynamic_symbol): New static functions.
1018         (elf32_tic6x_relocate_section): For R_C6000_PCR_S21, convert branches
1019         to weak symbols as required by the ABI.
1020         Handle GOT and DSBT_INDEX relocs, and copy relocs to the output file
1021         as needed when generating DSBT output.
1022         (elf32_tic6x_check_relocs, elf32_tic6x_add_symbol_hook,
1023         elf32_tic6x_symbol_processing, elf32_tic6x_section_from_bfd_section,
1024         elf32_tic6x_allocate_dynrelocs, elf32_tic6x_size_dynamic_sections,
1025         elf32_tic6x_always_size_sections, elf32_tic6x_modify_program_headers,
1026         elf32_tic6x_finish_dynamic_sections, elf32_tic6x_plt_sym_val,
1027         elf32_tic6x_copy_private_data, elf32_tic6x_link_omit_section_dynsym):
1028         New static functions.
1029         (ELF_MAXPAGESIZE): Define to 0x1000.
1030         (bfd_elf32_bfd_copy_private_bfd_data,
1031         bfd_elf32_bfd_link_hash_table_create,
1032         bfd_elf32_bfd_link_hash_table_free, elf_backend_can_refcount,
1033         elf_backend_want_got_plt, elf_backend_want_dynbss,
1034         elf_backend_plt_readonly, elf_backend_got_header_size,
1035         elf_backend_gc_sweep_hook, elf_backend_modify_program_headers,
1036         elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol,
1037         elf_backend_check_relocs, elf_backend_add_symbol_hook,
1038         elf_backend_symbol_processing, elf_backend_link_output_symbol_hook,
1039         elf_backend_section_from_bfd_section,
1040         elf_backend_finish_dynamic_symbol, elf_backend_always_size_sections,
1041         elf32_tic6x_size_dynamic_sections, elf_backend_finish_dynamic_sections,
1042         elf_backend_omit_section_dynsym, elf_backend_plt_sym_val): Define.
1043
1044         * bfd/reloc.c (BFD_RELOC_C6000_JUMP_SLOT, BFD_RELOC_C6000_EHTYPE,
1045         BFD_RELOC_C6000_PCR_H16, BFD_RELOC_C6000_PCR_S16): Add.
1046         * bfd/bfd-in2.h: Regenerate.
1047         * bfd/libbfd.h: Regenerate.
1048         * config.bfd: Accept tic6x-*-* instead of tic6x-*-elf.
1049
1050 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1051
1052         * coffcode.h (coff_slurp_symbol_table): Silently discard C_NULL
1053         entry on xcoff when value is C_NULL_VALUE.
1054
1055 2011-03-31  Tristan Gingold  <gingold@adacore.com>
1056
1057         * libcoff-in.h (exec_hdr): Remove.
1058         * libcoff.h: Regenerate.
1059
1060 2011-03-30  Nick Clifton  <nickc@redhat.com>
1061
1062         * po/da.po: Updated Danish translation.
1063
1064 2011-03-29  Richard Henderson  <rth@redhat.com>
1065
1066         * elf64-alpha.c (elf64_alpha_gc_mark_hook): New.
1067         (elf64_alpha_gc_sweep_hook): New.
1068         (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): New.
1069         (elf_backend_can_gc_sections): New.
1070
1071 2011-03-26  John Marino  <binutils@marino.st>
1072
1073         * config.bfd: Add x86_64-*-dragonfly*, fix i386-*-dragonfly*.
1074         * configure.in: Delete unused bfd_elf32_i386_dragonfly_vec.
1075         * configure: Regenerate.
1076
1077 2011-03-25  Michael Snyder  <msnyder@vmware.com>
1078
1079         * coffcode.h (coff_set_alignment_hook): Check return of bfd_seek.
1080
1081 2011-03-25  Tristan Gingold  <gingold@adacore.com>
1082
1083         * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Allow the use
1084         of find_nearest_line on object files.
1085
1086 2011-03-25  Tristan Gingold  <gingold@adacore.com>
1087
1088         * vms-alpha.c (evax_section_flags): Make $CODE$ section read-only.
1089         Minor reordering.
1090         (alpha_vms_create_eisd_for_section): Make code sections read-only.
1091
1092 2011-03-24  Alan Modra  <amodra@gmail.com>
1093
1094         * elf32-ppc.c (ppc_elf_tls_optimize): Catch more cases where
1095         old-style __tls_get_addr calls without marker relocs don't match
1096         their arg setup insn one for one.  If such mismatches are found
1097         report the reloc and don't do any tls optimization.
1098         * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
1099
1100 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
1101
1102         * bfd-in2.h: Regenerate.
1103
1104 2011-03-22  Eric B. Weddington  <eric.weddington@atmel.com>
1105
1106         * archures.c: Add AVR XMEGA architecture information.
1107         * cpu-avr.c (arch_info_struct): Likewise.
1108         * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1109         (elf32_avr_object_p): Likewise.
1110
1111 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1112
1113         * reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
1114         * bfd-in2.h: Regenerate.
1115         * elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
1116         to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
1117         entry.
1118         (elf32_arm_howto_from_type): Update accordingly.
1119         (elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
1120         (elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
1121         (arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
1122         with an extra noncall_refcount field.
1123         (arm_local_iplt_info): New structure.
1124         (elf_arm_obj_tdata): Add local_iplt.
1125         (elf32_arm_local_iplt): New accessor macro.
1126         (elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
1127         plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
1128         Change tls_type to a bitfield and add is_iplt.
1129         (elf32_arm_link_hash_newfunc): Update accordingly.
1130         (elf32_arm_allocate_local_sym_info): New function.
1131         (elf32_arm_create_local_iplt): Likewise.
1132         (elf32_arm_get_plt_info): Likewise.
1133         (elf32_arm_plt_needs_thumb_stub_p): Likewise.
1134         (elf32_arm_get_local_dynreloc_list): Likewise.
1135         (create_ifunc_sections): Likewise.
1136         (elf32_arm_copy_indirect_symbol): Update after the changes to
1137         elf32_arm_link_hash_entry.  Assert the is_iplt has not yet been set.
1138         (arm_type_of_stub): Add an st_type argument.  Use elf32_arm_get_plt_info
1139         to get PLT information.  Assert that all STT_GNU_IFUNC references
1140         are turned into PLT references.
1141         (arm_build_one_stub): Pass the symbol type to
1142         elf32_arm_final_link_relocate.
1143         (elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
1144         (elf32_arm_allocate_irelocs): New function.
1145         (elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
1146         all R_ARM_IRELATIVE.
1147         (elf32_arm_allocate_plt_entry): New function.
1148         (elf32_arm_populate_plt_entry): Likewise.
1149         (elf32_arm_final_link_relocate): Add an st_type parameter.
1150         Set srelgot to null for static objects.  Use separate variables
1151         to record which st_value and st_type should be used when generating
1152         a dynamic relocation.  Use elf32_arm_get_plt_info to find the
1153         symbol's PLT information, setting has_iplt_entry, splt,
1154         plt_offset and gotplt_offset accordingly.  Check whether
1155         STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
1156         the relocation target accordingly.  Broaden assert to include
1157         .iplts.  Don't set sreloc for static relocations.  Assert that
1158         we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
1159         and R_ARM_ABS32_NOI.  Generate R_ARM_IRELATIVE relocations instead
1160         of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
1161         symbol.  Pass the symbol type to arm_type_of_stub.  Conditionally
1162         resolve GOT references to the .igot.plt entry.
1163         (elf32_arm_relocate_section): Update the call to
1164         elf32_arm_final_link_relocate.
1165         (elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
1166         information.  Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
1167         relocations in shared libraries and relocatable executables.
1168         Count non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
1169         to get the list of dynamic relocations for a local symbol.
1170         (elf32_arm_check_relocs): Always create ifunc sections.  Set isym
1171         at the same time as setting h.  Use elf32_arm_allocate_local_sym_info
1172         to allocate local symbol information.  Treat R_ARM_REL32 and
1173         R_ARM_REL32_NOI as call relocations in shared libraries and
1174         relocatable executables.  Record PLT information for local
1175         STT_GNU_IFUNC functions as well as global functions.   Count
1176         non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
1177         to get the list of dynamic relocations for a local symbol.
1178         (elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
1179         Don't remove STT_GNU_IFUNC PLTs unless all references have been
1180         removed.  Update after the changes to elf32_arm_link_hash_entry.
1181         (allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
1182         entries should live in .plt or .iplt.  Check whether the .igot.plt
1183         and .got entries can be combined.  Use elf32_arm_allocate_plt_entry
1184         to allocate .plt and .(i)got.plt entries.  Detect which .got
1185         entries will need R_ARM_IRELATIVE relocations and use
1186         elf32_arm_allocate_irelocs to allocate them.  Likewise other
1187         non-.got dynamic relocations.
1188         (elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
1189         and dynamic relocations for local STT_GNU_IFUNC symbols.
1190         Check whether the .igot.plt and .got entries can be combined.
1191         Detect which .got entries will need R_ARM_IRELATIVE relocations
1192         and use elf32_arm_allocate_irelocs to allocate them.  Use stashed
1193         section pointers intead of strcmp checks.  Handle iplt and igotplt.
1194         (elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
1195         to fill in .plt, .got.plt and .rel(a).plt entries.  Point
1196         STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
1197         resolve to it.
1198         (elf32_arm_output_plt_map_1): New function, split out from
1199         elf32_arm_output_plt_map.  Handle .iplt entries.  Use
1200         elf32_arm_plt_needs_thumb_stub_p.
1201         (elf32_arm_output_plt_map): Call it.
1202         (elf32_arm_output_arch_local_syms): Add mapping symbols for
1203         local .iplt entries.
1204         (elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
1205         (elf32_arm_swap_symbol_out): Likewise.
1206         (elf32_arm_add_symbol_hook): New function.
1207         (elf_backend_add_symbol_hook): Define for all targets.
1208
1209 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1210
1211         * elf-bfd.h (elf_link_hash_entry): Add target_internal.
1212         * elf.c (swap_out_syms): Set st_target_internal for each
1213         Elf_Internal_Sym.
1214         * elfcode.h (elf_swap_symbol_in): Likewise.
1215         * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
1216         * elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
1217         * elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
1218         * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1219         * elflink.c (elf_link_output_extsym): Likewise.
1220         (bfd_elf_final_link): Likewise.
1221         (elf_link_add_object_symbols): Copy st_target_internal
1222         to the hash table if we see a definition.
1223         (_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
1224         * elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
1225         a branch_type field.
1226         (a8_erratum_fix, a8_erratum_reloc): Likewise.
1227         (arm_type_of_stub): Replace actual_st_type with an
1228         actual_branch_type parameter.
1229         (arm_build_one_stub): Use branch types rather than st_types to
1230         determine the type of branch.
1231         (cortex_a8_erratum_scan): Likewise.
1232         (elf32_arm_size_stubs): Likewise.
1233         (bfd_elf32_arm_process_before_allocation): Likewise.
1234         (allocate_dynrelocs_for_symbol): Likewise.
1235         (elf32_arm_finish_dynamic_sections): Likewise.
1236         (elf32_arm_final_link_relocate): Replace sym_flags parameter with
1237         a branch_type parameter.
1238         (elf32_arm_relocate_section): Update call accordingly.
1239         (elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
1240         (elf32_arm_output_map_sym): Initialize st_target_internal.
1241         (elf32_arm_output_stub_sym): Likewise.
1242         (elf32_arm_symbol_processing): Delete.
1243         (elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
1244         Use st_target_internal to record the branch type.
1245         (elf32_arm_swap_symbol_out): Use st_target_internal to test for
1246         Thumb functions.
1247         (elf32_arm_is_function_type): Delete.
1248         (elf_backend_symbol_processing): Likewise.
1249         (elf_backend_is_function_type): Likewise.
1250
1251 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1252
1253         * elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
1254         (elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
1255         into the PLT block.
1256
1257 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1258
1259         * elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
1260         may_need_local_target_p and may_become_dynamic_p to classify
1261         the relocation type.  Don't check info->symbolic or h->def_regular
1262         when deciding whether to record a potential dynamic reloc.
1263         Don't treat potential dynamic relocs as PLT references.
1264         (elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
1265         try to make the PLT reference count go negative.
1266
1267 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1268
1269         * elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
1270         GOT entry here, rather than leaving it to finish_dynamic_symbol.
1271         Only create a dynamic relocation for local references if
1272         info->shared.
1273         (allocate_dynrelocs_for_symbol): Update dynamic relocation
1274         allocation accordingly.
1275         (elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
1276
1277 2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
1278
1279         * elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
1280         (elf32_arm_add_dynreloc): Likewise.
1281         (elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
1282         to allocate dynamic relocations.
1283         (elf32_arm_size_dynamic_sections): Likewise.
1284         (allocate_dynrelocs): Likewise.  Rename to
1285         allocate_dynrelocs_for_symbol.
1286         (elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
1287         create dynamic relocations.
1288         (elf32_arm_finish_dynamic_symbol): Likewise.
1289
1290 2011-03-12  H.J. Lu  <hongjiu.lu@intel.com>
1291
1292         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1293         x32 GD->IE and GD->LE transitions.
1294         (elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
1295         and LD->LE transitions.
1296
1297 2011-03-10  Alan Modra  <amodra@gmail.com>
1298
1299         * elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
1300         for LO_DS error message and correct multiple.
1301
1302 2011-03-10  Alan Modra  <amodra@gmail.com>
1303
1304         * elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
1305         (ppc64_elf_link_just_syms): New function.
1306         (opd_entry_value): Don't assume big-endian host.
1307         (get_r2off): New function.
1308         (ppc_build_one_stub, ppc_size_one_stub): Use it here.
1309
1310 2011-03-06  Michael Snyder  <msnyder@vmware.com>
1311
1312         * compress.c (bfd_compress_section_contents): Check for out of mem.
1313
1314         * elf64-x86-64.c (elf_x86_64_relocate_section): Document
1315         that case statement falls through intentionally.
1316
1317         * elf32-i386.c (elf_i386_relocate_section): Document fall through.
1318
1319 2011-03-04  Alan Modra  <amodra@gmail.com>
1320
1321         * archive.c (bsd_write_armap): Don't call stat in deterministic
1322         mode, and don't use st_mtime if stat returns error.
1323
1324 2011-03-03  Michael Snyder  <msnyder@vmware.com>
1325
1326         * elf64-x86-64.c (elf_x86_64_relocate_section): Remove dead code.
1327
1328         * coff-x86_64.c (coff_amd64_rtype_to_howto): Fencepost error.
1329
1330         * aoutx.h (aout_final_link): Use sizeof int not sizeof int*.
1331         (aout_link_write_other_symbol): Missing break statement.
1332
1333         * dwarf2.c (scan_unit_for_symbols): Stop memory leak.
1334
1335         * archive.c (_bfd_slurp_extended_name_table): Fail if bfd_seek fails.
1336
1337 2011-03-03  H.J. Lu  <hongjiu.lu@intel.com>
1338
1339         * elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
1340         x32 IE->LE transition.
1341         (elf_x86_64_relocate_section): Likewise.
1342
1343 2011-03-02  Bernd Schmidt  <bernds@codesourcery.com>
1344
1345         * elflink.c (is_reloc_section): Remove function.
1346         (get_dynamic_reloc_section_name): Construct string manually.
1347
1348 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
1349
1350         * archive.c (_bfd_find_nested_archive): Use filename_(n)cmp.
1351         (adjust_relative_path): Likewise.
1352         (_bfd_construct_extended_name_table): Likewise.
1353         * corefile.c (generic_core_file_matches_executable_p): Likewise.
1354         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1355         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1356         * elf32-spu.c (sort_bfds): Likewise.
1357         (spu_elf_auto_overlay): Likewise.
1358         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1359         * xcofflink.c (xcoff_set_import_path): Likewise.
1360         * xtensa-isa.c (xtensa_regfile_lookup): Likewise.
1361         (xtensa_regfile_lookup_shortname): Likewise.
1362
1363 2011-02-28  Alan Modra  <amodra@gmail.com>
1364
1365         PR 12513
1366         * archive.c (bfd_slurp_bsd_armap_f2): Sanity check parsed_size and
1367         stringsize.  Properly sanity check symdef_count.  Remove redundant
1368         bfd_release.
1369
1370 2011-02-25  Rafael Ávila de Espíndola <respindola@mozilla.com>
1371
1372         * plugin.c (bfd_plugin_object_p): Correctly set the filesize
1373         and handle claim_file seeking. Only try to load the plugin once.
1374
1375 2011-02-22  Andreas Schwab  <schwab@redhat.com>
1376
1377         * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): For a TLS_GD
1378         relocation read the value from the second GOT slot.
1379
1380 2011-02-15  Tristan Gingold  <gingold@adacore.com>
1381
1382         * vms-alpha.c (alpha_vms_link_add_archive_symbols): Add a comment.
1383
1384 2011-02-15  Alan Modra  <amodra@gmail.com>
1385
1386         * elf64-ppc.c (ppc64_elf_edit_toc): Reinstate second read of
1387         toc relocs.  Fuss over free(NULL).
1388
1389 2011-02-14  Mike Frysinger  <vapier@gentoo.org>
1390
1391         * elflink.c (bfd_elf_size_dynamic_sections): Add
1392         bfd_get_symbol_leading_char to the start of newname.
1393
1394 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1395
1396         * configure: Regenerate.
1397
1398 2011-02-09  Alan Modra  <amodra@gmail.com>
1399
1400         * elf64-ppc.c (ppc64_elf_edit_toc): Don't free toc relocs until
1401         we are done.  When optimising large toc, check that a global
1402         symbol on a toc reloc is defined in a kept section.
1403
1404 2011-02-08  Nick Clifton  <nickc@redhat.com>
1405
1406         PR binutils/12467
1407         * elf.c (assign_file_positions_for_load_sections): Set the program
1408         header offset and entry size to zero if there are no program
1409         headers.
1410
1411 2011-02-08  Alan Modra  <amodra@gmail.com>
1412
1413         * elf64-ppc.c (ppc64_elf_edit_toc): Don't segfault on NULL
1414         local_syms when looking for local symbols in .toc.
1415
1416 2011-02-01  Alan Modra  <amodra@gmail.com>
1417
1418         * elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
1419         for toc pointer on any section having makes_toc_func_call set.
1420         (check_pasted_section): Ensure pasted .init/.fini fragments use
1421         the same toc if any has makes_toc_func_call set.
1422
1423 2011-01-28  Joseph Myers  <joseph@codesourcery.com>
1424
1425         * elf32-ppc.c (ppc_elf_link_hash_newfunc): Initialize has_sda_refs
1426         field.
1427
1428 2011-01-22  Richard Sandiford  <rdsandiford@googlemail.com>
1429
1430         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
1431         common sections too.
1432
1433 2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>
1434
1435         * elf64-x86-64.c (elf_backend_want_plt_sym): Redefine to 0 after
1436         Solaris target.
1437
1438 2011-01-18  Pierre Muller  <muller@ics.u-strasbg.fr>
1439
1440         Fix compilation for mingw64.
1441         * coffcode.h (coff_slurp_symbol_table): Add intptr_t intermediate
1442         typecast to avoid warning.
1443         * elf32-rx.c: Add "bfd_stdint.h" include required for int32_t type
1444         usage.
1445         * elfxx-ia64.c (elfNN_ia64_relax_br): Use intptr_t typeacast instead
1446         of long for pointer to avoid warning.
1447         (elfNN_ia64_relax_brl): Idem.
1448         (elfNN_ia64_install_value): Idem.
1449         * vms-alpha.c (_bfd_vms_slurp_etir): Idem.
1450
1451 2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
1452
1453         * elf32-arm.c (elf32_arm_check_relocs): Check needs_plt rather than
1454         h->needs_plt when deciding whether to record a possible dynamic reloc.
1455
1456 2011-01-17  Richard Sandiford  <richard.sandiford@linaro.org>
1457
1458         * elf32-arm.c (elf32_arm_gc_sweep_hook): Remove all registered
1459         dynamic relocs for the removed section.
1460
1461 2011-01-15  H.J. Lu  <hongjiu.lu@intel.com>
1462
1463         * elf64-x86-64.c (elf_x86_64_check_relocs): Check invalid x32
1464         relocations.
1465
1466 2011-01-14  H.J. Lu  <hongjiu.lu@intel.com>
1467
1468         * elf64-x86-64.c (elf_x86_64_link_hash_table): Add pointer_r_type.
1469         (elf_x86_64_link_hash_table_create): Set pointer_r_type.
1470         (elf_x86_64_check_relocs): Handle R_X86_64_32 like R_X86_64_64
1471         for ILP32.  Remove ABI_64_P PIC check for R_X86_64_8,
1472         R_X86_64_16, R_X86_64_32 and R_X86_64_32S.
1473         (elf_x86_64_relocate_section):  Handle R_X86_64_32 like R_X86_64_64
1474         for ILP32.
1475
1476 2011-01-14  Alan Modra  <amodra@gmail.com>
1477
1478         * bfd.c (bfd_perror): Flush stdout before and stderr after printing
1479         error.
1480         (_bfd_default_error_handler): Likewise.
1481         * elf.c (print_segment_map): Likewise.
1482         * libbfd.c (warn_deprecated): Likewise.
1483         * som.c (som_sizeof_headers): No need to do so here.
1484         * coff-i860.c: Replace use of printf for error messages with
1485         _bfd_error_handler.
1486         * coff-ppc.c: Likewise.
1487         * coff-sh.c: Likewise.
1488         * elf32-bfin.c: Likewise.
1489         * elf32-dlx.c: Likewise.
1490         * elf32-mep.c: Likewise.
1491         * elf32-v850.c: Likewise.
1492         * mach-o.c: Likewise.
1493         * pef.c: Likewise.
1494
1495 2011-01-13  H.J. Lu  <hongjiu.lu@intel.com>
1496
1497         * elf64-x86-64.c (elf_x86_64_link_hash_table): Remove
1498         swap_reloca_out.
1499         (elf_x86_64_link_hash_table_create): Don't set swap_reloca_out.
1500         (elf_x86_64_check_relocs): Align relocation section to 4 byte
1501         for 32bit.
1502         (elf_x86_64_gc_sweep_hook): Replace ELF64_ST_TYPE with
1503         ELF_ST_TYPE.
1504         (elf_x86_64_finish_dynamic_symbol): Updated.
1505         (elf_x86_64_finish_dynamic_sections): Don't use
1506         Elf64_External_Dyn, bfd_elf64_swap_dyn_in, nor
1507         bfd_elf64_swap_dyn_out.
1508
1509 2011-01-14  J. Park  <grassman@gmail.com>
1510
1511         PR ld/12339
1512         * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
1513         following bfd_link_hash_warning symbol link.
1514
1515 2011-01-10  Nathan Sidwell  <nathan@codesourcery.com>
1516             Glauber de Oliveira Costa  <glommer@gmail.com>
1517
1518         * reloc.c (BFD_RELOC_ARM_TLS_GOTDESC, BFD_RELOC_ARM_TLS_CALL,
1519         BFD_RELOC_ARM_THM_TLS_CALL, BFD_RELOC_ARM_TLS_DESCSEQ,
1520         BFD_RELOC_ARM_THM_TLS_DESCSEQ, BFD_RELOC_ARM_TLS_DESC): New
1521         relocations.
1522         * libbfd.h: Rebuilt.
1523         * bfd-in2.h: Rebuilt.
1524         * elf32-arm.c (elf32_arm_howto_table_1): Add new relocations.
1525         (elf32_arm_reloc_map): Likewise.
1526         (tls_trampoline, dl_tlsdesc_lazy_trampoline): New PLT templates.
1527         (elf32_arm_stub_long_branch_any_tls_pic,
1528         elf32_arm_stub_long_branch_v4t_thumb_tls_pic): New stub templates.
1529         (DEF_STUBS): Add new stubs.
1530         (struct_elf_arm_obj_data): Add local_tlsdesc_gotent field.
1531         (elf32_arm_local_tlsdesc_gotent): New.
1532         (GOT_TLS_GDESC): New mask.
1533         (GOT_TLS_GD_ANY): Define.
1534         (struct elf32_arm_link_hash_entry): Add tlsdesc_got field.
1535         (elf32_arm_compute_jump_table_size): New.
1536         (struct elf32_arm_link_hash_table): Add next_tls_desc_index,
1537         num_tls_desc, dt_tlsdesc_plt, dt_tlsdesc_got, tls_trampoline,
1538         sgotplt_jump_table_size fields.
1539         (elf32_arm_link_hash_newfunc): Initialize tlsdesc_got field.
1540         (elf32_arm_link_hash_table_create): Initialize new fields.
1541         (arm_type_of_stub): Check TLS desc relocs too.
1542         (elf32_arm_stub_name): TLS desc relocs can be shared.
1543         (elf32_arm_tls_transition): Determine relaxation.
1544         (arm_stub_required_alignment): Add tls stubs.
1545         (elf32_arm_size_stubs): Likewise.
1546         (elf32_arm_tls_relax): Perform TLS relaxing.
1547         (elf32_arm_final_link_relocate): Process TLS DESC relocations.
1548         (IS_ARM_TLS_GNU_RELOC): New.
1549         (IS_ARM_TLS_RELOC): Use it.
1550         (elf32_arm_relocate_section): Perform TLS relaxing.
1551         (elf32_arm_check_relocs): Anticipate TLS relaxing, process tls
1552         desc relocations.
1553         (allocate_dynrelocs): Allocate tls desc relcoations.
1554         (elf32_arm_output_arch_local_syms): Emit tls trampoline mapping
1555         symbols.
1556         (elf32_arm_size_dynamic_sections): Allocate tls trampolines and
1557         got slots.
1558         (elf32_arm_always_size_sections): New. Create _TLS_MODULE_BASE
1559         symbol.
1560         (elf32_arm_finish_dynamic_symbol): Adjust.
1561         (arm_put_trampoline): New.
1562         (elf32_arm_finish_dynamic_sections): Emit new dynamic tags and tls
1563         trampolines.
1564         (elf_backend_always_size_sections): Define.
1565
1566 2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
1567
1568         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Optimized.
1569
1570 2011-01-06  H.J. Lu  <hongjiu.lu@intel.com>
1571
1572         PR ld/12366
1573         PR ld/12371
1574         * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Properly
1575         handle symbols marked with regular reference, but not non-GOT
1576         reference when building shared library.
1577
1578         * elf32-i386.c (elf_i386_gc_sweep_hook): Properly handle
1579         local and global STT_GNU_IFUNC symols when building shared
1580         library.
1581         * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
1582
1583 2011-01-05  DJ Delorie  <dj@redhat.com>
1584
1585         * reloc.c: Add BFD_RELOC_RX_OP_NEG.
1586         * libbfd.h: Regenerate.
1587         * bfd-in2.h: Regenerate.
1588         * elf32-rx.c: Add it to the list, corresponding to R_RX_OPneg.
1589
1590 2011-01-03  H.J. Lu  <hongjiu.lu@intel.com>
1591
1592         * cpu-i386.c (bfd_i386_compatible): New.
1593         (bfd_x64_32_arch_intel_syntax): Replace bfd_default_compatible
1594         with bfd_i386_compatible.
1595         (bfd_x86_64_arch_intel_syntax): Likewise.
1596         (bfd_i386_arch_intel_syntax): Likewise.
1597         (i8086_arch): Likewise.
1598         (bfd_x64_32_arch): Likewise.
1599         (bfd_x86_64_arch): Likewise.
1600         (bfd_i386_arch): Likewise.
1601
1602 For older changes see ChangeLog-2010
1603 \f
1604 Local Variables:
1605 mode: change-log
1606 left-margin: 8
1607 fill-column: 74
1608 version-control: never
1609 End: