f8b2e68b8624aa6c7407aca0e4ea62c9291554aa
[external/binutils.git] / bfd / ChangeLog
1 2010-01-27  Alan Modra  <amodra@gmail.com>
2
3         PR ld/11217
4         * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
5         (ppc64_elf_setup_section_lists): Init them.
6         (ppc64_elf_next_toc_section): Don't partition multi-toc between .got
7         and .toc on the same input file.
8         (ppc64_elf_relocate_section): Correct GOT entry offset.
9
10 2010-01-26  Tristan Gingold  <gingold@adacore.com>
11
12         * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add initializer for write_ar_hdr.
13         (bfd_target): Add _bfd_write_ar_hdr_fn field.
14         * archive.c (is_bsd44_extended_name): New macro.
15         (_bfd_generic_read_ar_hdr_mag): Use it.  Add extra_size.
16         (bfd_slurp_armap): Also check for "__.SYMDEF" as a BSD4.4 extended
17         name.
18         (_bfd_archive_bsd44_construct_extended_name_table): New function.
19         (_bfd_generic_write_ar_hdr): Ditto.
20         (_bfd_bsd44_write_ar_hdr): Ditto.
21         (_bfd_write_archive_contents): Call _bfd_write_ar_hdr.
22         (bsd_write_armap): Adjust firstreal computation.
23         * libbfd-in.h (struct areltdata): Add extra_size field.
24         (_bfd_generic_write_ar_hdr): Add prototype.
25         (_bfd_bsd44_write_ar_hdr): Ditto.
26         (_bfd_write_ar_hdr): Define.
27         (_bfd_noarchive_write_ar_hdr): Ditto.
28         (_bfd_archive_bsd_write_ar_hdr): Ditto.
29         (_bfd_archive_coff_write_ar_hdr): Ditto.
30         (_bfd_archive_bsd44_slurp_armap): Ditto.
31         (_bfd_archive_bsd44_slurp_extended_name_table): Ditto.
32         (_bfd_archive_bsd44_construct_extended_name_table): New prototype.
33         (_bfd_archive_bsd44_truncate_arname): Ditto.
34         (_bfd_archive_bsd44_write_armap): Ditto.
35         (_bfd_archive_bsd44_read_ar_hdr): Ditto.
36         (_bfd_archive_bsd44_write_ar_hdr): Ditto.
37         (_bfd_archive_bsd44_openr_next_archived_file): Ditto.
38         (_bfd_archive_bsd44_get_elt_at_index): Ditto.
39         (_bfd_archive_bsd44_generic_stat_arch_elt): Ditto.
40         (_bfd_archive_bsd44_update_armap_timestamp): Ditto.
41         * libbfd.h: Regenerate.
42         * oasys.c (oasys_write_ar_hdr): Define.
43         * libecoff.h (_bfd_ecoff_write_ar_hdr): Define.
44         * ieee.c (ieee_write_ar_hdr): Define.
45         * elf64-mips.c (bfd_elf64_archive_write_ar_hdr): Define.
46         * coff-rs6000.c (rs6000coff_vec): Adjust for write_ar_hdr field.
47         (bfd_pmac_xcoff_backend_data): Ditto.
48         * coff64-rs6000.c (rs6000coff64_vec): Ditto.
49         (bfd_xcoff_aix5_backend_data): Ditto.
50         * coff-alpha.c (alpha_ecoff_write_ar_hdr): Define.
51         * aout-target.h (MY_write_ar_hdr): Define it if not defined.
52         * aout-tic30.c (MY_write_ar_hdr): Ditto.
53         * mach-o-target.c (TARGET_NAME): Use _bfd_archive_bsd44 archive.
54         (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
55         (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
56         (bfd_mach_o_construct_extended_name_table)
57         (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
58         (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
59         (bfd_mach_o_update_armap_timestamp): Moved to mach-o.c
60         * mach-o.c (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr)
61         (bfd_mach_o_slurp_armap, bfd_mach_o_slurp_extended_name_table)
62         (bfd_mach_o_construct_extended_name_table)
63         (bfd_mach_o_truncate_arname, bfd_mach_o_write_armap)
64         (bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt)
65         (bfd_mach_o_update_armap_timestamp): Moved from mach-o-target.c
66         * bfd-in2.h: Regenerate.
67
68 2010-01-26  Alan Modra  <amodra@gmail.com>
69             H.J. Lu  <hongjiu.lu@intel.com>
70
71         PR ld/11218
72         * elflink.c (elf_link_output_extsym): Do not ignore undefined
73         symbols with ref_regular set when gc_sections is active.
74
75 2010-01-25  Alan Modra  <amodra@gmail.com>
76
77         PR ld/11217
78         * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
79         with relocations against undefined weak symbols.
80         (ppc64_elf_relocate_section): Don't optimize calls to undefined
81         weak functions if the symbol is dynamic.
82         (ppc64_elf_relocate_section): Edit tprel tls sequences.
83         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
84         (_bfd_elf_ppc_at_tprel_transform): New function.
85         * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
86         * bfd-in2.h: Regenerate.
87
88 2010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>
89
90         * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
91         (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
92         * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
93         bitsize to 1.
94         (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
95
96 2010-01-21  Nick Clifton  <nickc@redhat.com>
97
98         * elflink.c (elf_link_add_object_symbols): Look up name of
99         undefined symbol both before and after versioning has been
100         applied.  Do not bother with symbols that are weakly undefined.
101
102 2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
103
104         * elf32-s390.c (elf32_s390_merge_private_bfd_data): New function.
105         (bfd_elf32_bfd_merge_private_bfd_data): New macro definition.
106
107 2010-01-19  Cary Coutant  <ccoutant@google.com>
108
109         * dwarf2.c (read_attribute_value): Add DW_FORM_ref_sig8.
110
111 2010-01-19  Daisuke Hatayama  <d.hatayama@jp.fujitsu.com>
112             Alan Modra <amodra@gmail.com>
113
114         * elfcode.h (elf_swap_ehdr_out): Handle e_phnum > 0xffff.
115         (elf_object_p): Read e_phnum extension.
116         (elf_write_shdrs_and_ehdr): Write e_phnum extension.
117         * elfcore.h (elf_core_file_p): Read e_phnum extension.  Sanity check
118         that we can read last program header.
119
120 2010-01-19  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
121
122         * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
123         R_ARM_THM_CALL entry.
124         (elf32_arm_final_link_relocate): Correct calculation of
125         reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
126         or R_ARM_THM_JUMP24 relocation.
127
128 2010-01-18  Alan Modra  <amodra@gmail.com>
129
130         PR 11168
131         * coffcode.h (coff_compute_section_file_positions): Move Rs6000COFF_C
132         block past vars in COFF_IMAGE_WITH_PE block.  Report error on more
133         than 32k sections.
134
135 2010-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
136
137         Fix compilation warning on gcc-3.4.
138         * vms-tir.c (start_etir_record, sto_imm): Rename the prototype
139         parameter index to sec_index according to the function definition.
140
141 2010-01-13  Chao-ying Fu  <fu@mips.com>
142
143         * elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
144         It is true for all CPUs.
145         (jal_reloc_p): New function.
146         (mips_elf_calculate_relocation): Rename require_jalxp to
147         cross_mode_jump_p.
148         Update comment for CROSS_MODE_JUMP_P.
149         Set up cross_mode_jump_p based on the mode change.
150         (mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
151         Update comment for CROSS_MODE_JUMP_P.
152         Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
153         Use !cross_mode_jump_p to guard conversion.
154         Convert "jr t9" to "b", if possible.
155         (_bfd_mips_elf_relocate_section): Rename require_jalx to
156         cross_mode_jump_p.
157         Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
158         Pass cross_mode_jump_p to call mips_elf_perform_relocation.
159
160 2010-01-13  Nick Clifton  <nickc@redhat.com>
161
162         * cpu-m32c.c (m32c_scan): New function.  Ensures that a scan for
163         "m32c" returns the m32c arch_info_struct and not the m16c
164         arch_info_struct.
165         (arch_info_struct): Use the new scan function.
166         (bfd_m32c_arch): Likewise.
167
168 2010-01-13  Tristan Gingold  <gingold@adacore.com>
169
170         * config.bfd: Remove duplicated target vector for i386-*-darwin.
171         Appends new arch instead of overriding.
172         Use mach_o_x86_64_vec for x86_64-*-darwin.
173         * configure.in: Add mach_o_x86_64_vec.
174         * configure: Regenerate.
175         * targets.c: Declare mach_o_x86_64_vec, add it to _bfd_target_vector.
176         * Makefile.am (BFD64_BACKENDS): Add mach-o-x86-64.lo
177         (BFD64_BACKENDS_CFILES): Add mach-o-x86-64.c
178         * Makefile.in: Regenerate.
179         * mach-o-x86-64.c: New file.
180
181 2010-01-13  Tristan Gingold  <gingold@adacore.com>
182
183         * reloc.c: Add MACH_O_X86_64 relocations.
184         * bfd-in2.h: Regenerate.
185         * libbfd.h: Regenerate.
186
187 2010-01-13  Tristan Gingold  <gingold@adacore.com>
188
189         * archive.c (normalize): Use lbasename.
190         (bfd_bsd_truncate_arname): Ditto.
191         (bfd_gnu_truncate_arname): Ditto.
192
193 2010-01-12  Tristan Gingold  <gingold@adacore.com>
194
195         * makefile.vms (CFLAGS): Turns warnings into informational messages.
196
197 2010-01-11  Tristan Gingold  <gingold@adacore.com>
198
199         * mach-o.h: Add x86-64 relocation types.
200
201 2010-01-11  Tristan Gingold  <gingold@adacore.com>
202
203         * mach-o.h (bfd_mach_o_backend_data): Add arch field.
204         (bfd_mach_o_set_arch_mach): New prototype.
205         * mach-o.c (bfd_mach_o_mkobject): Define with bfd_mach_o_gen_mkobject.
206         (bfd_mach_o_set_arch_mach): New function.
207         (bfd_mach_o_gen_mkobject): New function.
208         Set TARGET_ARCHITECTURE for the generic back-ends.
209         * mach-o-target.c (bfd_mach_o_set_arch_mach): Remove define.
210         Check that TARGET_ARCHITECTURE is defined.
211         Add TARGET_ARCHITECTURE in TARGET_NAME_BACKEND structure.
212         * mach-o-i386.c (TARGET_ARCHITECTURE): Define.
213
214 2010-01-11  Tristan Gingold  <gingold@adacore.com>
215
216         * archive.c (bfd_slurp_armap): Also check for Mach-O sorted armap.
217
218 2010-01-11  Nick Clifton  <nickc@redhat.com>
219
220         * elf32-v850.c (v850_elf_perform_relocation): Fix overflow
221         handling of R_V850_HI16_S relocation.
222
223 2010-01-11  Alan Modra  <amodra@gmail.com>
224
225         PR 11103
226         * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
227
228 2010-01-11  Alan Modra  <amodra@gmail.com>
229
230         PR 6832
231         * dwarf2.c (struct comp_unit): Add sec_info_ptr.
232         (find_abstract_instance_name): Use it.
233         (parse_comp_unit): Set it.
234
235 2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
236
237         * Makefile.in: Regenerate.
238         * configure: Regenerate.
239
240 2010-01-08  Tristan Gingold  <gingold@adacore.com>
241
242         * archive.c: Remove bfd_special_undocumented_glue.
243
244 2010-01-08  Alan Modra  <amodra@gmail.com>
245
246         PR ld/11133
247         * elf32-cr16.c (elf32_cr16_gc_mark_hook): Call _bfd_elf_gc_mark_hook.
248         * elf32-microblaze.c (microblaze_elf_gc_mark_hook): Likewise.
249         * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
250
251 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
252
253         PR ld/11138
254         * elflink.c (elf_link_check_versioned_symbol): Don't abort if
255         a symbol referenced by DSO is is defined in a non-shared object
256         and forced local.
257
258 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
259
260         PR ld/11133
261         * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
262         undefined __start_XXX/__stop_XXX in all input files and set
263         SEC_KEEP.
264
265 2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>
266
267         PR ld/11143
268         * elflink.c (elf_gc_sweep): Keep SHT_NOTE section.
269
270 2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>
271
272         * bfd.m4 (BFD_HAVE_SYS_PROCFS_TYPE): Define _STRUCTURE_PROC
273         before including procfs.h.
274         (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
275         * configure.in: Added autoconf probe for the pr_fpreg member.
276         * configure: Regenerated.
277         * config.in: Regenerated.
278         * elf.c: Define _STRUCTURE_PROC before including procfs.h.
279
280 2010-01-04  Joel Brobecker  <brobecker@adacore.com>
281
282         Fix -Wshadow warnings in dwarf2.c (seen on alpha-tru64).
283         * dwarf2.c (concat_filename): Rename dirname with dir_name
284         to void shadowing the dirname function.
285         Rename subdirname with subdir_name to stay consistent with
286         the new dir_name variable name.
287
288 2010-01-04  Edmar Wienskoski  <edmar@freescale.com>
289
290         * archures.c: Add bfd_mach_ppc_e500mc64.
291         * bfd-in2.h: Regenerate.
292         * cpu-powerpc.c (bfd_powerpc_archs): Add entry for
293         bfd_mach_ppc_e500mc64.
294
295 2010-01-01  Joel Brobecker  <brobecker@adacore.com>
296
297         Fix -Wshadow warnings (seen on ppc-aix)
298         * xcofflink.c: Replace finfo by flinfo throughout.
299
300 For older changes see ChangeLog-2009
301 \f
302 Local Variables:
303 mode: change-log
304 left-margin: 8
305 fill-column: 74
306 version-control: never
307 End: