* elflink.c (_bfd_elf_link_output_relocs): Correct error return.
[binutils.git] / bfd / ChangeLog
blob62d485b92c7e4e47e6eb09d85bab57628e2566a7
1 2008-01-21  Alan Modra  <amodra@bigpond.net.au>
3         * elflink.c (_bfd_elf_link_output_relocs): Correct error return.
5 2008-01-21  Alan Modra  <amodra@bigpond.net.au>
7         * ecoff.c (_bfd_ecoff_archive_p): Delete.
8         * libecoff.h (_bfd_ecoff_archive_p): Delete.
9         * coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
10         * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
11         (ecoff_biglittle_vec): Likewise.
13 2008-01-19  Alan Modra  <amodra@bigpond.net.au>
15         PR 5646
16         * elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
17         non-NULL before dereferencing.
19 2008-01-15  Alan Modra  <amodra@bigpond.net.au>
21         PR 5604
22         * elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
23         names from others.
24         (_bfd_elf_gc_keep): Declare.
25         * elfxx-target.h (elf_backend_gc_keep): Define.
26         (elfNN_bed): Init new field.
27         * elflink.c (_bfd_elf_gc_keep): New function.
28         (bfd_elf_gc_sections): Call gc_keep.
29         * elf64-ppc.c (elf_backend_gc_keep): Define.
30         (struct _ppc64_elf_section_data): Move .opd related fields to
31         a struct so they don't occupy the same storage.  Adjust accesses
32         throughout file.
33         (ppc64_elf_gc_keep): New function, split out from..
34         (ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
35         to mark .opd section, just set gc_mark.
36         (ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
37         unless we are changing .opd.  Test non-NULL opd->adjust at all
38         accesses throughout file.
39         * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
41 2008-01-15  Alan Modra  <amodra@bigpond.net.au>
43         * bfd-in.h (BFD_HOST_LONG_LONG): Delete.
44         * bfd-in2.h: Regenerate.
46 2008-01-11  Tristan Gingold  <gingold@adacore.com>
47             Eric Botcazou  <ebotcazou@adacore.com>
49         * elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
50         relocatable.
51         * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
52         * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
53         * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
54         * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
55         * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
56         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
57         * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
58         * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
59         * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
60         * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
61         * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
62         * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
63         * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
64         * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
65         * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
66         * elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
67         or executable output with relocations.
69 2008-01-09  Nick Clifton  <nickc@redhat.com>
71         PR gas/5552
72         * elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field
73         to FALSE for all relocs.
75 2008-01-09  Richard Sandiford  <rsandifo@nildram.co.uk>
77         PR ld/5526
78         * elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
79         fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
80         (eh_frame_sec_info): Add a cies field.
81         (eh_frame_hdr_info): Add a merge_cies field.
82         * elf-eh-frame.c (cie): Add a reloc_index member to the personality
83         union.
84         (_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
85         of hdr_info->cies.
86         (_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
87         cie structures in all cases and use it instead of extended_cies.
88         If merging, store the cie array in sec_info->cies and point each
89         CIE's eh_fde_cie at the associated element.  Do not try to
90         calculate the value of the personality routine here; record the
91         offset of the relocation instead.  Do not merge CIEs here.
92         (_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
93         (_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
94         (_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
95         (find_merged_cie): New function.
96         (_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.
98 2008-01-07  Nick Clifton  <nickc@redhat.com>
100         PR binutils/5535
101         * vms.c (vms_close_and_cleanup): Check for the presence of a
102         vms_private_data_struct before examining any of its fields.
104 2008-01-07  H.J. Lu  <hongjiu.lu@intel.com>
106         PR ld/5522
107         * elflink.c (elf_link_input_bfd): Don't write out a section if
108         its output section is marked with SEC_NEVER_LOAD.
110 For older changes see ChangeLog-2007
112 Local Variables:
113 mode: change-log
114 left-margin: 8
115 fill-column: 74
116 version-control: never
117 End: