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