]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - bfd/ChangeLog
2004-08-18 Chris Demetriou <cgd@broadcom.com>
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
c09bdfe5
AM
12004-08-18 Alan Modra <amodra@bigpond.net.au>
2
3 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
4 if we can look up their function descriptor in a regular file.
5
271d0fc3
NC
62004-08-18 Nick Clifton <nickc@redhat.com>
7
8 PR 324
9 * cofflink.c (coff_link_add_symbols): Check that the comdat
10 pointer in the coff_section_data structure has been initialised
11 before using it.
12
a010d60f
AM
132004-08-18 Alan Modra <amodra@bigpond.net.au>
14
15 PR 338
16 * elflink.c (bfd_elf_record_link_assignment): Add comment about
17 changing bfd_link_hash_undefined to bfd_link_hash_new.
18
90e3cdf2
JJ
192004-08-17 Jakub Jelinek <jakub@redhat.com>
20
21 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
22 if not yet defined.
23 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
24 (synthetic_opd, synthetic_relocatable): New variables.
25 (compare_symbols, compare_relocs): New helper routines.
26 (ppc64_elf_get_synthetic_symtab): New function.
27 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
28 to relsyms.
29 * bfd-in2.h: Regenerated.
30 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
31 to relsyms. Return 0 if abfd is relocatable.
32
7c2c8505
AM
332004-08-17 Alan Modra <amodra@bigpond.net.au>
34
35 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
36
0367ecfb
NC
372004-08-17 Nick Clifton <nickc@redhat.com>
38
39 * (is_arm_mapping_symbol_name): New function - return true
40 when a symbol name matches the requirements for an ARM mapping
41 symbol name.
42 (arm_elf_find_function): New function based on
43 elf_find_function in elf.c but skipping ARM mapping symbols
44 and including thumb function symbols.
45 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
46 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
47
2441e016
AM
482004-08-17 Alan Modra <amodra@bigpond.net.au>
49
50 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
51 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
52 (ppc64_elf_brtaken_reloc): Here too.
53
35b0ce59
AM
542004-08-17 Alan Modra <amodra@bigpond.net.au>
55
56 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
57 symbol visibility.
58 (ppc64_elf_check_directives): Check that we have the right hash
59 table before proceeding.
60
81688140
AM
612004-08-17 Alan Modra <amodra@bigpond.net.au>
62
63 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
64 (adjust_opd_syms): Attach opd syms for deleted entries to one of
65 the sections that will be discarded.
66
327c1315
AM
672004-08-16 Alan Modra <amodra@bigpond.net.au>
68
69 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
70
45fc9e4a
AM
712004-08-16 Alan Modra <amodra@bigpond.net.au>
72
73 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
74 free space available.
75
9dadfa79
AM
762004-08-16 Alan Modra <amodra@bigpond.net.au>
77
78 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
79 occurrences with bfd_btye * thoughout file.
80
81 * coff-rs6000.c (do_shared_object_padding): Warning fix.
82 (xcoff_write_armap_big): Likewise.
83 (xcoff_write_archive_contents_old): Likewise.
84 (xcoff_write_archive_contents_big): Likewise.
85
86 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
87
57e8b36a
NC
882004-08-13 Nick Clifton <nickc@redhat.com>
89
90 * elf32-arm.h: Convert to ISO C90.
91
a005f94e
AM
922004-08-13 Alan Modra <amodra@bigpond.net.au>
93
94 PR 293
95 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
96 zero the plt field.
97
d003868e
AM
982004-08-13 Alan Modra <amodra@bigpond.net.au>
99
100 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
101 (bfd_archive_filename, bfd_get_section_ident): Delete.
102 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
103 bfd_archive_filename.
104 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
105 to warn about symbols in discarded sections. Use _bfd_error_handler.
106 * aout-adobe.c (aout_adobe_callback): See below.
107 * aout-cris.c (swap_ext_reloc_in): ..
108 * coff-arm.c (find_thumb_glue, find_arm_glue,
109 coff_arm_relocate_section, bfd_arm_process_before_allocation,
110 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
111 coff_arm_copy_private_bfd_data): ..
112 * coff-i860.c (i860_reloc_processing): ..
113 * coff-mcore.c (mcore_coff_unsupported_reloc,
114 coff_mcore_relocate_section): ..
115 * coff-ppc.c (coff_ppc_relocate_section): ..
116 * coff-rs6000.c (xcoff_create_csect_from_smclas
117 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
118 sh_swap_insns, sh_relocate_section): ..
119 * coff-tic54x.c (tic54x_reloc_processing): ..
120 * coff-tic80.c (coff_tic80_relocate_section): ..
121 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
122 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
123 coff_slurp_symbol_table, coff_classify_symbol,
124 coff_slurp_reloc_table): ..
125 * coffgen.c (_bfd_coff_read_string_table): ..
126 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
127 _bfd_coff_generic_relocate_section): ..
128 * cpu-arm.c (bfd_arm_merge_machines): ..
129 * cpu-sh.c (sh_merge_bfd_arch): ..
130 * elf-hppa.h (elf_hppa_relocate_section): ..
131 * elf.c (bfd_elf_string_from_elf_section, setup_group,
132 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
133 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
134 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
135 * elf32-arm.h (find_thumb_glue, find_arm_glue,
136 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
137 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
138 elf32_arm_relocate_section, elf32_arm_set_private_flags,
139 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
140 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
141 cris_elf_merge_private_bfd_data
142 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
143 * elf32-gen.c (elf32_generic_link_add_symbols): ..
144 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
145 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
146 elf32_hppa_relocate_section): ..
147 * elf32-i370.c (i370_elf_merge_private_bfd_data,
148 i370_elf_check_relocs, i370_elf_relocate_section): ..
149 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
150 elf_i386_relocate_section): ..
151 * elf32-m32r.c (m32r_elf_relocate_section,
152 m32r_elf_merge_private_bfd_data): ..
153 * elf32-m68hc1x.c (m68hc12_add_stub,
154 _bfd_m68hc11_elf_merge_private_bfd_data): ..
155 * elf32-m68k.c (elf_m68k_relocate_section): ..
156 * elf32-mcore.c (mcore_elf_unsupported_reloc,
157 mcore_elf_relocate_section): ..
158 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
159 ppc_elf_check_relocs, ppc_elf_relocate_section,
160 ppc_elf_begin_write_processing): ..
161 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
162 elf_s390_relocate_section): ..
163 * elf32-sh-symbian.c (sh_symbian_import_as,
164 sh_symbian_process_embedded_commands,
165 sh_symbian_relocate_section): ..
166 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
167 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
168 sh_elf_merge_private_data): ..
169 * elf32-sparc.c (elf32_sparc_check_relocs,
170 elf32_sparc_relocate_section,
171 elf32_sparc_merge_private_bfd_data): ..
172 * elf32-v850.c (v850_elf_check_relocs,
173 v850_elf_merge_private_bfd_data): ..
174 * elf32-xtensa.c (elf_xtensa_check_relocs,
175 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
176 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
177 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
178 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
179 * elf64-gen.c (elf64_generic_link_add_symbols): ..
180 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
181 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
182 ppc64_elf_relocate_section): ..
183 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
184 elf_s390_relocate_section): ..
185 * elf64-sh64.c (sh_elf64_relocate_section): ..
186 * elf64-sparc.c (sparc64_elf_check_relocs,
187 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
188 sparc64_elf_merge_private_bfd_data): ..
189 * elf64-x86-64.c (elf64_x86_64_check_relocs,
190 elf64_x86_64_relocate_section): ..
191 * elflink.c (_bfd_elf_add_default_symbol,
192 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
193 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
194 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
195 elf_get_linked_section_vma, elf_fixup_link_order,
196 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
197 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
198 * elfxx-ia64.c (elfNN_ia64_relax_section,
199 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
200 * elfxx-mips.c (mips_elf_perform_relocation,
201 _bfd_mips_elf_check_relocs,
202 _bfd_mips_elf_merge_private_bfd_data): ..
203 * ieee.c (ieee_slurp_external_symbols): ..
204 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
205 * libbfd.c (_bfd_generic_verify_endian_match): ..
206 * linker.c (_bfd_generic_link_add_one_symbol,
207 _bfd_generic_section_already_linked): ..
208 * pdp11.c (translate_to_native_sym_flags): ..
209 * pe-mips.c (coff_pe_mips_relocate_section): ..
210 * peicode.h (pe_ILF_build_a_bfd): ..
211 * srec.c (srec_bad_byte): ..
212 * stabs.c (_bfd_link_section_stabs): ..
213 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
214 Replace all uses of bfd_archive_filename and bfd_get_section_ident
215 with corresponding %B and %A in _bfd_error_handler format string.
216 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
217 calls to use %A and %B. Fix "against symbol .. from section" and
218 similar error messages. Combine multiple _bfd_error_handler calls
219 where they were separated due to bfd_archive_filename deficiencies.
220 * bfd-in2.h: Regenerate.
221
6ba842b6
L
2222004-08-12 H.J. Lu <hongjiu.lu@intel.com>
223
224 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
225 relocation.
226
99877b66
AM
2272004-08-10 Alan Modra <amodra@bigpond.net.au>
228
229 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
230 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
231 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
232 Add twiddled_syms.
233 (link_hash_newfunc): Init was_undefined.
234 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
235 Use undefweak instead.
236 (ppc64_elf_check_directives): Fix undefs chain.
237 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
238 references.
239 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
240 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
241 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
242
ba3bee0b
JJ
2432004-08-09 Jakub Jelinek <jakub@redhat.com>
244
245 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
246 error, test input_section flags rather than sec.
247
8387904d
AM
2482004-08-09 Alan Modra <amodra@bigpond.net.au>
249
250 * elf-bfd.h (struct elf_backend_data): Add
251 elf_backend_archive_symbol_lookup.
252 (_bfd_elf_archive_symbol_lookup): Declare.
253 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
254 (elf_link_add_archive_symbols): ..extracted from here. Call the
255 backend version.
256 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
257 (elfNN_bed): Init new field.
258 * elf64-ppc.c (elf_backend_check_directives): Define.
259 (elf_backend_archive_symbol_lookup): Define.
260 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
261 a ppc_link_hash_entry pointer.
262 (get_fdh): Move.
263 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
264 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
265 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
266 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
267 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
268 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
269 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
270 descriptor symbols.
271
b25116a9
AM
2722004-08-09 Alan Modra <amodra@bigpond.net.au>
273
8843416a
AM
274 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
275 (ppc64_elf_add_symbol_hook): Test for NULL section.
276 (get_sym_h): Formatting.
277 (ppc64_elf_size_stubs): Include reloc addend in value stored as
278 stub target_value.
279
b25116a9
AM
280 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
281 long branch stubs with code handling plt and r2off branch stubs.
282
ccfa59ea
AM
2832004-08-09 Alan Modra <amodra@bigpond.net.au>
284
285 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
286 * elflink.c (elf_link_input_bfd): Formatting.
287 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
288 all callers.
289 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
290 (link_hash_newfunc): Don't set it.
291 (ppc64_elf_copy_indirect_symbol): Nor copy it.
292 (ppc64_elf_mark_entry_syms): Delete.
293 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
294 sections. Use get_opd_info.
295 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
296
4025353c
AM
2972004-08-09 Alan Modra <amodra@bigpond.net.au>
298
4f800a42
AM
299 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
300
06da1e8e
AM
301 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
302 (func_desc_adjust): Don't set have_undefweak.
303 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
304 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
305
34814b9f
AM
306 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
307 "struct ppc_link_hash_entry *". Adjust all references.
308 (ppc64_elf_hide_symbol): Correct a comment.
309
4025353c
AM
310 * elf64-ppc.c (get_opd_info): New function.
311 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
312 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
313 before calling get_fdh. Test fdh rather than h before dereferencing
314 fdh. Mark removed symbols in opd_adjust.
315 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
316 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
317 opd symbols.
318 (ppc64_elf_output_symbol_hook): Likewise.
319
db6579d4
PB
3202004-08-06 Paul Brook <paul@codesourcery.com>
321
322 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
323 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
324 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
325 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
326 and BFD_RELOC_ARM_SBREL32.
327 * bfd-in2.h, bbfd.h: Regenerate.
328
a4d0f181
TS
3292004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
330
331 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
332 the dynamic link symbol actually in use.
333
83774818
SC
3342004-08-01 Stephane Carrez <stcarrez@nerim.fr>
335
336 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
337
a4d0f181 3382004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
339 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
340
341 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
342 SHN_MIPS_TEXT and SHN_MIPS_DATA.
343
185d09ad
L
3442004-07-30 H.J. Lu <hongjiu.lu@intel.com>
345 Nick Clifton <nickc@redhat.com>
346
347 PR 290
348 * bfd.c (_bfd_default_error_handler): Make it global.
349
350 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
351
352 * elf.c (assign_section_numbers): Cope gracefully with sections
353 which have SHF_LINK_ORDER set but no sh_link set up.
354 * elflink.c (elf_get_linked_section_vma): Likewise.
355
356 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
357 it to NULL.
358
359 * elfxx-target.h (elf_backend_link_order_error_handler): New.
360 Set it to _bfd_default_error_handler.
361 (elfNN_bed): Add elf_backend_link_order_error_handler.
362
363 * libbfd-in.h (_bfd_default_error_handler): New.
364
365 * libbfd.h: Regenerated.
366
7946e94a
JJ
3672004-07-30 Jakub Jelinek <jakub@redhat.com>
368
369 * archures.c (bfd_mach_sparc_64bit_p): Define.
370 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
371 * bfd-in2.h: Rebuilt.
372
1d70c7fb
AO
3732004-07-29 Alexandre Oliva <aoliva@redhat.com>
374
375 Introduce SH2a support.
376 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
377 * archures.c (bfd_mach_sh2a_nofpu): New.
378 * bfd-in2.h: Rebuilt.
379 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
380 (arch_info_struct): Add sh2a_nofpu.
381 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
382 2003-12-29 DJ Delorie <dj@redhat.com>
383 * reloc.c: Add relocs for sh2a.
384 * bfd-in2.h: Regenerate.
385 * libbfd.hh: Regenerate.
386 2003-12-01 Michael Snyder <msnyder@redhat.com>
387 * archures.c (bfd_mach_sh2a): New.
388 * bfd-in2.h: Rebuilt.
389 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
390 (SH2A_NEXT): New.
391 (arch_info_struct): Add sh2a.
392 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
393
404ed0cf
DA
3942004-07-28 Nick Clifton <nickc@redhat.com>
395 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
396
397 PR 273
398 * som.c (setup_sections): Improve estimation of space sizes in
399 relocatable objects.
400
225247f0
JT
4012004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
402 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
403 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
404 to targ_selvecs.
405 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
406 * configure: Regenerate.
407 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
408 case that accepts OSABI=NetBSD and OSABI=SysV.
409 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
410 the base of .got or .data (if .got does not exist).
411 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
412 set OSABI=NetBSD.
413 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
414 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
415 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
416 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
417
3d7f7666
L
4182004-07-27 H.J. Lu <hongjiu.lu@intel.com>
419
420 PR 161/251
421 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
422 (elf_sec_group): Defined.
423 (bfd_elf_match_symbols_in_sections): New prototype.
424 (_bfd_elf_setup_group_pointers): Likewise.
425
426 * elf.c (bfd_elf_discard_group): Abort.
427 (bfd_elf_set_group_contents): Also include relocation sections.
428 Remove zero-fill for ld -r.
429 (_bfd_elf_setup_group_pointers): New function.
430 (elf_sort_elf_symbol): Likewise.
431 (elf_sym_name_compare): Likewise.
432 (bfd_elf_match_symbols_in_sections): Likewise.
433
434 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
435
436 * elflink.c (match_group_member): New.
437 (elf_link_input_bfd): Check group member for discarded section.
438 (try_match_symbols_in_sections): New function.
439 (already_linked): Likewise.
440 (_bfd_elf_section_already_linked): Support mixing comdat group
441 and linkonce section.
442
443 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
444 * linker.c (bfd_section_already_linked_table_traverse): New.
445
446 * libbfd.h: Regenerated.
447
670ec21d
NC
4482004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
449
450 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
451 BFD_RELOC_CRX_SWITCH32.
452 * bfd-in2.h: Regenerate.
6cd7f07e 453 * libbfd.h: Regenerate.
670ec21d
NC
454 * elf32-crx.c: Support relocation/relaxation of
455 BFD_RELOC_CRX_SWITCH* types.
456
2c66dc6c
AM
4572004-07-27 Alan Modra <amodra@bigpond.net.au>
458
459 * elf64-ppc.c: Correct "Linker stubs" comment.
460
38ce5b11
L
4612004-07-26 H.J. Lu <hongjiu.lu@intel.com>
462
463 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
464 linked-to section.
465 (elf_linked_to_section): New.
466
467 * elf.c (assign_section_numbers): Set up sh_link for
468 SHF_LINK_ORDER.
469
470 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
471 to sh_link for SHT_IA_64_UNWIND sections.
472
65da361f
L
4732004-07-22 H.J. Lu <hongjiu.lu@intel.com>
474
475 * elflink.c (elf_fixup_link_order): Add _() to error message.
476
08ccf96b
L
4772004-07-22 H.J. Lu <hongjiu.lu@intel.com>
478
479 * elflink.c (elf_fixup_link_order): Issue a warning and flag
480 an error if failed.
481
082b7297
L
4822004-07-21 H.J. Lu <hongjiu.lu@intel.com>
483
484 * aout-adobe.c (aout_32_section_already_linked): Defined.
485 * aout-target.h (MY_section_already_linked): Likewise.
486 * aout-tic30.c (MY_section_already_linked): Likewise.
487 * binary.c (binary_section_already_linked): Likewise.
488 * bout.c (b_out_section_already_linked): Likewise.
489 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
490 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
491 * coffcode.h (coff_section_already_linked): Likewise.
492 * i386msdos.c (msdos_section_already_linked): Likewise.
493 * i386os9k.c (os9k_section_already_linked): Likewise.
494 * ieee.c (ieee_section_already_linked): Likewise.
495 * ihex.c (ihex_section_already_linked): Likewise.
496 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
497 * mmo.c (mmo_section_already_linked): Likewise.
498 * nlm-target.h (nlm_section_already_linked): Likewise.
499 * oasys.c (oasys_section_already_linked): Likewise.
500 * pef.c (bfd_pef_section_already_linked): Likewise.
501 * ppcboot.c (ppcboot_section_already_linked): Likewise.
502 * som.c (som_bfd_discard_group): Likewise.
503 * srec.c (srec_section_already_linked): Likewise.
504 * tekhex.c (tekhex_section_already_linked): Likewise.
505 * versados.c (versados_section_already_linked): Likewise.
506 * vms.c (vms_section_already_linked): Likewise.
507 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
508 * xsym.c (bfd_sym_section_already_linked): Likewise.
509
510 * bfd-in.h (bfd_section_already_linked_table_init): New.
511 (bfd_section_already_linked_table_free): Likewise.
512
513 * coff-rs6000.c (rs6000coff_vec): Add
514 _bfd_generic_section_already_linked.
515 (pmac_xcoff_vec): Likewise.
516 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
517 (aix5coff64_vec): Likewise.
518
519 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
520 * elflink.c (_bfd_elf_section_already_linked): New function.
521
522 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
523
524 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
525 (_bfd_generic_section_already_linked): New.
526 (bfd_section_already_linked_hash_entry): Likewise.
527 (bfd_section_already_linked): Likewise.
528 (bfd_section_already_linked_table_lookup): Likewise.
529 (bfd_section_already_linked_table_insert): Likewise.
530
531 * linker.c (bfd_section_already_linked): New.
532 (_bfd_section_already_linked_table): Likewise.
533 (bfd_section_already_linked_table_lookup): Likewise.
534 (bfd_section_already_linked_table_insert): Likewise.
535 (already_linked_newfunc): Likewise.
536 (bfd_section_already_linked_table_init): Likewise.
537 (bfd_section_already_linked_table_free): Likewise.
538 (_bfd_generic_section_already_linked): Likewise.
539
540 * section.c (bfd_section): Remove comdat.
541 (bfd_comdat_info): Moved to ...
542 * bfd-in.h (coff_comdat_info): Here.
543 (bfd_coff_get_comdat_section): New.
544 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
545 * libcoff-in.h (coff_section_tdata): Add comdat.
546 * coffcode.h (handle_COMDAT): Updated.
547 * cofflink.c (coff_link_add_symbols): Likewise.
548 * ecoff.c (bfd_debug_section): Likewise.
549
550 * targets.c (bfd_target): Add _section_already_linked.
551 (BFD_JUMP_TABLE_LINK): Updated.
552
553 * bfd-in2.h: Regenerated.
554 * libbfd.h: Likewise.
555 * libcoff.h: Likewise.
556
0b52efa6
PB
5572003-07-21 Paul Brook <paul@codesourcery.com>
558
559 * elflink.c (elf_get_linked_section_vma, compare_link_order,
560 elf_fixup_link_order): New functions.
561 (bfd_elf_final_link): Call elf_fixup_link_order.
562
7e2294f9
AO
5632004-07-21 Alexandre Oliva <aoliva@redhat.com>
564
565 * elf-bfd.h (ELF_COMMON_DEF_P): New.
566 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
567 common definitions.
568 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
569 _bfd_elf_symbol_refs_local_p.
570 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
571 symbols.
572
e56f61be
L
5732004-07-19 H.J. Lu <hongjiu.lu@intel.com>
574
575 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
576 DYN_NO_NEEDED.
577 (bfd_elf_get_dyn_lib_class): New prototype.
578 * elf.c (bfd_elf_get_dyn_lib_class): New function.
579
580 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
581 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
582 entry is needed. Issue an error if a DT_NEEDED entry is needed
583 for a file marked DYN_NO_NEEDED.
584 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
585 for DT_NEEDED tags.
586
587 * bfd-in2.h: Regenerated.
588
27b56da8
DA
5892004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
590
591 * elflink.c (elf_section_complain_discarded): Don't complain in
592 .PARISC.unwind.
593
bbb268c3
JW
5942004-07-10 James E Wilson <wilson@specifixinc.com>
595
596 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
597 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
598 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
599 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
600 Fix callers.
601 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
602 bfd_put_64 to bfd_putl64.
603 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 604
e525914f
L
6052004-07-09 H.J. Lu <hongjiu.lu@intel.com>
606
607 PR 240
608 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
609 .init/.fini sections when trying to relax it.
610
b1a6d0b1
NC
6112004-07-09 Jie Zhang <zhangjie@magima.com.cn>
612
613 * elf.c (assign_file_positions_for_segments): Make sure the
614 .dynamic section is the first section in the PT_DYNAMIC segment.
615
1a320fbb
NC
6162004-07-09 Nick Clifton <nickc@redhat.com>
617
618 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
619 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
620 sh_elf_get_flags_from_mach functions so that they do not conflict
621 when this target is built with other sh-elf targets.
622 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
623 suppression of this function.
624 (sh_elf_find_flags): Likewise.
625
1fe1f39c
NC
6262004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
627
628 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
629 (ALL_MACHINES_CFILES): Add cpu-crx.c.
630 (BFD32_BACKENDS): Add elf32-crx.lo.
631 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
632 (cpu-crx.lo): New target.
633 (elf32-crx.lo): New target.
634 * Makefile.in: Regenerate.
635 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
636 (bfd_archures_list): Add bfd_crx_arch.
637 * bfd-in2.h: Regenerate.
638 * config.bfd: Handle crx-*-elf*, crx*.
639 * configure.in: Handle bfd_elf32_crx_vec.
640 * configure: Regenerate.
641 * cpu-crx.c: New file.
642 * elf32-crx.c: Likewise.
643 * libbfd.h: Regenerate.
644 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
645 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
646 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
647 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
648 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
649 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
650 * targets.c (bfd_elf32_crx_vec): Declare.
651 (bfd_target_vector): Add bfd_elf32_crx_vec.
652
85fbca6a
NC
6532004-07-06 Nick Clifton <nickc@redhat.com>
654
655 * config.bfd: Add sh-symbian-elf target.
656 * configure.in: Add bfd_elf32_shl_symbian_vec.
657 * configure: Regenerate.
658 * elf-bfd.h (struct elf_backend_data): Add new field
659 'check_directives'.
1fe1f39c 660 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 661 check_directives function, if defined.
1fe1f39c 662 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 663 check_directives.
1fe1f39c
NC
664 * targets.c: Add bfd_elf32_shl_symbian_vec.
665 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 666 definition.
1fe1f39c 667 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 668 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 669 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 670 not already been defined.
1fe1f39c
NC
671 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
672 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
673 * sh-symbian-elf target.
674 * Makefile.am: Add elf32-sh-symbian.c
675 * Makefile.in: Regenerate.
1fe1f39c 676
871ec896
JR
6772004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
678
1fe1f39c
NC
679 * elf32-sh.c: Include ../opcodes/sh-opc.h.
680 * Makefile.am: Ran make dep-am.
681 * Makefile.in: Ran make dep-in.
871ec896 682
c87db184
CF
6832004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
684
685 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
686 externals properly.
687
06f2f6af
MS
6882004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
689
690 * config.bfd: Add want64 to configuration target s390-*-linux*.
691
b602c853
L
6922004-07-01 H.J. Lu <hongjiu.lu@intel.com>
693
694 * bfd.c (bfd_get_section_ident): New.
695
696 * elflink.c (elf_link_read_relocs_from_section): Call
697 bfd_get_section_ident to identify the section when reporting
698 error.
699 (_bfd_elf_link_output_relocs): Likewise.
700 (elf_link_output_extsym): Likewise.
701 (elf_link_input_bfd): Likewise.
702 (bfd_elf_gc_record_vtinherit): Likewise.
703
704 * bfd-in2.h: Regenerated.
705
7a2a6943
NC
7062004-07-01 Jie Zhang <zhangjie@magima.com.cn>
707 Nick Clifton <nickc@redhat.com>
708
709 PR 204
710 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
711 of section symbols to mips_elf_sort_hash_table ().
712
cdd3575c
AM
7132004-07-01 Alan Modra <amodra@bigpond.net.au>
714
715 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
716 change. Comment.
717 (elf_section_complain_discarded): New function. Handle
718 .gcc_except_table too.
719 (elf_link_input_bfd): Rewrite handling of relocs against symbols
720 in discarded sections.
721 * elf-bfd.h (elf_discarded_section): Protect macro arg.
722
21a8f7fa
JW
7232004-06-30 James E Wilson <wilson@specifixinc.com>
724
725 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
726 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
727
2de26f35
L
7282004-06-30 H.J. Lu <hongjiu.lu@intel.com>
729
730 PR 233
731 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
732 local references to discarded sections and report their
733 locations.
734
72d7a15c
AM
7352004-06-30 Alan Modra <amodra@bigpond.net.au>
736
737 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
738 sec_info_type, test section name instead.
739
e7f0a167
L
7402004-06-29 H.J. Lu <hongjiu.lu@intel.com>
741
742 PR 240
743 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
744 in .init/.fini sections.
745
bff5f93a
BW
7462004-06-29 Bob Wilson <bob.wilson@acm.org>
747
748 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
749 bfd_get_section_limit.
750
b54d4b07
BW
7512004-06-29 Bob Wilson <bob.wilson@acm.org>
752
753 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
754 output section size.
755
e87a64e1
AM
7562004-06-29 Alan Modra <amodra@bigpond.net.au>
757
1a23a9e6
AM
758 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
759 rawsize.
760 (mmix_elf_perform_relocation): Adjust for above change.
761 (mmix_elf_relocate_section): Likewise.
762 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
763 (mmix_elf_get_section_contents): Delete.
764 (bfd_elf64_get_section_contents): Delete.
765 (mmix_elf_relocate_section): Zero stub area.
766 * linker.c (default_indirect_link_order): Alloc max of section size
767 and rawsize.
768 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
769 * section.c (bfd_malloc_and_get_section): Likewise.
770 (struct bfd_section): Update rawsize comment.
771 * bfd-in2.h: Regenerate.
772
e87a64e1
AM
773 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
774
07515404
AM
7752004-06-29 Alan Modra <amodra@bigpond.net.au>
776
777 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 778 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
779 (_bfd_final_link_relocate): Use bfd_get_section_limit.
780 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
781 * coff-arm.c (coff_arm_relocate_section): Likewise.
782 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
783 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
784 (bfd_ns32k_final_link_relocate): Likewise.
785 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
786 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 787 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 788 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 789 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
790 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
791 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
792 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
793 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
794 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
795 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
796 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
797 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
798 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
799 * elf32-v850.c (v850_elf_reloc): Likewise.
800 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
801 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
802 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
803 * elf64-mips.c (mips_elf64_gprel32_reloc)
804 (mips16_gprel_reloc): Likewise.
805 * elf64-mmix.c (mmix_elf_reloc): Likewise.
806 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
807 * elf64-sparc.c (init_insn_reloc): Likewise.
808 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
809 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
810 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
811 (_bfd_mips_elf_generic_reloc): Likewise.
812 * bfd-in2.h: Regenerate.
813
3722b82f
AM
8142004-06-28 Alan Modra <amodra@bigpond.net.au>
815
816 * bfd-in.h (struct stab_info): Move from stabs.c.
817 * stabs.c (struct stab_link_includes_table): Delete.
818 (stab_link_includes_lookup): Delete.
819 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
820 level of indirection from sinfo parm.
821 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
822 stabstr section. Adjust hash table accesses.
823 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
824 alloc. Adjust stab_info test.
825 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
826 (_bfd_coff_final_link): Adjust stab_info test.
827 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
828 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
829 in place.
830 * libcoff-in.h (struct coff_link_hash_table): Likewise.
831 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
832 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
833 stabstr section. Adjust stab_info test.
834 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
835 (_bfd_write_stab_strings): Adjust prototypes.
836 * libbfd.h: Regenerate.
837 * libcoff.h: Regenerate.
838 * bfd-in2.h: Regenerate.
839
727e493d
MK
8402004-06-27 Mark Kettenis <kettenis@gnu.org>
841
842 From Miod Vallat <miod@online.fr>:
843 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
844
146ccdbb
AO
8452004-06-26 Alexandre Oliva <aoliva@redhat.com>
846
847 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
848 (struct elf32_mn10300_link_hash_entry): Remove
849 pcrel_relocs_copied.
850 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
851 R_MN10300_32. Don't adjust pcrel_relocs_copied.
852 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
853 and gotoff relocations if the symbol doesn't bind locally. Use
854 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
855 relocation for PCREL32.
856 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
857 to test whether a symbol binds locally.
858 (elf32_mn10300_link_hash_newfunc): Don't initialize
859 pcrel_relocs_copied.
860 (_bfd_mn10300_elf_discard_copies): Delete.
861 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
862
a5fd0812
MK
8632004-06-26 Mark Kettenis <kettenis@gnu.org>
864
865 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
866
22bfad37
JB
8672004-06-25 Joel Brobecker <brobecker@gnat.com>
868
869 * som.c (som_set_reloc_info): Correct small typo.
870
097f809a
NC
8712004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
872
873 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
874 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
875 (m32r_elf_gcsweep_hook): Likewise.
876 (m32r_elf_check_relocs): Likewise.
877 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
878 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
879 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
880 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
881 * bfd-in2.h: Regenerated.
882 * libbfd.h: Regenerated.
097f809a 883
6610a52d
L
8842004-06-24 H.J. Lu <hongjiu.lu@intel.com>
885
886 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
887 relocation symbol.
888 (elf64_x86_64_relocate_section): Issue an error for
889 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
890 against global symbols when building shared library.
891
eea6121a
AM
8922004-06-24 Alan Modra <amodra@bigpond.net.au>
893
894 * section.c (struct sec): Rename "_cooked_size" to "size".
895 Rename "_raw_size" to "rawsize".
896 (STD_SECTION): Adjust comments.
897 (bfd_set_section_size, bfd_get_section_contents): Use size.
898 (bfd_malloc_and_get_section): New function.
899 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
900 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
901 Correctly free reloc and contents memory.
902 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
903 and fake CIE now that we can shink section size to zero.
904 (_bfd_elf_write_section_eh_frame): Likewise..
905 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
906 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
907 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
908 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
909 unneeded indirection.
910 * elf.c (_bfd_elf_section_offset): .. and update call.
911 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
912 * libbfd.h: Regenerate.
913 * bfd-in2.h: Regenerate.
914
915 Replace occurrences of "_raw_size" and "_cooked_size" in most places
916 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
917 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
918 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
919 Similarly use "rawsize", if non-zero, in reloc functions to validate
920 reloc addresses. Use new bfd_malloc_and_get_section in most places
921 where bfd_get_section_contents was called. Expand all occurrences of
922 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
923 grok_prstatus and similar functions to "size".
924 * aix386-core.c (aix386_core_file_p): ..
925 * aix5ppc-core.c (xcoff64_core_p): ..
926 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
927 aout_adobe_set_section_contents): ..
928 * aout-target.h (callback): ..
929 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
930 MY_bfd_final_link): ..
931 * aoutf1.h (sunos4_core_file_p): ..
932 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
933 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
934 final_link, aout_link_input_section): ..
935 * binary.c (binary_object_p, binary_canonicalize_symtab,
936 binary_set_section_contents): ..
937 * bout.c (b_out_callback, b_out_write_object_contents,
938 b_out_set_section_contents, b_out_bfd_relax_section,
939 b_out_bfd_get_relocated_section_contents): ..
940 * cisco-core.c (cisco_core_file_validate): ..
941 * coff-alpha.c (alpha_ecoff_object_p,
942 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
943 * coff-arm.c (coff_arm_relocate_section,
944 bfd_arm_allocate_interworking_sections): ..
945 * coff-h8300.c (h8300_reloc16_extra_cases,
946 h8300_bfd_link_add_symbols): ..
947 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
948 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
949 ppc_bfd_coff_final_link): ..
950 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
951 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
952 sh_align_loads, sh_coff_get_relocated_section_contents): ..
953 * coff64-rs6000.c (xcoff64_write_object_contents,
954 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
955 * coffcode.h (coff_compute_section_file_positions,
956 coff_write_object_contents): ..
957 * coffgen.c (make_a_section_from_file, coff_write_symbols,
958 coff_section_symbol, build_debug_section): ..
959 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
960 process_embedded_commands, _bfd_coff_link_input_bfd,
961 _bfd_coff_write_global_sym): ..
962 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
963 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
964 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
965 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
966 _bfd_dwarf2_find_nearest_line): ..
967 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
968 ecoff_compute_section_file_positions,
969 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
970 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
971 _bfd_elf_discard_section_eh_frame_hdr,
972 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
973 _bfd_elf_write_section_eh_frame,
974 _bfd_elf_write_section_eh_frame_hdr): ..
975 * elf-hppa.h (elf_hppa_sort_unwind): ..
976 * elf-m10200.c (mn10200_elf_relax_section,
977 mn10200_elf_relax_delete_bytes,
978 mn10200_elf_get_relocated_section_contents): ..
979 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
980 mn10300_elf_check_relocs, mn10300_elf_relax_section,
981 mn10300_elf_relax_delete_bytes,
982 mn10300_elf_get_relocated_section_contents,
983 _bfd_mn10300_elf_adjust_dynamic_symbol,
984 _bfd_mn10300_elf_discard_copies,
985 _bfd_mn10300_elf_size_dynamic_sections,
986 _bfd_mn10300_elf_finish_dynamic_sections): ..
987 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
988 _bfd_elf_make_section_from_phdr, elf_fake_sections,
989 bfd_elf_set_group_contents, map_sections_to_segments,
990 elf_sort_sections, assign_file_positions_for_segments,
991 SECTION_SIZE, copy_private_bfd_data,
992 _bfd_elf_get_dynamic_reloc_upper_bound,
993 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
994 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
995 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
996 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
997 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
998 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
999 bfd_elf32_arm_process_before_allocation,
1000 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
1001 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
1002 elf32_arm_write_section): ..
1003 * elf32-cris.c (cris_elf_grok_prstatus,
1004 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
1005 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
1006 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
1007 elf_cris_discard_excess_dso_dynamics,
1008 elf_cris_discard_excess_program_dynamics): ..
1009 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
1010 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
1011 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
1012 _frv_create_got_section, _frvfdpic_assign_plt_entries,
1013 elf32_frvfdpic_size_dynamic_sections,
1014 elf32_frvfdpic_modify_segment_map,
1015 elf32_frvfdpic_finish_dynamic_sections): ..
1016 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
1017 elf32_h8_get_relocated_section_contents): ..
1018 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
1019 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
1020 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
1021 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
1022 elf32_hppa_finish_dynamic_sections): ..
1023 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
1024 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
1025 i370_elf_finish_dynamic_sections): ..
1026 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
1027 allocate_dynrelocs, elf_i386_size_dynamic_sections,
1028 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
1029 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
1030 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
1031 * elf32-ip2k.c (ip2k_is_switch_table_128,
1032 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
1033 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
1034 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
1035 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
1036 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
1037 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
1038 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
1039 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
1040 m32r_elf_get_relocated_section_contents): ..
1041 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
1042 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
1043 m68hc11_elf_relax_delete_bytes): ..
1044 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
1045 m68hc12_elf_size_one_stub): ..
1046 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
1047 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
1048 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
1049 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
1050 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
1051 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
1052 elf32_mips_grok_prstatus): ..
1053 * elf32-or32.c (or32_elf_consth_reloc): ..
1054 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
1055 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
1056 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
1057 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
1058 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
1059 ppc_elf_final_write_processing): ..
1060 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
1061 allocate_dynrelocs, elf_s390_size_dynamic_sections,
1062 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
1063 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
1064 sh_elf_relax_delete_bytes, sh_elf_align_loads,
1065 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
1066 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
1067 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
1068 * elf32-sh64-com.c (sh64_address_in_cranges,
1069 sh64_get_contents_type): ..
1070 * elf32-sh64.c (sh64_find_section_for_address,
1071 sh64_elf_final_write_processing): ..
1072 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
1073 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
1074 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
1075 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
1076 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
1077 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
1078 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
1079 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
1080 elf_vax_finish_dynamic_sections): ..
1081 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
1082 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
1083 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
1084 xstormy16_elf_finish_dynamic_sections): ..
1085 * elf32-xtensa.c (xtensa_read_table_entries,
1086 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
1087 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
1088 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
1089 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
1090 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
1091 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
1092 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
1093 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
1094 xtensa_callback_required_dependence): ..
1095 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
1096 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
1097 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
1098 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
1099 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
1100 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
1101 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
1102 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
1103 * elf64-hppa.c (allocate_dynrel_entries,
1104 elf64_hppa_size_dynamic_sections,
1105 elf64_hppa_finish_dynamic_sections): ..
1106 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
1107 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
1108 elf64_mips_grok_prstatus): ..
1109 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
1110 mmix_elf_relocate_section, mmix_elf_final_link,
1111 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
1112 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
1113 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
1114 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
1115 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
1116 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
1117 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
1118 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
1119 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
1120 ppc64_elf_finish_dynamic_sections): ..
1121 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
1122 allocate_dynrelocs, elf_s390_size_dynamic_sections,
1123 elf_s390_finish_dynamic_sections): ..
1124 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
1125 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
1126 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
1127 sh64_elf64_finish_dynamic_sections): ..
1128 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
1129 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
1130 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
1131 sparc64_elf_finish_dynamic_symbol,
1132 sparc64_elf_finish_dynamic_sections): ..
1133 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
1134 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
1135 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
1136 elf64_x86_64_finish_dynamic_sections): ..
1137 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
1138 * elfcode.h (elf_slurp_reloc_table): ..
1139 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
1140 elf_finalize_dynstr, elf_link_add_object_symbols,
1141 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
1142 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
1143 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
1144 elf32_mips_grok_prstatus): ..
1145 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
1146 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
1147 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
1148 elfNN_ia64_finish_dynamic_sections): ..
1149 * elfxx-mips.c (mips_elf_create_procedure_table,
1150 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
1151 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
1152 mips_elf_global_got_index, mips_elf_multi_got,
1153 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
1154 mips_elf_allocate_dynamic_relocations,
1155 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
1156 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
1157 _bfd_mips_elf_always_size_sections,
1158 _bfd_mips_elf_size_dynamic_sections,
1159 _bfd_mips_elf_finish_dynamic_symbol,
1160 _bfd_mips_elf_finish_dynamic_sections,
1161 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
1162 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
1163 _bfd_elf_mips_get_relocated_section_contents,
1164 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
1165 * hp300hpux.c (callback): ..
1166 * hppabsd-core.c (make_bfd_asection): ..
1167 * hpux-core.c (make_bfd_asection): ..
1168 * i386linux.c (linux_link_create_dynamic_sections,
1169 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
1170 * i386msdos.c (msdos_write_object_contents): ..
1171 * i386os9k.c (os9k_callback, os9k_write_object_contents,
1172 os9k_set_section_contents): ..
1173 * ieee.c (parse_expression, ieee_slurp_external_symbols,
1174 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
1175 ieee_write_section_part, do_with_relocs, do_as_repeat,
1176 do_without_relocs, ieee_write_debug_part, init_for_output,
1177 ieee_set_section_contents): ..
1178 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
1179 * irix-core.c (do_sections, make_bfd_asection): ..
1180 * libaout.h (aout_section_merge_with_text_p): ..
1181 * libbfd.c (_bfd_generic_get_section_contents,
1182 _bfd_generic_get_section_contents_in_window): ..
1183 * linker.c (default_indirect_link_order): ..
1184 * lynx-core.c (make_bfd_asection): ..
1185 * m68klinux.c (linux_link_create_dynamic_sections,
1186 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
1187 * mach-o.c (bfd_mach_o_make_bfd_section,
1188 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
1189 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
1190 bfd_mach_o_scan_read_segment): ..
1191 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
1192 _bfd_merge_sections): ..
1193 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
1194 mmo_map_set_sizes, mmo_canonicalize_symtab,
1195 mmo_internal_write_section, mmo_write_object_contents): ..
1196 * netbsd-core.c (netbsd_core_file_p): ..
1197 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
1198 nlm_alpha_set_public_section): ..
1199 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
1200 * nlm32-sparc.c (nlm_sparc_write_import): ..
1201 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
1202 nlm_compute_section_file_positions): ..
1203 * oasys.c (oasys_object_p, oasys_slurp_section_data,
1204 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
1205 * opncls.c (get_debug_link_info): ..
1206 * osf-core.c (make_bfd_asection): ..
1207 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
1208 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
1209 final_link, aout_link_input_section): ..
1210 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
1211 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
1212 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
1213 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
1214 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
1215 * ptrace-core.c (ptrace_unix_core_file_p): ..
1216 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
1217 _bfd_final_link_relocate, bfd_generic_relax_section,
1218 bfd_generic_get_relocated_section_contents): ..
1219 * reloc16.c (bfd_coff_reloc16_relax_section,
1220 bfd_coff_reloc16_get_relocated_section_c): ..
1221 * riscix.c (riscix_some_aout_object_p): ..
1222 * rs6000-core.c (read_hdr, make_bfd_asection): ..
1223 * sco5-core.c (make_bfd_asection): ..
1224 * simple.c (bfd_simple_get_relocated_section_contents): ..
1225 * som.c (som_object_setup, setup_sections, som_prep_headers,
1226 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
1227 som_set_reloc_info, som_get_section_contents,
1228 som_bfd_link_split_section): ..
1229 * sparclinux.c (linux_link_create_dynamic_sections,
1230 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
1231 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
1232 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
1233 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
1234 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
1235 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
1236 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
1237 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
1238 sunos_finish_dynamic_link): ..
1239 * syms.c (_bfd_stab_section_find_nearest_line): ..
1240 * tekhex.c (first_phase, tekhex_set_section_contents,
1241 tekhex_write_object_contents): ..
1242 * trad-core.c (trad_unix_core_file_p): ..
1243 * versados.c (process_esd, process_otr, process_otr): ..
1244 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
1245 * vms-misc.c (add_new_contents): ..
1246 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
1247 * vms.c (vms_set_section_contents): ..
1248 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
1249 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
1250 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
1251 * xsym.c (bfd_sym_scan): .. See above.
1252
bf8b15af
L
12532004-06-21 H.J. Lu <hongjiu.lu@intel.com>
1254
1255 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
1256 calling _bfd_merged_section_offset only for section symbols.
1257
d1c6de6f
AM
12582004-06-22 Alan Modra <amodra@bigpond.net.au>
1259
1260 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
1261 for handling SEC_MERGE symbols in relax_section.
1262
aa02cc63
AO
12632004-06-21 Alexandre Oliva <aoliva@redhat.com>
1264
1265 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
1266 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
1267 linked together. Mark the result as h8300sx code.
1268
aee6f5b4
AO
12692004-06-21 Alexandre Oliva <aoliva@redhat.com>
1270
1271 * elf-bfd.h (struct elf_backend_data): Added
1272 elf_backend_omit_section_dynsym.
1273 (_bfd_elf_link_omit_section_dynsym): Declare.
1274 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
1275 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
1276 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
1277 (_bfd_elf_link_renumber_dynsyms): ... this function.
1278 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
1279 _bfd_elf_link_omit_section_dynsym).
1280 (elfNN_bed): Added elf_backend_omit_section_dynsym.
1281
05576f10
NC
12822004-06-21 Nick Clifton <nickc@redhat.com>
1283
1284 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
1285 flags.
1286
02d5a37b
JG
12872004-06-17 Jerome Guitton <guitton@gnat.com>
1288
1289 * bfd-in.h (bfd_cache_close_all): New function declaration.
1290 * bfd-in2.h: Regenerate.
1291 * cache.c (bfd_cache_close_all): New function definition.
1292
d2bef492
MK
12932004-06-16 Mark Kettenis <kettenis@gnu.org>
1294
1295 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
1296 4.10 and beyond.
1297 * configure: Regenerate.
1298
8528d62e
DJ
12992004-06-16 Daniel Jacobowitz <dan@debian.org>
1300
1301 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
1302 the pre-existing section.
1303
911d08a7
AM
13042004-06-15 Alan Modra <amodra@bigpond.net.au>
1305
1306 * section.c (struct sec): Remove usused flags. Reorganize a little.
1307 (bfd_get_section_size_before_reloc): Delete.
1308 (bfd_get_section_size_after_reloc): Delete.
1309 (STD_SECTION): Update.
1310 (bfd_get_section_size_now): Delete.
1311 (bfd_set_section_contents): Don't referece reloc_done.
1312 (bfd_get_section_contents): Remove reloc_done comment.
1313 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
1314 reloc_done.
1315 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
1316 * ecoff.c (bfd_debug_section): Update initializer.
1317 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
1318 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
1319 * bfd-in.h (bfd_section_size): Expand.
1320 (bfd_get_section_size): New macro.
1321 * bfd-in2.h: Regenerate.
1322 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
1323 bfd_get_section_size_before_reloc with bfd_get_section_size.
1324 * coffcode.h (coff_write_object_contents): Likewise.
1325 * coffgen.c (build_debug_section): Likewise.
1326 * dwarf1.c (parse_line_table): Likewise.
1327 (_bfd_dwarf1_find_nearest_line): Likewise.
1328 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
1329 * i386msdos.c (msdos_write_object_contents): Likewise.
1330 * pdp11.c (squirt_out_relocs): Likewise.
1331 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
1332 * elf64-mmix.c (mmix_elf_final_link): Update comment.
1333
092dcd75
CD
13342004-06-14 Chris Demetriou <cgd@broadcom.com>
1335
1336 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
1337 removal) with updated comment.
1338 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
1339 BFD_RELOC_32_PCREL.
1340 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
1341 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1342
3ffa5234
AM
13432004-06-12 Alan Modra <amodra@bigpond.net.au>
1344
1345 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
1346 overflow on branches to undefweaks.
1347
e9edc808
MR
13482004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1349
1350 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
1351 as ecoff_section_data() does not return a valid lvalue.
1352
a873f25a
AO
13532004-06-09 Alexandre Oliva <aoliva@redhat.com>
1354
a9b881be
AO
1355 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
1356 (elf_link_add_object_symbols): Likewise.
1357
a873f25a
AO
1358 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
1359 (elf_backend_reloc_type_class): New.
1360
eef0f186
MK
13612004-06-08 Mark Kettenis <kettenis@gnu.org>
1362
1363 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
1364 netbsd-core.lo.
1365 * configure: Regenerate.
1366
822392ce
DJ
13672004-06-07 Daniel Jacobowitz <dan@debian.org>
1368
1369 From: Albert Chin-A-Young <china@thewrittenword.com>
1370 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
1371 to unsigned int.
1372
9f2e92c5
L
13732004-05-29 H.J. Lu <hongjiu.lu@intel.com>
1374
1375 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
1376 change.
1377
dd90f1b2
DD
13782004-05-28 DJ Delorie <dj@redhat.com>
1379
1380 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
1381 for linking, but otherwise adjust reloc for merged sections.
1382
5dd23ec1
L
13832004-05-28 H.J. Lu <hongjiu.lu@intel.com>
1384
1385 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
1386 _bfd_merged_section_offset for local symbols.
1387
f6f9408f
JR
13882004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
1389
1390 * Makefile.am: Regenerate dependencies.
1391 * Makefile.in: Regenerate.
1392 * archures.c: Add bfd_mach_sh3_nommu .
1393 * bfd-in2.h: Regenerate.
1394 * cpu-sh.c: Add sh3-nommu architecture.
1395 (bfd_to_arch_table): Create new table.
1396 (sh_get_arch_from_bfd_mach): Create new function.
1397 (sh_get_arch_up_from_bfd_mach): Create new function.
1398 (sh_merge_bfd_arch): Create new function.
1399 * elf32-sh.c (sh_ef_bfd_table): Add table.
1400 (sh_elf_check_relocs): Replace switch statement with
1401 use of sh_ef_bfd_table .
1402 (sh_elf_get_flags_from_mach): Add new function.
1403 (sh_find_elf_flags): Likewise.
1404 (sh_elf_copy_private_data): Replace most of non-elf contents
1405 with a call to sh_merge_bfd_arch() .
1406
d866f350
MC
14072004-05-27 Michael Chastain <mec.gnu@mindspring.com>
1408
1409 * Makefile.am (bfdver.h): Use explicit filename, not $< .
1410 * Makefile.in: Regenerate.
1411
1055df0f
AO
14122004-05-27 Alexandre Oliva <aoliva@redhat.com>
1413
1414 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
1415 custom calling conventions for dynamic symbols.
1416 (mn10300_elf_relax_section): Avoid relaxing a function as a local
1417 symbol if it's an alias to a global one.
1418
b3096250
L
14192004-05-26 H.J. Lu <hongjiu.lu@intel.com>
1420
1421 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
1422 change.
1423
9bb351fd
AO
14242004-05-27 Alexandre Oliva <aoliva@redhat.com>
1425
1426 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
1427 loop over hashes.
1428
e49f5022
AM
14292004-05-26 Alan Modra <amodra@bigpond.net.au>
1430
1431 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
1432 for SHT_GROUP sections.
1433
57ceae94
AM
14342004-05-25 Alan Modra <amodra@bigpond.net.au>
1435
1436 * elflink.c (elf_link_add_object_symbols): Don't set up merge
1437 section data here..
1438 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
1439 * merge.c: Formatting. Remove unnecessary casts. Expand
1440 bfd_get_section_alignment macro.
1441 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
1442 use throughout file.
1443 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
1444 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
1445 section name to determine sinfo group, instead test output section
1446 and alignment.
1447 (_bfd_merge_sections): Add struct bfd_link_info param. Call
1448 _bfd_strip_section_from_output rather than just twiddling flags.
1449 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
1450 (_bfd_merge_sections): Update prototype.
1451 * libbfd.h: Regenerate.
1452
c6f8758f 14532004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
1454
1455 * netbsd-core.c: Correctly indent section that sets architecture
1456 from machine ID.
1457
c6f8758f
NC
1458 From Miod Vallat <miod@online.fr>:
1459 * m88kopenbsd.c: New file.
1460 * targets.c (m88k_openbsd_vec): New.
1461 * config.bfd: Add m88k-*-openbsd*.
1462 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
1463 (m88kopenbsd_vec): New.
1464 * configure: Regenerate.
1465 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
1466 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
1467 Run "make dep-am".
1468 * Makefile.in: Regenerate.
1469 * po/SRC-POTFILES.in: Regenerate.
1470
7d7e6bc4
NC
14712004-05-24 Nick Clifton <nickc@redhat.com>
1472
1473 * hash.c: Remove bogus node "Changing the default Hash Table Size"
1474 introduced by hash table size patch.
1475
bc286f95
BE
14762004-05-22 Ben Elliston <bje@au.ibm.com>
1477
1478 * configure.in (is_release): Remove.
1479 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
1480 (AC_OUTPUT): Don't output bfdver.h from version.h.
1481 * configure: Regenerate.
1482 * Makefile.am (RELEASE): New variable.
1483 (bfdver.h): New target.
1484 * Makefile.in: Regenerate.
1485 * doc/Makefile.in: Likewise.
1486
8b89a4eb
BE
14872004-05-22 Ben Elliston <bje@au.ibm.com>
1488
1489 * Makefile.am (config.status): Don't depend on version.h.
1490 * Makefile.in: Regenerate.
1491
753731ee
AM
14922004-05-22 Alan Modra <amodra@bigpond.net.au>
1493
1494 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
1495 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
1496 * libbfd.h: Regenerate.
1497 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
1498 (_bfd_elf_rel_local_sym): Likewise.
1499 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
1500 (elf_link_input_bfd): Likewise.
1501 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
1502 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1503 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
1504 (elfNN_ia64_relocate_section): Likewise.
1505
2d643429
NC
15062004-05-21 Andy Chittenden <achittenden@bluearc.com>
1507
1508 * hash.c (bfd_default_hash_table_size): New variable.
1509 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
1510 (bfd_hash_set_default_size): New function. Set the default size
1511 to a selected prime number close to the argument. Document new
1512 function.
1513 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
1514 * bfd-in2.h: Regenerate.
1515 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
1516 * Makefile.in: Regenerate.
1517
8377c19c
MK
15182004-05-21 Mark Kettenis <kettenis@gnu.org>
1519
1520 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
1521 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
1522 arm, m68k, m88k and hppa core files.
1523
69fd4758
NC
15242004-05-21 Nick Clifton <nickc@redhat.com>
1525
1526 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
1527 (bfd_bwrite): Likewise.
1528 (bfd_tell): Likewise.
1529 (bfd_flush): Likewise.
1530 (bfd_stat): Likewise.
1531 (bfd_seek): Likewise.
1532 (bfd_get_mtime): Likewise.
1533 (bfd_get_size): Likewise.
1534
cd917290
BE
15352004-05-19 Ben Elliston <bje@au.ibm.com>
1536
1537 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
1538
1b09e940
NC
15392004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
1540
1541 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
1542 (bfd_generic_openr_next_archived_file): Likewise.
1543
096c35a7
BW
15442004-05-17 Bob Wilson <bob.wilson@acm.org>
1545
1546 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
1547 section names by inserting a new substring after .gnu.linkonce, except
1548 for .gnu.linkonce.t.* where the "t." is replaced.
1549
eea6121a 15502004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
1551
1552 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
1553 (m68-*-lynxos* case): Likewise.
1554 (powerpc-*-lyxnos* case): New case.
1555 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
1556
80fccad2
BW
15572004-05-17 David Heine <dlheine@tensilica.com>
1558
1559 * aout-target.h (MY_bfd_copy_private_header_data): Define.
1560 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
1561 * bfd.c (bfd_copy_private_header_data): Define.
1562 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
1563 interface.
1564 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
1565 * coffcode.h (coff_bfd_copy_private_header_data): Define.
1566 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
1567 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
1568 segments by calling copy_private_bfd_data.
1569 (_bfd_elf_copy_private_header_data): Define.
1570 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
1571 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
1572 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
1573 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
1574 * mmo.c (mmo_bfd_copy_private_header_data): Define.
1575 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
1576 * som.c (som_bfd_copy_private_header_data): Define.
1577 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
1578 * vms.c (vms_bfd_copy_private_header_data): Define.
1579 * bfd-in2.h: Regenerate.
1580 * libbfd.h: Regenerate.
1581
c5ae1840
TS
15822004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1583
1584 * elfxx-mips.c (MINUS_TWO): Define.
1585 (mips_elf_higher, mips_elf_highest,
1586 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
1587 some bfd_vma values.
1588 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
1589
a99cf92b
DA
15902004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1591
1592 * som.c (log2): Rename to exact_log2. Adjust all callers.
1593
0da76f83
NC
15942004-05-13 Paul Brook <paul@codesourcery.com>
1595
c273895f 1596 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
1597 dwarf3 format CIE entries. Remove comment about the size of the
1598 ra_column field. It is now correctly deduced.
0da76f83 1599
4b363073
NC
16002004-05-13 Joel Sherrill <joel@oarcorp.com>
1601
1602 * config.bfd (or32-*-rtems*): Switch to elf.
1603
9598fbe5
NC
16042004-05-13 Nick Clifton <nickc@redhat.com>
1605
1606 * po/fr.po: Updated French translation.
1607
8c37241b
JJ
16082004-05-11 Jakub Jelinek <jakub@redhat.com>
1609
1610 * elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
1611 into .dynsym if elf_section_data (sec)->dynindx <= 0.
1612 Adjust counting of last_local.
1613 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
1614 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
1615 created by the linker nor !SHF_ALLOC.
1616
1617 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
1618 DT_PLTGOT to the start of the .got.plt section instead of the
1619 .got output section. Set sh_entsize for .got section in addition
1620 to .got.plt.
1621 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
1622 is at sgot->output_section->vma.
1623 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
1624 DT_PLTGOT to the start of the .got.plt section instead of the
1625 .got output section.
1626 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
1627 is at sgot->output_section->vma. Set sh_entsize for .got section
1628 in addition to .got.plt.
1629 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
1630 (bfd_section_from_phdr): Likewise.
1631 (map_sections_to_segments): Likewise.
1632 (assign_file_positions_for_segments): Likewise.
1633 (get_program_header_size): Likewise.
1634 * elflink.c (bfd_elf_size_dynamic_sections): Set
1635 elf_tdata (output_bfd)->relro from info->relro.
1636 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
1637
3f980e41
AO
16382004-05-08 Alexandre Oliva <aoliva@redhat.com>
1639
1640 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
1641 a zero symndx for which we hadn't accounted a dynamic relocation.
1642 (_frvfdpic_add_rofixup): Likewise.
1643
d70270c5 16442004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 1645 DJ Delorie <dj@redhat.com>
d70270c5
BF
1646
1647 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
1648 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
1649 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
1650 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
1651
7e9f3bd6
AO
16522004-05-07 Alexandre Oliva <aoliva@redhat.com>
1653
1654 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
1655 immediately if there's no link info.
1656 (elf32_frvfdpic_copy_private_bfd_data): New.
1657 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
1658
eb61d2d6
ZW
16592004-05-06 Zack Weinberg <zack@codesourcery.com>
1660
1661 * dwarf2.c (add_line_info): Also set info->filename to NULL if
1662 filename argument is null; do not call strlen on a null pointer.
1663
ecb2d096
DJ
16642004-05-06 Daniel Jacobowitz <drow@mvista.com>
1665
1666 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
1667 special case.
1668
43850d5b
AO
16692004-05-05 Alexandre Oliva <aoliva@redhat.com>
1670
1671 * configure.in (bfd_elf32_frvfdpic_vec): New.
1672 * configure: Rebuilt.
1673 * targets.c (bfd_elf32_frvfdpic_vec): New.
1674 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
1675 on the latter.
1676 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
1677 frvfdpic instead of frv. Rearrange elf-target macros such that
1678 the FDPIC-specific ones are only defined for this new target
1679 vector.
1680 (bfd_elf32_frvfdpic_vec): Declare.
1681 (IS_FDPIC): New.
1682 (elf32_frv_relocate_section): Use it to enable segment checking
1683 and to control rofixup emission. Add output section vma to
1684 applied relocation in non-LOAD non-ALLOC sections. Use
1685 _bfd_error_handler for errors.
1686 (_frv_create_got_section): Create .rel.got and .rofixup only in
1687 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
1688 linker script.
1689 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
1690 (elf32_frvfdpic_modify_segment_map): Likewise.
1691 (elf32_frv_finish_dynamic_sections): New, do-nothing.
1692 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
1693 error message if we miscompute the rofixup size.
1694 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
1695 (frvfdpic_elf_encode_eh_address): Likewise.
1696 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
1697 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
1698 relocs. Reject unknown relocation types.
1699 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
1700 (frv_elf_merge_private_bfd_data): Likewise.
1701 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
1702 0x4000 for newly-added elf32-frvfdpic.
1703
06fc8a8c
NC
17042004-05-05 Nick Clifton <nickc@redhat.com>
1705
1706 PR/136
1707 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
1708 returning NULL as most users of this function do not check its
1709 return value.
33216455
NC
1710 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
1711 of bfd_cache_lookup().
1712 * sco5-core.c (sco5_core_file_p): Likewise.
1713 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
1714
17152004-05-05 Nick Clifton <nickc@redhat.com>
1716
1717 * cache.c (bfd_cache_lookup): Improve formatting.
1718 * archive.c: Fix formatting.
1719
6b6e92f4
NC
17202004-05-05 Peter Barada <peter@the-baradas.com>
1721
1722 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
1723 * cpu-m68k.c(bfd_m68k_arch): Likewise.
1724 * bfd-in2.h(bfd_architecture): Regenerate.
1725
6a8d1586
AM
17262004-05-03 Alan Modra <amodra@bigpond.net.au>
1727
1728 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
1729 SEC_MERGE sections.
1730 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
1731 those against discarded link-once and SEC_MERGE section symbols.
1732
fafe6678
L
17332004-05-02 H.J. Lu <hongjiu.lu@intel.com>
1734
1735 * section.c (bfd_get_section_by_name_if): New.
1736 * bfd-in2.h: Regenerated.
1737
ad7b9a36
AM
17382004-05-02 Alan Modra <amodra@bigpond.net.au>
1739
1740 * som.c (som_bfd_is_group_section): Define.
1741
73499ab8
AM
17422004-05-01 Alan Modra <amodra@bigpond.net.au>
1743
1744 * section.c (bfd_make_section_anyway): Copy the whole
1745 bfd_hash_entry, not just "next" from existing entry.
1746
45c5e9ed
L
17472004-04-30 H.J. Lu <hongjiu.lu@intel.com>
1748
1749 * elf.c (bfd_section_from_shdr): Maintain the section order in
1750 a section group.
1751 (special_sections): Add ".note.GNU-stack".
1752 (elf_fake_sections): Handle section group for relocatable
1753 link..
1754
bc87dd2e
L
17552004-04-30 H.J. Lu <hongjiu.lu@intel.com>
1756
1757 * section.c (bfd_sections_find_if): New.
1758 * bfd-in2.h: Regenerated.
1759
72adc230
AM
17602004-04-30 Alan Modra <amodra@bigpond.net.au>
1761
1762 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
1763
1764 * elf-bfd.h (bfd_elf_is_group_section): Declare.
1765 * elf.c (bfd_elf_is_group_section): New function.
1766 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
1767 * section.c (bfd_generic_is_group_section): New function.
1768 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
1769 (BFD_JUMP_TABLE_LINK): Adjust.
1770 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
1771 * aout-target.h (MY_bfd_is_group_section): Define.
1772 * aout-tic30.c (MY_bfd_is_group_section): Define.
1773 * bfd.c (bfd_is_group_section): Define.
1774 * binary.c (binary_bfd_is_group_section): Define.
1775 * bout.c (b_out_bfd_is_group_section): Define.
1776 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
1777 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
1778 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
1779 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
1780 * coffcode.h (coff_bfd_is_group_section): Define.
1781 * i386msdos.c (msdos_bfd_is_group_section): Define.
1782 * i386os9k.c (os9k_bfd_is_group_section): Define.
1783 * ieee.c (ieee_bfd_is_group_section): Define.
1784 * ihex.c (ihex_bfd_is_group_section): Define.
1785 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
1786 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
1787 * mmo.c (mmo_bfd_is_group_section): Define.
1788 * nlm-target.h (nlm_bfd_is_group_section): Define.
1789 * oasys.c (oasys_bfd_is_group_section): Define.
1790 * pef.c (bfd_pef_bfd_is_group_section): Define.
1791 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
1792 * srec.c (srec_bfd_is_group_section): Define.
1793 * tekhex.c (tekhex_bfd_is_group_section): Define.
1794 * versados.c (versados_bfd_is_group_section): Define.
1795 * vms.c (vms_bfd_is_group_section): Define.
1796 * xsym.c (bfd_sym_bfd_is_group_section): Define.
1797 * bfd-in2.h: Regenerate.
1798 * libbfd.h: Regenerate.
1799
20f0a1ad
AM
18002004-04-30 Alan Modra <amodra@bigpond.net.au>
1801
1802 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
1803
f7458fc9 18042004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
1805
1806 * configure.in: Update version to 2.15.91.
1807 * configure: Regenerate.
1808
8a7140c3
NC
18092004-04-29 Brian Ford <ford@vss.fsi.com>
1810
1811 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
1812 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
1813 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
1814 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
1815 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
1816 .gnu.linkonce.wi. sections.
1817 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
1818 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
1819 .gnu.linkonce.wi..
1820 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
1821 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1822
3e722fb5
CD
18232004-04-28 Chris Demetriou <cgd@broadcom.com>
1824
1825 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
1826 * bfd-in2.h: Regenerate.
1827 * libbfd.h: Likewise.
1828
351e2b5a
DA
18292004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1830
1831 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
1832 dup_common fields.
1833 (setup_sections): Use som_subspace_dictionary_record struct instead
1834 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
1835 is_comdat, is_common or dup_common.
1836 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
1837 is_comdat, is_common and dup_common in section subspace_dict from
1838 copy_data.
1839 (som_begin_writing): Use som_subspace_dictionary_record struct.
1840 (som_finish_writing): Likewise.
1841 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
1842 is_common and dup_common flags in info for symbol. Add comment
1843 regarding linker support for these fields. Slightly reorganize
1844 function.
1845 (som_build_and_write_symbol_table): Set is_comdat, is_common and
1846 dup_common fields in symbol table from symbol info.
1847 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
1848 arguments. Set corresponding fields in copy_data. Change all callers.
1849 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
1850 symbol table.
1851 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
1852 * som.h (som_subspace_dictionary_record): Define.
1853 (som_copyable_section_data_struct): Add is_comdat, is_common and
1854 dup_common fields.
1855 (som_section_data_struct): Use som_subspace_dictionary_record struct
1856 instead of subspace_dictionary_record.
1857 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
1858
3ba3bc8c
BW
18592004-04-27 Bob Wilson <bob.wilson@acm.org>
1860
1861 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
1862 if set. Check reloc_done flag before applying relocations. Use
1863 output addresses, both when applying relocations and when comparing
1864 against the specified section.
1865 (elf_xtensa_relocate_section): Use output address to check if dynamic
1866 reloc is in a literal pool. Set section's reloc_done flag.
1867
beb8df56
L
18682004-04-27 H.J. Lu <hongjiu.lu@intel.com>
1869
1870 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
1871 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
1872 section.
1873 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
1874 section.
1875
1829f4b2
AM
18762004-04-27 Alan Modra <amodra@bigpond.net.au>
1877
1878 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
1879 structure field removed in 2004-04-24 patch.
1880 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
1881
1882 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
1883 Constify hdr arg.
1884 * elf32-arm.h (elf32_arm_section_flags): Likewise.
1885 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
1886 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
1887 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
1888 field before calling elf_backend_section_flags.
1889
4030e8f6
CD
18902004-04-24 Chris Demetriou <cgd@broadcom.com>
1891
1892 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
1893 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
1894 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
1895 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
1896 and BFD_RELOC_32_PCREL.
1897 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
1898 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
1899 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1900 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
1901 (mips_elf_next_relocation): Move comment about matching HI/LO
1902 relocations to...
1903 (_bfd_mips_elf_relocate_section): Here. Remove handling for
1904 R_MIPS_GNU_REL_HI16.
1905
3e27568f
CD
19062004-04-23 Chris Demetriou <cgd@broadcom.com>
1907
1908 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
1909 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
1910 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
1911 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
1912 and update comments to reflect current usage.
1913 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
1914 and MIPS_R_SWITCH, as well as several empty entries. Update comment
1915 for MIPS_R_PCREL16.
1916 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
1917 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
1918 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
1919 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
1920 type number to be MIPS_R_PCREL16.
1921 (mips_relocate_section): Remove support for link-time relaxation
1922 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
1923 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
1924 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
1925 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
1926 relaxation of branches used by embedded-PIC.
1927 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
1928 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
1929 related members, update comment.
1930 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
1931 code related to embedded-PIC.
1932 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
1933 initialization of now-removed 'adjust' member of
1934 'struct ecoff_debug_info'.
1935
b32de0bc 19362004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
1937
1938 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
1939
955af222
PB
19402004-04-21 Philip Blundell <pb@nexus.co.uk>
1941
1942 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
1943 relocs for locally defined symbols during -shared final link.
1944 (elf32_arm_final_link_relocate): Likewise.
1945
47a9f7b3
JJ
19462004-04-22 Jakub Jelinek <jakub@redhat.com>
1947
1948 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
1949 ELF_LINK_POINTER_EQUALITY_NEEDED.
1950 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
1951 if r_type is not R_X86_64_PC32.
1952 (elf64_x86_64_finish_dynamic_symbol): If
1953 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
1954 SHN_UNDEF symbols.
1955
1f1799d5
KK
19562004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1957
1958 * elf32-sh.c (sh_elf_plt_sym_val): New function.
1959 (elf_backend_plt_sym_val): Define.
1960
0fdea5ce
AC
19612004-04-22 Andrew Cagney <cagney@redhat.com>
1962
1963 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
1964
5198ba8b
DA
19652004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1966
eb61d2d6 1967 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
1968 make_bfd_asection.
1969 * som.c (som_set_section_contents): Constantify second argument.
1970 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
1971 (som_object_setup): Rework to avoid warning.
1972 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
1973 Likewise.
1974
fe2e161a
AC
19752004-04-22 Andrew Cagney <cagney@redhat.com>
1976
1977 * cache.c (bfd_cache_close): Check for a previously closed file.
1978
4c45e5c9
JJ
19792004-04-22 Jakub Jelinek <jakub@redhat.com>
1980
1981 * bfd.c (bfd_get_synthetic_symtab): Define.
1982 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
1983 NAME##_get_synthetic_symtab.
1984 (struct bfd_target): Add _bfd_get_synthetic_symtab.
1985 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
1986 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
1987 relplt_name fields.
1988 (_bfd_elf_get_synthetic_symtab): New prototype.
1989 * elfcode.h (elf_get_synthetic_symtab): Define.
1990 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
1991 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
1992 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
1993 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
1994 * bfd-in2.h: Rebuilt.
1995 * libbfd.h: Rebuilt.
1996 * elf32-i386.c (elf_i386_plt_sym_val): New function.
1997 (elf_backend_plt_sym_val): Define.
1998 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
1999 (elf_backend_plt_sym_val): Define.
2000 * elf32-s390.c (elf_s390_plt_sym_val): New function.
2001 (elf_backend_plt_sym_val): Define.
2002 * elf64-s390.c (elf_s390_plt_sym_val): New function.
2003 (elf_backend_plt_sym_val): Define.
2004 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
2005 (elf_backend_plt_sym_val): Define.
2006 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
2007 (elf_backend_plt_sym_val): Define.
2008 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
2009 (elf_backend_plt_sym_val): Define.
2010 * aout-target.h (MY_get_synthetic_symtab): Define.
2011 * aout-tic30.c (MY_get_synthetic_symtab): Define.
2012 * coff-rs6000.c (rs6000coff_vec): Add
2013 _bfd_nodynamic_get_synthetic_symtab.
2014 (pmac_xcoff_vec): Likewise.
2015 * coff64-rs6000.c (rs6000coff64_vec): Add
2016 _bfd_nodynamic_get_synthetic_symtab.
2017 (aix5coff64_vec): Likewise.
2018 * sunos.c (MY_get_synthetic_symtab): Define.
2019 * vms.c (vms_get_synthetic_symtab): Define.
2020
d2f7ecac
NC
20212004-04-22 Nick Clifton <nickc@redhat.com>
2022
2023 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
2024
fd99574b
NC
20252004-04-22 Peter Barada <peter@the-baradas.com>
2026
2027 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
2028 * bfd2-in.h: Regenerate.
2029 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
2030
23867d67
CD
20312004-04-21 Chris Demetriou <cgd@broadcom.com>
2032
2033 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
2034 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
2035 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
2036 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
2037 * bfd-in2.h: Regenerate.
2038
2c8c90bc
BW
20392004-04-21 Bob Wilson <bob.wilson@acm.org>
2040
2041 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
2042 require relocations against a weak symbol to reference the same
2043 symbol hash entry if not a final, static link.
2044 (get_cached_value, add_value_map): Add final_static_link argument.
2045 (remove_literals): Pass final_static_link argument as needed.
2046
40838a72
AC
20472004-04-21 Andrew Cagney <cagney@redhat.com>
2048
2049 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
2050 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
2051 (opncls_bwrite, opncls_bclose, opncls_bflush)
2052 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
2053 bfd iovec that uses function callbacks.
2054 (bfd_close): Use the iovec's bclose.
2055 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
2056 (cache_bclose, cache_bflush, cache_bstat)
2057 (cache_iovec): New functions and global variable, implement a
2058 cache "iovec", where applicable set bfd_error.
2059 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
2060 * bfdio.c (struct bfd_iovec): Define.
2061 (real_read): Delete function.
2062 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
2063 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
2064 assume that bread and bwrite set bfd_error.
2065 * bfd.c (struct bfd): Add "iovec", update comments.
2066 * bfd-in2.h, libbfd.h: Re-generate.
2067
7f919c84
AC
20682004-04-21 Andrew Cagney <cagney@redhat.com>
2069
2070 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
2071
715df9b8
EB
20722004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
2073
2074 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
2075 (bfd_elf_gc_sections): Fail if a shared object is being created.
2076 Do not fail if dynamic sections have been created. Instead call
2077 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
2078 dynamically referenced symbols. Do not mark the whole graph
2079 rooted at .eh_frame, only the section proper.
2080
6482c264
NC
20812004-04-20 DJ Delorie <dj@redhat.com>
2082
2083 * reloc.c: Add BFD_RELOC_32_SECREL.
2084 * bfd-in2.h: Regenerate.
2085 * libbfd.h: Likewise.
2086 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
2087 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
2088 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
2089
4dc570c2
JJ
20902004-04-19 Jakub Jelinek <jakub@redhat.com>
2091
2092 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
2093 relocs against hidden/protected undefweak symbols properly.
2094 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2095
0b60d5d3
MK
20962004-04-18 Mark Kettenis <kettenis@gnu.org>
2097
2098 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
2099 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
2100 core files.
2101
d48bdb99
AM
21022004-04-17 Brian Ford <ford@vss.fsi.com>
2103
2104 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
2105 filepos for the SizeOfHeaders field.
2106 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
2107 overflow.
2108 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
2109
57a1784e
AM
21102004-04-16 Alan Modra <amodra@bigpond.net.au>
2111
2112 * simple.c (bfd_simple_get_relocated_section_contents): Don't
2113 change reloc_done. Set and restore _cooked_size.
2114 (RETURN): Delete.
2115
d1ad3f6f
MK
21162004-04-15 Mark Kettenis <kettenis@gnu.org>
2117
2118 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
2119 core files.
2120
3d1bca9d
NC
21212004-04-15 Nick Clifton <nickc@redhat.com>
2122
2123 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
2124
019b892f
AM
21252004-04-15 Alan Modra <amodra@bigpond.net.au>
2126
2127 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
2128
15b43f48
AM
21292004-04-15 H.J. Lu <hongjiu.lu@intel.com>
2130
2131 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
2132 when it is a definition.
2133
6de00a78
AM
21342004-04-14 Alan Modra <amodra@bigpond.net.au>
2135
2136 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
2137 when statically linking PIC code.
2138 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2139
279500de
TS
21402004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2141
2142 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
2143 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
2144 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
2145 * configure: Regenerate.
2146
ccf2f652
RS
21472004-04-08 Richard Sandiford <rsandifo@redhat.com>
2148
2149 * elflink.c: Include libiberty.h.
2150 * Makefile.am (elflink.lo): Depend on libiberty.h.
2151 * Makefile.in: Regenerate.
2152
ca07892d
DJ
21532004-04-06 Daniel Jacobowitz <drow@mvista.com>
2154
2155 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
2156 ".MIPS.stubs".
2157
a5a58ba4
L
21582004-04-05 H.J. Lu <hongjiu.lu@intel.com>
2159
2160 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
2161 reserve the memory for dynamic linker
2162
24d18d30
MK
21632004-04-05 Mark Kettenis <kettenis@gnu.org>
2164
2165 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
2166 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
2167
a4d7b4b5
L
21682004-04-02 H.J. Lu <hongjiu.lu@intel.com>
2169
2170 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
2171 RELOC_FOR_GLOBAL_SYMBOL.
2172 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
2173
1f433d93
L
21742004-04-02 H.J. Lu <hongjiu.lu@intel.com>
2175
2176 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
2177 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
2178
e489d0ae
PB
21792004-04-01 Paul Brook <paul@codesourcery.com>
2180
2181 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
2182 * elf32-arm.h (struct elf32_elf_section_map): New.
2183 (struct _arm_elf_section_data): New.
2184 (elf32_arm_section_data): Define.
2185 (struct elf32_arm_link_hash_table): Add byteswap_code.
2186 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
2187 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
2188 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
2189 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
2190 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
2191 (bfd_elf32_new_section_hook, elf_backend_write_section,
2192 elf_backend_link_output_symbol_hook): Define.
2193
66a695f0
NC
21942004-04-01 Andy Chittenden <achittenden@bluearc.com>
2195
2196 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
2197 that keeps the characters in a B_INCL..B_EINCL range.
2198 (_bfd_link_section_stabs): When computing the sum of the
2199 characters in a B_INCL..B_EINCL range also keep a copy of those
2200 characters. Use this information to distinguish between
2201 include sections that have the same sum and the same length
2202 but which are nevertheless unique.
2203
8375c36b
PB
22042004-03-31 Paul Brook <paul@codesourcery.com>
2205
2206 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
2207 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
2208
a56b48eb
NC
22092004-03-31 Andy Chittenden <achittenden@bluearc.com>
2210
2211 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
2212 to 'sum_chars' and add field 'num_chars'.
2213 (_bfd_link_section_stabs): When computing the sum of the
2214 characters in a B_INCL..B_EINCL range also keep a count of the
2215 number of characters. Use this information to help distinguish
2216 between include sections when have the same sum but which
2217 nevertheless are still unique.
2218
3d456464
NC
2219