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