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