2aec877277675acabc572a99ae0d5bae8a6030d2
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2007-08-31  Jesse Michael  <jmichael@suse.de>
2
3         * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
4         zerofill sections.
5
6 2007-08-28  David Heine  <dlheine@tensilica.com>
7
8         * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
9         narrowing instructions.
10
11 2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
12             Joseph Myers  <joseph@codesourcery.com>
13
14         * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
15         then on type.
16
17 2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>
18
19         * config.bfd: Add support for i[3-7]86-*-dragonfly*.
20         * configure.in: Likewise.
21         * configure: Regenerate.
22
23 2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
24             Alan Modra  <amodra@bigpond.net.au>
25
26         * elf.c (elfcore_grok_spu_note): New function.
27         (elf_parse_notes): Call it.
28
29 2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>
30
31         * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
32         indentation.
33
34 2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>
35
36         * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
37         guard.  Make it host independent.
38         (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
39         NT_WIN32PSTATUS.
40
41 2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
42
43         * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
44         * elf.c (elfcore_read_notes): Split to ...
45         (elf_read_notes) ... here ...
46         (elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
47         the former subfunctions called only for BFD_CORE.
48         Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
49         (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
50         (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
51         (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
52         Code advisory: Roland McGrath
53
54 2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>
55
56         * elf64-mips.c (elf_backend_sign_extend_vma): Define.
57
58 2007-08-24  Alan Modra  <amodra@bigpond.net.au>
59
60         * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
61
62 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
63
64         * Makefile.am: Run "make dep-am".
65         * Makefile.in: Regenerated.
66
67 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
68
69         * elf32-i386.c: Include "bfd_stdint.h".
70         (elf_i386_rtype_to_howto): New function.
71         (elf_i386_info_to_howto_rel): Use it.
72         (x86_64_opcode16): New union type.
73         (elf_i386_check_tls_transition): New function.
74         (elf_i386_tls_transition): Updated to check transition and
75         issue an error if a transition isn't supported.
76         (elf_i386_check_relocs): Return FALSE if
77         elf_i386_tls_transition returns FALSE.
78         (elf_i386_gc_sweep_hook): Likewise.
79         (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
80         on TLS transitions.
81
82         * elf64-x86-64.c: Include "bfd_stdint.h".
83         (x86_64_opcode16): New union type.
84         (x86_64_opcode32): Likewise.
85         (elf64_x86_64_check_tls_transition): New function.
86         (elf64_x86_64_tls_transition): Updated to check transition and
87         issue an error if a transition isn't supported.
88         (elf64_x86_64_check_relocs): Return FALSE if
89         elf64_x86_64_tls_transition returns FALSE.
90         (elf64_x86_64_gc_sweep_hook): Likewise.
91         (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
92         on TLS transitions.
93
94 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
95
96         * elfxx-ia64.c: Convert to ISO C90 prototypes.
97         (elfNN_hpux_backend_section_from_bfd_section): Make it static.
98
99 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
100
101         * elf64-x86-64.c: Remove trailing whitespace.
102         * elfxx-ia64.c: Likewise.
103
104 2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>
105
106         * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
107         to ELF hash entry instead of an integer for local test.
108         (elf_i386_check_relocs): Updated.
109         (elf_i386_gc_sweep_hook): Likewise.
110         (elf_i386_relocate_section): Likewise.
111
112         * elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
113         pointer to ELF hash entry instead of an integer for local
114         test.
115         (elf64_x86_64_check_relocs): Updated.
116         (elf64_x86_64_gc_sweep_hook): Likewise.
117         (elf64_x86_64_relocate_section): Likewise.
118
119 2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>
120
121         * elf32-i386.c (elf_i386_tls_transition): Break long line.
122         * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
123
124 2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
125
126         * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
127         (ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
128         (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
129
130 2007-08-20  Nick Clifton  <nickc@redhat.com>
131
132         * elflink.c (elf_fixup_link_order): Rewrite conversion of
133         s->alignment_power into an offset mask in order to avoid a gcc
134         error message.
135
136 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
137
138         * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
139         Change sparc64-*-linux-* to sparc64*-*-linux-*.
140
141 2007-08-17  Alan Modra  <amodra@bigpond.net.au>
142
143         * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
144
145 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
146
147         * elf.c: Revert last change.
148
149 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
150
151         * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
152         (bfd_section_from_phdr): Likewise.
153         (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
154         if there is an attribute section.
155         (_bfd_elf_map_sections_to_segments): Likewise.
156         (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
157
158 2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>
159
160         PR ld/4918
161         * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
162         on ___tls_get_addr for GD->LE/LD->LE transitions when not
163         building shared library.
164
165         * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
166         R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
167         when not building shared library.
168
169 2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
170
171         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
172         initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
173         Removed PF_R checking for IA-64 vDSOs as redundant now.
174         Code advisory: Roland McGrath
175
176 2007-08-13  Richard Sandiford  <richard@codesourcery.com>
177
178         * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
179         (mips_elf_record_global_got_symbol): Increment local_gotno for
180         each forced-local symbol.
181         (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
182         mips_elf_record_global_got_symbol for VxWorks too.
183         (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
184         to true after computing the GOT size.
185         (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
186         got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
187         For VxWorks, add a local entry when hiding a symbol that needs a
188         plt but has not been marked as needing a global got entry.
189         (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
190         false.
191
192 2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>
193
194         * coffgen.c (coff_get_normalized_symtab): Correct cast.
195
196 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
197
198         * elf.c (elf_modify_segment_map): Add remove_empty_load param.
199         Don't remove empty PT_LOAD header if false.
200         (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
201         to elf_modify_segment_map.
202         (assign_file_positions_for_load_sections): Pass false to
203         elf_modify_segment_map.
204
205 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
206
207         * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
208         Update stub comments.
209         (build_plt_stub): Build two variants, one without "addis".
210         (ppc_build_one_stub): Build stubs without "addis" if possible.
211         (ppc_size_one_stub): Size new stubs.
212
213 2007-08-11  Richard Sandiford  <richard@codesourcery.com>
214
215         * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
216
217 2007-08-09  Michael Snyder  <msnyder@access-company.com>
218
219         * aoutx.h (aout_get_external_symbols): Return if count is zero.
220
221 2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>
222
223         PR ld/4909
224         * elf.c (print_segment_map): New function.
225         (assign_file_positions_for_load_sections): Call print_segment_map
226         when a section can't be allocated in segment.
227
228 2007-08-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
229
230         * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
231
232 2007-08-07  Nick Clifton  <nickc@redhat.com>
233
234         * po/bfd.pot: Updated template.
235         * po/BLD-POTFILES.in: Regenerate.
236
237 2007-08-07  Alan Modra  <amodra@bigpond.net.au>
238
239         * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
240         bss segments.
241
242 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
243
244         * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
245         * Makefile.in: Regenerated.
246
247 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
248
249         * configure.in: Update version to 2.18.50.
250         * configure: Regenerated.
251
252 2007-08-06  Paul Brook  <paul@codesourcery.com>
253
254         * elf32-arm.c (elf32_arm_link_hash_entry): Add
255         plt_maybe_thumb_refcount.
256         (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
257         (elf32_arm_copy_indirect_symbol): Ditto.
258         (elf32_arm_adjust_dynamic_symbol): Ditto.
259         (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
260         (arm_add_to_rel): Ditto.
261         (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
262         R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
263         (elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
264         for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
265         (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
266         and R_ARM_THM_JUMP19.  
267         (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
268         (elf32_arm_finish_dynamic_symbol): Ditto.
269         (elf32_arm_output_plt_map): Ditto.
270
271 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
272
273         * elf.c (rewrite_elf_program_header): Handle sections not sorted
274         by address.
275         (copy_elf_program_header): Likewise.
276
277 2007-08-04  H.J. Lu  <hongjiu.lu@intel.com>
278
279         * elf-bfd.h (xvec_get_elf_backend_data): Add const.
280
281         * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
282         * elfcore.h (elf_core_file_p): Likewise.
283
284 2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>
285
286         * coffcode.h (ALIGN_SET): Removed.
287         (ELIFALIGN_SET): Likewise.
288         (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
289         IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
290         IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
291         IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
292
293 2007-08-01  Michael Snyder  <msnyder@access-company.com>
294
295         * vms-tir.c (new_section): Fix cut and paste error.
296
297         * aoutx.h (aout_link_add_symbols): Return if count is zero.
298
299         * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
300         pointer must be non-null.
301
302 2007-08-01  Tristan Gingold  <gingold@adacore.com>
303
304         * coffcode.h (coff_sort_func_alent): New function.
305         (coff_slurp_line_table): Sort line table if not already sorted.
306
307 2007-08-01  Jakub Jelinek  <jakub@redhat.com>
308
309         * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
310         GCC 3.4.x warning.
311
312 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
313
314         * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
315         r_type.
316         (swap_std_reloc_in): Likewise.
317         (aout_link_input_section_std): Likewise.  Return with an error
318         on unexpected relocation type.
319         (aout_link_input_section_ext): Likewise.
320
321 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
322
323         PR4694
324         * aoutx.h (final_link): Write a zero in first word of
325         stringtab if no symbols rather than corrupting last byte
326         of text/data.
327
328 2007-07-31  Jakub Jelinek  <jakub@redhat.com>
329
330         * elf.c (get_program_header_size): Adjacent loadable .note*
331         sections need just one PT_NOTE segment.
332         (_bfd_elf_map_sections_to_segments): Likewise.
333
334 2007-07-30  Michael Snyder  <msnyder@access-company.com>
335
336         * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
337         2007-07-26.  Buffer still in use, can't be freed.
338
339 2007-07-27  Michael Snyder  <msnyder@access-company.com>
340
341         * cofflink.c (coff_link_add_symbols): Return if count is zero.
342
343         * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
344
345         * aoutx.h (slurp_symbol_table): Return if count == 0.
346
347         * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
348
349         * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
350
351 2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
352
353         * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
354
355 2007-07-26  Michael Snyder  <msnyder@access-company.com>
356
357         * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
358
359         * linker.c (bfd_section_already_linked_table_insert): Change 
360         return type from void to boolean.  Return FALSE on failure.
361         (_bfd_generic_section_already_linked): Test return value of
362         bfd_section_already_linked_table_insert, call fatal on error.
363
364         * elflink.c (_bfd_elf_section_already_linked): Test return value
365         of bfd_section_already_linked_table_insert, call fatal on error.
366
367         * libbfd-in.h (bfd_section_already_linked_table_insert): Update
368         return type to bfd_boolean.
369
370         * libbfd.h: Regenerate.
371
372 2007-07-26  Adam Nemet  <anemet@caviumnetworks.com>
373
374         * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
375         bfd_slurp_armap): Improve function comment.
376
377 2007-07-26  Michael Snyder  <msnyder@access-company.com>
378
379         * linker.c (already_linked_newfunc): Check for NULL return from
380         bfd_hash_allocate.
381
382         * coffgen.c (fixup_symbol_value): Guard against null; 
383         bfd_is_com_section will dereference the section pointer.
384
385         * syms.c (bfd_decode_symclass): Guard against NULL, since 
386         bfd_is_com_section dereferences the pointer.
387
388         * srec.c (srec_scan): Check for EOF (critical because return value
389         will be used as array index).
390
391         * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
392         are not to be cached, free the temporary buffer.
393
394         * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
395         or count == zero.
396
397         * tekhex.c (first_phase): Check return value for null.
398
399         * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless 
400         pointer increment.
401
402 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
403
404         * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
405         check on dynobj.  Remove bed shadow.
406
407         * srec.c (srec_get_section_contents): Return immediately on
408         count zero.  Check that offset and count are within section.
409         * libbfd.c (_bfd_generic_get_section_contents): Check that
410         offset + count does not overflow.
411
412         * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
413         is zero.  Correct return value on error.
414         * mmo.c (mmo_canonicalize_symtab): Likewise.
415         * binary.c (binary_canonicalize_symtab) Correct return on error.
416
417 2007-07-26  Thiemo Seufer  <ths@mips.com>
418
419         * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
420
421 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
422
423         * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
424         bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
425         says there are no relocs.
426
427 2007-07-26  Doug Kwan  <dougkwan@google.com>
428
429         Speed up bfd_dwarf2_find_line.
430         * dwarf2.c (struct dwarf2_debug): Add new fields to support function
431         and variable info hash tables. Add last_comp_unit, info_hash_count,
432         funcinfo_hash_table, varinfo_hash_table, hash_units_head.
433         (struct comp_unit): Add prev_unit, cached.
434         (struct info_list_node, struct info_hash_entry,
435         struct info_hash_table): New.
436         (info_hash_table_newfunc, create_info_hash_table,
437         insert_info_hash_table, lookup_info_hash_table): New functions
438         implementing function and variable info hash tables.
439         (scan_unit_for_symbols): Add checks to make sure hash tables are
440         consistent with compilation units.
441         (comp_unit_maybe_decode_line_info): New function.
442         (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
443         (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
444         info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
445         stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
446         stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
447         functions. Make use of info hash tables to speed up
448         bfd_dwarf2_find_line.
449         (find_line): Use hash table for faster lookup if it is turned on.
450         Also add code to maintain bi-directional link in comp units.
451
452 2007-07-25  Michael Snyder  <msnyder@access-company.com>
453
454         * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
455         if size == 0; return and avoid possible null pointer issues.
456
457 2007-07-25  Alan Modra  <amodra@bigpond.net.au>
458
459         * linker.c (generic_link_add_symbol_list): Warning fix.
460
461 2007-07-24  Michael Snyder  <msnyder@access-company.com>
462
463         * opncls.c (bfd_make_writable): Check return from bfd_malloc.
464
465         * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
466         on bfd_malloc error rather than goto error_return.
467
468 2007-07-24  Alan Modra  <amodra@bigpond.net.au>
469
470         * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
471         _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
472         _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
473         _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
474         bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
475         bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
476         bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
477         bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
478         struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
479         elf_sym_name_compare, elf_create_symbuf,
480         bfd_elf_match_symbols_in_sections,
481         _bfd_elf_match_sections_by_type): Move to here..
482         * elf.c: ..from here.
483
484 2007-07-23  Richard Sandiford  <richard@codesourcery.com>
485
486         * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
487         of weakdef->root.type if weakdef has no regular definition.
488
489 2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
490
491         * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
492         small_data_overflow_reported.
493         (_bfd_mips_elf_link_hash_table_create): Initialize it.
494         (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
495         small-data section overflow.
496
497 2007-07-19  Doug Kwan  <dougkwan@google.com>
498
499         PR binutils/4797
500         * dwarf2.c: (find_line) Do not dereference functionname_ptr if
501         do_line is true.
502
503 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
504
505         * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
506         non-ELF sections.
507
508 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
509
510         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
511         vma and size for dynamic tags from the output sections.
512
513 2007-07-18  Alan Modra  <amodra@bigpond.net.au>
514
515         * elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
516         * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
517         symbol.  Instead cache ELF section index.  Remove redundant
518         checks of st_shndx.
519
520 2007-07-15  Mike Frysinger  <vapier@gentoo.org>
521
522         * trad-core.c (NBPG): If not defined, set to getpagesize().
523
524 2007-07-13  Roland McGrath  <roland@redhat.com>
525
526         * elf-bfd.h (struct elf_obj_tdata): Revert last change.
527         Add after_write_object_contents, after_write_object_contents_info.
528         * elf.c (_bfd_elf_write_object_contents): Revert last change.
529         Instead, call after_write_object_contents if set.
530
531 2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
532
533         * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
534         (BFD_HOSTPTR_T): Host pointer type for casting a
535         pointer to an integer type.
536         (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
537         (sprintf_vma, fprintf_vma): Add support for long long prints.
538         * bfd-in2.h: Regenerate.
539         * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
540         (BFD_HOSTPTR_T): Host pointer type for casting a
541         pointer to an integer type. Default is "unsigned long".
542         (AC_CHECK_SIZEOF(void *)): New.
543         (host64): Set it if the pointer size is 8.
544         * configure: Regenerate.
545         * config.in: Add macro SIZEOF_VOID_P.
546         * coffcode.h: Replace host ptr type assuming "long" with
547         bfd_hostptr_t type.
548         * coffgen.c: Likewise.
549         * elf-eh-frame.c: Likewise.
550         * peicode.h: Likewise.
551
552 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
553
554         * Makefile.in: Regenerated.
555
556 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
557
558         PR binutils/4756
559         * simple.c (bfd_simple_get_relocated_section_content): Don't
560         apply relocation on executable and shared library.
561
562 2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
563
564         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
565         copy relocs on vxworks.
566
567 2007-07-10  Alan Modra  <amodra@bigpond.net.au>
568
569         * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
570         * elf64-alpha.c (alpha_elf_size_info): Likewise.
571         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
572         * elf64-mips.c (mips_elf64_size_info): Likewise.
573         * elf64-s390.c (s390_elf64_size_info): Likewise.
574         * elf64-sparc.c (elf64_sparc_size_info): Likewise.
575
576 2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
577
578         * elflink.c (bfd_elf_record_link_assignment): Handle indirect
579         symbol.
580         (_bfd_elf_merge_symbol): Properly update normal symbol when
581         overriding the versioned symbol from a dynamic library.
582
583 2007-07-09  Roland McGrath  <roland@redhat.com>
584
585         * elf-bfd.h (struct elf_obj_tdata): Add members
586         emit_note_gnu_build_id and note_gnu_build_id_sec.
587         * elf.c (_bfd_id_note_section_size): New global function.
588         (read_hex, _bfd_elf_write_build_id_section): New static functions.
589         (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
590         if emit_note_gnu_build_id is set.
591         * Makefile.am (elf.lo): Update dependencies.
592
593         * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
594         (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
595         * elfcode.h (elf_checksum_contents): New macro and function.
596         (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
597
598 2007-07-06  Michael Snyder  <msnyder@access-company.com>
599
600         * elflink.c (elf_link_add_object_symbols): Return via
601         error_free_vers on "notice" failure.
602
603 2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
604
605         * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
606         if arch is unknown.
607
608 2007-07-04  Nick Clifton  <nickc@redhat.com>
609
610         Import this patch from an internal tree:
611
612         2001-07-17  Richard Henderson  <rth@redhat.com>
613
614         * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
615         compensate for high bit set in R_MEP_LOW16.
616
617 2007-07-03  Joseph Myers  <joseph@codesourcery.com>
618
619         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
620         input attributes if value has been copied.
621
622 2007-07-03  Nick Clifton  <nickc@redhat.com>
623
624         * COPYING: Replace with GPLv3 text.
625         * aix386-core.c: Update copyright notice to refer to GPLv3.
626         * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
627         aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
628         aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
629         archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
630         binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
631         cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
632         coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
633         coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
634         coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
635         coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
636         coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
637         coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
638         coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
639         coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
640         cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
641         cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
642         cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
643         cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
644         cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
645         cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
646         cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
647         cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
648         cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
649         cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
650         cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
651         cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
652         cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
653         demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
654         ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
655         elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
656         elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
657         elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
658         elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
659         elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
660         elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
661         elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
662         elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
663         elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
664         elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
665         elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
666         elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
667         elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
668         elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
669         elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
670         elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
671         elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
672         elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
673         elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
674         elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
675         elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
676         elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
677         epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
678         hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
679         hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
680         i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
681         i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
682         libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
683         libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
684         linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
685         m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
686         mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
687         newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
688         nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
689         ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
690         pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
691         pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
692         pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
693         pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
694         pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
695         reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
696         simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
697         srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
698         sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
699         trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
700         vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
701         xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
702         xtensa-modules.c: Likewise.
703         * elf32-sh-relocs.h: Add copyright notice.
704         * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
705         hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
706         hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
707         hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
708         hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
709         hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
710         hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
711         hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
712         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
713
714 2007-07-02  Joseph Myers  <joseph@codesourcery.com>
715
716         * elfxx-mips.c (mips_elf_calculate_relocation): Handle
717         R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
718         * elf64-mips.c (mips_elf64_howto_table_rela): Support
719         R_MIPS_TLS_DTPREL64.
720
721 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
722
723         * Makefile.am: Run "make dep-am".
724         * Makefile.in: Regenerate.
725         * aclocal.m4: Regenerate.
726         * config.in: Regenerate.
727         * po/SRC-POTFILES.in: Regenerate.
728         * po/bfd.pot: Regenerate.
729
730 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
731
732         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
733         symsec != NULL tests.
734
735 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
736
737         PR 4712
738         * elf.c (assign_file_positions_for_load_sections): Adjust lma
739         by p_vaddr_offset.
740
741 2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>
742
743         * aclocal.m4: Regenerated.
744         * Makefile.in: Likewise.
745
746 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
747
748         * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
749         (ppc_elf_merge_private_bfd_data): Call it.
750
751 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
752
753         * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
754         (_bfd_mips_elf_merge_private_bfd_data): Call it.
755
756 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
757
758         * elf-attrs.c: New.
759         * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
760         (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
761         (elf-attrs.lo): Generate dependencies.
762         * Makefile.in: Regenerate.
763         * configure.in (elf): Add elf-attrs.lo.
764         * configure: Regenerate.
765         * elf-bfd.h (struct elf_backend_data): Add entries for object
766         attributes.
767         (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
768         OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
769         Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
770         New.
771         (struct elf_obj_tdata): Add entries for object attributes.
772         (elf_known_obj_attributes, elf_other_obj_attributes,
773         elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
774         New.
775         (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
776         bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
777         bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
778         bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
779         bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
780         _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
781         _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
782         * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
783         (bfd_section_from_shdr): Handle attributes sections.
784         * elflink.c (bfd_elf_final_link): Handle attributes sections.
785         * elfxx-target.h (elf_backend_obj_attrs_vendor,
786         elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
787         elf_backend_obj_attrs_section_type): New.
788         (elfNN_bed): Update.
789         * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
790         aeabi_attribute_list): Remove.
791         (struct elf32_arm_obj_tdata): Remove object attributes fields.
792         (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
793         elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
794         Update for new object attributes interfaces.
795         (uleb128_size, is_default_attr, eabi_attr_size,
796         elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
797         elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
798         elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
799         elf32_arm_add_eabi_attr_int, attr_strdup,
800         elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
801         copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
802         to generic code in elf-attrs.c.
803         (elf32_arm_obj_attrs_arg_type): New.
804         (elf32_arm_fake_sections): Do not handle .ARM.attributes.
805         (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
806         (bfd_elf32_bfd_final_link): Remove.
807         (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
808         elf_backend_obj_attrs_arg_type,
809         elf_backend_obj_attrs_section_type): New.
810         * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
811         attributes.
812         * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
813         * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
814         * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
815         * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
816         * elf32-sh.c (sh_elf_copy_private_data): Likewise.
817         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
818
819 2007-06-29  Paul Brook  <paul@codesourcery.com>
820
821         * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
822         call veneers for call relocations against undefined symbols.
823         (elf32_arm_final_link_relocate): Turn call to undefined symbol
824         into a jump to the next instruction.
825
826 2007-06-29  Michael Snyder  <msnyder@access-company.com>
827
828         * bfd.c (bfd_demangle): Plug memory leak (Coverity).
829
830 2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
831
832         * Makefile.am: Add cr16 related entry
833         * Makefile.in: Regenerate
834         * archures.c: Add bfd_cr16_arch
835         * bfd-in2.h: Regenerate
836         * config.bfd: Add cr16-elf
837         * configure.in: Add bfd_elf32_cr16_vec
838         * configure: Regenerate.
839         * targets.c: Added cr16 related information
840         * cpu-cr16.c: New file.
841         * elf32-cr16.c: New file.
842         * reloc.c: Added cr16 relocs.
843
844 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
845
846         * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
847         message for undefined version nodes.
848         (elf_gc_sweep): Don't warn when zero size sections are
849         removed.
850
851 2007-06-29  Nathan Froyd  <froydnj@codesourcery.com>
852
853         * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
854         types.
855
856 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
857
858         * elf32-spu.c (spu_elf_fake_sections): New function.
859         (elf_backend_fake_sections): Define.
860
861 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
862
863         * elf.c (assign_file_positions_for_load_sections): Use elf
864         section header sh_size rather than bfd section size, simplifying
865         .tbss handling.
866
867 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
868
869         PR ld/4701
870         * elf.c (assign_file_positions_for_load_sections): Ensure bss
871         segments meet gABI alignment requirements.  Don't allocate
872         file space for bss sections in a segment also containing file
873         or program headers.
874
875 2007-06-27  Alan Modra  <amodra@bigpond.net.au>
876
877         * bfd.c (struct bfd): Rename "next" to "archive_next".
878         * archive.c: Rename uses throughout file.
879         * archive64.c: Likewise.
880         * coff-rs6000.c: Likewise.
881         * ecoff.c: Likewise.
882         * som.c: Likewise.
883         * bfd-in2.h: Regenerate.
884
885         * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
886         input bfds.
887         * elf32-spu.c (spu_elf_create_sections): Likewise.
888
889 2007-06-26  H.J. Lu  <hongjiu.lu@intel.com>
890
891         * dwarf2.c (find_line): New.  Contains the duplicated code from:
892         (_bfd_dwarf2_find_nearest_line): Use it.
893         (_bfd_dwarf2_find_line): Use it.
894
895 2007-06-26  Joseph Myers  <joseph@codesourcery.com>
896
897         * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
898
899 2007-06-25  Richard Sandiford  <richard@codesourcery.com>
900
901         * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
902         to be used for calls from MIPS16 code.
903
904 2007-06-23  Andreas Schwab  <schwab@suse.de>
905
906         * configure.in (--with-separate-debug-dir): New option.
907         * configure: Regenerate.
908         * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
909         * Makefile.in: Regenerate.
910         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
911         bfd_follow_gnu_debuglink.
912         (_bfd_dwarf2_find_line): Likewise.
913
914 2007-06-22  Nick Clifton  <nickc@redhat.com>
915
916         * dwarf2.c: Add support for reading in debug information via a
917         .gnu_debuglink section:
918         (struct dwarf2_debug): Add bfd field to record the bfd containing
919         the debug info.
920         (parse_comp_unit): Remove ABFD parameter.  Instead use the bfd
921         field in the dwarf2_debug structure.
922         (_bfd_dwarf2_find_nearest_line): If a debug info section could not
923         be found in the current bfd call bfd_follow_gnu_debuglink to see
924         if another file contains the debug information.  If it does, open
925         it and continue.
926         (_bfd_dwarf2_find_line): Likewise.
927
928 2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
929
930         PR ld/4590
931         * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
932         when removing duplicated entries.
933         (get_dyn_sym_info): Initialize the got_offset field to -1.
934         Update call to sort_dyn_sym_info.
935         (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
936         array of addend and remove duplicates.
937
938 2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
939
940         * libpei.h (_bfd_XXi_final_link_postscript): Remove
941         duplication.
942         (bfd_target_pei_p): New.
943         (bfd_target_pei_arch): New
944         (bfd_target_efi_p): Likewise.
945         (bfd_target_efi_arch): New
946         (bfd_pe_executable_p): Use bfd_target_pei_p and
947         bfd_target_efi_p.
948
949         * peicode.h (arch_type): New enum.
950         (pe_arch): New function.
951         (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
952         if there is an EFI/PE target.
953
954 2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
955
956         * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
957
958         * acinclude.m4: Don't include m4 files. Remove libtool
959         kludge.
960
961         * Makefile.in: Regenerated.
962         * aclocal.m4: Likewise.
963         * configure: Likewise.
964
965 2007-06-11  Sterling Augustine  <sterling@tensilica.com>
966             Bob Wilson  <bob.wilson@acm.org>
967
968         * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
969         XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
970         (extend_ebb_bounds_backward, compute_text_actions): Likewise.
971         (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
972         (xtensa_get_property_predef_flags): Likewise.
973         (compute_removed_literals): Pass new arguments to is_removable_literal.
974         (is_removable_literal): Add sec, prop_table and ptblsize arguments.
975         Do not remove literal if the NO_TRANSFORM property flag is set.
976
977 2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
978
979         * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
980         type (3) single-GOT entry, read tls_type from the hash table entry
981         rather than the GOT entry.
982
983 2007-06-01  Alan Modra  <amodra@bigpond.net.au>
984
985         * simple.c (bfd_simple_get_relocated_section_contents): Init
986         input_bfds_tail.
987
988 2007-05-30  Alan Modra  <amodra@bigpond.net.au>
989
990         * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
991         created by objcopy --only-keep-debug.
992         (_bfd_elf_init_private_section_data): Only change elf_section_type
993         if it is SHT_NULL.
994
995         * elf.c (assign_file_positions_for_load_sections): Correct sh_type
996         to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
997         and sh_flags instead of bfd section flags.  Delete voff and code
998         keeping nobits segments aligned.
999
1000 2007-05-25  Eric Christopher  <echristo@apple.com>
1001
1002         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
1003         Check that sym_sec isn't NULL before accessing.
1004
1005 2007-05-24  Steve Ellcey  <sje@cup.hp.com>
1006
1007         * Makefile.in: Regnerate.
1008         * configure: Regenerate.
1009         * aclocal.m4: Regenerate.
1010         * doc/Makefile.in: Regenerate.
1011
1012 2007-05-22  Paul Brook  <paul@codesourcery.com>
1013
1014         * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1015         with sec and sec_shndx.
1016         (elf32_arm_ouput_plt_map_sym): Use them.
1017         (elf32_arm_output_arch_local_syms): Output mapping symbols for
1018         interworking glue.
1019
1020 2007-05-18  Paul Brook  <paul@codesourcery.com>
1021
1022         * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1023         (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1024         (record_arm_to_thumb_glue): Add v5t non-pic glue.
1025         (elf32_arm_create_thumb_stub): Ditto.
1026
1027 2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1028             Alan Modra  <amodra@bigpond.net.au>
1029
1030         * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1031         section to the minimum alignment.
1032
1033 2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
1034             Alan Modra  <amodra@bigpond.net.au>
1035
1036         PR ld/4504
1037         * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1038         * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1039
1040         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1041         _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1042         bss section.
1043         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1044         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1045         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1046         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1047         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1048         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1049         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1050         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1051         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1052         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1053         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1054         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1055         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1056         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1057         * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1058         * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1059         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1060
1061 2007-05-15  Richard Sandiford  <richard@codesourcery.com>
1062
1063         * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1064         input_section argument.  Create .rela.dyn relocations against
1065         symbol 0 rather than the section symbol.
1066         (mips_elf_local_got_index): Remove input_section argument.
1067         Update call to mips_elf_create_local_got_entry.
1068         (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1069         (mips_elf_calculate_relocation): Update calls to
1070         mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1071
1072 2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
1073
1074         * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1075         handle the Thumb-2 JUMP19 relocation.
1076
1077 2007-05-15  Alan Modra  <amodra@bigpond.net.au>
1078
1079         PR 4479
1080         * elf.c (elf_fake_sections): Don't allow backend to change
1081         SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1082         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1083         fix from here.
1084
1085 2007-05-14  Alan Modra  <amodra@bigpond.net.au>
1086
1087         * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1088         invalid shstrndx.
1089         (bfd_elf_get_str_section): Likewise.
1090
1091 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1092
1093         PR 4497
1094         * elf-eh-frame.c (struct cie): Add "local_personality".  Make
1095         "personality" a union.
1096         (cie_eq): Compare local_personality too.  Adjust personality
1097         comparison.
1098         (_bfd_elf_discard_section_eh_frame): Check binding on personality
1099         reloc sym to allow for bad symtab.  Use stashed local syms rather
1100         than reading personality local sym.  Handle discarded sections.
1101
1102 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1103
1104         * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1105
1106 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1107
1108         * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1109         (enum ppc_elf_plt_type): Move from..
1110         * elf32-ppc.c: ..here.
1111         (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1112         (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
1113         can_use_new_plt.  Make is_vxworks a bitfield.
1114         (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1115         (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
1116         (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
1117         flags to better detect object files needing old bss-style plt.
1118         Allow secure plt to be used without rel16 relocs being detected.
1119         Warn if secure plt request cannot be allowed.
1120
1121 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1122
1123         * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1124         * elf-bfd.h (struct elf_backend_data): Change return type of
1125         elf_backend_relocate_section to int.
1126         * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1127         R_SPU_PPU64.
1128         (spu_elf_bfd_to_reloc_type): Convert new relocs.
1129         (spu_elf_count_relocs): New function.
1130         (elf_backend_count_relocs): Define.
1131         (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1132         R_SPU_PPU64 relocs.
1133         * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1134         returns 2.
1135         * bfd-in2.h: Regenerate.
1136         * libbfd.h: Regenerate.
1137
1138 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1139
1140         * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1141         for R_ARM_ABS12 relocs.
1142         (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1143         non-shared VxWorks PLT entries.
1144
1145 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1146
1147         PR 4454
1148         * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1149         (_bfd_elf_discard_section_eh_frame): Handle local syms on
1150         personality relocation.
1151
1152 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1153
1154         * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1155         rather than p_filesz to calculate the LMA of the end of a segment.
1156
1157 2007-05-10  Jakub Jelinek  <jakub@redhat.com>
1158
1159         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1160         processing if symbol is defined in the executable.
1161
1162 2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
1163
1164         * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1165         (frvfdpic_elf_discard_info): New.
1166         (elf_backend_discard_info): Define for FDPIC.
1167
1168 2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
1169
1170         * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1171         attempt to scan if the bfd doesn't correspond to an ELF image.
1172         (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1173
1174 2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
1175
1176         * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1177         for which _bfd_elf_section_offset returns -1.
1178
1179 2007-05-08  Alan Modra  <amodra@bigpond.net.au>
1180
1181         * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1182         (mark_functions_via_relocs): Likewise.
1183
1184 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1185
1186         * elflink.c (bfd_elf_final_link): Correct reloc handling for
1187         elf_backend_count_relocs.
1188         (bfd_elf_discard_info): Print an error if we can't read syms.
1189
1190 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1191
1192         * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1193         invalid reloc code.
1194         (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1195         (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1196         define.
1197
1198 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1199
1200         * elf.c (assign_file_positions_for_load_sections): Don't check
1201         core segment.
1202
1203 2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
1204
1205         * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1206         and .rel.dyn aren't present.
1207
1208 2007-05-04  Nick Clifton  <nickc@redhat.com>
1209
1210         * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1211         sections are present examine the indirect sections in an attempt
1212         to compute the correct relocation size.  If there is any
1213         ambiguity, produce an error and refuse to sort.
1214
1215 2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
1216
1217         * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1218
1219 2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
1220             Nick Clifton  <nickc@redhat.com>
1221
1222         PR gas/3041
1223         * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1224         in the same way as relocs against external symbols.
1225
1226 2007-05-02  Alan Modra  <amodra@bigpond.net.au>
1227
1228         * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1229         here.  Set sh_type to SHT_NOBITS if we won't be allocating
1230         file space.  Don't bump p_memsz for non-alloc sections.  Adjust
1231         section-in-segment check.
1232         (assign_file_positions_for_non_load_sections): Don't set sh_offset
1233         here for sections that have already been handled above.
1234
1235 2007-04-30  Alan Modra  <amodra@bigpond.net.au>
1236
1237         * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1238         and emit_stack_syms bitfields.
1239         (get_sym_h): Read all symbols if stack analysis will be done.
1240         (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1241         params, and stash in hash table.
1242         (is_hint): Split off from..
1243         (is_branch): ..here.  Adjust callers.
1244         (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
1245         and keep all syms.
1246         (write_one_stub): Fix mem leak.
1247         (find_function_stack_adjust): New function.
1248         (sort_syms_syms, sort_syms_psecs): New vars.
1249         (sort_syms): New function.
1250         (struct call_info, struct function_info): New.
1251         (struct spu_elf_stack_info): New.
1252         (alloc_stack_info, maybe_insert_function, func_name): New functions.
1253         (is_nop, insns_at_end, check_function_ranges): Likewise.
1254         (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1255         (pasted_function, interesting_section, discover_functions): Likewise.
1256         (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1257         (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1258         (bfd_elf32_bfd_final_link): Define.
1259         * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1260         (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1261
1262 2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
1263
1264         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1265         memory which we might not own.
1266
1267 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1268
1269         * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1270         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1271         (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1272
1273 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1274
1275         * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1276         contents and relocs in parallel.
1277
1278 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1279
1280         * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1281
1282 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1283
1284         * cpu-rs6000.c: Write Mimi's name in ASCII.
1285         * coff-rs6000.c: Likewise.
1286         * rs6000-core.c: Likewise.
1287
1288 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1289
1290         * sysdep.h: Include config.h first.
1291         Many files: Include sysdep.h before bfd.h.
1292         * Makefile.am: Run "make dep-am".
1293         * Makefile.in: Regenerate.
1294
1295 2007-04-25  Alan Modra  <amodra@bigpond.net.au>
1296
1297         * sysdep.h: Revert last change.
1298
1299 2007-04-24  Nick Clifton  <nickc@redhat.com>
1300
1301         * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1302         * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1303
1304 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1305
1306         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1307         eh_frame_hdr table won't be created.
1308
1309 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1310
1311         * acinclude.m4: Include config/stdint.m4.
1312         * configure.in: Invoke GCC_HEADER_STDINT.
1313         * sysdep.h: Don't include ansidecl.h here.
1314         * configure: Regenerate.
1315         * config.in: Regenerate.
1316         * Makefile.in: Regenerate.
1317
1318 2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
1319
1320         * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1321         bfd_mach_mcf_isa_c_emac): New.
1322         * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1323         elf_isac_plt_entry, elf_isac_plt_info): New.
1324         (elf32_m68k_object_p): Add ISA_C.
1325         (elf32_m68k_print_private_bfd_data): Print ISA_C.
1326         (elf32_m68k_get_plt_info): Detect ISA_C.
1327         * cpu-m68k.c (arch_info): Add ISAC.
1328         (m68k_arch_features): Likewise,
1329         (bfd_m68k_compatible): ISAs B & C are not compatible.
1330
1331 2007-04-21  Nick Clifton  <nickc@redhat.com>
1332
1333         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1334         (ecoff_link_add_archive_symbols): Likewise.
1335         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1336         relent.howto.
1337         * ieee.c (parse_int): Initialise x.
1338         (must_parse_int): Initialise result.
1339         (ieee_slurp_external_symbols): Initialise value.
1340
1341 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
1342
1343         * config.bfd (spu-*-elf): Delete targ_selvecs.
1344
1345 2007-04-19  Nick Clifton  <nickc@redhat.com>
1346
1347         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1348
1349 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
1350
1351         * bfd.c (bfd_demangle): New function.
1352         * Makefile.am: Run "make dep-am".
1353         * Makefile.in: Regenerate.
1354         * bfd-in2.h: Regenerate.
1355
1356 2007-04-18  Matthias Klose  <doko@ubuntu.com>
1357
1358         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1359         (bfdver.h): Use the date in non-release builds for the soversion.
1360         * Makefile.in: Regenerate.
1361
1362 2007-04-17  Paul Brook  <paul@codesourcery.com>
1363
1364         * elf.c (_bfd_elf_is_function_type): New function.
1365         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1366         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1367         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1368         * elf-bfd.h (elf_backend_data): Add is_function_type.
1369         (_bfd_elf_is_function_type): Add prototype.
1370         * elfxx-target.h (elf_backend_is_function_type): Add default
1371         definition.
1372         (elfNN_bed): Add elf_backend_is_function_type.
1373         * elf32-arm.c (elf32_arm_is_function_type): New function.
1374         (elf_backend_is_function_type): Define.
1375
1376 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
1377
1378         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1379         DT_MIPS_RLD_MAP before DT_DEBUG again.
1380
1381 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
1382
1383         * Makefile.am: Add ACLOCAL_AMFLAGS.
1384         * configure.in: Change macro call order.
1385         * Makefile.in: Regnerate.
1386         * doc/Makefile.in: Regenerate.
1387         * configure: Regenerate.
1388
1389 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
1390
1391         * elflink.c (bfd_elf_final_link): Don't free symbuf for
1392         non-elf input bfds.
1393         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1394         for non-elf input bfds.
1395
1396 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1397
1398         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1399         DT_MIPS_RTLD_MAP for PIEs.
1400
1401 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1402
1403         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1404         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1405         in a read-only section.
1406         (_bfd_mips_elf_check_relocs): Likewise.
1407
1408 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
1409
1410         * elf32-xtensa.c (xtensa_is_insntable_section): New.
1411         (xtensa_is_proptable_section): New.
1412         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1413         tables with 12-byte entries, as well as tables with 8-byte entries.
1414         Sort the relocations before examining them.
1415         (relax_property_section): Use xtensa_is_proptable_section and
1416         xtensa_is_littable_section.  Rewrite code for combining table entries
1417         to be more robust in case of unexpected relocations.  Do not set offset
1418         of unused relocations to less than zero.
1419         (xtensa_is_property_section): Use other functions instead of
1420         duplicating section name comparisons.
1421         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1422         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
1423
1424 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
1425
1426         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
1427         from Xtensa property sections.
1428
1429 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
1430
1431         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
1432         is non-NULL before dereferencing.
1433
1434 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
1435
1436         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
1437         relocs too.
1438
1439 2007-04-10  Richard Henderson  <rth@redhat.com>
1440
1441         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
1442         (elf64_alpha_size_got_sections): Remove unused something_changed local.
1443         (elf64_alpha_size_plt_section): Return void.
1444         (elf64_alpha_size_rela_got_section): Likewise.
1445         (elf64_alpha_relax_section): Only regenerate got+plt if the
1446         relax_trip counter has changed.
1447
1448 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
1449
1450         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
1451         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
1452         (bfdver.texi): New rule.
1453         * Makefile.in, doc/Makefile.in: Regenerated.
1454
1455 2007-04-03  Matt Thomas  <matt@netbsd.org>
1456
1457         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
1458         in a shared object if it is not in a CODE section or if it is against
1459         a section symbol.  This allows DWARF2 to use pcrel format.
1460
1461 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
1462
1463         PR ld/4304
1464         * elflink.c (bfd_elf_final_link): Call einfo callback in
1465         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
1466         warning.
1467
1468 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
1469
1470         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
1471         (elf_backend_link_output_symbol_hook): Define.
1472
1473 2007-04-02  Nick Clifton  <nickc@redhat.com>
1474
1475         PR binutils/4292
1476         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
1477         targets as 64-bit values, even if running on a 64-bit host.
1478         * coffgen.c (coff_print_symbol): Likewise.
1479
1480 2007-03-29  Nick Clifton  <nickc@redhat.com>
1481
1482         PR binutils/4110
1483         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
1484         (setup_group): Use it.  Report corrupt group section headers.
1485         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
1486         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
1487         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
1488
1489 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
1490
1491         PR ld/4267
1492         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
1493         for rel->r_info values.
1494         (bfd_elf_perform_complex_relocation): Likewise.
1495         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
1496         unused entries.  Don't clear plt.plist in loop.
1497
1498 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
1499
1500         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
1501         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
1502         Merge into...
1503         (sparc_elf_append_rela): ...this new function.
1504         (SPARC_ELF_APPEND_RELA): Delete.
1505         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
1506         the deleted append_rela field.
1507         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
1508         instead of SPARC_ELF_APPEND_RELA.
1509         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
1510         elf_size_info structure to find the size of a RELA entry and
1511         the associated swap-out function.
1512         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
1513         (sparc_finish_dyn): ...this new function.
1514         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
1515
1516 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
1517             Phil Edwards  <phil@codesourcery.com>
1518
1519         * doc/bfd.texinfo: Put the contents after the title page rather
1520         than at the end of the document.
1521
1522 2007-03-27  Andreas Schwab  <schwab@suse.de>
1523
1524         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
1525
1526 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
1527
1528         * configure: Regenerated.
1529
1530 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
1531
1532         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
1533         (allocate_spuear_stubs): New function.
1534         (spu_elf_size_stubs): Call allocate_spuear_stubs.
1535
1536 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
1537
1538         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
1539         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
1540         (MY (bfd_reloc_name_lookup)): New function.
1541         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
1542         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
1543         (MY_bfd_reloc_name_lookup): Define.
1544         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
1545         (MY_bfd_reloc_name_lookup): Define.
1546         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
1547         (NAME (aout, reloc_name_lookup)): New function.
1548         * bout.c (b_out_bfd_reloc_name_lookup): New function.
1549         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
1550         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1551         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
1552         (coff_bfd_reloc_name_lookup): Define.
1553         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
1554         (coff_i386_reloc_name_lookup): New function.
1555         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
1556         (coff_bfd_reloc_name_lookup): Define.
1557         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
1558         (coff_bfd_reloc_name_lookup): Define.
1559         * coff-m68k.c (m68k_reloc_name_lookup): New function.
1560         (coff_bfd_reloc_name_lookup): Define.
1561         * coff-maxq.c (maxq_reloc_name_lookup): New function.
1562         (coff_bfd_reloc_name_lookup): Define.
1563         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
1564         (coff_bfd_reloc_name_lookup): Define.
1565         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
1566         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
1567         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
1568         (coff_bfd_reloc_name_lookup): Define.
1569         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1570         (_bfd_xcoff_reloc_name_lookup): New function.
1571         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
1572         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
1573         (sh_coff_reloc_name_lookup): New function.
1574         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
1575         (coff_bfd_reloc_name_lookup): Define.
1576         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
1577         (tic30_coff_reloc_name_lookup): New function.
1578         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
1579         (tic4x_coff_reloc_name_lookup): New function.
1580         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
1581         (tic54x_coff_reloc_name_lookup): New function.
1582         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
1583         (coff_amd64_reloc_name_lookup): New function.
1584         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
1585         (coff_bfd_reloc_name_lookup): Define.
1586         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
1587         (coff_bfd_reloc_name_lookup): Define.
1588         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
1589         (xcoff64_reloc_name_lookup): New function.
1590         (rs6000coff64_vec, aix5coff64_vec): Init new field.
1591         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
1592         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
1593         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1594         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1595         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1596         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
1597         (bfd_elf32_bfd_reloc_name_lookup): Define.
1598         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1599         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
1600         (bfd_elf32_bfd_reloc_name_lookup): Define.
1601         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
1602         (bfd_elf32_bfd_reloc_name_lookup): Define.
1603         * elf32-cris.c (cris_reloc_name_lookup): New function.
1604         (bfd_elf32_bfd_reloc_name_lookup): Define.
1605         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
1606         (bfd_elf32_bfd_reloc_name_lookup): Define.
1607         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1608         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1609         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
1610         (bfd_elf32_bfd_reloc_name_lookup): Define.
1611         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
1612         (bfd_elf32_bfd_reloc_name_lookup): Define.
1613         * elf32-frv.c (frv_reloc_name_lookup): New function.
1614         (bfd_elf32_bfd_reloc_name_lookup): Define.
1615         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1616         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
1617         (bfd_elf32_bfd_reloc_name_lookup): Define.
1618         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1619         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
1620         (bfd_elf32_bfd_reloc_name_lookup): Define.
1621         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
1622         (bfd_elf32_bfd_reloc_name_lookup): Define.
1623         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
1624         (bfd_elf32_bfd_reloc_name_lookup): Define.
1625         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
1626         (bfd_elf32_bfd_reloc_name_lookup): Define.
1627         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
1628         (bfd_elf32_bfd_reloc_name_lookup): Define.
1629         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
1630         (bfd_elf32_bfd_reloc_name_lookup): Define.
1631         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
1632         (bfd_elf32_bfd_reloc_name_lookup): Define.
1633         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1634         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1635         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1636         * elf32-m68k.c (reloc_name_lookup): New function.
1637         (bfd_elf32_bfd_reloc_name_lookup): Define.
1638         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1639         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
1640         (bfd_elf32_bfd_reloc_name_lookup): Define.
1641         * elf32-mep.c (mep_reloc_name_lookup): New function.
1642         (bfd_elf32_bfd_reloc_name_lookup): Define.
1643         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1644         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
1645         (bfd_elf32_bfd_reloc_name_lookup): Define.
1646         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1647         * elf32-mt.c (mt_reloc_name_lookup): New function.
1648         (bfd_elf32_bfd_reloc_name_lookup): Define.
1649         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
1650         (bfd_elf32_bfd_reloc_name_lookup): Define.
1651         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1652         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
1653         (bfd_elf32_bfd_reloc_name_lookup): Define.
1654         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
1655         (bfd_elf32_bfd_reloc_name_lookup): Define.
1656         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
1657         (bfd_elf32_bfd_reloc_name_lookup): Define.
1658         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
1659         (bfd_elf32_bfd_reloc_name_lookup): Define.
1660         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
1661         (bfd_elf32_bfd_reloc_name_lookup): Define.
1662         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
1663         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
1664         (bfd_elf32_bfd_reloc_name_lookup): Define.
1665         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
1666         (bfd_elf32_bfd_reloc_name_lookup): Define.
1667         * elf32-vax.c (reloc_name_lookup): New function.
1668         (bfd_elf32_bfd_reloc_name_lookup): Define.
1669         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
1670         (bfd_elf32_bfd_reloc_name_lookup): Define.
1671         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
1672         (bfd_elf32_bfd_reloc_name_lookup): Define.
1673         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
1674         (bfd_elf32_bfd_reloc_name_lookup): Define.
1675         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
1676         (bfd_elf64_bfd_reloc_name_lookup): Define.
1677         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1678         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1679         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1680         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
1681         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
1682         (bfd_elf64_bfd_reloc_name_lookup): Define.
1683         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
1684         (bfd_elf64_bfd_reloc_name_lookup): Define.
1685         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
1686         (bfd_elf64_bfd_reloc_name_lookup): Define.
1687         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
1688         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
1689         (bfd_elf64_bfd_reloc_name_lookup): Define.
1690         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
1691         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
1692         (bfd_elfNN_bfd_reloc_name_lookup): Define.
1693         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
1694         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
1695         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
1696         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
1697         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
1698         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
1699         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
1700         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
1701         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
1702         (MY(reloc_name_lookup)): New function.
1703         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
1704         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
1705         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
1706         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
1707         (coff_bfd_reloc_name_lookup): Define.
1708         * reloc.c (bfd_reloc_name_lookup): New function.
1709         * riscix.c (riscix_reloc_name_lookup): New function.
1710         (MY_bfd_reloc_name_lookup): Define.
1711         * som.c (som_bfd_reloc_name_lookup): New function.
1712         * targets.c (struct bfd_target): Add reloc_name_lookup.
1713         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
1714         * versados.c (versados_bfd_reloc_name_lookup): Define.
1715         * vms.c (vms_bfd_reloc_name_lookup): New function.
1716         * bfd-in2.h: Regenerate.
1717         * libbfd.h: Regenerate.
1718
1719 2007-03-26  Thiemo Seufer  <ths@mips.com>
1720
1721         PR ld/4208
1722         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
1723         matching relocation is found.
1724         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
1725
1726 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
1727
1728         * configure: Regenerated.
1729
1730 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
1731
1732         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
1733         * configure: Regenerate.
1734
1735 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
1736
1737         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
1738         Remove input_sec param.  Adjust all calls.
1739         (write_one_stub): Adjust stub symbol.
1740         (needs_ovl_stub): New function, extracted from..
1741         (spu_elf_size_stubs): ..here.
1742         (spu_elf_relocate_section): Use needs_ovl_stub.
1743
1744 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
1745
1746         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
1747         if nonempty.
1748         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
1749         * Makefile.in, configure, doc/Makefile.in: Regenerate.
1750
1751 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1752
1753         PR ld/4210
1754         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
1755         address and virtual size of the last section for the image
1756         size.
1757
1758 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1759
1760         PR ld/4007
1761         * elf.c (assign_file_positions_for_load_sections): Check if
1762         all sections are in the segment.
1763
1764 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
1765
1766         PR ld/4208
1767         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
1768         matching LO16 relocation for HI16 relocation.
1769
1770 2007-03-20  Paul Brook  <paul@codesourcery.com>
1771
1772         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
1773         * bfd-in2.h: Regenerate.
1774         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
1775         (record_arm_to_thumb_glue): Use globals->pic_veneer.
1776         (elf32_arm_create_thumb_stub): Ditto.
1777         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
1778
1779 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
1780
1781         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
1782         argument and extra last argument.
1783         * bfd-in2.h: Regenerate.
1784         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
1785         member.
1786         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
1787         extra last argument.  Set no_enum_size_warning appropriately.
1788         (elf32_arm_merge_eabi_attributes): Improve enum sizes
1789         diagnostic, suppressing it when no_enum_size_warning dictates.
1790
1791 2007-03-20  Nick Clifton  <nickc@redhat.com>
1792
1793         PR binutils/3535
1794         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
1795         specific conditions that need the program headers to be
1796         rewritten.
1797
1798 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
1799
1800         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
1801         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1802         SizeOfInitializedData, SizeOfUninitializedData,
1803         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
1804         extra PE a.out header.
1805         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
1806         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
1807         defined.
1808         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
1809         defined.
1810         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
1811         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
1812         SizeOfInitializedData, SizeOfUninitializedData,
1813         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
1814         extra PE a.out header.
1815
1816 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1817
1818         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
1819         only if BFD64 is defined.
1820
1821 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
1822
1823         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
1824         on setjmp calls.
1825
1826 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1827
1828         * doc/Makefile.in: Regenerated.
1829
1830 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1831
1832         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
1833         create doc/bfdver.texi.
1834         * Makefile.in: Regenerated.
1835
1836         * configure.in (--with-bugurl): New option.
1837         * configure: Regenerated.
1838
1839         * version.h (REPORT_BUGS_TO): New.
1840
1841 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
1842
1843         PR binutils/3826
1844         * elf-bfd.h (elf_backend_data): Add elf_osabi.
1845         (_bfd_elf_set_osabi): New.
1846
1847         * elf.c (_bfd_elf_set_osabi): New.
1848
1849         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
1850         (elf_backend_post_process_headers): Defined with
1851         _bfd_elf_set_osabi.
1852         (ELF_OSABI): Properly defined for each target.
1853
1854         * elf32-i370.c (i370_elf_post_process_headers): Removed.
1855         (ELF_OSABI): Defined.
1856         (elf_backend_post_process_headers): Defined with
1857         _bfd_elf_set_osabi.
1858
1859         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1860         freebsd.
1861         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
1862
1863         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
1864         (ELF_OSABI): Defined.
1865         (elf_backend_post_process_headers): Defined with
1866         _bfd_elf_set_osabi.
1867
1868         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
1869         freebsd.
1870         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
1871         elf_osabi.
1872
1873         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
1874         with elf_osabi.
1875         (ELF_OSABI): Properly defined for each target.
1876         (elf_backend_post_process_headers): Defined with
1877         _bfd_elf_set_osabi for Linux.
1878
1879         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
1880         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1881         (elf_backend_post_process_headers): Defined with
1882         _bfd_elf_set_osabi.
1883
1884         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
1885         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
1886         (elf_backend_post_process_headers): Defined with
1887         _bfd_elf_set_osabi.
1888
1889         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
1890         with any ELF target of the compatible machine for which we do not
1891         have a specific backend.
1892
1893         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
1894         with elf_osabi.
1895
1896         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
1897         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
1898
1899 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
1900
1901         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
1902         V850_OTHER_* bits.
1903
1904 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
1905
1906         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
1907         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
1908         Run "make dep-am".
1909         * Makefile.in: Regenerate.
1910         * po/SRC-POTFILES.in: Regenerate.
1911
1912 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
1913
1914         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
1915         (x86_64-*-kfreebsd*-gnu): Likewise.
1916         (x86_64-*-netbsd*): Likewise.
1917         (x86_64-*-openbsd*): Likewise.
1918         (x86_64-*-linux-*): Likewise.
1919
1920         * configure.in: Support bfd_efi_app_x86_64_vec.
1921         * configure: Regenerated.
1922
1923         * efi-app-x86_64.c: New file.
1924
1925         * targets.c (bfd_efi_app_x86_64_vec): New.
1926         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1927
1928 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
1929
1930         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
1931         const for type reloc_howto_type.
1932
1933 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
1934
1935         PR 3958
1936         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1937         (elf_discarded_section): Move..
1938         * bfd-in.h: ..to here.
1939         * bfd-in2.h: Regenerate.
1940         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1941         from discarded sections before relocate_section has done its job.
1942         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
1943         relocs against symbols from discarded sections.
1944         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
1945         SECREL32.
1946         (elf_hppa_relocate_section): Handle relocatable link after setting
1947         sec, sym, h etc. for final link.  Squash error messages for
1948         relocatable link.  Clear section contents for relocs against
1949         symbols in discarded sections, and zero reloc.  Remove existing
1950         zero r_symndx code.
1951         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1952         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1953         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1954         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1955         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1956         (bfin_relocate_section): Likewise.
1957         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1958         * elf32-cris.c (cris_elf_relocate_section): Likewise.
1959         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1960         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1961         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1962         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1963         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1964         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1965         * elf32-i370.c (i370_elf_relocate_section): Likewise.
1966         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1967         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1968         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1969         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1970         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1971         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1972         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1973         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1974         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1975         * elf32-mep.c (mep_elf_relocate_section): Likewise.
1976         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1977         * elf32-mt.c (mt_elf_relocate_section): Likewise.
1978         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1979         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1980         * elf32-s390.c (elf_s390_relocate_section): Likewise.
1981         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
1982         * elf32-sh.c (sh_elf_relocate_section): Likewise.
1983         * elf32-spu.c (spu_elf_relocate_section): Likewise.
1984         * elf32-v850.c (v850_elf_relocate_section): Likewise.
1985         * elf32-vax.c (elf_vax_relocate_section): Likewise.
1986         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1987         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1988         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1989         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1990         (elf64_alpha_relocate_section): Likewise.
1991         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1992         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1993         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1994         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1995         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1996         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1997         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1998         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1999
2000         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
2001         symbols for relocatable link.  Don't use always-zero st_value.
2002         (elf_backend_rela_normal): Don't define.
2003         * elf32-bfin.c (bfinfdpic_relocate_section): Use
2004         RELOC_FOR_GLOBAL_SYMBOL.
2005         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2006         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2007         section symbol adjustments with same for relocatable link.
2008         * elf32-i386.c (elf_i386_relocate_section): Likewise.
2009         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2010         (elf32_m68hc11_check_relocs): ..to here.
2011         * elf32-score.c (score_elf_final_link_relocate): Remove zero
2012         r_symndx code.
2013         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2014
2015 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2016
2017         PR 4144
2018         * elf.c (assign_file_positions_for_load_sections): Don't
2019         adjust p_memsz for !SEC_LOAD section vma modulo page size.
2020         Instead, use the same lma based adjustment for SEC_LOAD
2021         sections.
2022
2023 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
2024
2025         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2026         (find_relaxable_sections): Do not increment src_count for unknown
2027         opcodes.  Decode only once instead of calling is_l32r_relocation.
2028         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
2029         src_next matches src_count in relax_info.
2030
2031 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
2032
2033         * Makefile.am (bfdver.h): Use "." not " " between version number
2034         and date.
2035         * Makefile.in: Regenerate.
2036         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2037         * configure: Regenerate.
2038
2039 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
2040
2041         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2042
2043 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
2044
2045         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2046         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
2047
2048 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
2049
2050         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2051         DWARF even with 64-bit addresses.
2052         (_bfd_dwarf2_find_nearest_line): Likewise.
2053
2054 2007-02-23  Nick Clifton  <nickc@redhat.com>
2055
2056         PR binutils/3535
2057         * elf.c (copy_private_bfd_data): Always rewrite the program
2058         headers when a Solaris interpreter segment is involved.
2059
2060 2007-02-22  Paul Brook  <paul@codesourcery.com>
2061
2062         * elflink.c (gc_mark_hook_fn): Remove.
2063         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2064         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
2065         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2066         (elf_backend_data): Add gc_mark_extra_sections.
2067         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2068         definition.
2069         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2070         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2071         (elf_backend_gc_mark_extra_sections): Define.
2072
2073 2007-02-21  Nick Clifton  <nickc@redhat.com>
2074
2075         * elf.c (_bfd_elf_map_sections_to_segments): If the
2076         override_segment_assignment callback is defined then call it.
2077
2078 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
2079
2080         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2081
2082 2007-02-19  Thiemo Seufer  <ths@mips.com>
2083
2084         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2085         translation marker from untranslatable strings.
2086
2087 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
2088
2089         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2090         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2091         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2092         (elfNN_bed): Init new field.
2093         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2094
2095 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
2096             Nathan Sidwell  <nathan@codesourcery.com>
2097             Vladimir Prus  <vladimir@codesourcery.com
2098             Joseph Myers  <joseph@codesourcery.com>
2099
2100         * configure.in (--with-pkgversion): New option.
2101         * configure: Regenerate.
2102         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2103         * Makefile.in: Regenerate.
2104         * version.h (BFD_VERSION_STRING): Define using
2105         @bfd_version_package@.
2106
2107 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
2108
2109         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2110         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2111         and EF_MIPS_UCODE.
2112
2113 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
2114
2115         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2116         declare.
2117         (_bfd_norelocs_canonicalize_reloc): Likewise.
2118         * libbfd.h: Regenerate.
2119         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2120         (_bfd_norelocs_canonicalize_reloc): Likewise.
2121         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2122         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2123         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2124         * ihex.c: Similarly.
2125         * mach-o-target.c: Similarly.
2126         * mach-o.c: Similarly.
2127         * mmo.c: Similarly.
2128         * pef.c: Similarly.
2129         * ppcboot.c: Similarly.
2130         * srec.c: Similarly.
2131         * xsym.c: Similarly.
2132
2133 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
2134
2135         PR ld/3953
2136         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2137         when adding default symbol.
2138
2139 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
2140
2141         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2142         for branch lookup table.
2143
2144 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2145
2146         * elf64-ppc.c (create_linkage_sections): Don't create
2147         .rela.rodata.brlt for --emit-relocs.
2148         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2149         (ppc_size_one_stub): Count them.  Simplify test of stub type
2150         when counting stub relocs.  Set SEC_RELOC too.
2151         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2152         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2153
2154 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2155
2156         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2157         with a zero symbol index.
2158
2159 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2160
2161         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2162
2163 2007-02-05  Dave Brolley  <brolley@redhat.com>
2164             Stan Cox  <scox@redhat.com>
2165
2166         PR ld/3972
2167         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2168
2169 2007-02-05  Dave Brolley  <brolley@redhat.com>
2170             Richard Sandiford  <rsandifo@redhat.com>
2171             Stan Cox  <scox@redhat.com>
2172             Nick Clifton  <nickc@redhat.com>
2173             DJ Delorie  <dj@redhat.com>
2174             Frank Ch. Eigler  <fche@redhat.com>
2175             Ben Elliston  <bje@redhat.com>
2176             Richard Henderson  <rth@redhat.com>
2177
2178         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2179         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2180         (BFD32_BACKENDS): Add elf32-mep.lo.
2181         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2182         (cpu-mep.lo,elf32-mep.lo): New targets.
2183         * archures.c (bfd_arch_mep): New enumerator.
2184         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2185         (bfd_mep_arch): New external variable.
2186         (bfd_archures_list): Add bfd_mep_arch.
2187         * config.bfd: Support mep-*-elf.
2188         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2189         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2190         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2191         declarations.
2192         (_bfd_target_vector): Add bfd_elf32_mep_vec and
2193         bfd_elf32_mep_little_vec.
2194         * mep-relocs.pl: New file.
2195         * cpu-mep.c: New file.
2196         * elf32-mep.c: New file.
2197         * bfd-in2.h: Regenerate.
2198         * po/POTFILES.in: Regenerate.
2199         * libbfd.h: Regenerate.
2200         * Makefile.in: Regenerate.
2201         * configure: Regenerate.
2202
2203 2007-02-05  Dave Brolley  <brolley@redhat.com>
2204
2205         * elflink.c (evaluate_complex_relocation_symbols): Check for
2206         STT_SRELC for global symbols.
2207         (perform_complex_relocations): Renamed to
2208         perform_complex_relocation and now examines only one relocation.
2209         (elf_link_input_bfd): Don't call perform_complex_relocations.
2210         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2211         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2212         (OD,OS,OU): #undefs corrected to N, S and U repectively.
2213         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2214         (complex_reloc_installation_howto): Removed.
2215         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2216         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2217
2218 2007-02-05  Dave Brolley  <brolley@redhat.com>
2219             Richard Sandiford  <rsandifo@redhat.com>
2220             DJ Delorie  <dj@redhat.com>
2221             Graydon Hoare  <graydon@redhat.com>
2222             Nick Clifton  <nickc@cambridge.redhat.com>
2223             Jeff Holcomb  <jeffh@redhat.com>
2224             Frank Ch. Eigler  <fche@redhat.com>
2225
2226         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2227         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2228         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2229         * elflink.c (set_symbolValue): New static function.
2230         (resolve_symbol): Likewise.
2231         (resolve_section): Likewise.
2232         (undefined_reference): Likewise.
2233         (eval_symbol): Likewise.
2234         (evaluate_complex_relocation_symbols): Likewise.
2235         (put_value): Likewise.
2236         (get_value): Likewise.
2237         (decode_complex_addend):
2238         (bfd_elf_perform_complex_relocation): New function.
2239         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2240         * reloc.c (BFD_RELOC_RELC): New relocation number.
2241         * syms.c (BSF_RELC,BSF_SRELC): New macros.
2242
2243 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2244
2245         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2246         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2247         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2248         (elf_xtensa_allocate_got_size): Replace these with...
2249         (elf_xtensa_allocate_dynrelocs): ...this new function.
2250         (elf_xtensa_size_dynamic_sections): Use it.
2251
2252 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2253
2254         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2255         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2256         Set src_mask to zero.
2257         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
2258         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2259
2260 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2261
2262         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2263         (elf_xtensa_dynamic_symbol_p): ...this.
2264
2265 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2266
2267         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2268         (struct elf_xtensa_link_hash_table): New.
2269         (elf_xtensa_hash_table): New.
2270         (elf_xtensa_link_hash_table_create): New.
2271         (elf_xtensa_check_relocs): Update plt_reloc_count references.
2272         Update arguments to add_extra_plt_sections.
2273         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2274         table.  Update for plt_reloc_count and add_extra_plt_sections.
2275         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2276         argument with link info.  Update calls to elf_xtensa_get_plt_section
2277         and elf_xtensa_get_gotplt_section.
2278         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2279         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2280         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2281         (relax_property_section): Get sections from the hash table and update
2282         function calls.
2283         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2284         dynobj argument with link info.  Get sections for first plt chunk from
2285         the hash table.
2286         (bfd_elf32_bfd_link_hash_table_create): Define.
2287
2288 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
2289
2290         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2291         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2292         (struct elf_symbol): Change first member into union.
2293         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2294         internal syms.  Only compare st_shndx fields.
2295         (elf_create_symbuf): New function.
2296         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
2297         for bfds, use a binary search, otherwise don't qsort symbols
2298         unnecessarily only to select which symbols are for the particular
2299         shndx.
2300
2301 2007-02-01  Nick Clifton  <nickc@redhat.com>
2302
2303         PR ld/3852
2304         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2305         in the elf_link_hash_table structure.
2306
2307 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
2308
2309         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2310         * elfxx-target.h (elf_backend_write_core_note): Define and use.
2311         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
2312         32-bit core note on 64-bit target.
2313         (elfcore_write_prstatus): Likewise.
2314         (elfcore_write_lwpstatus): Make note_name const.
2315         (elfcore_write_prfpreg): Likewise.
2316         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2317         target.
2318         * elf32-ppc.c (ppc_elf_write_core_note): New function.
2319         (elf_backend_write_core_note): Define.
2320         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2321         (elf_backend_write_core_note): Define.
2322
2323 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
2324
2325         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2326         (elf32_bed): Defined for elf32-us-cris.
2327
2328         * elf64-sh64.c (elf64_bed): Defined for Linux.
2329         (INCLUDED_TARGET_FILE): Removed.
2330
2331         * elfxx-target.h (elfNN_bed): Always define. Don't check
2332         INCLUDED_TARGET_FILE.
2333
2334 2007-01-31  DJ Delorie  <dj@redhat.com>
2335
2336         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2337         message for dangerous relocs, special case the common user error.
2338
2339 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2340
2341         * elf.c (copy_elf_program_header): Start from the first section
2342         in a segment and stop when all sections in a segment are
2343         accounted for.
2344
2345 2007-01-29  Julian Brown  <julian@codesourcery.com>
2346
2347         * bfd-in2.h: Regenerate.
2348         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2349         instruction scanning should be done.
2350         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2351         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2352         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2353         prototype.
2354         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2355         argument.
2356         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2357         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2358         (elf32_vfp11_erratum_type): New enum.
2359         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2360         veneers.
2361         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2362         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2363         vfp11_fix and num_vfp11_fixes fields.
2364         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2365         vfp11_erratum_glue_size, num_vfp11_fixes fields.
2366         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2367         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2368         glue section.
2369         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2370         to a section's map.
2371         (record_vfp11_erratum_veneer): Create a single veneer, and its
2372         associated symbols.
2373         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2374         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2375         BFDs.
2376         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2377         required.
2378         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2379         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2380         (bfd_arm_vfp11_write_mask): Update write mask according to coded
2381         register number.
2382         (bfd_arm_vfp11_antidependency): New function.
2383         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2384         (elf32_arm_compare_mapping): Declare.
2385         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2386         BFD for potential erratum-triggering insns. Record results.
2387         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2388         and branches to veneers have been placed in virtual memory after
2389         layout.
2390         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2391         hash table.
2392         (elf32_arm_output_symbol_hook): Remove.
2393         (elf32_arm_write_section): Output veneers, and branches to veneers.
2394         Use maps from input sections, not output sections, for code
2395         byte-swapping.
2396         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2397         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2398         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2399         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2400
2401 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2402
2403         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2404         (INCLUDED_TARGET_FILE): Removed.
2405
2406 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
2407
2408         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2409         (INCLUDED_TARGET_FILE): Remove.
2410
2411 2007-01-25  DJ Delorie  <dj@redhat.com>
2412
2413         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2414         R_M32C_16 or R_M32C_24 relocs.
2415
2416 2007-01-25  Nick Clifton  <nickc@redhat.com>
2417
2418         PR binutils/3874
2419         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2420         hash table was created by elf32_avr_link_hash_table_create before
2421         using it.
2422         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
2423         through to _bfd_elf_link_hash_newfunc.
2424         (elf32_avr_link_hash_table_create): Use
2425         elf32_avr_link_hash_newfunc instead of
2426         _bfd_elf_link_hash_newfunc.
2427         (elf32_avr_relocate_section): Check for the hash table pointer
2428         being NULL.
2429         (elf32_avr_relax_section, avr_build_one_stub,
2430         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
2431         elf32_avr_build_stubs): Likewise.
2432
2433 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
2434
2435         PR ld/3831
2436         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
2437         argument, Elf_Internal_Sym *.
2438
2439         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
2440         symbol dynamic if info->dynamic_data is TRUE.
2441         (bfd_elf_record_link_assignment): Updated call to
2442         bfd_elf_record_link_assignment.
2443         (_bfd_elf_merge_symbol): Likewise.  Always call
2444         bfd_elf_link_mark_dynamic_symbol.
2445
2446 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
2447
2448         * Makefile.am (BFD_LIBS): Removed.
2449         * Makefile.in: Regenerated.
2450
2451 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2452
2453         PR binutils/3631
2454         * Makefile.am (OFILES): Add @bfd64_libs@.
2455         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
2456         * Makefile.in: Regenerated.
2457
2458         * configure.in (bfd_libs): Replaced by ...
2459         (bfd64_libs): This.
2460         * configure: Regenerated.
2461
2462 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
2463
2464         * elf.c (assign_file_positions_for_load_sections): We can
2465         require fewer phdrs than expected.
2466
2467 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
2468
2469         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
2470         * bfd-in2.h: Regenerate.
2471         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
2472         bfd_mach_cpu32_fido.
2473         (m68k_arch_features): Use fido_a instead of cpu32.
2474         (bfd_m68k_compatible): Reject the combination of Fido and
2475         ColdFire.  Accept the combination of CPU32 and Fido with a
2476         warning.
2477         * elf32-m68k.c (elf32_m68k_object_p,
2478         elf32_m68k_merge_private_bfd_data,
2479         elf32_m68k_print_private_bfd_data): Treat Fido as an
2480         architecture by itself.
2481
2482 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
2483
2484         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
2485
2486 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
2487
2488         * texhex.c (first_phase): Don't fall through into the default
2489         case.
2490         (pass_over): Replace abort () calls with return FALSE.  Fix
2491         buffer overflow.
2492
2493 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
2494
2495         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
2496         SEC_EXCLUDE on zero size .eh_frame.
2497
2498 For older changes see ChangeLog-2006
2499 \f
2500 Local Variables:
2501 mode: change-log
2502 left-margin: 8
2503 fill-column: 74
2504 version-control: never
2505 End: