2004-04-29 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
8a7140c3
NC
12004-04-29 Brian Ford <ford@vss.fsi.com>
2
3 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
4 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
5 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
6 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
7 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
8 .gnu.linkonce.wi. sections.
9 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
10 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
11 .gnu.linkonce.wi..
12 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
13 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
14
3e722fb5
CD
152004-04-28 Chris Demetriou <cgd@broadcom.com>
16
17 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
18 * bfd-in2.h: Regenerate.
19 * libbfd.h: Likewise.
20
351e2b5a
DA
212004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
22
23 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
24 dup_common fields.
25 (setup_sections): Use som_subspace_dictionary_record struct instead
26 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
27 is_comdat, is_common or dup_common.
28 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
29 is_comdat, is_common and dup_common in section subspace_dict from
30 copy_data.
31 (som_begin_writing): Use som_subspace_dictionary_record struct.
32 (som_finish_writing): Likewise.
33 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
34 is_common and dup_common flags in info for symbol. Add comment
35 regarding linker support for these fields. Slightly reorganize
36 function.
37 (som_build_and_write_symbol_table): Set is_comdat, is_common and
38 dup_common fields in symbol table from symbol info.
39 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
40 arguments. Set corresponding fields in copy_data. Change all callers.
41 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
42 symbol table.
43 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
44 * som.h (som_subspace_dictionary_record): Define.
45 (som_copyable_section_data_struct): Add is_comdat, is_common and
46 dup_common fields.
47 (som_section_data_struct): Use som_subspace_dictionary_record struct
48 instead of subspace_dictionary_record.
49 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
50
3ba3bc8c
BW
512004-04-27 Bob Wilson <bob.wilson@acm.org>
52
53 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
54 if set. Check reloc_done flag before applying relocations. Use
55 output addresses, both when applying relocations and when comparing
56 against the specified section.
57 (elf_xtensa_relocate_section): Use output address to check if dynamic
58 reloc is in a literal pool. Set section's reloc_done flag.
59
beb8df56
L
602004-04-27 H.J. Lu <hongjiu.lu@intel.com>
61
62 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
63 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
64 section.
65 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
66 section.
67
1829f4b2
AM
682004-04-27 Alan Modra <amodra@bigpond.net.au>
69
70 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
71 structure field removed in 2004-04-24 patch.
72 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
73
74 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
75 Constify hdr arg.
76 * elf32-arm.h (elf32_arm_section_flags): Likewise.
77 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
78 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
79 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
80 field before calling elf_backend_section_flags.
81
4030e8f6
CD
822004-04-24 Chris Demetriou <cgd@broadcom.com>
83
84 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
85 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
86 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
87 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
88 and BFD_RELOC_32_PCREL.
89 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
90 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
91 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
92 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
93 (mips_elf_next_relocation): Move comment about matching HI/LO
94 relocations to...
95 (_bfd_mips_elf_relocate_section): Here. Remove handling for
96 R_MIPS_GNU_REL_HI16.
97
3e27568f
CD
982004-04-23 Chris Demetriou <cgd@broadcom.com>
99
100 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
101 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
102 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
103 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
104 and update comments to reflect current usage.
105 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
106 and MIPS_R_SWITCH, as well as several empty entries. Update comment
107 for MIPS_R_PCREL16.
108 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
109 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
110 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
111 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
112 type number to be MIPS_R_PCREL16.
113 (mips_relocate_section): Remove support for link-time relaxation
114 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
115 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
116 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
117 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
118 relaxation of branches used by embedded-PIC.
119 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
120 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
121 related members, update comment.
122 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
123 code related to embedded-PIC.
124 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
125 initialization of now-removed 'adjust' member of
126 'struct ecoff_debug_info'.
127
b32de0bc 1282004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
129
130 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
131
955af222
PB
1322004-04-21 Philip Blundell <pb@nexus.co.uk>
133
134 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
135 relocs for locally defined symbols during -shared final link.
136 (elf32_arm_final_link_relocate): Likewise.
137
47a9f7b3
JJ
1382004-04-22 Jakub Jelinek <jakub@redhat.com>
139
140 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
141 ELF_LINK_POINTER_EQUALITY_NEEDED.
142 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
143 if r_type is not R_X86_64_PC32.
144 (elf64_x86_64_finish_dynamic_symbol): If
145 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
146 SHN_UNDEF symbols.
147
1f1799d5
KK
1482004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
149
150 * elf32-sh.c (sh_elf_plt_sym_val): New function.
151 (elf_backend_plt_sym_val): Define.
152
0fdea5ce
AC
1532004-04-22 Andrew Cagney <cagney@redhat.com>
154
155 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
156
5198ba8b
DA
1572004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
158
159 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
160 make_bfd_asection.
161 * som.c (som_set_section_contents): Constantify second argument.
162 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
163 (som_object_setup): Rework to avoid warning.
164 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
165 Likewise.
166
fe2e161a
AC
1672004-04-22 Andrew Cagney <cagney@redhat.com>
168
169 * cache.c (bfd_cache_close): Check for a previously closed file.
170
4c45e5c9
JJ
1712004-04-22 Jakub Jelinek <jakub@redhat.com>
172
173 * bfd.c (bfd_get_synthetic_symtab): Define.
174 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
175 NAME##_get_synthetic_symtab.
176 (struct bfd_target): Add _bfd_get_synthetic_symtab.
177 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
178 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
179 relplt_name fields.
180 (_bfd_elf_get_synthetic_symtab): New prototype.
181 * elfcode.h (elf_get_synthetic_symtab): Define.
182 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
183 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
184 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
185 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
186 * bfd-in2.h: Rebuilt.
187 * libbfd.h: Rebuilt.
188 * elf32-i386.c (elf_i386_plt_sym_val): New function.
189 (elf_backend_plt_sym_val): Define.
190 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
191 (elf_backend_plt_sym_val): Define.
192 * elf32-s390.c (elf_s390_plt_sym_val): New function.
193 (elf_backend_plt_sym_val): Define.
194 * elf64-s390.c (elf_s390_plt_sym_val): New function.
195 (elf_backend_plt_sym_val): Define.
196 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
197 (elf_backend_plt_sym_val): Define.
198 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
199 (elf_backend_plt_sym_val): Define.
200 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
201 (elf_backend_plt_sym_val): Define.
202 * aout-target.h (MY_get_synthetic_symtab): Define.
203 * aout-tic30.c (MY_get_synthetic_symtab): Define.
204 * coff-rs6000.c (rs6000coff_vec): Add
205 _bfd_nodynamic_get_synthetic_symtab.
206 (pmac_xcoff_vec): Likewise.
207 * coff64-rs6000.c (rs6000coff64_vec): Add
208 _bfd_nodynamic_get_synthetic_symtab.
209 (aix5coff64_vec): Likewise.
210 * sunos.c (MY_get_synthetic_symtab): Define.
211 * vms.c (vms_get_synthetic_symtab): Define.
212
d2f7ecac
NC
2132004-04-22 Nick Clifton <nickc@redhat.com>
214
215 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
216
fd99574b
NC
2172004-04-22 Peter Barada <peter@the-baradas.com>
218
219 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
220 * bfd2-in.h: Regenerate.
221 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
222
23867d67
CD
2232004-04-21 Chris Demetriou <cgd@broadcom.com>
224
225 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
226 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
227 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
228 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
229 * bfd-in2.h: Regenerate.
230
2c8c90bc
BW
2312004-04-21 Bob Wilson <bob.wilson@acm.org>
232
233 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
234 require relocations against a weak symbol to reference the same
235 symbol hash entry if not a final, static link.
236 (get_cached_value, add_value_map): Add final_static_link argument.
237 (remove_literals): Pass final_static_link argument as needed.
238
40838a72
AC
2392004-04-21 Andrew Cagney <cagney@redhat.com>
240
241 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
242 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
243 (opncls_bwrite, opncls_bclose, opncls_bflush)
244 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
245 bfd iovec that uses function callbacks.
246 (bfd_close): Use the iovec's bclose.
247 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
248 (cache_bclose, cache_bflush, cache_bstat)
249 (cache_iovec): New functions and global variable, implement a
250 cache "iovec", where applicable set bfd_error.
251 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
252 * bfdio.c (struct bfd_iovec): Define.
253 (real_read): Delete function.
254 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
255 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
256 assume that bread and bwrite set bfd_error.
257 * bfd.c (struct bfd): Add "iovec", update comments.
258 * bfd-in2.h, libbfd.h: Re-generate.
259
7f919c84
AC
2602004-04-21 Andrew Cagney <cagney@redhat.com>
261
262 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
263
715df9b8
EB
2642004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
265
266 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
267 (bfd_elf_gc_sections): Fail if a shared object is being created.
268 Do not fail if dynamic sections have been created. Instead call
269 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
270 dynamically referenced symbols. Do not mark the whole graph
271 rooted at .eh_frame, only the section proper.
272
6482c264
NC
2732004-04-20 DJ Delorie <dj@redhat.com>
274
275 * reloc.c: Add BFD_RELOC_32_SECREL.
276 * bfd-in2.h: Regenerate.
277 * libbfd.h: Likewise.
278 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
279 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
280 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
281
4dc570c2
JJ
2822004-04-19 Jakub Jelinek <jakub@redhat.com>
283
284 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
285 relocs against hidden/protected undefweak symbols properly.
286 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
287
0b60d5d3
MK
2882004-04-18 Mark Kettenis <kettenis@gnu.org>
289
290 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
291 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
292 core files.
293
d48bdb99
AM
2942004-04-17 Brian Ford <ford@vss.fsi.com>
295
296 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
297 filepos for the SizeOfHeaders field.
298 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
299 overflow.
300 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
301
57a1784e
AM
3022004-04-16 Alan Modra <amodra@bigpond.net.au>
303
304 * simple.c (bfd_simple_get_relocated_section_contents): Don't
305 change reloc_done. Set and restore _cooked_size.
306 (RETURN): Delete.
307
d1ad3f6f
MK
3082004-04-15 Mark Kettenis <kettenis@gnu.org>
309
310 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
311 core files.
312
3d1bca9d
NC
3132004-04-15 Nick Clifton <nickc@redhat.com>
314
315 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
316
019b892f
AM
3172004-04-15 Alan Modra <amodra@bigpond.net.au>
318
319 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
320
15b43f48
AM
3212004-04-15 H.J. Lu <hongjiu.lu@intel.com>
322
323 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
324 when it is a definition.
325
6de00a78
AM
3262004-04-14 Alan Modra <amodra@bigpond.net.au>
327
328 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
329 when statically linking PIC code.
330 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
331
279500de
TS
3322004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
333
334 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
335 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
336 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
337 * configure: Regenerate.
338
ccf2f652
RS
3392004-04-08 Richard Sandiford <rsandifo@redhat.com>
340
341 * elflink.c: Include libiberty.h.
342 * Makefile.am (elflink.lo): Depend on libiberty.h.
343 * Makefile.in: Regenerate.
344
ca07892d
DJ
3452004-04-06 Daniel Jacobowitz <drow@mvista.com>
346
347 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
348 ".MIPS.stubs".
349
a5a58ba4
L
3502004-04-05 H.J. Lu <hongjiu.lu@intel.com>
351
352 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
353 reserve the memory for dynamic linker
354
24d18d30
MK
3552004-04-05 Mark Kettenis <kettenis@gnu.org>
356
357 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
358 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
359
a4d7b4b5
L
3602004-04-02 H.J. Lu <hongjiu.lu@intel.com>
361
362 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
363 RELOC_FOR_GLOBAL_SYMBOL.
364 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
365
1f433d93
L
3662004-04-02 H.J. Lu <hongjiu.lu@intel.com>
367
368 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
369 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
370
e489d0ae
PB
3712004-04-01 Paul Brook <paul@codesourcery.com>
372
373 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
374 * elf32-arm.h (struct elf32_elf_section_map): New.
375 (struct _arm_elf_section_data): New.
376 (elf32_arm_section_data): Define.
377 (struct elf32_arm_link_hash_table): Add byteswap_code.
378 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
379 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
380 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
381 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
382 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
383 (bfd_elf32_new_section_hook, elf_backend_write_section,
384 elf_backend_link_output_symbol_hook): Define.
385
66a695f0
NC
3862004-04-01 Andy Chittenden <achittenden@bluearc.com>
387
388 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
389 that keeps the characters in a B_INCL..B_EINCL range.
390 (_bfd_link_section_stabs): When computing the sum of the
391 characters in a B_INCL..B_EINCL range also keep a copy of those
392 characters. Use this information to distinguish between
393 include sections that have the same sum and the same length
394 but which are nevertheless unique.
395
8375c36b
PB
3962004-03-31 Paul Brook <paul@codesourcery.com>
397
398 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
399 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
400
a56b48eb
NC
4012004-03-31 Andy Chittenden <achittenden@bluearc.com>
402
403 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
404 to 'sum_chars' and add field 'num_chars'.
405 (_bfd_link_section_stabs): When computing the sum of the
406 characters in a B_INCL..B_EINCL range also keep a count of the
407 number of characters. Use this information to help distinguish
408 between include sections when have the same sum but which
409 nevertheless are still unique.
410