01d0436fab90b13e43a2d990a9b5d5e23d19ac27
[external/binutils.git] / bfd / ChangeLog
1 2007-05-30  Alan Modra  <amodra@bigpond.net.au>
2
3         * elf.c (assign_file_positions_for_load_sections): Correct sh_type
4         to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
5         and sh_flags instead of bfd section flags.  Delete voff and code
6         keeping nobits segments aligned.
7
8 2007-05-25  Eric Christopher  <echristo@apple.com>
9
10         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
11         Check that sym_sec isn't NULL before accessing.
12
13 2007-05-24  Steve Ellcey  <sje@cup.hp.com>
14
15         * Makefile.in: Regnerate.
16         * configure: Regenerate.
17         * aclocal.m4: Regenerate.
18         * doc/Makefile.in: Regenerate.
19
20 2007-05-22  Paul Brook  <paul@codesourcery.com>
21
22         * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
23         with sec and sec_shndx.
24         (elf32_arm_ouput_plt_map_sym): Use them.
25         (elf32_arm_output_arch_local_syms): Output mapping symbols for
26         interworking glue.
27
28 2007-05-18  Paul Brook  <paul@codesourcery.com>
29
30         * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
31         (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
32         (record_arm_to_thumb_glue): Add v5t non-pic glue.
33         (elf32_arm_create_thumb_stub): Ditto.
34
35 2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
36             Alan Modra  <amodra@bigpond.net.au>
37
38         * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
39         section to the minimum alignment.
40
41 2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
42             Alan Modra  <amodra@bigpond.net.au>
43
44         PR ld/4504
45         * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
46         * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
47
48         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
49         _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
50         bss section.
51         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
52         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
53         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
54         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
55         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
56         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
57         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
58         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
59         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
60         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
61         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
62         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
63         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
64         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
65         * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
66         * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
67         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
68
69 2007-05-15  Richard Sandiford  <richard@codesourcery.com>
70
71         * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
72         input_section argument.  Create .rela.dyn relocations against
73         symbol 0 rather than the section symbol.
74         (mips_elf_local_got_index): Remove input_section argument.
75         Update call to mips_elf_create_local_got_entry.
76         (mips_elf_got_page, mips_elf_got16_entry): Likewise.
77         (mips_elf_calculate_relocation): Update calls to
78         mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
79
80 2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
81
82         * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
83         handle the Thumb-2 JUMP19 relocation.
84
85 2007-05-15  Alan Modra  <amodra@bigpond.net.au>
86
87         PR 4479
88         * elf.c (elf_fake_sections): Don't allow backend to change
89         SHT_NOBITS if called for strip/objcopy --only-keep-debug.
90         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
91         fix from here.
92
93 2007-05-14  Alan Modra  <amodra@bigpond.net.au>
94
95         * elf.c (bfd_elf_string_from_elf_section): Return NULL on
96         invalid shstrndx.
97         (bfd_elf_get_str_section): Likewise.
98
99 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
100
101         PR 4497
102         * elf-eh-frame.c (struct cie): Add "local_personality".  Make
103         "personality" a union.
104         (cie_eq): Compare local_personality too.  Adjust personality
105         comparison.
106         (_bfd_elf_discard_section_eh_frame): Check binding on personality
107         reloc sym to allow for bad symtab.  Use stashed local syms rather
108         than reading personality local sym.  Handle discarded sections.
109
110 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
111
112         * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
113
114 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
115
116         * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
117         (enum ppc_elf_plt_type): Move from..
118         * elf32-ppc.c: ..here.
119         (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
120         (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
121         can_use_new_plt.  Make is_vxworks a bitfield.
122         (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
123         (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
124         (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
125         flags to better detect object files needing old bss-style plt.
126         Allow secure plt to be used without rel16 relocs being detected.
127         Warn if secure plt request cannot be allowed.
128
129 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
130
131         * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
132         * elf-bfd.h (struct elf_backend_data): Change return type of
133         elf_backend_relocate_section to int.
134         * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
135         R_SPU_PPU64.
136         (spu_elf_bfd_to_reloc_type): Convert new relocs.
137         (spu_elf_count_relocs): New function.
138         (elf_backend_count_relocs): Define.
139         (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
140         R_SPU_PPU64 relocs.
141         * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
142         returns 2.
143         * bfd-in2.h: Regenerate.
144         * libbfd.h: Regenerate.
145
146 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
147
148         * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
149         for R_ARM_ABS12 relocs.
150         (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
151         non-shared VxWorks PLT entries.
152
153 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
154
155         PR 4454
156         * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
157         (_bfd_elf_discard_section_eh_frame): Handle local syms on
158         personality relocation.
159
160 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
161
162         * elf.c (assign_file_positions_for_load_sections): Use p_memsz
163         rather than p_filesz to calculate the LMA of the end of a segment.
164
165 2007-05-10  Jakub Jelinek  <jakub@redhat.com>
166
167         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
168         processing if symbol is defined in the executable.
169
170 2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
171
172         * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
173         (frvfdpic_elf_discard_info): New.
174         (elf_backend_discard_info): Define for FDPIC.
175
176 2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
177
178         * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
179         attempt to scan if the bfd doesn't correspond to an ELF image.
180         (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
181
182 2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
183
184         * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
185         for which _bfd_elf_section_offset returns -1.
186
187 2007-05-08  Alan Modra  <amodra@bigpond.net.au>
188
189         * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
190         (mark_functions_via_relocs): Likewise.
191
192 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
193
194         * elflink.c (bfd_elf_final_link): Correct reloc handling for
195         elf_backend_count_relocs.
196         (bfd_elf_discard_info): Print an error if we can't read syms.
197
198 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
199
200         * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
201         invalid reloc code.
202         (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
203         (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
204         define.
205
206 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
207
208         * elf.c (assign_file_positions_for_load_sections): Don't check
209         core segment.
210
211 2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
212
213         * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
214         and .rel.dyn aren't present.
215
216 2007-05-04  Nick Clifton  <nickc@redhat.com>
217
218         * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
219         sections are present examine the indirect sections in an attempt
220         to compute the correct relocation size.  If there is any
221         ambiguity, produce an error and refuse to sort.
222
223 2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
224
225         * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
226
227 2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
228             Nick Clifton  <nickc@redhat.com>
229
230         PR gas/3041
231         * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
232         in the same way as relocs against external symbols.
233
234 2007-05-02  Alan Modra  <amodra@bigpond.net.au>
235
236         * elf.c (assign_file_positions_for_load_sections): Set sh_offset
237         here.  Set sh_type to SHT_NOBITS if we won't be allocating
238         file space.  Don't bump p_memsz for non-alloc sections.  Adjust
239         section-in-segment check.
240         (assign_file_positions_for_non_load_sections): Don't set sh_offset
241         here for sections that have already been handled above.
242
243 2007-04-30  Alan Modra  <amodra@bigpond.net.au>
244
245         * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
246         and emit_stack_syms bitfields.
247         (get_sym_h): Read all symbols if stack analysis will be done.
248         (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
249         params, and stash in hash table.
250         (is_hint): Split off from..
251         (is_branch): ..here.  Adjust callers.
252         (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
253         and keep all syms.
254         (write_one_stub): Fix mem leak.
255         (find_function_stack_adjust): New function.
256         (sort_syms_syms, sort_syms_psecs): New vars.
257         (sort_syms): New function.
258         (struct call_info, struct function_info): New.
259         (struct spu_elf_stack_info): New.
260         (alloc_stack_info, maybe_insert_function, func_name): New functions.
261         (is_nop, insns_at_end, check_function_ranges): Likewise.
262         (find_function, insert_callee, mark_functions_via_relocs): Likewise.
263         (pasted_function, interesting_section, discover_functions): Likewise.
264         (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
265         (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
266         (bfd_elf32_bfd_final_link): Define.
267         * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
268         (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
269
270 2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
271
272         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
273         memory which we might not own.
274
275 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
276
277         * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
278         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
279         (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
280
281 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
282
283         * elf32-xtensa.c (xtensa_read_table_entries): Step through table
284         contents and relocs in parallel.
285
286 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
287
288         * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
289
290 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
291
292         * cpu-rs6000.c: Write Mimi's name in ASCII.
293         * coff-rs6000.c: Likewise.
294         * rs6000-core.c: Likewise.
295
296 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
297
298         * sysdep.h: Include config.h first.
299         Many files: Include sysdep.h before bfd.h.
300         * Makefile.am: Run "make dep-am".
301         * Makefile.in: Regenerate.
302
303 2007-04-25  Alan Modra  <amodra@bigpond.net.au>
304
305         * sysdep.h: Revert last change.
306
307 2007-04-24  Nick Clifton  <nickc@redhat.com>
308
309         * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
310         * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
311
312 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
313
314         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
315         eh_frame_hdr table won't be created.
316
317 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
318
319         * acinclude.m4: Include config/stdint.m4.
320         * configure.in: Invoke GCC_HEADER_STDINT.
321         * sysdep.h: Don't include ansidecl.h here.
322         * configure: Regenerate.
323         * config.in: Regenerate.
324         * Makefile.in: Regenerate.
325
326 2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
327
328         * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
329         bfd_mach_mcf_isa_c_emac): New.
330         * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
331         elf_isac_plt_entry, elf_isac_plt_info): New.
332         (elf32_m68k_object_p): Add ISA_C.
333         (elf32_m68k_print_private_bfd_data): Print ISA_C.
334         (elf32_m68k_get_plt_info): Detect ISA_C.
335         * cpu-m68k.c (arch_info): Add ISAC.
336         (m68k_arch_features): Likewise,
337         (bfd_m68k_compatible): ISAs B & C are not compatible.
338
339 2007-04-21  Nick Clifton  <nickc@redhat.com>
340
341         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
342         (ecoff_link_add_archive_symbols): Likewise.
343         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
344         relent.howto.
345         * ieee.c (parse_int): Initialise x.
346         (must_parse_int): Initialise result.
347         (ieee_slurp_external_symbols): Initialise value.
348
349 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
350
351         * config.bfd (spu-*-elf): Delete targ_selvecs.
352
353 2007-04-19  Nick Clifton  <nickc@redhat.com>
354
355         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
356
357 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
358
359         * bfd.c (bfd_demangle): New function.
360         * Makefile.am: Run "make dep-am".
361         * Makefile.in: Regenerate.
362         * bfd-in2.h: Regenerate.
363
364 2007-04-18  Matthias Klose  <doko@ubuntu.com>
365
366         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
367         (bfdver.h): Use the date in non-release builds for the soversion.
368         * Makefile.in: Regenerate.
369
370 2007-04-17  Paul Brook  <paul@codesourcery.com>
371
372         * elf.c (_bfd_elf_is_function_type): New function.
373         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
374         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
375         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
376         * elf-bfd.h (elf_backend_data): Add is_function_type.
377         (_bfd_elf_is_function_type): Add prototype.
378         * elfxx-target.h (elf_backend_is_function_type): Add default
379         definition.
380         (elfNN_bed): Add elf_backend_is_function_type.
381         * elf32-arm.c (elf32_arm_is_function_type): New function.
382         (elf_backend_is_function_type): Define.
383
384 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
385
386         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
387         DT_MIPS_RLD_MAP before DT_DEBUG again.
388
389 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
390
391         * Makefile.am: Add ACLOCAL_AMFLAGS.
392         * configure.in: Change macro call order.
393         * Makefile.in: Regnerate.
394         * doc/Makefile.in: Regenerate.
395         * configure: Regenerate.
396
397 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
398
399         * elflink.c (bfd_elf_final_link): Don't free symbuf for
400         non-elf input bfds.
401         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
402         for non-elf input bfds.
403
404 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
405
406         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
407         DT_MIPS_RTLD_MAP for PIEs.
408
409 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
410
411         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
412         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
413         in a read-only section.
414         (_bfd_mips_elf_check_relocs): Likewise.
415
416 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
417
418         * elf32-xtensa.c (xtensa_is_insntable_section): New.
419         (xtensa_is_proptable_section): New.
420         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
421         tables with 12-byte entries, as well as tables with 8-byte entries.
422         Sort the relocations before examining them.
423         (relax_property_section): Use xtensa_is_proptable_section and
424         xtensa_is_littable_section.  Rewrite code for combining table entries
425         to be more robust in case of unexpected relocations.  Do not set offset
426         of unused relocations to less than zero.
427         (xtensa_is_property_section): Use other functions instead of
428         duplicating section name comparisons.
429         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
430         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
431
432 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
433
434         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
435         from Xtensa property sections.
436
437 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
438
439         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
440         is non-NULL before dereferencing.
441
442 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
443
444         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
445         relocs too.
446
447 2007-04-10  Richard Henderson  <rth@redhat.com>
448
449         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
450         (elf64_alpha_size_got_sections): Remove unused something_changed local.
451         (elf64_alpha_size_plt_section): Return void.
452         (elf64_alpha_size_rela_got_section): Likewise.
453         (elf64_alpha_relax_section): Only regenerate got+plt if the
454         relax_trip counter has changed.
455
456 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
457
458         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
459         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
460         (bfdver.texi): New rule.
461         * Makefile.in, doc/Makefile.in: Regenerated.
462
463 2007-04-03  Matt Thomas  <matt@netbsd.org>
464
465         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
466         in a shared object if it is not in a CODE section or if it is against
467         a section symbol.  This allows DWARF2 to use pcrel format.
468
469 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
470
471         PR ld/4304
472         * elflink.c (bfd_elf_final_link): Call einfo callback in
473         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
474         warning.
475
476 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
477
478         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
479         (elf_backend_link_output_symbol_hook): Define.
480
481 2007-04-02  Nick Clifton  <nickc@redhat.com>
482
483         PR binutils/4292
484         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
485         targets as 64-bit values, even if running on a 64-bit host.
486         * coffgen.c (coff_print_symbol): Likewise.
487
488 2007-03-29  Nick Clifton  <nickc@redhat.com>
489
490         PR binutils/4110
491         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
492         (setup_group): Use it.  Report corrupt group section headers.
493         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
494         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
495         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
496
497 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
498
499         PR ld/4267
500         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
501         for rel->r_info values.
502         (bfd_elf_perform_complex_relocation): Likewise.
503         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
504         unused entries.  Don't clear plt.plist in loop.
505
506 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
507
508         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
509         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
510         Merge into...
511         (sparc_elf_append_rela): ...this new function.
512         (SPARC_ELF_APPEND_RELA): Delete.
513         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
514         the deleted append_rela field.
515         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
516         instead of SPARC_ELF_APPEND_RELA.
517         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
518         elf_size_info structure to find the size of a RELA entry and
519         the associated swap-out function.
520         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
521         (sparc_finish_dyn): ...this new function.
522         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
523
524 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
525             Phil Edwards  <phil@codesourcery.com>
526
527         * doc/bfd.texinfo: Put the contents after the title page rather
528         than at the end of the document.
529
530 2007-03-27  Andreas Schwab  <schwab@suse.de>
531
532         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
533
534 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
535
536         * configure: Regenerated.
537
538 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
539
540         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
541         (allocate_spuear_stubs): New function.
542         (spu_elf_size_stubs): Call allocate_spuear_stubs.
543
544 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
545
546         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
547         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
548         (MY (bfd_reloc_name_lookup)): New function.
549         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
550         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
551         (MY_bfd_reloc_name_lookup): Define.
552         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
553         (MY_bfd_reloc_name_lookup): Define.
554         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
555         (NAME (aout, reloc_name_lookup)): New function.
556         * bout.c (b_out_bfd_reloc_name_lookup): New function.
557         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
558         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
559         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
560         (coff_bfd_reloc_name_lookup): Define.
561         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
562         (coff_i386_reloc_name_lookup): New function.
563         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
564         (coff_bfd_reloc_name_lookup): Define.
565         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
566         (coff_bfd_reloc_name_lookup): Define.
567         * coff-m68k.c (m68k_reloc_name_lookup): New function.
568         (coff_bfd_reloc_name_lookup): Define.
569         * coff-maxq.c (maxq_reloc_name_lookup): New function.
570         (coff_bfd_reloc_name_lookup): Define.
571         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
572         (coff_bfd_reloc_name_lookup): Define.
573         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
574         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
575         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
576         (coff_bfd_reloc_name_lookup): Define.
577         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
578         (_bfd_xcoff_reloc_name_lookup): New function.
579         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
580         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
581         (sh_coff_reloc_name_lookup): New function.
582         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
583         (coff_bfd_reloc_name_lookup): Define.
584         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
585         (tic30_coff_reloc_name_lookup): New function.
586         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
587         (tic4x_coff_reloc_name_lookup): New function.
588         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
589         (tic54x_coff_reloc_name_lookup): New function.
590         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
591         (coff_amd64_reloc_name_lookup): New function.
592         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
593         (coff_bfd_reloc_name_lookup): Define.
594         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
595         (coff_bfd_reloc_name_lookup): Define.
596         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
597         (xcoff64_reloc_name_lookup): New function.
598         (rs6000coff64_vec, aix5coff64_vec): Init new field.
599         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
600         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
601         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
602         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
603         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
604         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
605         (bfd_elf32_bfd_reloc_name_lookup): Define.
606         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
607         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
608         (bfd_elf32_bfd_reloc_name_lookup): Define.
609         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
610         (bfd_elf32_bfd_reloc_name_lookup): Define.
611         * elf32-cris.c (cris_reloc_name_lookup): New function.
612         (bfd_elf32_bfd_reloc_name_lookup): Define.
613         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
614         (bfd_elf32_bfd_reloc_name_lookup): Define.
615         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
616         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
617         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
618         (bfd_elf32_bfd_reloc_name_lookup): Define.
619         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
620         (bfd_elf32_bfd_reloc_name_lookup): Define.
621         * elf32-frv.c (frv_reloc_name_lookup): New function.
622         (bfd_elf32_bfd_reloc_name_lookup): Define.
623         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
624         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
625         (bfd_elf32_bfd_reloc_name_lookup): Define.
626         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
627         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
628         (bfd_elf32_bfd_reloc_name_lookup): Define.
629         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
630         (bfd_elf32_bfd_reloc_name_lookup): Define.
631         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
632         (bfd_elf32_bfd_reloc_name_lookup): Define.
633         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
634         (bfd_elf32_bfd_reloc_name_lookup): Define.
635         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
636         (bfd_elf32_bfd_reloc_name_lookup): Define.
637         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
638         (bfd_elf32_bfd_reloc_name_lookup): Define.
639         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
640         (bfd_elf32_bfd_reloc_name_lookup): Define.
641         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
642         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
643         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
644         * elf32-m68k.c (reloc_name_lookup): New function.
645         (bfd_elf32_bfd_reloc_name_lookup): Define.
646         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
647         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
648         (bfd_elf32_bfd_reloc_name_lookup): Define.
649         * elf32-mep.c (mep_reloc_name_lookup): New function.
650         (bfd_elf32_bfd_reloc_name_lookup): Define.
651         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
652         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
653         (bfd_elf32_bfd_reloc_name_lookup): Define.
654         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
655         * elf32-mt.c (mt_reloc_name_lookup): New function.
656         (bfd_elf32_bfd_reloc_name_lookup): Define.
657         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
658         (bfd_elf32_bfd_reloc_name_lookup): Define.
659         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
660         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
661         (bfd_elf32_bfd_reloc_name_lookup): Define.
662         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
663         (bfd_elf32_bfd_reloc_name_lookup): Define.
664         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
665         (bfd_elf32_bfd_reloc_name_lookup): Define.
666         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
667         (bfd_elf32_bfd_reloc_name_lookup): Define.
668         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
669         (bfd_elf32_bfd_reloc_name_lookup): Define.
670         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
671         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
672         (bfd_elf32_bfd_reloc_name_lookup): Define.
673         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
674         (bfd_elf32_bfd_reloc_name_lookup): Define.
675         * elf32-vax.c (reloc_name_lookup): New function.
676         (bfd_elf32_bfd_reloc_name_lookup): Define.
677         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
678         (bfd_elf32_bfd_reloc_name_lookup): Define.
679         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
680         (bfd_elf32_bfd_reloc_name_lookup): Define.
681         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
682         (bfd_elf32_bfd_reloc_name_lookup): Define.
683         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
684         (bfd_elf64_bfd_reloc_name_lookup): Define.
685         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
686         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
687         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
688         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
689         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
690         (bfd_elf64_bfd_reloc_name_lookup): Define.
691         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
692         (bfd_elf64_bfd_reloc_name_lookup): Define.
693         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
694         (bfd_elf64_bfd_reloc_name_lookup): Define.
695         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
696         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
697         (bfd_elf64_bfd_reloc_name_lookup): Define.
698         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
699         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
700         (bfd_elfNN_bfd_reloc_name_lookup): Define.
701         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
702         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
703         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
704         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
705         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
706         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
707         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
708         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
709         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
710         (MY(reloc_name_lookup)): New function.
711         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
712         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
713         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
714         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
715         (coff_bfd_reloc_name_lookup): Define.
716         * reloc.c (bfd_reloc_name_lookup): New function.
717         * riscix.c (riscix_reloc_name_lookup): New function.
718         (MY_bfd_reloc_name_lookup): Define.
719         * som.c (som_bfd_reloc_name_lookup): New function.
720         * targets.c (struct bfd_target): Add reloc_name_lookup.
721         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
722         * versados.c (versados_bfd_reloc_name_lookup): Define.
723         * vms.c (vms_bfd_reloc_name_lookup): New function.
724         * bfd-in2.h: Regenerate.
725         * libbfd.h: Regenerate.
726
727 2007-03-26  Thiemo Seufer  <ths@mips.com>
728
729         PR ld/4208
730         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
731         matching relocation is found.
732         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
733
734 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
735
736         * configure: Regenerated.
737
738 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
739
740         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
741         * configure: Regenerate.
742
743 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
744
745         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
746         Remove input_sec param.  Adjust all calls.
747         (write_one_stub): Adjust stub symbol.
748         (needs_ovl_stub): New function, extracted from..
749         (spu_elf_size_stubs): ..here.
750         (spu_elf_relocate_section): Use needs_ovl_stub.
751
752 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
753
754         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
755         if nonempty.
756         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
757         * Makefile.in, configure, doc/Makefile.in: Regenerate.
758
759 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
760
761         PR ld/4210
762         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
763         address and virtual size of the last section for the image
764         size.
765
766 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
767
768         PR ld/4007
769         * elf.c (assign_file_positions_for_load_sections): Check if
770         all sections are in the segment.
771
772 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
773
774         PR ld/4208
775         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
776         matching LO16 relocation for HI16 relocation.
777
778 2007-03-20  Paul Brook  <paul@codesourcery.com>
779
780         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
781         * bfd-in2.h: Regenerate.
782         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
783         (record_arm_to_thumb_glue): Use globals->pic_veneer.
784         (elf32_arm_create_thumb_stub): Ditto.
785         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
786
787 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
788
789         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
790         argument and extra last argument.
791         * bfd-in2.h: Regenerate.
792         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
793         member.
794         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
795         extra last argument.  Set no_enum_size_warning appropriately.
796         (elf32_arm_merge_eabi_attributes): Improve enum sizes
797         diagnostic, suppressing it when no_enum_size_warning dictates.
798
799 2007-03-20  Nick Clifton  <nickc@redhat.com>
800
801         PR binutils/3535
802         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
803         specific conditions that need the program headers to be
804         rewritten.
805
806 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
807
808         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
809         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
810         SizeOfInitializedData, SizeOfUninitializedData,
811         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
812         extra PE a.out header.
813         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
814         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
815         defined.
816         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
817         defined.
818         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
819         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
820         SizeOfInitializedData, SizeOfUninitializedData,
821         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
822         extra PE a.out header.
823
824 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
825
826         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
827         only if BFD64 is defined.
828
829 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
830
831         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
832         on setjmp calls.
833
834 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
835
836         * doc/Makefile.in: Regenerated.
837
838 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
839
840         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
841         create doc/bfdver.texi.
842         * Makefile.in: Regenerated.
843
844         * configure.in (--with-bugurl): New option.
845         * configure: Regenerated.
846
847         * version.h (REPORT_BUGS_TO): New.
848
849 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
850
851         PR binutils/3826
852         * elf-bfd.h (elf_backend_data): Add elf_osabi.
853         (_bfd_elf_set_osabi): New.
854
855         * elf.c (_bfd_elf_set_osabi): New.
856
857         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
858         (elf_backend_post_process_headers): Defined with
859         _bfd_elf_set_osabi.
860         (ELF_OSABI): Properly defined for each target.
861
862         * elf32-i370.c (i370_elf_post_process_headers): Removed.
863         (ELF_OSABI): Defined.
864         (elf_backend_post_process_headers): Defined with
865         _bfd_elf_set_osabi.
866
867         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
868         freebsd.
869         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
870
871         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
872         (ELF_OSABI): Defined.
873         (elf_backend_post_process_headers): Defined with
874         _bfd_elf_set_osabi.
875
876         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
877         freebsd.
878         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
879         elf_osabi.
880
881         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
882         with elf_osabi.
883         (ELF_OSABI): Properly defined for each target.
884         (elf_backend_post_process_headers): Defined with
885         _bfd_elf_set_osabi for Linux.
886
887         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
888         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
889         (elf_backend_post_process_headers): Defined with
890         _bfd_elf_set_osabi.
891
892         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
893         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
894         (elf_backend_post_process_headers): Defined with
895         _bfd_elf_set_osabi.
896
897         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
898         with any ELF target of the compatible machine for which we do not
899         have a specific backend.
900
901         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
902         with elf_osabi.
903
904         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
905         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
906
907 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
908
909         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
910         V850_OTHER_* bits.
911
912 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
913
914         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
915         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
916         Run "make dep-am".
917         * Makefile.in: Regenerate.
918         * po/SRC-POTFILES.in: Regenerate.
919
920 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
921
922         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
923         (x86_64-*-kfreebsd*-gnu): Likewise.
924         (x86_64-*-netbsd*): Likewise.
925         (x86_64-*-openbsd*): Likewise.
926         (x86_64-*-linux-*): Likewise.
927
928         * configure.in: Support bfd_efi_app_x86_64_vec.
929         * configure: Regenerated.
930
931         * efi-app-x86_64.c: New file.
932
933         * targets.c (bfd_efi_app_x86_64_vec): New.
934         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
935
936 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
937
938         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
939         const for type reloc_howto_type.
940
941 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
942
943         PR 3958
944         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
945         (elf_discarded_section): Move..
946         * bfd-in.h: ..to here.
947         * bfd-in2.h: Regenerate.
948         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
949         from discarded sections before relocate_section has done its job.
950         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
951         relocs against symbols from discarded sections.
952         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
953         SECREL32.
954         (elf_hppa_relocate_section): Handle relocatable link after setting
955         sec, sym, h etc. for final link.  Squash error messages for
956         relocatable link.  Clear section contents for relocs against
957         symbols in discarded sections, and zero reloc.  Remove existing
958         zero r_symndx code.
959         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
960         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
961         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
962         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
963         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
964         (bfin_relocate_section): Likewise.
965         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
966         * elf32-cris.c (cris_elf_relocate_section): Likewise.
967         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
968         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
969         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
970         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
971         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
972         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
973         * elf32-i370.c (i370_elf_relocate_section): Likewise.
974         * elf32-i386.c (elf_i386_relocate_section): Likewise.
975         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
976         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
977         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
978         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
979         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
980         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
981         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
982         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
983         * elf32-mep.c (mep_elf_relocate_section): Likewise.
984         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
985         * elf32-mt.c (mt_elf_relocate_section): Likewise.
986         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
987         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
988         * elf32-s390.c (elf_s390_relocate_section): Likewise.
989         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
990         * elf32-sh.c (sh_elf_relocate_section): Likewise.
991         * elf32-spu.c (spu_elf_relocate_section): Likewise.
992         * elf32-v850.c (v850_elf_relocate_section): Likewise.
993         * elf32-vax.c (elf_vax_relocate_section): Likewise.
994         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
995         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
996         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
997         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
998         (elf64_alpha_relocate_section): Likewise.
999         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1000         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1001         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1002         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1003         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1004         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1005         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1006         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1007
1008         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
1009         symbols for relocatable link.  Don't use always-zero st_value.
1010         (elf_backend_rela_normal): Don't define.
1011         * elf32-bfin.c (bfinfdpic_relocate_section): Use
1012         RELOC_FOR_GLOBAL_SYMBOL.
1013         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1014         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
1015         section symbol adjustments with same for relocatable link.
1016         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1017         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
1018         (elf32_m68hc11_check_relocs): ..to here.
1019         * elf32-score.c (score_elf_final_link_relocate): Remove zero
1020         r_symndx code.
1021         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1022
1023 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
1024
1025         PR 4144
1026         * elf.c (assign_file_positions_for_load_sections): Don't
1027         adjust p_memsz for !SEC_LOAD section vma modulo page size.
1028         Instead, use the same lma based adjustment for SEC_LOAD
1029         sections.
1030
1031 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
1032
1033         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
1034         (find_relaxable_sections): Do not increment src_count for unknown
1035         opcodes.  Decode only once instead of calling is_l32r_relocation.
1036         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
1037         src_next matches src_count in relax_info.
1038
1039 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
1040
1041         * Makefile.am (bfdver.h): Use "." not " " between version number
1042         and date.
1043         * Makefile.in: Regenerate.
1044         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
1045         * configure: Regenerate.
1046
1047 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
1048
1049         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
1050
1051 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
1052
1053         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
1054         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
1055
1056 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
1057
1058         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
1059         DWARF even with 64-bit addresses.
1060         (_bfd_dwarf2_find_nearest_line): Likewise.
1061
1062 2007-02-23  Nick Clifton  <nickc@redhat.com>
1063
1064         PR binutils/3535
1065         * elf.c (copy_private_bfd_data): Always rewrite the program
1066         headers when a Solaris interpreter segment is involved.
1067
1068 2007-02-22  Paul Brook  <paul@codesourcery.com>
1069
1070         * elflink.c (gc_mark_hook_fn): Remove.
1071         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
1072         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
1073         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
1074         (elf_backend_data): Add gc_mark_extra_sections.
1075         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
1076         definition.
1077         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
1078         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
1079         (elf_backend_gc_mark_extra_sections): Define.
1080
1081 2007-02-21  Nick Clifton  <nickc@redhat.com>
1082
1083         * elf.c (_bfd_elf_map_sections_to_segments): If the
1084         override_segment_assignment callback is defined then call it.
1085
1086 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
1087
1088         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
1089
1090 2007-02-19  Thiemo Seufer  <ths@mips.com>
1091
1092         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
1093         translation marker from untranslatable strings.
1094
1095 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
1096
1097         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
1098         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
1099         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
1100         (elfNN_bed): Init new field.
1101         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
1102
1103 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
1104             Nathan Sidwell  <nathan@codesourcery.com>
1105             Vladimir Prus  <vladimir@codesourcery.com
1106             Joseph Myers  <joseph@codesourcery.com>
1107
1108         * configure.in (--with-pkgversion): New option.
1109         * configure: Regenerate.
1110         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
1111         * Makefile.in: Regenerate.
1112         * version.h (BFD_VERSION_STRING): Define using
1113         @bfd_version_package@.
1114
1115 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
1116
1117         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
1118         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
1119         and EF_MIPS_UCODE.
1120
1121 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
1122
1123         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
1124         declare.
1125         (_bfd_norelocs_canonicalize_reloc): Likewise.
1126         * libbfd.h: Regenerate.
1127         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
1128         (_bfd_norelocs_canonicalize_reloc): Likewise.
1129         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
1130         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
1131         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
1132         * ihex.c: Similarly.
1133         * mach-o-target.c: Similarly.
1134         * mach-o.c: Similarly.
1135         * mmo.c: Similarly.
1136         * pef.c: Similarly.
1137         * ppcboot.c: Similarly.
1138         * srec.c: Similarly.
1139         * xsym.c: Similarly.
1140
1141 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
1142
1143         PR ld/3953
1144         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
1145         when adding default symbol.
1146
1147 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
1148
1149         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
1150         for branch lookup table.
1151
1152 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1153
1154         * elf64-ppc.c (create_linkage_sections): Don't create
1155         .rela.rodata.brlt for --emit-relocs.
1156         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
1157         (ppc_size_one_stub): Count them.  Simplify test of stub type
1158         when counting stub relocs.  Set SEC_RELOC too.
1159         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
1160         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
1161
1162 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1163
1164         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
1165         with a zero symbol index.
1166
1167 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1168
1169         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
1170
1171 2007-02-05  Dave Brolley  <brolley@redhat.com>
1172             Stan Cox  <scox@redhat.com>
1173
1174         PR ld/3972
1175         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
1176
1177 2007-02-05  Dave Brolley  <brolley@redhat.com>
1178             Richard Sandiford  <rsandifo@redhat.com>
1179             Stan Cox  <scox@redhat.com>
1180             Nick Clifton  <nickc@redhat.com>
1181             DJ Delorie  <dj@redhat.com>
1182             Frank Ch. Eigler  <fche@redhat.com>
1183             Ben Elliston  <bje@redhat.com>
1184             Richard Henderson  <rth@redhat.com>
1185
1186         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
1187         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
1188         (BFD32_BACKENDS): Add elf32-mep.lo.
1189         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
1190         (cpu-mep.lo,elf32-mep.lo): New targets.
1191         * archures.c (bfd_arch_mep): New enumerator.
1192         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
1193         (bfd_mep_arch): New external variable.
1194         (bfd_archures_list): Add bfd_mep_arch.
1195         * config.bfd: Support mep-*-elf.
1196         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
1197         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
1198         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
1199         declarations.
1200         (_bfd_target_vector): Add bfd_elf32_mep_vec and
1201         bfd_elf32_mep_little_vec.
1202         * mep-relocs.pl: New file.
1203         * cpu-mep.c: New file.
1204         * elf32-mep.c: New file.
1205         * bfd-in2.h: Regenerate.
1206         * po/POTFILES.in: Regenerate.
1207         * libbfd.h: Regenerate.
1208         * Makefile.in: Regenerate.
1209         * configure: Regenerate.
1210
1211 2007-02-05  Dave Brolley  <brolley@redhat.com>
1212
1213         * elflink.c (evaluate_complex_relocation_symbols): Check for
1214         STT_SRELC for global symbols.
1215         (perform_complex_relocations): Renamed to
1216         perform_complex_relocation and now examines only one relocation.
1217         (elf_link_input_bfd): Don't call perform_complex_relocations.
1218         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
1219         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
1220         (OD,OS,OU): #undefs corrected to N, S and U repectively.
1221         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
1222         (complex_reloc_installation_howto): Removed.
1223         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
1224         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
1225
1226 2007-02-05  Dave Brolley  <brolley@redhat.com>
1227             Richard Sandiford  <rsandifo@redhat.com>
1228             DJ Delorie  <dj@redhat.com>
1229             Graydon Hoare  <graydon@redhat.com>
1230             Nick Clifton  <nickc@cambridge.redhat.com>
1231             Jeff Holcomb  <jeffh@redhat.com>
1232             Frank Ch. Eigler  <fche@redhat.com>
1233
1234         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
1235         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
1236         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
1237         * elflink.c (set_symbolValue): New static function.
1238         (resolve_symbol): Likewise.
1239         (resolve_section): Likewise.
1240         (undefined_reference): Likewise.
1241         (eval_symbol): Likewise.
1242         (evaluate_complex_relocation_symbols): Likewise.
1243         (put_value): Likewise.
1244         (get_value): Likewise.
1245         (decode_complex_addend):
1246         (bfd_elf_perform_complex_relocation): New function.
1247         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
1248         * reloc.c (BFD_RELOC_RELC): New relocation number.
1249         * syms.c (BSF_RELC,BSF_SRELC): New macros.
1250
1251 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
1252
1253         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
1254         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
1255         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
1256         (elf_xtensa_allocate_got_size): Replace these with...
1257         (elf_xtensa_allocate_dynrelocs): ...this new function.
1258         (elf_xtensa_size_dynamic_sections): Use it.
1259
1260 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
1261
1262         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
1263         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
1264         Set src_mask to zero.
1265         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
1266         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
1267
1268 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
1269
1270         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
1271         (elf_xtensa_dynamic_symbol_p): ...this.
1272
1273 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
1274
1275         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
1276         (struct elf_xtensa_link_hash_table): New.
1277         (elf_xtensa_hash_table): New.
1278         (elf_xtensa_link_hash_table_create): New.
1279         (elf_xtensa_check_relocs): Update plt_reloc_count references.
1280         Update arguments to add_extra_plt_sections.
1281         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
1282         table.  Update for plt_reloc_count and add_extra_plt_sections.
1283         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
1284         argument with link info.  Update calls to elf_xtensa_get_plt_section
1285         and elf_xtensa_get_gotplt_section.
1286         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
1287         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
1288         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
1289         (relax_property_section): Get sections from the hash table and update
1290         function calls.
1291         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
1292         dynobj argument with link info.  Get sections for first plt chunk from
1293         the hash table.
1294         (bfd_elf32_bfd_link_hash_table_create): Define.
1295
1296 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
1297
1298         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
1299         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
1300         (struct elf_symbol): Change first member into union.
1301         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
1302         internal syms.  Only compare st_shndx fields.
1303         (elf_create_symbuf): New function.
1304         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
1305         for bfds, use a binary search, otherwise don't qsort symbols
1306         unnecessarily only to select which symbols are for the particular
1307         shndx.
1308
1309 2007-02-01  Nick Clifton  <nickc@redhat.com>
1310
1311         PR ld/3852
1312         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
1313         in the elf_link_hash_table structure.
1314
1315 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
1316
1317         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
1318         * elfxx-target.h (elf_backend_write_core_note): Define and use.
1319         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
1320         32-bit core note on 64-bit target.
1321         (elfcore_write_prstatus): Likewise.
1322         (elfcore_write_lwpstatus): Make note_name const.
1323         (elfcore_write_prfpreg): Likewise.
1324         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
1325         target.
1326         * elf32-ppc.c (ppc_elf_write_core_note): New function.
1327         (elf_backend_write_core_note): Define.
1328         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
1329         (elf_backend_write_core_note): Define.
1330
1331 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
1332
1333         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
1334         (elf32_bed): Defined for elf32-us-cris.
1335
1336         * elf64-sh64.c (elf64_bed): Defined for Linux.
1337         (INCLUDED_TARGET_FILE): Removed.
1338
1339         * elfxx-target.h (elfNN_bed): Always define. Don't check
1340         INCLUDED_TARGET_FILE.
1341
1342 2007-01-31  DJ Delorie  <dj@redhat.com>
1343
1344         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
1345         message for dangerous relocs, special case the common user error.
1346
1347 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1348
1349         * elf.c (copy_elf_program_header): Start from the first section
1350         in a segment and stop when all sections in a segment are
1351         accounted for.
1352
1353 2007-01-29  Julian Brown  <julian@codesourcery.com>
1354
1355         * bfd-in2.h: Regenerate.
1356         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
1357         instruction scanning should be done.
1358         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
1359         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
1360         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
1361         prototype.
1362         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
1363         argument.
1364         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
1365         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
1366         (elf32_vfp11_erratum_type): New enum.
1367         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
1368         veneers.
1369         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
1370         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
1371         vfp11_fix and num_vfp11_fixes fields.
1372         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
1373         vfp11_erratum_glue_size, num_vfp11_fixes fields.
1374         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
1375         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
1376         glue section.
1377         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
1378         to a section's map.
1379         (record_vfp11_erratum_veneer): Create a single veneer, and its
1380         associated symbols.
1381         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
1382         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
1383         BFDs.
1384         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
1385         required.
1386         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
1387         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
1388         (bfd_arm_vfp11_write_mask): Update write mask according to coded
1389         register number.
1390         (bfd_arm_vfp11_antidependency): New function.
1391         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
1392         (elf32_arm_compare_mapping): Declare.
1393         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
1394         BFD for potential erratum-triggering insns. Record results.
1395         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
1396         and branches to veneers have been placed in virtual memory after
1397         layout.
1398         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
1399         hash table.
1400         (elf32_arm_output_symbol_hook): Remove.
1401         (elf32_arm_write_section): Output veneers, and branches to veneers.
1402         Use maps from input sections, not output sections, for code
1403         byte-swapping.
1404         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
1405         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
1406         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
1407         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
1408
1409 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
1410
1411         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
1412         (INCLUDED_TARGET_FILE): Removed.
1413
1414 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
1415
1416         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
1417         (INCLUDED_TARGET_FILE): Remove.
1418
1419 2007-01-25  DJ Delorie  <dj@redhat.com>
1420
1421         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
1422         R_M32C_16 or R_M32C_24 relocs.
1423
1424 2007-01-25  Nick Clifton  <nickc@redhat.com>
1425
1426         PR binutils/3874
1427         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
1428         hash table was created by elf32_avr_link_hash_table_create before
1429         using it.
1430         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
1431         through to _bfd_elf_link_hash_newfunc.
1432         (elf32_avr_link_hash_table_create): Use
1433         elf32_avr_link_hash_newfunc instead of
1434         _bfd_elf_link_hash_newfunc.
1435         (elf32_avr_relocate_section): Check for the hash table pointer
1436         being NULL.
1437         (elf32_avr_relax_section, avr_build_one_stub,
1438         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
1439         elf32_avr_build_stubs): Likewise.
1440
1441 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1442
1443         PR ld/3831
1444         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
1445         argument, Elf_Internal_Sym *.
1446
1447         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
1448         symbol dynamic if info->dynamic_data is TRUE.
1449         (bfd_elf_record_link_assignment): Updated call to
1450         bfd_elf_record_link_assignment.
1451         (_bfd_elf_merge_symbol): Likewise.  Always call
1452         bfd_elf_link_mark_dynamic_symbol.
1453
1454 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1455
1456         * Makefile.am (BFD_LIBS): Removed.
1457         * Makefile.in: Regenerated.
1458
1459 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1460
1461         PR binutils/3631
1462         * Makefile.am (OFILES): Add @bfd64_libs@.
1463         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
1464         * Makefile.in: Regenerated.
1465
1466         * configure.in (bfd_libs): Replaced by ...
1467         (bfd64_libs): This.
1468         * configure: Regenerated.
1469
1470 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
1471
1472         * elf.c (assign_file_positions_for_load_sections): We can
1473         require fewer phdrs than expected.
1474
1475 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
1476
1477         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
1478         * bfd-in2.h: Regenerate.
1479         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
1480         bfd_mach_cpu32_fido.
1481         (m68k_arch_features): Use fido_a instead of cpu32.
1482         (bfd_m68k_compatible): Reject the combination of Fido and
1483         ColdFire.  Accept the combination of CPU32 and Fido with a
1484         warning.
1485         * elf32-m68k.c (elf32_m68k_object_p,
1486         elf32_m68k_merge_private_bfd_data,
1487         elf32_m68k_print_private_bfd_data): Treat Fido as an
1488         architecture by itself.
1489
1490 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
1491
1492         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
1493
1494 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
1495
1496         * texhex.c (first_phase): Don't fall through into the default
1497         case.
1498         (pass_over): Replace abort () calls with return FALSE.  Fix
1499         buffer overflow.
1500
1501 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
1502
1503         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
1504         SEC_EXCLUDE on zero size .eh_frame.
1505
1506 For older changes see ChangeLog-2006
1507 \f
1508 Local Variables:
1509 mode: change-log
1510 left-margin: 8
1511 fill-column: 74
1512 version-control: never
1513 End: