OSDN Git Service

* ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
[pf3gnuchains/pf3gnuchains3x.git] / bfd / ChangeLog
1 2007-04-21  Nick Clifton  <nickc@redhat.com>
2
3         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
4         (ecoff_link_add_archive_symbols): Likewise.
5         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
6         relent.howto.
7         * ieee.c (parse_int): Initialise x.
8         (must_parse_int): Initialise result.
9         (ieee_slurp_external_symbols): Initialise value.
10
11 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
12
13         * config.bfd (spu-*-elf): Delete targ_selvecs.
14
15 2007-04-19  Nick Clifton  <nickc@redhat.com>
16
17         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
18
19 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
20
21         * bfd.c (bfd_demangle): New function.
22         * Makefile.am: Run "make dep-am".
23         * Makefile.in: Regenerate.
24         * bfd-in2.h: Regenerate.
25
26 2007-04-18  Matthias Klose  <doko@ubuntu.com>
27
28         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
29         (bfdver.h): Use the date in non-release builds for the soversion.
30         * Makefile.in: Regenerate.
31
32 2007-04-17  Paul Brook  <paul@codesourcery.com>
33
34         * elf.c (_bfd_elf_is_function_type): New function.
35         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
36         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
37         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
38         * elf-bfd.h (elf_backend_data): Add is_function_type.
39         (_bfd_elf_is_function_type): Add prototype.
40         * elfxx-target.h (elf_backend_is_function_type): Add default
41         definition.
42         (elfNN_bed): Add elf_backend_is_function_type.
43         * elf32-arm.c (elf32_arm_is_function_type): New function.
44         (elf_backend_is_function_type): Define.
45
46 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
47
48         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
49         DT_MIPS_RLD_MAP before DT_DEBUG again.
50
51 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
52
53         * Makefile.am: Add ACLOCAL_AMFLAGS.
54         * configure.in: Change macro call order.
55         * Makefile.in: Regnerate.
56         * doc/Makefile.in: Regenerate.
57         * configure: Regenerate.
58
59 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
60
61         * elflink.c (bfd_elf_final_link): Don't free symbuf for
62         non-elf input bfds.
63         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
64         for non-elf input bfds.
65
66 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
67
68         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
69         DT_MIPS_RTLD_MAP for PIEs.
70
71 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
72
73         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
74         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
75         in a read-only section.
76         (_bfd_mips_elf_check_relocs): Likewise.
77
78 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
79
80         * elf32-xtensa.c (xtensa_is_insntable_section): New.
81         (xtensa_is_proptable_section): New.
82         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
83         tables with 12-byte entries, as well as tables with 8-byte entries.
84         Sort the relocations before examining them.
85         (relax_property_section): Use xtensa_is_proptable_section and
86         xtensa_is_littable_section.  Rewrite code for combining table entries
87         to be more robust in case of unexpected relocations.  Do not set offset
88         of unused relocations to less than zero.
89         (xtensa_is_property_section): Use other functions instead of
90         duplicating section name comparisons.
91         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
92         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
93         
94 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
95         
96         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
97         from Xtensa property sections.
98         
99 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
100
101         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
102         is non-NULL before dereferencing.
103
104 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
105
106         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
107         relocs too.
108
109 2007-04-10  Richard Henderson  <rth@redhat.com>
110
111         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
112         (elf64_alpha_size_got_sections): Remove unused something_changed local.
113         (elf64_alpha_size_plt_section): Return void.
114         (elf64_alpha_size_rela_got_section): Likewise.
115         (elf64_alpha_relax_section): Only regenerate got+plt if the 
116         relax_trip counter has changed.
117
118 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
119
120         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
121         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
122         (bfdver.texi): New rule.
123         * Makefile.in, doc/Makefile.in: Regenerated.
124
125 2007-04-03  Matt Thomas  <matt@netbsd.org>
126
127         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc 
128         in a shared object if it is not in a CODE section or if it is against
129         a section symbol.  This allows DWARF2 to use pcrel format.
130
131 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
132
133         PR ld/4304
134         * elflink.c (bfd_elf_final_link): Call einfo callback in
135         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
136         warning.
137
138 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
139
140         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
141         (elf_backend_link_output_symbol_hook): Define.
142
143 2007-04-02  Nick Clifton  <nickc@redhat.com>
144
145         PR binutils/4292
146         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
147         targets as 64-bit values, even if running on a 64-bit host.
148         * coffgen.c (coff_print_symbol): Likewise.
149
150 2007-03-29  Nick Clifton  <nickc@redhat.com>
151
152         PR binutils/4110
153         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
154         (setup_group): Use it.  Report corrupt group section headers.
155         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
156         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
157         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
158
159 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
160
161         PR ld/4267
162         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
163         for rel->r_info values.
164         (bfd_elf_perform_complex_relocation): Likewise.
165         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
166         unused entries.  Don't clear plt.plist in loop.
167
168 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
169
170         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
171         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
172         Merge into...
173         (sparc_elf_append_rela): ...this new function.
174         (SPARC_ELF_APPEND_RELA): Delete.
175         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
176         the deleted append_rela field.
177         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
178         instead of SPARC_ELF_APPEND_RELA.
179         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
180         elf_size_info structure to find the size of a RELA entry and
181         the associated swap-out function.
182         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
183         (sparc_finish_dyn): ...this new function.
184         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
185
186 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
187             Phil Edwards  <phil@codesourcery.com>
188
189         * doc/bfd.texinfo: Put the contents after the title page rather
190         than at the end of the document.
191
192 2007-03-27  Andreas Schwab  <schwab@suse.de>
193
194         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
195
196 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
197
198         * configure: Regenerated.
199
200 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
201
202         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
203         (allocate_spuear_stubs): New function.
204         (spu_elf_size_stubs): Call allocate_spuear_stubs.
205
206 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
207
208         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
209         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
210         (MY (bfd_reloc_name_lookup)): New function.
211         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
212         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
213         (MY_bfd_reloc_name_lookup): Define.
214         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
215         (MY_bfd_reloc_name_lookup): Define.
216         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
217         (NAME (aout, reloc_name_lookup)): New function.
218         * bout.c (b_out_bfd_reloc_name_lookup): New function.
219         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
220         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
221         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
222         (coff_bfd_reloc_name_lookup): Define.
223         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
224         (coff_i386_reloc_name_lookup): New function.
225         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
226         (coff_bfd_reloc_name_lookup): Define.
227         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
228         (coff_bfd_reloc_name_lookup): Define.
229         * coff-m68k.c (m68k_reloc_name_lookup): New function.
230         (coff_bfd_reloc_name_lookup): Define.
231         * coff-maxq.c (maxq_reloc_name_lookup): New function.
232         (coff_bfd_reloc_name_lookup): Define.
233         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
234         (coff_bfd_reloc_name_lookup): Define.
235         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
236         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
237         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
238         (coff_bfd_reloc_name_lookup): Define.
239         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
240         (_bfd_xcoff_reloc_name_lookup): New function.
241         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
242         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
243         (sh_coff_reloc_name_lookup): New function.
244         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
245         (coff_bfd_reloc_name_lookup): Define.
246         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
247         (tic30_coff_reloc_name_lookup): New function.
248         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
249         (tic4x_coff_reloc_name_lookup): New function.
250         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
251         (tic54x_coff_reloc_name_lookup): New function.
252         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
253         (coff_amd64_reloc_name_lookup): New function.
254         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
255         (coff_bfd_reloc_name_lookup): Define.
256         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
257         (coff_bfd_reloc_name_lookup): Define.
258         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
259         (xcoff64_reloc_name_lookup): New function.
260         (rs6000coff64_vec, aix5coff64_vec): Init new field.
261         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
262         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
263         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
264         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
265         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
266         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
267         (bfd_elf32_bfd_reloc_name_lookup): Define.
268         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
269         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
270         (bfd_elf32_bfd_reloc_name_lookup): Define.
271         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
272         (bfd_elf32_bfd_reloc_name_lookup): Define.
273         * elf32-cris.c (cris_reloc_name_lookup): New function.
274         (bfd_elf32_bfd_reloc_name_lookup): Define.
275         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
276         (bfd_elf32_bfd_reloc_name_lookup): Define.
277         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
278         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
279         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
280         (bfd_elf32_bfd_reloc_name_lookup): Define.
281         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
282         (bfd_elf32_bfd_reloc_name_lookup): Define.
283         * elf32-frv.c (frv_reloc_name_lookup): New function.
284         (bfd_elf32_bfd_reloc_name_lookup): Define.
285         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
286         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
287         (bfd_elf32_bfd_reloc_name_lookup): Define.
288         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
289         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
290         (bfd_elf32_bfd_reloc_name_lookup): Define.
291         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
292         (bfd_elf32_bfd_reloc_name_lookup): Define.
293         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
294         (bfd_elf32_bfd_reloc_name_lookup): Define.
295         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
296         (bfd_elf32_bfd_reloc_name_lookup): Define.
297         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
298         (bfd_elf32_bfd_reloc_name_lookup): Define.
299         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
300         (bfd_elf32_bfd_reloc_name_lookup): Define.
301         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
302         (bfd_elf32_bfd_reloc_name_lookup): Define.
303         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
304         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
305         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
306         * elf32-m68k.c (reloc_name_lookup): New function.
307         (bfd_elf32_bfd_reloc_name_lookup): Define.
308         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
309         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
310         (bfd_elf32_bfd_reloc_name_lookup): Define.
311         * elf32-mep.c (mep_reloc_name_lookup): New function.
312         (bfd_elf32_bfd_reloc_name_lookup): Define.
313         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
314         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
315         (bfd_elf32_bfd_reloc_name_lookup): Define.
316         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
317         * elf32-mt.c (mt_reloc_name_lookup): New function.
318         (bfd_elf32_bfd_reloc_name_lookup): Define.
319         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
320         (bfd_elf32_bfd_reloc_name_lookup): Define.
321         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
322         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
323         (bfd_elf32_bfd_reloc_name_lookup): Define.
324         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
325         (bfd_elf32_bfd_reloc_name_lookup): Define.
326         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
327         (bfd_elf32_bfd_reloc_name_lookup): Define.
328         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
329         (bfd_elf32_bfd_reloc_name_lookup): Define.
330         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
331         (bfd_elf32_bfd_reloc_name_lookup): Define.
332         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
333         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
334         (bfd_elf32_bfd_reloc_name_lookup): Define.
335         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
336         (bfd_elf32_bfd_reloc_name_lookup): Define.
337         * elf32-vax.c (reloc_name_lookup): New function.
338         (bfd_elf32_bfd_reloc_name_lookup): Define.
339         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
340         (bfd_elf32_bfd_reloc_name_lookup): Define.
341         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
342         (bfd_elf32_bfd_reloc_name_lookup): Define.
343         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
344         (bfd_elf32_bfd_reloc_name_lookup): Define.
345         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
346         (bfd_elf64_bfd_reloc_name_lookup): Define.
347         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
348         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
349         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
350         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
351         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
352         (bfd_elf64_bfd_reloc_name_lookup): Define.
353         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
354         (bfd_elf64_bfd_reloc_name_lookup): Define.
355         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
356         (bfd_elf64_bfd_reloc_name_lookup): Define.
357         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
358         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
359         (bfd_elf64_bfd_reloc_name_lookup): Define.
360         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
361         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
362         (bfd_elfNN_bfd_reloc_name_lookup): Define.
363         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
364         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
365         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
366         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
367         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
368         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
369         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
370         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
371         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
372         (MY(reloc_name_lookup)): New function.
373         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
374         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
375         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
376         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
377         (coff_bfd_reloc_name_lookup): Define.
378         * reloc.c (bfd_reloc_name_lookup): New function.
379         * riscix.c (riscix_reloc_name_lookup): New function.
380         (MY_bfd_reloc_name_lookup): Define.
381         * som.c (som_bfd_reloc_name_lookup): New function.
382         * targets.c (struct bfd_target): Add reloc_name_lookup.
383         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
384         * versados.c (versados_bfd_reloc_name_lookup): Define.
385         * vms.c (vms_bfd_reloc_name_lookup): New function.
386         * bfd-in2.h: Regenerate.
387         * libbfd.h: Regenerate.
388
389 2007-03-26  Thiemo Seufer  <ths@mips.com>
390
391         PR ld/4208
392         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
393         matching relocation is found.
394         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
395
396 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
397
398         * configure: Regenerated.
399
400 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
401
402         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
403         * configure: Regenerate.
404
405 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
406
407         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
408         Remove input_sec param.  Adjust all calls.
409         (write_one_stub): Adjust stub symbol.
410         (needs_ovl_stub): New function, extracted from..
411         (spu_elf_size_stubs): ..here.
412         (spu_elf_relocate_section): Use needs_ovl_stub.
413
414 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
415
416         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
417         if nonempty.
418         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
419         * Makefile.in, configure, doc/Makefile.in: Regenerate.
420
421 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
422
423         PR ld/4210
424         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
425         address and virtual size of the last section for the image
426         size.
427
428 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
429
430         PR ld/4007
431         * elf.c (assign_file_positions_for_load_sections): Check if
432         all sections are in the segment.
433
434 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
435
436         PR ld/4208
437         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
438         matching LO16 relocation for HI16 relocation.
439
440 2007-03-20  Paul Brook  <paul@codesourcery.com>
441
442         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
443         * bfd-in2.h: Regenerate.
444         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
445         (record_arm_to_thumb_glue): Use globals->pic_veneer.
446         (elf32_arm_create_thumb_stub): Ditto.
447         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
448
449 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
450
451         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
452         argument and extra last argument.
453         * bfd-in2.h: Regenerate.
454         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
455         member.
456         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
457         extra last argument.  Set no_enum_size_warning appropriately.
458         (elf32_arm_merge_eabi_attributes): Improve enum sizes
459         diagnostic, suppressing it when no_enum_size_warning dictates.
460
461 2007-03-20  Nick Clifton  <nickc@redhat.com>
462
463         PR binutils/3535
464         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
465         specific conditions that need the program headers to be
466         rewritten.
467
468 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
469
470         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
471         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
472         SizeOfInitializedData, SizeOfUninitializedData,
473         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
474         extra PE a.out header.
475         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
476         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
477         defined.
478         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
479         defined.
480         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
481         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
482         SizeOfInitializedData, SizeOfUninitializedData,
483         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
484         extra PE a.out header.
485
486 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
487
488         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
489         only if BFD64 is defined.
490
491 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
492
493         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
494         on setjmp calls.
495
496 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
497
498         * doc/Makefile.in: Regenerated.
499
500 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
501
502         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
503         create doc/bfdver.texi.
504         * Makefile.in: Regenerated.
505
506         * configure.in (--with-bugurl): New option.
507         * configure: Regenerated.
508
509         * version.h (REPORT_BUGS_TO): New.
510
511 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
512
513         PR binutils/3826
514         * elf-bfd.h (elf_backend_data): Add elf_osabi.
515         (_bfd_elf_set_osabi): New.
516
517         * elf.c (_bfd_elf_set_osabi): New.
518
519         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
520         (elf_backend_post_process_headers): Defined with
521         _bfd_elf_set_osabi.
522         (ELF_OSABI): Properly defined for each target.
523
524         * elf32-i370.c (i370_elf_post_process_headers): Removed.
525         (ELF_OSABI): Defined.
526         (elf_backend_post_process_headers): Defined with
527         _bfd_elf_set_osabi.
528
529         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
530         freebsd.
531         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
532
533         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
534         (ELF_OSABI): Defined.
535         (elf_backend_post_process_headers): Defined with
536         _bfd_elf_set_osabi.
537
538         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
539         freebsd.
540         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
541         elf_osabi.
542
543         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
544         with elf_osabi.
545         (ELF_OSABI): Properly defined for each target.
546         (elf_backend_post_process_headers): Defined with
547         _bfd_elf_set_osabi for Linux.
548
549         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
550         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
551         (elf_backend_post_process_headers): Defined with
552         _bfd_elf_set_osabi.
553
554         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
555         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
556         (elf_backend_post_process_headers): Defined with
557         _bfd_elf_set_osabi.
558
559         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
560         with any ELF target of the compatible machine for which we do not
561         have a specific backend.
562
563         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
564         with elf_osabi.
565
566         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
567         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
568
569 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
570
571         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
572         V850_OTHER_* bits.
573
574 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
575
576         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
577         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
578         Run "make dep-am".
579         * Makefile.in: Regenerate.
580         * po/SRC-POTFILES.in: Regenerate.
581
582 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
583
584         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
585         (x86_64-*-kfreebsd*-gnu): Likewise.
586         (x86_64-*-netbsd*): Likewise.
587         (x86_64-*-openbsd*): Likewise.
588         (x86_64-*-linux-*): Likewise.
589
590         * configure.in: Support bfd_efi_app_x86_64_vec.
591         * configure: Regenerated.
592
593         * efi-app-x86_64.c: New file.
594
595         * targets.c (bfd_efi_app_x86_64_vec): New.
596         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
597
598 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
599
600         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
601         const for type reloc_howto_type.
602
603 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
604
605         PR 3958
606         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
607         (elf_discarded_section): Move..
608         * bfd-in.h: ..to here.
609         * bfd-in2.h: Regenerate.
610         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
611         from discarded sections before relocate_section has done its job.
612         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
613         relocs against symbols from discarded sections.
614         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
615         SECREL32.
616         (elf_hppa_relocate_section): Handle relocatable link after setting
617         sec, sym, h etc. for final link.  Squash error messages for
618         relocatable link.  Clear section contents for relocs against
619         symbols in discarded sections, and zero reloc.  Remove existing
620         zero r_symndx code.
621         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
622         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
623         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
624         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
625         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
626         (bfin_relocate_section): Likewise.
627         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
628         * elf32-cris.c (cris_elf_relocate_section): Likewise.
629         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
630         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
631         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
632         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
633         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
634         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
635         * elf32-i370.c (i370_elf_relocate_section): Likewise.
636         * elf32-i386.c (elf_i386_relocate_section): Likewise.
637         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
638         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
639         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
640         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
641         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
642         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
643         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
644         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
645         * elf32-mep.c (mep_elf_relocate_section): Likewise.
646         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
647         * elf32-mt.c (mt_elf_relocate_section): Likewise.
648         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
649         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
650         * elf32-s390.c (elf_s390_relocate_section): Likewise.
651         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
652         * elf32-sh.c (sh_elf_relocate_section): Likewise.
653         * elf32-spu.c (spu_elf_relocate_section): Likewise.
654         * elf32-v850.c (v850_elf_relocate_section): Likewise.
655         * elf32-vax.c (elf_vax_relocate_section): Likewise.
656         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
657         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
658         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
659         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
660         (elf64_alpha_relocate_section): Likewise.
661         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
662         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
663         * elf64-s390.c (elf_s390_relocate_section): Likewise.
664         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
665         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
666         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
667         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
668         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
669
670         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
671         symbols for relocatable link.  Don't use always-zero st_value.
672         (elf_backend_rela_normal): Don't define.
673         * elf32-bfin.c (bfinfdpic_relocate_section): Use
674         RELOC_FOR_GLOBAL_SYMBOL.
675         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
676         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
677         section symbol adjustments with same for relocatable link.
678         * elf32-i386.c (elf_i386_relocate_section): Likewise.
679         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
680         (elf32_m68hc11_check_relocs): ..to here.
681         * elf32-score.c (score_elf_final_link_relocate): Remove zero
682         r_symndx code.
683         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
684
685 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
686
687         PR 4144
688         * elf.c (assign_file_positions_for_load_sections): Don't
689         adjust p_memsz for !SEC_LOAD section vma modulo page size.
690         Instead, use the same lma based adjustment for SEC_LOAD
691         sections.
692
693 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
694
695         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
696         (find_relaxable_sections): Do not increment src_count for unknown
697         opcodes.  Decode only once instead of calling is_l32r_relocation.
698         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
699         src_next matches src_count in relax_info.
700
701 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
702
703         * Makefile.am (bfdver.h): Use "." not " " between version number
704         and date.
705         * Makefile.in: Regenerate.
706         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
707         * configure: Regenerate.
708
709 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
710
711         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
712
713 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
714
715         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
716         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
717
718 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
719
720         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
721         DWARF even with 64-bit addresses.
722         (_bfd_dwarf2_find_nearest_line): Likewise.
723
724 2007-02-23  Nick Clifton  <nickc@redhat.com>
725
726         PR binutils/3535
727         * elf.c (copy_private_bfd_data): Always rewrite the program
728         headers when a Solaris interpreter segment is involved.
729
730 2007-02-22  Paul Brook  <paul@codesourcery.com>
731
732         * elflink.c (gc_mark_hook_fn): Remove.
733         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
734         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
735         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
736         (elf_backend_data): Add gc_mark_extra_sections.
737         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
738         definition.
739         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
740         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
741         (elf_backend_gc_mark_extra_sections): Define.
742
743 2007-02-21  Nick Clifton  <nickc@redhat.com>
744
745         * elf.c (_bfd_elf_map_sections_to_segments): If the
746         override_segment_assignment callback is defined then call it.
747
748 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
749
750         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
751
752 2007-02-19  Thiemo Seufer  <ths@mips.com>
753
754         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
755         translation marker from untranslatable strings.
756
757 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
758
759         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
760         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
761         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
762         (elfNN_bed): Init new field.
763         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
764
765 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
766             Nathan Sidwell  <nathan@codesourcery.com>
767             Vladimir Prus  <vladimir@codesourcery.com
768             Joseph Myers  <joseph@codesourcery.com>
769
770         * configure.in (--with-pkgversion): New option.
771         * configure: Regenerate.
772         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
773         * Makefile.in: Regenerate.
774         * version.h (BFD_VERSION_STRING): Define using
775         @bfd_version_package@.
776
777 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
778
779         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
780         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
781         and EF_MIPS_UCODE.
782
783 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
784
785         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
786         declare.
787         (_bfd_norelocs_canonicalize_reloc): Likewise.
788         * libbfd.h: Regenerate.
789         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
790         (_bfd_norelocs_canonicalize_reloc): Likewise.
791         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
792         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
793         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
794         * ihex.c: Similarly.
795         * mach-o-target.c: Similarly.
796         * mach-o.c: Similarly.
797         * mmo.c: Similarly.
798         * pef.c: Similarly.
799         * ppcboot.c: Similarly.
800         * srec.c: Similarly.
801         * xsym.c: Similarly.
802
803 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
804
805         PR ld/3953
806         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
807         when adding default symbol.
808
809 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
810
811         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
812         for branch lookup table.
813
814 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
815
816         * elf64-ppc.c (create_linkage_sections): Don't create
817         .rela.rodata.brlt for --emit-relocs.
818         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
819         (ppc_size_one_stub): Count them.  Simplify test of stub type
820         when counting stub relocs.  Set SEC_RELOC too.
821         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
822         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
823
824 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
825
826         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
827         with a zero symbol index.
828
829 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
830
831         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
832
833 2007-02-05  Dave Brolley  <brolley@redhat.com>
834             Stan Cox  <scox@redhat.com>
835
836         PR ld/3972
837         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
838
839 2007-02-05  Dave Brolley  <brolley@redhat.com>
840             Richard Sandiford  <rsandifo@redhat.com>
841             Stan Cox  <scox@redhat.com>
842             Nick Clifton  <nickc@redhat.com>
843             DJ Delorie  <dj@redhat.com>
844             Frank Ch. Eigler  <fche@redhat.com>
845             Ben Elliston  <bje@redhat.com>
846             Richard Henderson  <rth@redhat.com>
847
848         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
849         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
850         (BFD32_BACKENDS): Add elf32-mep.lo.
851         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
852         (cpu-mep.lo,elf32-mep.lo): New targets.
853         * archures.c (bfd_arch_mep): New enumerator.
854         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
855         (bfd_mep_arch): New external variable.
856         (bfd_archures_list): Add bfd_mep_arch.
857         * config.bfd: Support mep-*-elf.
858         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
859         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
860         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
861         declarations.
862         (_bfd_target_vector): Add bfd_elf32_mep_vec and
863         bfd_elf32_mep_little_vec.
864         * mep-relocs.pl: New file.
865         * cpu-mep.c: New file.
866         * elf32-mep.c: New file.
867         * bfd-in2.h: Regenerate.
868         * po/POTFILES.in: Regenerate.
869         * libbfd.h: Regenerate.
870         * Makefile.in: Regenerate.
871         * configure: Regenerate.
872
873 2007-02-05  Dave Brolley  <brolley@redhat.com>
874
875         * elflink.c (evaluate_complex_relocation_symbols): Check for
876         STT_SRELC for global symbols.
877         (perform_complex_relocations): Renamed to
878         perform_complex_relocation and now examines only one relocation.
879         (elf_link_input_bfd): Don't call perform_complex_relocations.
880         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
881         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
882         (OD,OS,OU): #undefs corrected to N, S and U repectively.
883         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
884         (complex_reloc_installation_howto): Removed.
885         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
886         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
887
888 2007-02-05  Dave Brolley  <brolley@redhat.com>
889             Richard Sandiford  <rsandifo@redhat.com>
890             DJ Delorie  <dj@redhat.com>
891             Graydon Hoare  <graydon@redhat.com>
892             Nick Clifton  <nickc@cambridge.redhat.com>
893             Jeff Holcomb  <jeffh@redhat.com>
894             Frank Ch. Eigler  <fche@redhat.com>
895
896         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
897         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
898         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
899         * elflink.c (set_symbolValue): New static function.
900         (resolve_symbol): Likewise.
901         (resolve_section): Likewise.
902         (undefined_reference): Likewise.
903         (eval_symbol): Likewise.
904         (evaluate_complex_relocation_symbols): Likewise.
905         (put_value): Likewise.
906         (get_value): Likewise.
907         (decode_complex_addend):
908         (bfd_elf_perform_complex_relocation): New function.
909         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
910         * reloc.c (BFD_RELOC_RELC): New relocation number.
911         * syms.c (BSF_RELC,BSF_SRELC): New macros.
912
913 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
914
915         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
916         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
917         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
918         (elf_xtensa_allocate_got_size): Replace these with...
919         (elf_xtensa_allocate_dynrelocs): ...this new function.
920         (elf_xtensa_size_dynamic_sections): Use it.
921
922 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
923
924         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
925         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
926         Set src_mask to zero.
927         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
928         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
929
930 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
931
932         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
933         (elf_xtensa_dynamic_symbol_p): ...this.
934
935 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
936
937         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
938         (struct elf_xtensa_link_hash_table): New.
939         (elf_xtensa_hash_table): New.
940         (elf_xtensa_link_hash_table_create): New.
941         (elf_xtensa_check_relocs): Update plt_reloc_count references.
942         Update arguments to add_extra_plt_sections.
943         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
944         table.  Update for plt_reloc_count and add_extra_plt_sections.
945         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
946         argument with link info.  Update calls to elf_xtensa_get_plt_section
947         and elf_xtensa_get_gotplt_section.
948         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
949         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
950         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
951         (relax_property_section): Get sections from the hash table and update
952         function calls.
953         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
954         dynobj argument with link info.  Get sections for first plt chunk from
955         the hash table.
956         (bfd_elf32_bfd_link_hash_table_create): Define.
957
958 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
959
960         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
961         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
962         (struct elf_symbol): Change first member into union.
963         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
964         internal syms.  Only compare st_shndx fields.
965         (elf_create_symbuf): New function.
966         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
967         for bfds, use a binary search, otherwise don't qsort symbols
968         unnecessarily only to select which symbols are for the particular
969         shndx.
970
971 2007-02-01  Nick Clifton  <nickc@redhat.com>
972
973         PR ld/3852
974         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
975         in the elf_link_hash_table structure.
976
977 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
978
979         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
980         * elfxx-target.h (elf_backend_write_core_note): Define and use.
981         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
982         32-bit core note on 64-bit target.
983         (elfcore_write_prstatus): Likewise.
984         (elfcore_write_lwpstatus): Make note_name const.
985         (elfcore_write_prfpreg): Likewise.
986         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
987         target.
988         * elf32-ppc.c (ppc_elf_write_core_note): New function.
989         (elf_backend_write_core_note): Define.
990         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
991         (elf_backend_write_core_note): Define.
992
993 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
994
995         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
996         (elf32_bed): Defined for elf32-us-cris.
997
998         * elf64-sh64.c (elf64_bed): Defined for Linux.
999         (INCLUDED_TARGET_FILE): Removed.
1000
1001         * elfxx-target.h (elfNN_bed): Always define. Don't check
1002         INCLUDED_TARGET_FILE.
1003
1004 2007-01-31  DJ Delorie  <dj@redhat.com>
1005
1006         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
1007         message for dangerous relocs, special case the common user error.
1008
1009 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1010
1011         * elf.c (copy_elf_program_header): Start from the first section
1012         in a segment and stop when all sections in a segment are
1013         accounted for.
1014
1015 2007-01-29  Julian Brown  <julian@codesourcery.com>
1016
1017         * bfd-in2.h: Regenerate.
1018         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
1019         instruction scanning should be done.
1020         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
1021         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
1022         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
1023         prototype.
1024         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
1025         argument.
1026         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
1027         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
1028         (elf32_vfp11_erratum_type): New enum.
1029         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
1030         veneers.
1031         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
1032         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
1033         vfp11_fix and num_vfp11_fixes fields.
1034         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
1035         vfp11_erratum_glue_size, num_vfp11_fixes fields.
1036         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
1037         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
1038         glue section.
1039         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
1040         to a section's map.
1041         (record_vfp11_erratum_veneer): Create a single veneer, and its
1042         associated symbols.
1043         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
1044         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
1045         BFDs.
1046         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
1047         required.
1048         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
1049         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
1050         (bfd_arm_vfp11_write_mask): Update write mask according to coded
1051         register number.
1052         (bfd_arm_vfp11_antidependency): New function.
1053         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
1054         (elf32_arm_compare_mapping): Declare.
1055         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
1056         BFD for potential erratum-triggering insns. Record results.
1057         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
1058         and branches to veneers have been placed in virtual memory after
1059         layout.
1060         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
1061         hash table.
1062         (elf32_arm_output_symbol_hook): Remove.
1063         (elf32_arm_write_section): Output veneers, and branches to veneers.
1064         Use maps from input sections, not output sections, for code
1065         byte-swapping.
1066         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
1067         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
1068         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
1069         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
1070
1071 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
1072
1073         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
1074         (INCLUDED_TARGET_FILE): Removed.
1075
1076 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
1077
1078         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
1079         (INCLUDED_TARGET_FILE): Remove.
1080
1081 2007-01-25  DJ Delorie  <dj@redhat.com>
1082
1083         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
1084         R_M32C_16 or R_M32C_24 relocs.
1085
1086 2007-01-25  Nick Clifton  <nickc@redhat.com>
1087
1088         PR binutils/3874
1089         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
1090         hash table was created by elf32_avr_link_hash_table_create before
1091         using it.
1092         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
1093         through to _bfd_elf_link_hash_newfunc.
1094         (elf32_avr_link_hash_table_create): Use
1095         elf32_avr_link_hash_newfunc instead of
1096         _bfd_elf_link_hash_newfunc.
1097         (elf32_avr_relocate_section): Check for the hash table pointer
1098         being NULL.
1099         (elf32_avr_relax_section, avr_build_one_stub,
1100         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
1101         elf32_avr_build_stubs): Likewise.
1102
1103 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1104
1105         PR ld/3831
1106         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
1107         argument, Elf_Internal_Sym *.
1108
1109         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
1110         symbol dynamic if info->dynamic_data is TRUE.
1111         (bfd_elf_record_link_assignment): Updated call to
1112         bfd_elf_record_link_assignment.
1113         (_bfd_elf_merge_symbol): Likewise.  Always call
1114         bfd_elf_link_mark_dynamic_symbol.
1115
1116 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1117
1118         * Makefile.am (BFD_LIBS): Removed.
1119         * Makefile.in: Regenerated.
1120
1121 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1122
1123         PR binutils/3631
1124         * Makefile.am (OFILES): Add @bfd64_libs@.
1125         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
1126         * Makefile.in: Regenerated.
1127
1128         * configure.in (bfd_libs): Replaced by ...
1129         (bfd64_libs): This.
1130         * configure: Regenerated.
1131
1132 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
1133
1134         * elf.c (assign_file_positions_for_load_sections): We can
1135         require fewer phdrs than expected.
1136
1137 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
1138
1139         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
1140         * bfd-in2.h: Regenerate.
1141         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
1142         bfd_mach_cpu32_fido.
1143         (m68k_arch_features): Use fido_a instead of cpu32.
1144         (bfd_m68k_compatible): Reject the combination of Fido and
1145         ColdFire.  Accept the combination of CPU32 and Fido with a
1146         warning.
1147         * elf32-m68k.c (elf32_m68k_object_p,
1148         elf32_m68k_merge_private_bfd_data,
1149         elf32_m68k_print_private_bfd_data): Treat Fido as an
1150         architecture by itself.
1151
1152 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
1153
1154         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
1155
1156 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
1157
1158         * texhex.c (first_phase): Don't fall through into the default
1159         case.
1160         (pass_over): Replace abort () calls with return FALSE.  Fix
1161         buffer overflow.
1162
1163 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
1164
1165         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
1166         SEC_EXCLUDE on zero size .eh_frame.
1167
1168 For older changes see ChangeLog-2006
1169 \f
1170 Local Variables:
1171 mode: change-log
1172 left-margin: 8
1173 fill-column: 74
1174 version-control: never
1175 End: