* hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2
3 * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
4 make_bfd_asection.
5
6 2004-11-19 Alan Modra <amodra@bigpond.net.au>
7
8 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix.
9 * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl.
10 * nlmcode.h (nlm_write_object_contents): Warning fix.
11
12 2004-11-18 Bob Wilson <bob.wilson@acm.org>
13
14 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
15
16 2004-11-17 Daniel Jacobowitz <dan@codesourcery.com>
17
18 * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
19 (elf32_arm_plt_thumb_stub): New.
20 (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
21 and plt_got_offset.
22 (elf32_arm_link_hash_traverse): Fix typo.
23 (elf32_arm_link_hash_table): Add obfd.
24 (elf32_arm_link_hash_newfunc): Initialize new fields.
25 (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
26 (elf32_arm_link_hash_table_create): Initialize obfd.
27 (record_arm_to_thumb_glue): Mark the glue as a local ARM function.
28 (record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
29 (bfd_elf32_arm_get_bfd_for_interworking): Verify that the
30 interworking BFD is not dynamic.
31 (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do
32 not emit glue for PLT references.
33 (elf32_arm_final_link_relocate): Handle Thumb functions. Do not
34 emit glue for PLT references. Support the Thumb PLT prefix.
35 (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
36 plt_thumb_refcount.
37 (elf32_arm_check_relocs): Likewise.
38 (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
39 plt_thumb_refcount.
40 (allocate_dynrelocs): Handle Thumb PLT references.
41 (elf32_arm_finish_dynamic_symbol): Likewise.
42 (elf32_arm_symbol_processing): New function.
43 (elf_backend_symbol_processing): Define.
44
45 2004-11-16 Richard Sandiford <rsandifo@redhat.com>
46
47 * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
48 add_fde_encoding. Remove need_relative.
49 * elf-eh-frame.c (extra_augmentation_string_bytes)
50 (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
51 (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
52 in cases where the CIE has no existing 'R' augmentation. Use
53 size_of_output_cie_fde when assigning offsets. Use the final offset
54 as the new section size.
55 (_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
56 Account for any extra augmentation bytes in the returned offset.
57 (_bfd_elf_write_section_eh_frame): Rework so that the entries are
58 moved before being modified. Pad growing entries with DW_CFA_nops.
59 Add 'z' and 'R' augmentations as directed by add_augmentation_size
60 and add_fde_encoding.
61
62 2004-11-15 Mark Mitchell <mark@codesourcery.com>
63
64 * elf32-arm.c (elf32_arm_relocate_section): Use
65 arm_real_reloc_type.
66
67 2004-11-16 Richard Sandiford <rsandifo@redhat.com>
68
69 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early
70 for discard relocations; don't add an R_MIPS_NONE to the main body
71 of .rel.dyn.
72
73 2004-11-04 Paul Brook <paul@codesourcery.com>
74
75 * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype.
76 * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument.
77 (_bfd_elf_slurp_version_tables): Add extra argument. Create extra
78 default version definition for unversioned symbols.
79 * elfcode.h (elf_slurp_symbol_table): Pass extra argument.
80 * elflink.c (elf_link_add_object_symbols): Pass extra argument to
81 _bfd_elf_slurp_version_tables. Set default version for unversioned
82 imported symbols.
83
84 2004-11-15 Paul Brook <paul@codesourcery.com>
85
86 * elflink.c (elf_link_add_object_symbols): Don't assume version
87 indices are consecutive.
88
89 2004-11-14 Richard Sandiford <rsandifo@redhat.com>
90
91 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with
92 composite relocations against the personality data.
93
94 2004-11-13 Paul Brook <paul@codesourcery.com>
95
96 * bfd/elf32-arm.c (elf32_arm_final_link_relocate): Resolve
97 R_ARM_PREL31 relocations to PLT entries.
98 (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto.
99 (elf32_arm_check_relocs): Ditto.
100
101 2004-11-12 Bob Wilson <bob.wilson@acm.org>
102
103 * xtensa-isa.c (xtensa_interface_class_id): New.
104
105 2004-11-11 Bob Wilson <bob.wilson@acm.org>
106
107 * elf32-xtensa.c (property_table_compare): Remove assertion about
108 entries with the same address and non-zero size.
109 (xtensa_read_table_entries): Report such entries as errors.
110
111 2004-11-11 Mark Mitchell <mark@codesourcery.com>
112
113 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
114 R_ARM_RELATIVE on Symbian OS.
115
116 2004-11-09 Mark Mitchell <mark@codesourcery.com>
117
118 * som.c (som_bfd_print_private_bfd_data): New function.
119 (som_object_setup): Save the auxiliary header. Don't assume that
120 zero is an invalid entry point for a shared library.
121 (som_object_p): Allocate the auxiliary header on the heap.
122
123 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
124 declaration.
125 (elf32_arm_symbian_modify_segment_map): Likewise.
126
127 2004-11-09 Daniel Jacobowitz <dan@debian.org>
128
129 From David Poole <daveml@mbuf.com>:
130 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
131 (elf32_arm_size_dynamic_sections): Call it.
132
133 2004-11-09 Alan Modra <amodra@bigpond.net.au>
134
135 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
136 (ALL_MACHINES_CFILES): Fix typo.
137 * Makefile.in: Regenerate.
138 * po/SRC-POTFILES.in: Regenerate.
139
140 2004-11-08 Mark Mitchell <mark@codesourcery.com>
141
142 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
143 R_ARM_RELATIVE relocation for Symbian OS, mention the section
144 symbol in the relocation.
145
146 2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
147 Vineet Sharma <vineets@noida.hcltech.com>
148
149 * coff-maxq.c: New File.
150 * cpu-maxq.c: New File.
151 * coffcode.h: Likewise.
152 * config.bfd: Likewise.
153 * configure.in (maxqcoff_vec): New target vector.
154 * Makefile.am: Add support for maxq target.
155 * configure.in: Likewise.
156 * archures.c:. Likewise.
157 * targets.c: Likewise.
158 * bfd_in2.h : Regenerated.
159 * Makefile.in: Regenerated.
160 * configure: Regenerated.
161 * doc/Makefile.in: Regenerated.
162
163 2004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
164
165 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
166 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
167 C_NT_WEAK aux entries.
168 (_bfd_coff_generic_relocate_section): Handle undefined
169 aliases.
170
171 2004-11-07 Andreas Schwab <schwab@suse.de>
172
173 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
174 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
175 non-default visibility.
176
177 2004-11-01 Mark Mitchell <mark@codesourcery.com>
178
179 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
180 D_PAGED.
181 (elf32_arm_symbian_modify_segment_map): Don't
182 reset includes_filehdr and includes_phdrs here.
183
184 2004-11-04 Daniel Jacobowitz <dan@debian.org>
185
186 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
187 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
188 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
189 dependency.
190 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
191 to a new removed list. Remove normal configuration stanzas.
192 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
193 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
194 elfarm-nabi.lo with elf32-arm.lo.
195 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
196 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
197 * elf32-arm.h: Remove.
198 * elfarm-oabi.c: Remove.
199 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
200 and bfd_elf32_littlearm_oabi_vec.
201 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
202
203 2004-11-04 Hans-Peter Nilsson <hp@axis.com>
204
205 * config.bfd: Support crisv32-*-* like cris-*-*.
206 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
207 (bfd_mach_cris_v10_v32): New macros.
208 * cpu-cris.c: Tweak formatting.
209 (get_compatible): New function.
210 (N): New macro.
211 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
212 bfd_arch_info_type:s.
213 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
214 get_compatible for member compatible and link bfd_cris_arch_v32 as
215 next.
216 * elf32-cris.c (cris_elf_pcrel_reloc)
217 (cris_elf_set_mach_from_flags): New functions.
218 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
219 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
220 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
221 numbers for bfd_mach_cris_v32.
222 (PLT_ENTRY_SIZE_V32): New macro.
223 (elf_cris_plt0_entry): Drop last comma in initializer.
224 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
225 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
226 PLT initializers.
227 (cris_elf_relocate_section): Change all "%B(%A)" messages to
228 "%B, section %A".
229 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
230 (elf_cris_finish_dynamic_sections): Similar.
231 (elf_cris_adjust_dynamic_symbol): Similar.
232 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
233 section %A".
234 <switch with PIC relocs>: Emit error and return FALSE for
235 bfd_mach_cris_v10_v32.
236 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
237 Emit warning when generating textrel reloc.
238 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
239 (cris_elf_final_write_processing): Set flags according to mach.
240 (cris_elf_print_private_bfd_data): Display
241 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
242 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
243 new_flags. Don't call cris_elf_final_write_processing. Don't
244 look at the actual elf header flags at all; use
245 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
246 in bfd_get_mach for ibfd and obfd and handle merging of compatible
247 objects.
248 (bfd_elf32_bfd_copy_private_bfd_data): Define.
249 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
250 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
251 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
252 * bfd-in2.h, libbfd.h: Regenerate.
253
254 2004-11-04 Alan Modra <amodra@bigpond.net.au>
255
256 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
257 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
258 comment.
259 (struct adjust_toc_info): New.
260 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
261
262 2004-11-03 Bob Wilson <bob.wilson@acm.org>
263
264 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
265 if there are no segments.
266
267 2004-11-02 Daniel Jacobowitz <dan@debian.org>
268
269 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
270
271 2004-11-02 Nick Clifton <nickc@redhat.com>
272
273 * elf32-iq2000.c: Convert to ISO C90 formatting.
274
275 2004-11-02 Hans-Peter Nilsson <hp@axis.com>
276
277 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
278
279 2004-10-28 H.J. Lu <hongjiu.lu@intel.com>
280
281 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
282 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
283 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
284
285 2004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
286
287 * elf32-sh.c (tpoff): Take alignment into account.
288
289 2004-10-28 Nick Clifton <nickc@redhat.com>
290
291 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
292 performing a relocatable link.
293 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
294 for MIPS ports under Irix.
295
296 2004-10-27 Richard Earnshaw <rearnsha@arm.com>
297
298 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
299 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
300 (elf32_arm_final_link_relocate): Ditto.
301 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
302 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
303 (elf32_arm_adjust_dynamic_symbol): Ditto.
304 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
305 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
306 (elf32_arm_r_howto): ... To here.
307 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
308
309 2004-10-26 H.J. Lu <hongjiu.lu@intel.com>
310
311 PR 475
312 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
313 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
314 and R_IA64_SECREL64LSB.
315
316 2004-10-26 Paul Brook <paul@codesourcery.com>
317
318 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
319 (bfd_elf_size_dynamic_sections): Create default version definition.
320 (elf_link_output_extsym): Adjust for default symbol version.
321
322 2004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
323
324 * mmo.c: Adjust to ISO C.
325
326 * mmo.c (mmo_write_section_description): New function broken out
327 of mmo_internal_write_section.
328 (mmo_internal_write_section): For each of .text and .data, call
329 mmo_write_section_description before outputting contents if it has
330 nontrivially deducible vma or contents.
331 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
332 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
333 symbols if found within the .data address range.
334
335 2004-10-24 Daniel Jacobowitz <dan@debian.org>
336
337 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
338
339 2004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
340
341 * mmo.c (File Layout): Correct place of misplaced blurb about
342 special data.
343
344 2004-10-22 Mark Kettenis <kettenis@gnu.org>
345
346 * config.bfd: Add mips64*-*-openbsd.
347
348 2004-10-21 Bob Wilson <bob.wilson@acm.org>
349
350 * elf32-xtensa.c (ebb_propose_action): Put declarations before
351 statements.
352
353 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
354
355 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
356 * configure: Regenerate.
357
358 2004-10-21 H.J. Lu <hongjiu.lu@intel.com>
359
360 PR 463
361 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
362 to linker reloc_overflow callback.
363 (aout_link_input_section_ext): Likewise.
364 (aout_link_reloc_link_order): Likewise.
365 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
366 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
367 Likewise.
368 (alpha_relocate_section): Likewise.
369 * coff-arm.c (coff_arm_relocate_section): Likewise.
370 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
371 * coff-h8500.c (extra_case): Likewise.
372 * coff-i960.c (coff_i960_relocate_section): Likewise.
373 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
374 * coff-mips.c (mips_relocate_section): Likewise.
375 * coff-or32.c (coff_or32_relocate_section): Likewise.
376 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
377 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
378 * coff-sh.c (sh_relocate_section): Likewise.
379 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
380 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
381 * coff-z8k.c (extra_case): Likewise.
382 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
383 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
384 (_bfd_coff_generic_relocate_section): Likewise.
385 * ecoff.c (ecoff_reloc_link_order): Likewise.
386 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
387 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
388 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
389 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
390 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
391 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
392 * elf32-cris.c (cris_elf_relocate_section): Likewise.
393 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
394 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
395 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
396 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
397 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
398 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
399 * elf32-i370.c (i370_elf_relocate_section): Likewise.
400 * elf32-i386.c (elf_i386_relocate_section): Likewise.
401 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
402 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
403 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
404 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
405 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
406 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
407 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
408 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
409 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
410 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
411 * elf32-s390.c (elf_s390_relocate_section): Likewise.
412 * elf32-sh.c (sh_elf_relocate_section): Likewise.
413 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
414 * elf32-v850.c (v850_elf_relocate_section): Likewise.
415 * elf32-vax.c (elf_vax_relocate_section): Likewise.
416 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
417 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
418 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
419 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
420 * elf64-s390.c (elf_s390_relocate_section): Likewise.
421 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
422 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
423 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
424 * elflink.c (elf_reloc_link_order): Likewise.
425 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
426 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
427 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
428 * linker.c (_bfd_generic_reloc_link_order): Likewise.
429 * pdp11.c (pdp11_aout_link_input_section): Likewise.
430 (aout_link_reloc_link_order): Likewise.
431 * reloc.c (bfd_generic_get_relocated_section_contents):
432 Likewise.
433 * xcofflink.c (xcoff_reloc_link_order): Likewise.
434 * simple.c (simple_dummy_reloc_overflow): Updated.
435
436 2004-10-20 Andreas Schwab <schwab@suse.de>
437
438 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
439 (elf_backend_plt_sym_val): Define.
440
441 2004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
442
443 * config.bfd: Set targ_underscore=yes for PE COFF targets
444
445 2004-10-19 Alan Modra <amodra@bigpond.net.au>
446
447 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
448 (ppc64_elf_edit_opd): Likewise.
449
450 2004-10-18 Mark Mitchell <mark@codesourcery.com>
451
452 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
453 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
454 set SEC_ALLOC and SEC_LOAD.
455
456 2004-10-18 Nick Clifton <nickc@redhat.com>
457
458 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
459 'name' for relocs against both local and global symbols.
460
461 2004-10-16 Daniel Jacobowitz <dan@debian.org>
462
463 * bfd-in2.h: Regenerate.
464 * bfd.c (struct bfd): Add no_export.
465 * elflink.c (elf_link_add_object_symbols): Handle no_export.
466
467 2004-10-15 Alan Modra <amodra@bigpond.net.au>
468
469 * config.bfd: Whitespace cleanup.
470 * Makefile.am: Run "make dep-am"
471 * Makefile.in: Regenerate.
472
473 2004-10-15 Jakub Jelinek <jakub@redhat.com>
474
475 * elflink.c (struct already_linked_section): Removed.
476 (try_match_symbols_in_sections, already_linked): Removed.
477 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
478 prefix of section names when finding already_linked_table
479 chain. Compare section names. Instead of calling already_linked,
480 do it inline and only for sections in the same already_linked_list.
481
482 2004-10-15 Alan Modra <amodra@bigpond.net.au>
483
484 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
485 parameter. If called after _bfd_elf_write_section_eh_frame,
486 don't allow a -2 return unless need_* bit is already set, and
487 handle offsets adjusted for output_offset.
488 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
489 * elf.c (_bfd_elf_section_offset): Update call.
490
491 2004-10-13 H.J. Lu <hongjiu.lu@intel.com>
492
493 PR 440
494 * coffcode.h (coff_compute_section_file_positions): Cast to
495 bfd_vma when computing page alignment.
496
497 2004-10-13 Mark Mitchell <mark@codesourcery.com>
498
499 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
500 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
501
502 2004-10-12 Mark Mitchell <mark@codesourcery.com>
503
504 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
505 relocations use a virtual address, not a section offset.
506
507 2004-10-12 Bob Wilson <bob.wilson@acm.org>
508
509 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
510 (narrow_instruction, widen_instruction): Remove unnecessary calls to
511 xtensa_format_encode.
512 (ebb_propose_action): Inline call to ebb_add_proposed_action.
513 (ebb_add_proposed_action): Delete.
514
515 2004-10-12 Bob Wilson <bob.wilson@acm.org>
516
517 * elf32-xtensa.c: Use ISO C90 formatting.
518
519 2004-10-12 Paul Brook <paul@codesourcery.com>
520
521 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
522 message.
523
524 2004-10-12 Paul Brook <paul@codesourcery.com>
525
526 * elf32-arm.h: Support EABI version 4 objects.
527
528 2004-10-12 Alan Modra <amodra@bigpond.net.au>
529
530 PR 325
531 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
532 Don't mark as default.
533 (bfd_x86_64_arch): Don't mark as default.
534
535 2004-10-12 Alan Modra <amodra@bigpond.net.au>
536
537 * elflink.c (enum action_discarded): New.
538 (elf_section_complain_discarded): Delete.
539 (elf_action_discarded): New function subsuming the above and also
540 controlling reloc behaviour.
541 (elf_link_input_bfd): Use it.
542
543 2004-10-11 Jakub Jelinek <jakub@redhat.com>
544
545 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
546 (special_sections): Add .gnu.liblist and .gnu.conflict.
547 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
548
549 2004-10-11 Alan Modra <amodra@bigpond.net.au>
550
551 PR 233
552 * elflink.c (elf_link_input_bfd): Try harder to support
553 relocations against symbols in removed linkonce sections.
554
555 2004-10-11 Alan Modra <amodra@bigpond.net.au>
556
557 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
558
559 PR 354
560 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
561 sections do not reference symbols in non-SEC_ALLOC sections.
562
563 2004-10-11 Alan Modra <amodra@bigpond.net.au>
564
565 PR 437
566 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
567 (_bfd_elf_link_omit_section_dynsym): Formatting.
568
569 2004-10-10 Alan Modra <amodra@bigpond.net.au>
570
571 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
572 * libbfd.h: Regnerate.
573 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
574 * elf32-frv.c: Likewise.
575 * elf32-m32r.c: Likewise.
576 * elf32-ppc.c: Likewise.
577 * elf64-hppa.c: Likewise.
578 * elfxx-ia64.c: Likewise.
579 * opncls.c: Likewise.
580
581 2004-10-10 Alan Modra <amodra@bigpond.net.au>
582
583 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
584 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
585 offsets stored in struct eh_cie_fde entries before doing other
586 work.
587
588 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
589 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
590 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
591 setting offsets for removed CIEs. Don't set "sec", instead set
592 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
593 CIE in hdr_info. Only set make_relative and make_lsda_relative
594 for CIEs. Use pointers rather than array indices.
595 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
596 make_lsda_relative, need_* on cie_inf for FDEs.
597 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
598 section output_offset. Delete cie_offset, instead use cie_inf
599 pointer to CIE entry. Use need_relative and need_lsda_relative on
600 CIE entry for FDEs. Use pointers rather than array indices.
601
602 2004-10-09 Alan Modra <amodra@bigpond.net.au>
603
604 * coff-rs6000.c (rs6000coff_vec): Add initializer for
605 bfd_is_target_special_symbol.
606 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
607 * som.c (som_bfd_is_target_special_symbol): Define.
608
609 2004-10-08 Nick Clifton <nickc@redhat.com>
610
611 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
612 * configure: Regenerate.
613 * bfd-in2.h: Regenerate.
614 * syms.c (bfd_is_target_special_symbol): New interface function.
615 Returns true when a symbol should be considered to be special.
616 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
617 the symbol jump table.
618 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
619 Return true iff the symbol is a mapping symbol.
620 (bfd_elf32_bfd_is_target_special_symbol): Define.
621 * elfxx-target.h: Provide a default definition for
622 bfd_is_target_special_symbol.
623 * aout-target.h: Likewise.
624 * aout-tic30.c: Likewise.
625 * binary.c: Likewise.
626 * coffcode.h: Likewise.
627 * i386msdos.c: Likewise.
628 * ieee.c: Likewise.
629 * ihex.c: Likewise.
630 * libaout.h: Likewise.
631 * libbfd-in.h: Likewise
632 * libecoff.h: Likewise.
633 * mach-o.c: Likewise.
634 * mmo.c: Likewise.
635 * nlm-target.h: Likewise.
636 * oasys.c: Likewise.
637 * pef.c: Likewise.
638 * ppcboot.c: Likewise.
639 * srec.c: Likewise.
640 * tekhex.c: Likewise.
641 * versados.c: Likewise.
642 * vms.c: Likewise.
643 * xcoff-target.h: Likewise.
644 * xsym.c: Likewise.
645 * libbfd.h: Regenerate.
646
647 2004-10-08 Daniel Jacobowitz <dan@debian.org>
648
649 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
650 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
651 (elf_backend_section_from_shdr): Define.
652
653 2004-10-08 Alan Modra <amodra@bigpond.net.au>
654
655 * syms.c (bfd_is_local_label): Return false for file symbols.
656
657 2004-10-07 Bob Wilson <bob.wilson@acm.org>
658 David Heine <dlheine@tensilica.com>
659
660 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
661 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
662 (elf32xtensa_no_literal_movement): New global variable.
663 (elf_howto_table): Add entries for new relocations.
664 (elf_xtensa_reloc_type_lookup): Handle new relocations.
665 (property_table_compare): When addresses are equal, compare sizes and
666 various property flags.
667 (property_table_matches): New.
668 (xtensa_read_table_entries): Extend to read new property tables. Add
669 output_addr parameter to indicate that output addresses should be used.
670 Use bfd_get_section_limit.
671 (elf_xtensa_find_property_entry): New.
672 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
673 (elf_xtensa_check_relocs): Handle new relocations.
674 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
675 relocations. Use new xtensa-isa.h functions.
676 (build_encoding_error_message): Remove encode_result parameter. Add
677 new target_address parameter used to detect alignment errors.
678 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
679 error handling. Use new is_operand_relocation function.
680 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
681 Use underbar macro for error messages. Formatting.
682 (get_const16_opcode): New.
683 (get_l32r_opcode): Add a separate flag for initialization.
684 (get_relocation_opnd): Operand number is no longer explicit in the
685 relocation. Change to decode the opcode and analyze its operands.
686 (get_relocation_slot): New.
687 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
688 Use new xtensa-isa.h functions to handle multislot instructions.
689 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
690 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
691 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
692 check_loop_aligned, check_branch_target_aligned_address, narrowable,
693 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
694 get_single_format, init_op_single_format_table): New.
695 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
696 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
697 (contract_asm_expansion): Add error_message parameter and pass it to
698 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
699 with R_XTENSA_SLOT0_OP.
700 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
701 instructions. Use new xtensa-isa.h functions.
702 (r_reloc struct): Add new virtual_offset field.
703 (r_reloc_init): Add contents and content_length parameters. Set
704 virtual_offset field to zero. Add contents to target_offset field for
705 partial_inplace relocations.
706 (r_reloc_is_defined): Check for null.
707 (print_r_reloc): New debug function.
708 (source_reloc struct): Replace xtensa_operand field with pair of the
709 opcode and the operand position. Add is_abs_literal field.
710 (init_source_reloc): Specify operand by opcode/position pair. Set
711 is_abs_literal field.
712 (source_reloc_compare): When target_offsets are equal, compare other
713 fields to make sorting predictable.
714 (literal_value struct): Add is_abs_literal field.
715 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
716 (init_literal_value): New.
717 (is_same_value): Replace with ...
718 (literal_value_equal): ... this function. Add comparisons of
719 virtual_offset and is_abs_literal fields.
720 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
721 failure. Initialize has_last_loc field.
722 (value_map_hash_table_delete): New.
723 (hash_literal_value): Rename to ...
724 (literal_value_hash): ... this. Include is_abs_literal flag and
725 virtual_offset field in the hash value.
726 (get_cached_value): Rename to ...
727 (value_map_get_cached_value): ... this. Update calls to
728 literal_value_hash and literal_value_equal.
729 (add_value_map): Check for allocation failure. Update calls to
730 value_map_get_cached_value and literal_value_hash.
731 (text_action, text_action_list, text_action_t): New types.
732 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
733 text_action_add, text_action_add_literal, offset_with_removed_text,
734 offset_with_removed_text_before_fill, find_insn_action,
735 print_action_list, print_removed_literals): New.
736 (offset_with_removed_literals): Delete.
737 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
738 fix_array, fix_array_count, allocated_relocs, relocs_count, and
739 allocated_relocs_count fields.
740 (init_xtensa_relax_info): Initialize new fields.
741 (reloc_bfd_fix struct): Add new translated field.
742 (reloc_bfd_fix_init): Add translated parameter and use it to set the
743 translated field.
744 (fix_compare, cache_fix_array): New.
745 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
746 section via get_xtensa_relax_info. Use cache_fix_array to set up
747 sorted fix_array and use bsearch instead of linear search.
748 (section_cache_t): New struct.
749 (init_section_cache, section_cache_section, clear_section_cache): New.
750 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
751 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
752 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
753 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
754 New.
755 (retrieve_contents): Use bfd_get_section_limit.
756 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
757 to compute_removed_literals. Free value_map_hash_table when no longer
758 needed.
759 (analyze_relocations): Check is_relaxable_asm_section flag. Call
760 compute_text_actions for all sections.
761 (find_relaxable_sections): Mark sections as relaxable if they contain
762 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
763 call. Increment relax_info src_count field only for appropriate
764 relocation types. Remove is_literal_section check.
765 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
766 r_reloc_init and find_associated_l32r_irel. Check
767 is_relaxable_asm_section flag. Handle L32R instructions with absolute
768 literals. Pass is_abs_literal flag to init_source_reloc.
769 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
770 CONST16 instructions. Adjust calls to r_reloc_init and
771 pcrel_reloc_fits. Handle weak symbols conservatively.
772 (find_associated_l32r_irel): Add bfd parameter and pass it to
773 is_l32r_relocation.
774 (compute_text_actions, compute_ebb_proposed_actions,
775 compute_ebb_actions, check_section_ebb_pcrels_fit,
776 check_section_ebb_reduces, text_action_add_proposed,
777 compute_fill_extra_space): New.
778 (remove_literals): Replace with ...
779 (compute_removed_literals): ... this function. Call
780 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
781 Call xtensa_read_table_entries to get the property table. Skip
782 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
783 is_removable_literal, remove_dead_literal, and
784 identify_literal_placement functions.
785 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
786 instead of linear search.
787 (is_removable_literal, remove_dead_literal,
788 identify_literal_placement): New.
789 (relocations_reach): Update check for literal not referenced by any
790 PC-relative relocations. Adjust call to pcrel_reloc_fits.
791 (coalesce_shared_literal, move_shared_literal): New.
792 (relax_section): Use bfd_get_section_limit. Call
793 translate_section_fixes. Update calls to r_reloc_init and
794 offset_with_removed_text. Check new is_relaxable_asm_section flag.
795 Add call to pin_internal_relocs. Add special handling for
796 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
797 info to calculate new addend_displacement variable. Replace code for
798 deleting literals with more general code to perform the actions
799 determined by the action_list for the section.
800 (translate_section_fixes, translate_reloc_bfd_fix): New.
801 (translate_reloc): Check new is_relaxable_asm_section flag. Call
802 find_removed_literal only if is_operand_relocation. Update call to
803 offset_with_removed_text. Use new target_offset and removed_bytes
804 variables.
805 (move_literal): New.
806 (relax_property_section): Use bfd_get_section_limit. Set new
807 is_full_prop_section flag and handle new property tables. Update calls
808 to r_reloc_init and offset_with_removed_text. Check
809 is_relaxable_asm_section flag. Handle expansion of zero-sized
810 unreachable entries, with use of offset_with_removed_text_before_fill.
811 For relocatable links, combine entries only for literal tables.
812 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
813 calls to offset_with_removed_text. Translate st_size field for
814 function symbols.
815 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
816 failure. Add contents parameter. Update call to get_bfd_fix. Update
817 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
818 R_XTENSA_ASM_EXPAND relocs.
819 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
820 call to get_bfd_fix. Include offset from contents for partial_inplace
821 relocations.
822 (is_reloc_sym_weak): New.
823 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
824 (prop_sec_len): New.
825 (xtensa_is_property_section): Handle new property sections.
826 (is_literal_section): Delete.
827 (internal_reloc_compare): When r_offset matches, compare r_info and
828 r_addend to make sorting predictable.
829 (internal_reloc_matches): New.
830 (xtensa_get_property_section_name): Handle new property sections.
831 (xtensa_get_property_predef_flags): New.
832 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
833 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
834 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
835 (xtisa_errno, xtisa_error_msg): New variables.
836 (xtensa_isa_errno, xtensa_isa_error_msg): New.
837 (xtensa_insnbuf_alloc): Add error handling.
838 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
839 use xtensa_format_decode. Add error handling.
840 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
841 instruction length to find the number of bytes to copy.
842 (xtensa_isa_init): Add error handling. Replace calls to
843 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
844 tables in the xtensa_modules structure.
845 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
846 xtensa_extend_isa): Delete.
847 (xtensa_isa_free): Change to only free lookup tables.
848 (opname_lookup_compare): Replace with ...
849 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
850 (xtensa_insn_maxlength): Rename to ...
851 (xtensa_isa_maxlength): ... this.
852 (xtensa_insn_length): Delete.
853 (xtensa_insn_length_from_first_byte): Replace with ...
854 (xtensa_isa_length_from_chars): ... this function.
855 (xtensa_num_opcodes): Rename to ...
856 (xtensa_isa_num_opcodes): ... this.
857 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
858 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
859 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
860 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
861 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
862 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
863 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
864 (xtensa_opcode_lookup): Add error handling.
865 (xtensa_decode_insn): Replace with ...
866 (xtensa_opcode_decode): ... this function, with new format and
867 slot parameters. Add error handling.
868 (xtensa_encode_insn): Replace with ...
869 (xtensa_opcode_encode): ... this function, which does the encoding via
870 one of the entries in the "encode_fns" array. Add error handling.
871 (xtensa_opcode_name): Add error handling.
872 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
873 xtensa_opcode_is_call): New.
874 (xtensa_num_operands): Replace with ...
875 (xtensa_opcode_num_operands): ... this function. Add error handling.
876 (xtensa_opcode_num_stateOperands,
877 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
878 xtensa_opcode_funcUnit_use, xtensa_operand_name,
879 xtensa_operand_is_visible): New.
880 (xtensa_get_operand, xtensa_operand_kind): Delete.
881 (xtensa_operand_inout): Add error handling and special-case for
882 "sout" operands.
883 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
884 operate on one slot of an instruction. Added error handling.
885 (xtensa_operand_encode): Handle default operands with no encoding
886 functions. Check for success by comparing against decoded value.
887 Add error handling.
888 (xtensa_operand_decode): Handle default operands. Return decoded value
889 through argument pointer. Add error handling.
890 (xtensa_operand_is_register, xtensa_operand_regfile,
891 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
892 (xtensa_operand_isPCRelative): Rename to ...
893 (xtensa_operand_is_PCrelative): ... this. Add error handling.
894 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
895 through argument pointer. Add error handling.
896 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
897 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
898 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
899 xtensa_regfile_shortname, xtensa_regfile_view_parent,
900 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
901 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
902 xtensa_state_is_exported, xtensa_sysreg_lookup,
903 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
904 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
905 xtensa_interface_num_bits, xtensa_interface_inout,
906 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
907 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
908 * xtensa-modules.c: Rewrite to use new data structures.
909 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
910 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
911 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
912 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
913 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
914 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
915 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
916 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
917 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
918 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
919 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
920 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
921 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
922 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
923 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
924 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
925 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
926 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
927 * Makefile.in: Regenerate.
928 * bfd-in2.h: Likewise.
929 * libbfd.h: Likewise.
930
931 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
932
933 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
934 against the absolute section.
935 (mips_elf64_write_rela): Likewise.
936
937 2004-10-07 Jan Beulich <jbeulich@novell.com>
938
939 * elf.c (elf_find_function): Don't generally check for matching
940 section, just for non-file symbols. Remove redunant comparison
941 for the latter.
942 * elf32-arm.h (arm_elf_find_function): Likewise.
943
944 2004-10-07 Jeff Baker <jbaker@qnx.com>
945
946 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
947 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
948 was specified.
949
950 2004-10-04 Roland McGrath <roland@redhat.com>
951
952 * hash.c (bfd_hash_set_default_size): Use const for table.
953 Use size_t instead of int for variable compared to sizeof results.
954
955 2004-10-05 Alan Modra <amodra@bigpond.net.au>
956
957 PR 425
958 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
959
960 2004-10-01 Paul Brook <paul@codesourcery.com>
961
962 * elf32-arm.h (elf32_arm_fake_sections,
963 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
964 functions.
965 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
966
967 2004-10-01 Alan Modra <amodra@bigpond.net.au>
968
969 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
970 need_lsda_relative.
971 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
972 need_relative or need_lsda_relative if we are processing an
973 offset for a reloc on a FDE initial loc or LSDA field
974 respectively.
975 (_bfd_elf_write_section_eh_frame): Test need_relative and
976 need_lsda_relative in place of corresponding make_* field
977 when deciding to use pc-relative encodings.
978
979 2004-09-30 Paul Brook <paul@codesourcery.com>
980
981 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
982 target2 relocation type.
983
984 2004-09-30 H.J. Lu <hongjiu.lu@intel.com>
985
986 PR 414
987 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
988
989 2004-09-30 Paul Brook <paul@codesourcery.com>
990
991 * reloc.c: Add BFD_RELOC_ARM_SMI.
992 * bfd-in2.h: Regenerate.
993 * libbfd.h: Ditto.
994
995 2004-09-24 Alan Modra <amodra@bigpond.net.au>
996
997 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
998 vma and output offset to address.
999 * simple.c (simple_save_output_info): Only set output section
1000 and offset for debug sections, or those not already set up by
1001 the linker.
1002 (bfd_simple_get_relocated_section_contents): Update comment.
1003
1004 2004-09-24 Alan Modra <amodra@bigpond.net.au>
1005
1006 * elf.c (IS_LOADED): Delete.
1007 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
1008 Restore SEC_HAS_CONTENTS test to the one place it was used prior
1009 to 2004-09-22.
1010
1011 2004-09-23 Alan Modra <amodra@bigpond.net.au>
1012
1013 PR gas/396
1014 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1015 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
1016 redundant assignment of EM_SPARC.
1017
1018 2004-09-22 Brian Ford <ford@vss.fsi.com>
1019
1020 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
1021 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
1022 constants.
1023 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1024
1025 2004-09-22 Alan Modra <amodra@bigpond.net.au>
1026
1027 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
1028 (elf_backend_modify_segment_map): Don't define.
1029
1030 2004-09-22 Alan Modra <amodra@bigpond.net.au>
1031
1032 * elf.c (IS_LOADED): Define.
1033 (assign_file_positions_for_segments): Don't round up file offset of
1034 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
1035 Delete code handling link script adjustment of lma. Do the adjust
1036 in later code handling similar ajustments. Remove dead code error
1037 check. Warn if section lma would require a negative offset
1038 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
1039 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
1040 update voff in section loop. Change voff in segment loop to be an
1041 adjustment on top of "off". Set sec->filepos and update "off" later.
1042 Test for loadable sections consistently using IS_LOADED. Similarly,
1043 test for alloc-only sections other than .tbss consistently.
1044 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
1045 Tidy PT_NOTE handling. Use %B and %A in error messages.
1046 (assign_file_positions_except_relocs): Use %B in error message.
1047
1048 2004-09-17 H.J. Lu <hongjiu.lu@intel.com>
1049
1050 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
1051 (CONFIG_STATUS_DEPENDENCIES): New.
1052 (Makefile): Removed.
1053 (config.status): Likewise.
1054 * Makefile.in: Regenerated.
1055
1056 2004-09-17 Paul Brook <paul@codesourcery.com>
1057
1058 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
1059 (bfd_elf32_arm_process_before_allocation): Update prototype.
1060 * bfd-in2.h: Regenerate.
1061 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
1062 (elf32_arm_link_hash_table_create): Set it.
1063 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
1064 (bfd_elf32_arm_set_target_relocs): New function.
1065 (arm_real_reloc_type): New function.
1066 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
1067 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
1068 (elf32_arm_gc_sweep_hook): Ditto.
1069 (elf32_arm_check_relocs): Ditto.
1070 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
1071 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
1072 R_ARM_GOT_TARGET2.
1073 (elf32_arm_got_prel): New variable.
1074 (elf32_arm_howto_from_type): New function.
1075 (elf32_arm_info_to_howto): Use it.
1076 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
1077 BFD_RELOC_ARM_TARGET2.
1078 * libbfd.h: Regenerate.
1079 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
1080
1081 2004-09-17 Alan Modra <amodra@bigpond.net.au>
1082
1083 * ecoff.c: Update u.undef.next refs.
1084 * elf64-ppc.c: Likewise.
1085 * elflink.c: Likewise.
1086 * linker.c: Likewise.
1087 * xcofflink.c: Likewise.
1088
1089 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
1090 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
1091 fields to indirect struct.
1092 * elf-m10300.c: Update u.weakdef refs.
1093 * elf32-arm.h: Likewise.
1094 * elf32-cris.c: Likewise.
1095 * elf32-frv.c: Likewise.
1096 * elf32-hppa.c: Likewise.
1097 * elf32-i370.c: Likewise.
1098 * elf32-i386.c: Likewise.
1099 * elf32-m32r.c: Likewise.
1100 * elf32-m68k.c: Likewise.
1101 * elf32-ppc.c: Likewise.
1102 * elf32-s390.c: Likewise.
1103 * elf32-sh.c: Likewise.
1104 * elf32-sparc.c: Likewise.
1105 * elf32-vax.c: Likewise.
1106 * elf32-xtensa.c: Likewise.
1107 * elf64-alpha.c: Likewise.
1108 * elf64-hppa.c: Likewise.
1109 * elf64-ppc.c: Likewise.
1110 * elf64-s390.c: Likewise.
1111 * elf64-sh64.c: Likewise.
1112 * elf64-sparc.c: Likewise.
1113 * elf64-x86-64.c: Likewise.
1114 * elfxx-ia64.c: Likewise.
1115 * elfxx-mips.c: Likewise.
1116 * elflink.c: Likewise. Also u.elf_hash_value.
1117 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
1118 indirection.
1119 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1120 (bfd_elf_gc_record_vtinherit): Alloc vtable.
1121 (bfd_elf_gc_record_vtentry): Likewise.
1122 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
1123
1124 2004-09-17 Alan Modra <amodra@bigpond.net.au>
1125
1126 * Makefile.am: Run "make dep-am".
1127 * Makefile.in: Regenerate.
1128 * bfd-in2.h: Regenerate.
1129 * po/SRC-POTFILES.in: Regenerate.
1130 * po/bfd.pot: Regenerate.
1131
1132 2004-09-16 Alan Modra <amodra@bigpond.net.au>
1133
1134 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
1135 with bitfields. Make "type" and "other" bitfields too.
1136 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
1137 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
1138 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
1139 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
1140 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
1141 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
1142 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
1143 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
1144 * elf-hppa.h: Update all uses of elf_link_hash_flags.
1145 * elf-m10300.c: Likewise.
1146 * elf.c: Likewise.
1147 * elf32-arm.h: Likewise.
1148 * elf32-cris.c: Likewise.
1149 * elf32-frv.c: Likewise.
1150 * elf32-hppa.c: Likewise.
1151 * elf32-i370.c: Likewise.
1152 * elf32-i386.c: Likewise.
1153 * elf32-m32r.c: Likewise.
1154 * elf32-m68k.c: Likewise.
1155 * elf32-ppc.c: Likewise.
1156 * elf32-s390.c: Likewise.
1157 * elf32-sh-symbian.c: Likewise.
1158 * elf32-sh.c: Likewise.
1159 * elf32-sh64.c: Likewise.
1160 * elf32-sparc.c: Likewise.
1161 * elf32-vax.c: Likewise.
1162 * elf32-xtensa.c: Likewise.
1163 * elf64-alpha.c: Likewise.
1164 * elf64-hppa.c: Likewise.
1165 * elf64-ppc.c: Likewise.
1166 * elf64-s390.c: Likewise.
1167 * elf64-sh64.c: Likewise.
1168 * elf64-sparc.c: Likewise.
1169 * elf64-x86-64.c: Likewise.
1170 * elflink.c: Likewise.
1171 * elfxx-ia64.c: Likewise.
1172 * elfxx-mips.c: Likewise.
1173 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
1174 * configure: Regenerate.
1175 * aclocal.m4: Regenerate.
1176
1177 2004-09-16 Alan Modra <amodra@bigpond.net.au>
1178
1179 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
1180 around uses of R_ARM_TARGET1.
1181 (elf32_arm_check_relocs): Likewise.
1182
1183 2004-09-13 Paul Brook <paul@codesourcery.com>
1184
1185 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
1186 prototype.
1187 * bfd-in2.h: Regenerate.
1188 * libbfd.h: Regenerate.
1189 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
1190 (elf32_arm_link_hash_table_create): Set target1_is_rel.
1191 (bfd_elf32_arm_process_before_allocation): Ditto.
1192 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
1193 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1194 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
1195 * reloc.c: Ditto.
1196
1197 2004-09-10 Joel Brobecker <brobecker@gnat.com>
1198
1199 * hpux-core.c (thread_section_p): New function.
1200 (hpux_core_core_file_p): Fix computation of offset in call
1201 to bfd_seek. Create a ".reg" section from an arbitrary
1202 ".reg/<id>" section if none was created after having read
1203 all sections.
1204
1205 2004-09-11 Andreas Schwab <schwab@suse.de>
1206
1207 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
1208 * aclocal.m4: Rebuild.
1209 * configure: Rebuild.
1210
1211 2004-09-10 Joel Brobecker <brobecker@gnat.com>
1212
1213 * section.c (bfd_sections_find_if): Fix parameter name in
1214 comment to match code.
1215
1216 2004-09-10 Alan Modra <amodra@bigpond.net.au>
1217
1218 * elf.c (assign_file_positions_except_relocs): Assign relocs
1219 stored in a bfd section.
1220
1221 2004-09-08 Hans-Peter Nilsson <hp@axis.com>
1222
1223 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
1224 h->gotplt_refcount to 0, not -1.
1225
1226 2004-09-07 Hans-Peter Nilsson <hp@axis.com>
1227
1228 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
1229 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
1230 symname.
1231 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
1232 handle symbol visibility here.
1233
1234 2004-09-07 Alan Modra <amodra@bigpond.net.au>
1235
1236 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
1237 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
1238 callers.
1239 (ppc_stub_name): Remove trailing "+0" on stub name.
1240 (create_linkage_sections): Create relocations for
1241 branch lookup table when --emit-relocs as well as when --shared.
1242 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
1243 relbrlt test. For --emit-stub-syms, always output a sym even when
1244 one already exists on a plt call stub. Put stub type in the stub
1245 symbol name.
1246 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
1247 test.
1248 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
1249 reloc_count in stub sections. Adjust relbrlt test.
1250 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
1251 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
1252 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
1253 for relocs against discarded symbols. Fix comments.
1254
1255 2004-09-06 Mark Mitchell <mark@codesourcery.com>
1256
1257 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
1258 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
1259 from ...
1260 (map_sections_to_segments): ... here. Use it. Assign a file
1261 position to the .dynamic section if it is not loadable, but part
1262 of the PT_DYNAMIC segment.
1263 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1264 offsets, not VMAs, for the BPABI. Do not fill in the header in
1265 the .got.plt section for the BPABI.
1266 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
1267 PT_DYNAMIC segment.
1268 (elf_backend_want_got_plt): Define to zero for Symbian OS.
1269
1270 2004-09-06 Nick Clifton <nickc@redhat.com>
1271
1272 * elflink.c (elf_link_add_object_symbols): Set the error code to
1273 bfd_error_wrong_format when the input format does not match the
1274 output format.
1275
1276 2004-09-06 Alan Modra <amodra@bigpond.net.au>
1277
1278 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
1279 (ppc64_elf_check_directives): ..here.
1280 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
1281 before accessing ppc64_elf_tdata.
1282 (ppc64_elf_finish_dynamic_sections): And here too.
1283
1284 2004-09-04 Alan Modra <amodra@bigpond.net.au>
1285
1286 * bfd.c (_bfd_default_error_handler): Correct loop exit.
1287
1288 2004-09-03 Mark Mitchell <mark@codesourcery.com>
1289
1290 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
1291 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
1292 (bfd_elf32_littlearm_symbian_vec): Likewise.
1293 * configure: Regenerated.
1294 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
1295 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
1296 (PLT_ENTRY_SIZE): Likewise.
1297 (bfd_vma_elf32_arm_symbian_plt_entry): New
1298 variable.
1299 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
1300 and symbian_p.
1301 (create_got_section): Don't create sections when generating BPABI
1302 objects.
1303 (elf32_arm_create_dynamic_sections): Tidy.
1304 (elf32_arm_link_hash_table_create): Set plt_header_size,
1305 plt_entry_size, and symbian_p.
1306 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
1307 generating BPABI objects.
1308 (allocate_dynrelocs): Use htab->plt_header_size, not
1309 PLT_HEADER_SIZE. Do not add to .got.plt when
1310 generating BPABI objects.
1311 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
1312 * elfarm-nabi.c: Add SymbianOS target vectors.
1313 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
1314 (_bfd_elf_link_create_dynamic_sections): Likewise.
1315 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
1316 (elfNN_bed): Use it.
1317 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
1318 (bfd_elf32_littlearm_symbian_vec): Likewise.
1319 (_bfd_target_vector): Add them.
1320
1321 2004-09-03 Nick Clifton <nickc@redhat.com>
1322
1323 PR 360
1324 * coffcode.h (handle_COMDAT): Replace abort with an warning
1325 message and allow the scan to continue.
1326
1327 2004-09-02 Alan Modra <amodra@bigpond.net.au>
1328
1329 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
1330 in when reading relocs, not our sorted syms. Remove unnecessary
1331 var.
1332
1333 2004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1334
1335 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
1336
1337 2004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
1338
1339 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
1340 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
1341 replace uses of *_alias with *_noncanonical.
1342 * aclocal.m4: Rebuild with aclocal 1.4p6.
1343 * Makefile.in: Rebuild with automake 1.4p6.
1344 * doc/Makefile.in: Rebuild with automake 1.4p6.
1345 * configure.in: Autoupdate with autoupdate 2.59.
1346 * config.in: Regenerate with autoheader 2.59.
1347 * configure: Regnerate with autoconf 2.59.
1348
1349 2004-08-28 Alan Modra <amodra@bigpond.net.au>
1350
1351 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
1352 symbol pointer arrays before modifying.
1353
1354 2004-08-28 Alan Modra <amodra@bigpond.net.au>
1355
1356 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
1357 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
1358 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
1359 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
1360 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
1361 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
1362 Use both symbol tables on non-relocatable objects. Use a common
1363 error exit. Fix "mid" warning.
1364 * libbfd.h: Regenerate.
1365 * bfd-in2.h: Regenerate.
1366
1367 2004-08-28 Alan Modra <amodra@bigpond.net.au>
1368
1369 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
1370 object file.
1371 (struct sfpr_def_parms): Save some space.
1372 (sfpr_define): Here too.
1373
1374 * elf64-ppc.c (compare_symbols): Put section syms first.
1375 (sym_exists_at): New function.
1376 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
1377 points only for relocatable files. Use .opd section contents
1378 otherwise. Generally clean up the code.
1379
1380 2004-08-27 Alan Modra <amodra@bigpond.net.au>
1381
1382 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
1383 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
1384 (struct sfpr_def_parms): New.
1385 (sfpr_define): New function.
1386 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
1387 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
1388 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
1389 (savefpr1_tail, restfpr1_tail): New functions.
1390 (savevr, savevr_tail, restvr, restvr_tail): New functions.
1391 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
1392 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
1393 code. Define all ABI mandated _save and _rest functions.
1394
1395 2004-08-26 Paul Brook <paul@codesourcery.com>
1396
1397 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
1398
1399 2004-08-26 Alan Modra <amodra@bigpond.net.au>
1400
1401 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
1402 TRUE or FALSE.
1403
1404 2004-08-26 Alan Modra <amodra@bigpond.net.au>
1405
1406 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
1407 that pcrel correction is applied for R_386_PC32.
1408
1409 2004-08-25 Alan Modra <amodra@bigpond.net.au>
1410
1411 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
1412 for R_386_32 and R_386_PC32 relocs against symbols defined in
1413 discarded sections.
1414
1415 2004-08-25 Dmitry Diky <diwil@spec.ru>
1416
1417 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
1418 Add new relocations.
1419 * bfd-in2.h: Regenerate.
1420 * libbfd.h: Regenerate.
1421 * elf32-msp430.c: Clean-up code.
1422 (elf_msp430_howto_table): Add new relocation entries.
1423 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
1424 (msp430_elf_relax_section): New function.
1425 (msp430_elf_relax_delete_bytes): New function.
1426 (msp430_elf_symbol_address_p): New function.
1427
1428 2004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1429
1430 * elf32-m32r.c (m32r_elf_relocate_section): Handle
1431 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
1432
1433 2004-08-20 Daniel Jacobowitz <dan@debian.org>
1434
1435 * elflink.c (_bfd_elf_section_already_linked): Handle
1436 SEC_LINK_DUPLICATES_SAME_CONTENTS.
1437
1438 2004-08-19 Mark Mitchell <mark@codesourcery.com>
1439
1440 * config.bfd (arm*-*-symbianelf*): New target.
1441 (arm*-*-eabi*): Likewise.
1442
1443 2004-08-19 Alan Modra <amodra@bigpond.net.au>
1444
1445 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
1446 "struct ppc_link_hash_entry *".
1447 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
1448 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
1449
1450 2004-08-19 Jakub Jelinek <jakub@redhat.com>
1451
1452 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
1453 entries (where fd_aux overlaps next entry's fd_func).
1454 Add non_overlapping argument, use it.
1455 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
1456 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1457 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
1458 as indexes into opd_sym_map/opd_adjust array.
1459 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
1460
1461 2004-08-18 Alan Modra <amodra@bigpond.net.au>
1462
1463 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
1464 if we can look up their function descriptor in a regular file.
1465
1466 2004-08-18 Nick Clifton <nickc@redhat.com>
1467
1468 PR 324
1469 * cofflink.c (coff_link_add_symbols): Check that the comdat
1470 pointer in the coff_section_data structure has been initialised
1471 before using it.
1472
1473 2004-08-18 Alan Modra <amodra@bigpond.net.au>
1474
1475 PR 338
1476 * elflink.c (bfd_elf_record_link_assignment): Add comment about
1477 changing bfd_link_hash_undefined to bfd_link_hash_new.
1478
1479 2004-08-17 Jakub Jelinek <jakub@redhat.com>
1480
1481 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
1482 if not yet defined.
1483 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
1484 (synthetic_opd, synthetic_relocatable): New variables.
1485 (compare_symbols, compare_relocs): New helper routines.
1486 (ppc64_elf_get_synthetic_symtab): New function.
1487 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
1488 to relsyms.
1489 * bfd-in2.h: Regenerated.
1490 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
1491 to relsyms. Return 0 if abfd is relocatable.
1492
1493 2004-08-17 Alan Modra <amodra@bigpond.net.au>
1494
1495 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1496
1497 2004-08-17 Nick Clifton <nickc@redhat.com>
1498
1499 * (is_arm_mapping_symbol_name): New function - return true
1500 when a symbol name matches the requirements for an ARM mapping
1501 symbol name.
1502 (arm_elf_find_function): New function based on
1503 elf_find_function in elf.c but skipping ARM mapping symbols
1504 and including thumb function symbols.
1505 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
1506 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
1507
1508 2004-08-17 Alan Modra <amodra@bigpond.net.au>
1509
1510 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
1511 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
1512 (ppc64_elf_brtaken_reloc): Here too.
1513
1514 2004-08-17 Alan Modra <amodra@bigpond.net.au>
1515
1516 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
1517 symbol visibility.
1518 (ppc64_elf_check_directives): Check that we have the right hash
1519 table before proceeding.
1520
1521 2004-08-17 Alan Modra <amodra@bigpond.net.au>
1522
1523 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
1524 (adjust_opd_syms): Attach opd syms for deleted entries to one of
1525 the sections that will be discarded.
1526
1527 2004-08-16 Alan Modra <amodra@bigpond.net.au>
1528
1529 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
1530
1531 2004-08-16 Alan Modra <amodra@bigpond.net.au>
1532
1533 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
1534 free space available.
1535
1536 2004-08-16 Alan Modra <amodra@bigpond.net.au>
1537
1538 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
1539 occurrences with bfd_byte * thoughout file.
1540
1541 * coff-rs6000.c (do_shared_object_padding): Warning fix.
1542 (xcoff_write_armap_big): Likewise.
1543 (xcoff_write_archive_contents_old): Likewise.
1544 (xcoff_write_archive_contents_big): Likewise.
1545
1546 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
1547
1548 2004-08-13 Nick Clifton <nickc@redhat.com>
1549
1550 * elf32-arm.h: Convert to ISO C90.
1551
1552 2004-08-13 Alan Modra <amodra@bigpond.net.au>
1553
1554 PR 293
1555 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
1556 zero the plt field.
1557
1558 2004-08-13 Alan Modra <amodra@bigpond.net.au>
1559
1560 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
1561 (bfd_archive_filename, bfd_get_section_ident): Delete.
1562 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
1563 bfd_archive_filename.
1564 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
1565 to warn about symbols in discarded sections. Use _bfd_error_handler.
1566 * aout-adobe.c (aout_adobe_callback): See below.
1567 * aout-cris.c (swap_ext_reloc_in): ..
1568 * coff-arm.c (find_thumb_glue, find_arm_glue,
1569 coff_arm_relocate_section, bfd_arm_process_before_allocation,
1570 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
1571 coff_arm_copy_private_bfd_data): ..
1572 * coff-i860.c (i860_reloc_processing): ..
1573 * coff-mcore.c (mcore_coff_unsupported_reloc,
1574 coff_mcore_relocate_section): ..
1575 * coff-ppc.c (coff_ppc_relocate_section): ..
1576 * coff-rs6000.c (xcoff_create_csect_from_smclas
1577 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1578 sh_swap_insns, sh_relocate_section): ..
1579 * coff-tic54x.c (tic54x_reloc_processing): ..
1580 * coff-tic80.c (coff_tic80_relocate_section): ..
1581 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
1582 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
1583 coff_slurp_symbol_table, coff_classify_symbol,
1584 coff_slurp_reloc_table): ..
1585 * coffgen.c (_bfd_coff_read_string_table): ..
1586 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
1587 _bfd_coff_generic_relocate_section): ..
1588 * cpu-arm.c (bfd_arm_merge_machines): ..
1589 * cpu-sh.c (sh_merge_bfd_arch): ..
1590 * elf-hppa.h (elf_hppa_relocate_section): ..
1591 * elf.c (bfd_elf_string_from_elf_section, setup_group,
1592 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
1593 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
1594 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
1595 * elf32-arm.h (find_thumb_glue, find_arm_glue,
1596 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
1597 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
1598 elf32_arm_relocate_section, elf32_arm_set_private_flags,
1599 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
1600 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
1601 cris_elf_merge_private_bfd_data
1602 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
1603 * elf32-gen.c (elf32_generic_link_add_symbols): ..
1604 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
1605 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
1606 elf32_hppa_relocate_section): ..
1607 * elf32-i370.c (i370_elf_merge_private_bfd_data,
1608 i370_elf_check_relocs, i370_elf_relocate_section): ..
1609 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
1610 elf_i386_relocate_section): ..
1611 * elf32-m32r.c (m32r_elf_relocate_section,
1612 m32r_elf_merge_private_bfd_data): ..
1613 * elf32-m68hc1x.c (m68hc12_add_stub,
1614 _bfd_m68hc11_elf_merge_private_bfd_data): ..
1615 * elf32-m68k.c (elf_m68k_relocate_section): ..
1616 * elf32-mcore.c (mcore_elf_unsupported_reloc,
1617 mcore_elf_relocate_section): ..
1618 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
1619 ppc_elf_check_relocs, ppc_elf_relocate_section,
1620 ppc_elf_begin_write_processing): ..
1621 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1622 elf_s390_relocate_section): ..
1623 * elf32-sh-symbian.c (sh_symbian_import_as,
1624 sh_symbian_process_embedded_commands,
1625 sh_symbian_relocate_section): ..
1626 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
1627 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
1628 sh_elf_merge_private_data): ..
1629 * elf32-sparc.c (elf32_sparc_check_relocs,
1630 elf32_sparc_relocate_section,
1631 elf32_sparc_merge_private_bfd_data): ..
1632 * elf32-v850.c (v850_elf_check_relocs,
1633 v850_elf_merge_private_bfd_data): ..
1634 * elf32-xtensa.c (elf_xtensa_check_relocs,
1635 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
1636 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
1637 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
1638 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
1639 * elf64-gen.c (elf64_generic_link_add_symbols): ..
1640 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
1641 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
1642 ppc64_elf_relocate_section): ..
1643 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1644 elf_s390_relocate_section): ..
1645 * elf64-sh64.c (sh_elf64_relocate_section): ..
1646 * elf64-sparc.c (sparc64_elf_check_relocs,
1647 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
1648 sparc64_elf_merge_private_bfd_data): ..
1649 * elf64-x86-64.c (elf64_x86_64_check_relocs,
1650 elf64_x86_64_relocate_section): ..
1651 * elflink.c (_bfd_elf_add_default_symbol,
1652 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
1653 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
1654 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
1655 elf_get_linked_section_vma, elf_fixup_link_order,
1656 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
1657 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
1658 * elfxx-ia64.c (elfNN_ia64_relax_section,
1659 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
1660 * elfxx-mips.c (mips_elf_perform_relocation,
1661 _bfd_mips_elf_check_relocs,
1662 _bfd_mips_elf_merge_private_bfd_data): ..
1663 * ieee.c (ieee_slurp_external_symbols): ..
1664 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
1665 * libbfd.c (_bfd_generic_verify_endian_match): ..
1666 * linker.c (_bfd_generic_link_add_one_symbol,
1667 _bfd_generic_section_already_linked): ..
1668 * pdp11.c (translate_to_native_sym_flags): ..
1669 * pe-mips.c (coff_pe_mips_relocate_section): ..
1670 * peicode.h (pe_ILF_build_a_bfd): ..
1671 * srec.c (srec_bad_byte): ..
1672 * stabs.c (_bfd_link_section_stabs): ..
1673 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
1674 Replace all uses of bfd_archive_filename and bfd_get_section_ident
1675 with corresponding %B and %A in _bfd_error_handler format string.
1676 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
1677 calls to use %A and %B. Fix "against symbol .. from section" and
1678 similar error messages. Combine multiple _bfd_error_handler calls
1679 where they were separated due to bfd_archive_filename deficiencies.
1680 * bfd-in2.h: Regenerate.
1681
1682 2004-08-12 H.J. Lu <hongjiu.lu@intel.com>
1683
1684 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1685 relocation.
1686
1687 2004-08-10 Alan Modra <amodra@bigpond.net.au>
1688
1689 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
1690 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
1691 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
1692 Add twiddled_syms.
1693 (link_hash_newfunc): Init was_undefined.
1694 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
1695 Use undefweak instead.
1696 (ppc64_elf_check_directives): Fix undefs chain.
1697 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
1698 references.
1699 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
1700 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
1701 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
1702
1703 2004-08-09 Jakub Jelinek <jakub@redhat.com>
1704
1705 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
1706 error, test input_section flags rather than sec.
1707
1708 2004-08-09 Alan Modra <amodra@bigpond.net.au>
1709
1710 * elf-bfd.h (struct elf_backend_data): Add
1711 elf_backend_archive_symbol_lookup.
1712 (_bfd_elf_archive_symbol_lookup): Declare.
1713 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
1714 (elf_link_add_archive_symbols): ..extracted from here. Call the
1715 backend version.
1716 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
1717 (elfNN_bed): Init new field.
1718 * elf64-ppc.c (elf_backend_check_directives): Define.
1719 (elf_backend_archive_symbol_lookup): Define.
1720 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
1721 a ppc_link_hash_entry pointer.
1722 (get_fdh): Move.
1723 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
1724 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
1725 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
1726 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
1727 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
1728 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1729 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
1730 descriptor symbols.
1731
1732 2004-08-09 Alan Modra <amodra@bigpond.net.au>
1733
1734 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
1735 (ppc64_elf_add_symbol_hook): Test for NULL section.
1736 (get_sym_h): Formatting.
1737 (ppc64_elf_size_stubs): Include reloc addend in value stored as
1738 stub target_value.
1739
1740 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1741 long branch stubs with code handling plt and r2off branch stubs.
1742
1743 2004-08-09 Alan Modra <amodra@bigpond.net.au>
1744
1745 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
1746 * elflink.c (elf_link_input_bfd): Formatting.
1747 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
1748 all callers.
1749 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
1750 (link_hash_newfunc): Don't set it.
1751 (ppc64_elf_copy_indirect_symbol): Nor copy it.
1752 (ppc64_elf_mark_entry_syms): Delete.
1753 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
1754 sections. Use get_opd_info.
1755 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
1756
1757 2004-08-09 Alan Modra <amodra@bigpond.net.au>
1758
1759 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
1760
1761 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
1762 (func_desc_adjust): Don't set have_undefweak.
1763 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
1764 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
1765
1766 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
1767 "struct ppc_link_hash_entry *". Adjust all references.
1768 (ppc64_elf_hide_symbol): Correct a comment.
1769
1770 * elf64-ppc.c (get_opd_info): New function.
1771 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
1772 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
1773 before calling get_fdh. Test fdh rather than h before dereferencing
1774 fdh. Mark removed symbols in opd_adjust.
1775 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
1776 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
1777 opd symbols.
1778 (ppc64_elf_output_symbol_hook): Likewise.
1779
1780 2004-08-06 Paul Brook <paul@codesourcery.com>
1781
1782 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
1783 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
1784 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
1785 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
1786 and BFD_RELOC_ARM_SBREL32.
1787 * bfd-in2.h, bbfd.h: Regenerate.
1788
1789 2004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1790
1791 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
1792 the dynamic link symbol actually in use.
1793
1794 2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
1795
1796 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1797
1798 2004-07-31 Joel Brobecker <brobecker@gnat.com>
1799 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1800
1801 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
1802 SHN_MIPS_TEXT and SHN_MIPS_DATA.
1803
1804 2004-07-30 H.J. Lu <hongjiu.lu@intel.com>
1805 Nick Clifton <nickc@redhat.com>
1806
1807 PR 290
1808 * bfd.c (_bfd_default_error_handler): Make it global.
1809
1810 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
1811
1812 * elf.c (assign_section_numbers): Cope gracefully with sections
1813 which have SHF_LINK_ORDER set but no sh_link set up.
1814 * elflink.c (elf_get_linked_section_vma): Likewise.
1815
1816 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
1817 it to NULL.
1818
1819 * elfxx-target.h (elf_backend_link_order_error_handler): New.
1820 Set it to _bfd_default_error_handler.
1821 (elfNN_bed): Add elf_backend_link_order_error_handler.
1822
1823 * libbfd-in.h (_bfd_default_error_handler): New.
1824
1825 * libbfd.h: Regenerated.
1826
1827 2004-07-30 Jakub Jelinek <jakub@redhat.com>
1828
1829 * archures.c (bfd_mach_sparc_64bit_p): Define.
1830 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
1831 * bfd-in2.h: Rebuilt.
1832
1833 2004-07-29 Alexandre Oliva <aoliva@redhat.com>
1834
1835 Introduce SH2a support.
1836 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
1837 * archures.c (bfd_mach_sh2a_nofpu): New.
1838 * bfd-in2.h: Rebuilt.
1839 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
1840 (arch_info_struct): Add sh2a_nofpu.
1841 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
1842 2003-12-29 DJ Delorie <dj@redhat.com>
1843 * reloc.c: Add relocs for sh2a.
1844 * bfd-in2.h: Regenerate.
1845 * libbfd.hh: Regenerate.
1846 2003-12-01 Michael Snyder <msnyder@redhat.com>
1847 * archures.c (bfd_mach_sh2a): New.
1848 * bfd-in2.h: Rebuilt.
1849 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
1850 (SH2A_NEXT): New.
1851 (arch_info_struct): Add sh2a.
1852 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
1853
1854 2004-07-28 Nick Clifton <nickc@redhat.com>
1855 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1856
1857 PR 273
1858 * som.c (setup_sections): Improve estimation of space sizes in
1859 relocatable objects.
1860
1861 2004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
1862 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
1863 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
1864 to targ_selvecs.
1865 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
1866 * configure: Regenerate.
1867 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
1868 case that accepts OSABI=NetBSD and OSABI=SysV.
1869 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
1870 the base of .got or .data (if .got does not exist).
1871 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
1872 set OSABI=NetBSD.
1873 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
1874 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
1875 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
1876 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
1877
1878 2004-07-27 H.J. Lu <hongjiu.lu@intel.com>
1879
1880 PR 161/251
1881 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
1882 (elf_sec_group): Defined.
1883 (bfd_elf_match_symbols_in_sections): New prototype.
1884 (_bfd_elf_setup_group_pointers): Likewise.
1885
1886 * elf.c (bfd_elf_discard_group): Abort.
1887 (bfd_elf_set_group_contents): Also include relocation sections.
1888 Remove zero-fill for ld -r.
1889 (_bfd_elf_setup_group_pointers): New function.
1890 (elf_sort_elf_symbol): Likewise.
1891 (elf_sym_name_compare): Likewise.
1892 (bfd_elf_match_symbols_in_sections): Likewise.
1893
1894 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
1895
1896 * elflink.c (match_group_member): New.
1897 (elf_link_input_bfd): Check group member for discarded section.
1898 (try_match_symbols_in_sections): New function.
1899 (already_linked): Likewise.
1900 (_bfd_elf_section_already_linked): Support mixing comdat group
1901 and linkonce section.
1902
1903 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
1904 * linker.c (bfd_section_already_linked_table_traverse): New.
1905
1906 * libbfd.h: Regenerated.
1907
1908 2004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
1909
1910 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
1911 BFD_RELOC_CRX_SWITCH32.
1912 * bfd-in2.h: Regenerate.
1913 * libbfd.h: Regenerate.
1914 * elf32-crx.c: Support relocation/relaxation of
1915 BFD_RELOC_CRX_SWITCH* types.
1916
1917 2004-07-27 Alan Modra <amodra@bigpond.net.au>
1918
1919 * elf64-ppc.c: Correct "Linker stubs" comment.
1920
1921 2004-07-26 H.J. Lu <hongjiu.lu@intel.com>
1922
1923 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
1924 linked-to section.
1925 (elf_linked_to_section): New.
1926
1927 * elf.c (assign_section_numbers): Set up sh_link for
1928 SHF_LINK_ORDER.
1929
1930 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
1931 to sh_link for SHT_IA_64_UNWIND sections.
1932
1933 2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1934
1935 * elflink.c (elf_fixup_link_order): Add _() to error message.
1936
1937 2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1938
1939 * elflink.c (elf_fixup_link_order): Issue a warning and flag
1940 an error if failed.
1941
1942 2004-07-21 H.J. Lu <hongjiu.lu@intel.com>
1943
1944 * aout-adobe.c (aout_32_section_already_linked): Defined.
1945 * aout-target.h (MY_section_already_linked): Likewise.
1946 * aout-tic30.c (MY_section_already_linked): Likewise.
1947 * binary.c (binary_section_already_linked): Likewise.
1948 * bout.c (b_out_section_already_linked): Likewise.
1949 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
1950 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
1951 * coffcode.h (coff_section_already_linked): Likewise.
1952 * i386msdos.c (msdos_section_already_linked): Likewise.
1953 * i386os9k.c (os9k_section_already_linked): Likewise.
1954 * ieee.c (ieee_section_already_linked): Likewise.
1955 * ihex.c (ihex_section_already_linked): Likewise.
1956 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
1957 * mmo.c (mmo_section_already_linked): Likewise.
1958 * nlm-target.h (nlm_section_already_linked): Likewise.
1959 * oasys.c (oasys_section_already_linked): Likewise.
1960 * pef.c (bfd_pef_section_already_linked): Likewise.
1961 * ppcboot.c (ppcboot_section_already_linked): Likewise.
1962 * som.c (som_bfd_discard_group): Likewise.
1963 * srec.c (srec_section_already_linked): Likewise.
1964 * tekhex.c (tekhex_section_already_linked): Likewise.
1965 * versados.c (versados_section_already_linked): Likewise.
1966 * vms.c (vms_section_already_linked): Likewise.
1967 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
1968 * xsym.c (bfd_sym_section_already_linked): Likewise.
1969
1970 * bfd-in.h (bfd_section_already_linked_table_init): New.
1971 (bfd_section_already_linked_table_free): Likewise.
1972
1973 * coff-rs6000.c (rs6000coff_vec): Add
1974 _bfd_generic_section_already_linked.
1975 (pmac_xcoff_vec): Likewise.
1976 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1977 (aix5coff64_vec): Likewise.
1978
1979 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
1980 * elflink.c (_bfd_elf_section_already_linked): New function.
1981
1982 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
1983
1984 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
1985 (_bfd_generic_section_already_linked): New.
1986 (bfd_section_already_linked_hash_entry): Likewise.
1987 (bfd_section_already_linked): Likewise.
1988 (bfd_section_already_linked_table_lookup): Likewise.
1989 (bfd_section_already_linked_table_insert): Likewise.
1990
1991 * linker.c (bfd_section_already_linked): New.
1992 (_bfd_section_already_linked_table): Likewise.
1993 (bfd_section_already_linked_table_lookup): Likewise.
1994 (bfd_section_already_linked_table_insert): Likewise.
1995 (already_linked_newfunc): Likewise.
1996 (bfd_section_already_linked_table_init): Likewise.
1997 (bfd_section_already_linked_table_free): Likewise.
1998 (_bfd_generic_section_already_linked): Likewise.
1999
2000 * section.c (bfd_section): Remove comdat.
2001 (bfd_comdat_info): Moved to ...
2002 * bfd-in.h (coff_comdat_info): Here.
2003 (bfd_coff_get_comdat_section): New.
2004 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
2005 * libcoff-in.h (coff_section_tdata): Add comdat.
2006 * coffcode.h (handle_COMDAT): Updated.
2007 * cofflink.c (coff_link_add_symbols): Likewise.
2008 * ecoff.c (bfd_debug_section): Likewise.
2009
2010 * targets.c (bfd_target): Add _section_already_linked.
2011 (BFD_JUMP_TABLE_LINK): Updated.
2012
2013 * bfd-in2.h: Regenerated.
2014 * libbfd.h: Likewise.
2015 * libcoff.h: Likewise.
2016
2017 2003-07-21 Paul Brook <paul@codesourcery.com>
2018
2019 * elflink.c (elf_get_linked_section_vma, compare_link_order,
2020 elf_fixup_link_order): New functions.
2021 (bfd_elf_final_link): Call elf_fixup_link_order.
2022
2023 2004-07-21 Alexandre Oliva <aoliva@redhat.com>
2024
2025 * elf-bfd.h (ELF_COMMON_DEF_P): New.
2026 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
2027 common definitions.
2028 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
2029 _bfd_elf_symbol_refs_local_p.
2030 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
2031 symbols.
2032
2033 2004-07-19 H.J. Lu <hongjiu.lu@intel.com>
2034
2035 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
2036 DYN_NO_NEEDED.
2037 (bfd_elf_get_dyn_lib_class): New prototype.
2038 * elf.c (bfd_elf_get_dyn_lib_class): New function.
2039
2040 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
2041 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
2042 entry is needed. Issue an error if a DT_NEEDED entry is needed
2043 for a file marked DYN_NO_NEEDED.
2044 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
2045 for DT_NEEDED tags.
2046
2047 * bfd-in2.h: Regenerated.
2048
2049 2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2050
2051 * elflink.c (elf_section_complain_discarded): Don't complain in
2052 .PARISC.unwind.
2053
2054 2004-07-10 James E Wilson <wilson@specifixinc.com>
2055
2056 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
2057 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
2058 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
2059 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
2060 Fix callers.
2061 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
2062 bfd_put_64 to bfd_putl64.
2063 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2064
2065 2004-07-09 H.J. Lu <hongjiu.lu@intel.com>
2066
2067 PR 240
2068 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
2069 .init/.fini sections when trying to relax it.
2070
2071 2004-07-09 Jie Zhang <zhangjie@magima.com.cn>
2072
2073 * elf.c (assign_file_positions_for_segments): Make sure the
2074 .dynamic section is the first section in the PT_DYNAMIC segment.
2075
2076 2004-07-09 Nick Clifton <nickc@redhat.com>
2077
2078 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
2079 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
2080 sh_elf_get_flags_from_mach functions so that they do not conflict
2081 when this target is built with other sh-elf targets.
2082 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
2083 suppression of this function.
2084 (sh_elf_find_flags): Likewise.
2085
2086 2004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
2087
2088 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
2089 (ALL_MACHINES_CFILES): Add cpu-crx.c.
2090 (BFD32_BACKENDS): Add elf32-crx.lo.
2091 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
2092 (cpu-crx.lo): New target.
2093 (elf32-crx.lo): New target.
2094 * Makefile.in: Regenerate.
2095 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
2096 (bfd_archures_list): Add bfd_crx_arch.
2097 * bfd-in2.h: Regenerate.
2098 * config.bfd: Handle crx-*-elf*, crx*.
2099 * configure.in: Handle bfd_elf32_crx_vec.
2100 * configure: Regenerate.
2101 * cpu-crx.c: New file.
2102 * elf32-crx.c: Likewise.
2103 * libbfd.h: Regenerate.
2104 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
2105 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
2106 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
2107 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
2108 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
2109 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
2110 * targets.c (bfd_elf32_crx_vec): Declare.
2111 (bfd_target_vector): Add bfd_elf32_crx_vec.
2112
2113 2004-07-06 Nick Clifton <nickc@redhat.com>
2114
2115 * config.bfd: Add sh-symbian-elf target.
2116 * configure.in: Add bfd_elf32_shl_symbian_vec.
2117 * configure: Regenerate.
2118 * elf-bfd.h (struct elf_backend_data): Add new field
2119 'check_directives'.
2120 * elflink.c (elf_link_add_object_symbols): Invoke the
2121 check_directives function, if defined.
2122 * elfxx-target.h: Provide a default, NULL definition for
2123 check_directives.
2124 * targets.c: Add bfd_elf32_shl_symbian_vec.
2125 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
2126 definition.
2127 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
2128 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
2129 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
2130 not already been defined.
2131 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
2132 * sh-symbian.c: New file. Provide functions to support the
2133 * sh-symbian-elf target.
2134 * Makefile.am: Add elf32-sh-symbian.c
2135 * Makefile.in: Regenerate.
2136
2137 2004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
2138
2139 * elf32-sh.c: Include ../opcodes/sh-opc.h.
2140 * Makefile.am: Ran make dep-am.
2141 * Makefile.in: Ran make dep-in.
2142
2143 2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
2144
2145 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
2146 externals properly.
2147
2148 2004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
2149
2150 * config.bfd: Add want64 to configuration target s390-*-linux*.
2151
2152 2004-07-01 H.J. Lu <hongjiu.lu@intel.com>
2153
2154 * bfd.c (bfd_get_section_ident): New.
2155
2156 * elflink.c (elf_link_read_relocs_from_section): Call
2157 bfd_get_section_ident to identify the section when reporting
2158 error.
2159 (_bfd_elf_link_output_relocs): Likewise.
2160 (elf_link_output_extsym): Likewise.
2161 (elf_link_input_bfd): Likewise.
2162 (bfd_elf_gc_record_vtinherit): Likewise.
2163
2164 * bfd-in2.h: Regenerated.
2165
2166 2004-07-01 Jie Zhang <zhangjie@magima.com.cn>
2167 Nick Clifton <nickc@redhat.com>
2168
2169 PR 204
2170 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
2171 of section symbols to mips_elf_sort_hash_table ().
2172
2173 2004-07-01 Alan Modra <amodra@bigpond.net.au>
2174
2175 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
2176 change. Comment.
2177 (elf_section_complain_discarded): New function. Handle
2178 .gcc_except_table too.
2179 (elf_link_input_bfd): Rewrite handling of relocs against symbols
2180 in discarded sections.
2181 * elf-bfd.h (elf_discarded_section): Protect macro arg.
2182
2183 2004-06-30 James E Wilson <wilson@specifixinc.com>
2184
2185 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
2186 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
2187
2188 2004-06-30 H.J. Lu <hongjiu.lu@intel.com>
2189
2190 PR 233
2191 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
2192 local references to discarded sections and report their
2193 locations.
2194
2195 2004-06-30 Alan Modra <amodra@bigpond.net.au>
2196
2197 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
2198 sec_info_type, test section name instead.
2199
2200 2004-06-29 H.J. Lu <hongjiu.lu@intel.com>
2201
2202 PR 240
2203 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
2204 in .init/.fini sections.
2205
2206 2004-06-29 Bob Wilson <bob.wilson@acm.org>
2207
2208 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
2209 bfd_get_section_limit.
2210
2211 2004-06-29 Bob Wilson <bob.wilson@acm.org>
2212
2213 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
2214 output section size.
2215
2216 2004-06-29 Alan Modra <amodra@bigpond.net.au>
2217
2218 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
2219 rawsize.
2220 (mmix_elf_perform_relocation): Adjust for above change.
2221 (mmix_elf_relocate_section): Likewise.
2222 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
2223 (mmix_elf_get_section_contents): Delete.
2224 (bfd_elf64_get_section_contents): Delete.
2225 (mmix_elf_relocate_section): Zero stub area.
2226 * linker.c (default_indirect_link_order): Alloc max of section size
2227 and rawsize.
2228 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
2229 * section.c (bfd_malloc_and_get_section): Likewise.
2230 (struct bfd_section): Update rawsize comment.
2231 * bfd-in2.h: Regenerate.
2232
2233 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
2234
2235 2004-06-29 Alan Modra <amodra@bigpond.net.au>
2236
2237 * bfd-in.h (bfd_get_section_limit): Define.
2238 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
2239 (_bfd_final_link_relocate): Use bfd_get_section_limit.
2240 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
2241 * coff-arm.c (coff_arm_relocate_section): Likewise.
2242 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
2243 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
2244 (bfd_ns32k_final_link_relocate): Likewise.
2245 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
2246 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
2247 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
2248 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
2249 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
2250 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
2251 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
2252 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2253 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
2254 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
2255 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
2256 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
2257 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
2258 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
2259 * elf32-v850.c (v850_elf_reloc): Likewise.
2260 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
2261 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
2262 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
2263 * elf64-mips.c (mips_elf64_gprel32_reloc)
2264 (mips16_gprel_reloc): Likewise.
2265 * elf64-mmix.c (mmix_elf_reloc): Likewise.
2266 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
2267 * elf64-sparc.c (init_insn_reloc): Likewise.
2268 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2269 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
2270 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
2271 (_bfd_mips_elf_generic_reloc): Likewise.
2272 * bfd-in2.h: Regenerate.
2273
2274 2004-06-28 Alan Modra <amodra@bigpond.net.au>
2275
2276 * bfd-in.h (struct stab_info): Move from stabs.c.
2277 * stabs.c (struct stab_link_includes_table): Delete.
2278 (stab_link_includes_lookup): Delete.
2279 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
2280 level of indirection from sinfo parm.
2281 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
2282 stabstr section. Adjust hash table accesses.
2283 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
2284 alloc. Adjust stab_info test.
2285 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
2286 (_bfd_coff_final_link): Adjust stab_info test.
2287 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
2288 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
2289 in place.
2290 * libcoff-in.h (struct coff_link_hash_table): Likewise.
2291 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
2292 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
2293 stabstr section. Adjust stab_info test.
2294 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
2295 (_bfd_write_stab_strings): Adjust prototypes.
2296 * libbfd.h: Regenerate.
2297 * libcoff.h: Regenerate.
2298 * bfd-in2.h: Regenerate.
2299
2300 2004-06-27 Mark Kettenis <kettenis@gnu.org>
2301
2302 From Miod Vallat <miod@online.fr>:
2303 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
2304
2305 2004-06-26 Alexandre Oliva <aoliva@redhat.com>
2306
2307 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
2308 (struct elf32_mn10300_link_hash_entry): Remove
2309 pcrel_relocs_copied.
2310 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
2311 R_MN10300_32. Don't adjust pcrel_relocs_copied.
2312 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
2313 and gotoff relocations if the symbol doesn't bind locally. Use
2314 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
2315 relocation for PCREL32.
2316 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
2317 to test whether a symbol binds locally.
2318 (elf32_mn10300_link_hash_newfunc): Don't initialize
2319 pcrel_relocs_copied.
2320 (_bfd_mn10300_elf_discard_copies): Delete.
2321 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
2322
2323 2004-06-26 Mark Kettenis <kettenis@gnu.org>
2324
2325 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
2326
2327 2004-06-25 Joel Brobecker <brobecker@gnat.com>
2328
2329 * som.c (som_set_reloc_info): Correct small typo.
2330
2331 2004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2332
2333 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
2334 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
2335 (m32r_elf_gcsweep_hook): Likewise.
2336 (m32r_elf_check_relocs): Likewise.
2337 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
2338 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
2339 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
2340 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
2341 * bfd-in2.h: Regenerated.
2342 * libbfd.h: Regenerated.
2343
2344 2004-06-24 H.J. Lu <hongjiu.lu@intel.com>
2345
2346 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
2347 relocation symbol.
2348 (elf64_x86_64_relocate_section): Issue an error for
2349 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
2350 against global symbols when building shared library.
2351
2352 2004-06-24 Alan Modra <amodra@bigpond.net.au>
2353
2354 * section.c (struct sec): Rename "_cooked_size" to "size".
2355 Rename "_raw_size" to "rawsize".
2356 (STD_SECTION): Adjust comments.
2357 (bfd_set_section_size, bfd_get_section_contents): Use size.
2358 (bfd_malloc_and_get_section): New function.
2359 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
2360 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
2361 Correctly free reloc and contents memory.
2362 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
2363 and fake CIE now that we can shink section size to zero.
2364 (_bfd_elf_write_section_eh_frame): Likewise..
2365 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
2366 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
2367 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
2368 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
2369 unneeded indirection.
2370 * elf.c (_bfd_elf_section_offset): .. and update call.
2371 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
2372 * libbfd.h: Regenerate.
2373 * bfd-in2.h: Regenerate.
2374
2375 Replace occurrences of "_raw_size" and "_cooked_size" in most places
2376 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
2377 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
2378 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
2379 Similarly use "rawsize", if non-zero, in reloc functions to validate
2380 reloc addresses. Use new bfd_malloc_and_get_section in most places
2381 where bfd_get_section_contents was called. Expand all occurrences of
2382 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
2383 grok_prstatus and similar functions to "size".
2384 * aix386-core.c (aix386_core_file_p): ..
2385 * aix5ppc-core.c (xcoff64_core_p): ..
2386 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
2387 aout_adobe_set_section_contents): ..
2388 * aout-target.h (callback): ..
2389 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
2390 MY_bfd_final_link): ..
2391 * aoutf1.h (sunos4_core_file_p): ..
2392 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2393 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
2394 final_link, aout_link_input_section): ..
2395 * binary.c (binary_object_p, binary_canonicalize_symtab,
2396 binary_set_section_contents): ..
2397 * bout.c (b_out_callback, b_out_write_object_contents,
2398 b_out_set_section_contents, b_out_bfd_relax_section,
2399 b_out_bfd_get_relocated_section_contents): ..
2400 * cisco-core.c (cisco_core_file_validate): ..
2401 * coff-alpha.c (alpha_ecoff_object_p,
2402 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
2403 * coff-arm.c (coff_arm_relocate_section,
2404 bfd_arm_allocate_interworking_sections): ..
2405 * coff-h8300.c (h8300_reloc16_extra_cases,
2406 h8300_bfd_link_add_symbols): ..
2407 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
2408 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
2409 ppc_bfd_coff_final_link): ..
2410 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
2411 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2412 sh_align_loads, sh_coff_get_relocated_section_contents): ..
2413 * coff64-rs6000.c (xcoff64_write_object_contents,
2414 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
2415 * coffcode.h (coff_compute_section_file_positions,
2416 coff_write_object_contents): ..
2417 * coffgen.c (make_a_section_from_file, coff_write_symbols,
2418 coff_section_symbol, build_debug_section): ..
2419 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
2420 process_embedded_commands, _bfd_coff_link_input_bfd,
2421 _bfd_coff_write_global_sym): ..
2422 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
2423 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
2424 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
2425 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
2426 _bfd_dwarf2_find_nearest_line): ..
2427 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
2428 ecoff_compute_section_file_positions,
2429 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
2430 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
2431 _bfd_elf_discard_section_eh_frame_hdr,
2432 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
2433 _bfd_elf_write_section_eh_frame,
2434 _bfd_elf_write_section_eh_frame_hdr): ..
2435 * elf-hppa.h (elf_hppa_sort_unwind): ..
2436 * elf-m10200.c (mn10200_elf_relax_section,
2437 mn10200_elf_relax_delete_bytes,
2438 mn10200_elf_get_relocated_section_contents): ..
2439 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
2440 mn10300_elf_check_relocs, mn10300_elf_relax_section,
2441 mn10300_elf_relax_delete_bytes,
2442 mn10300_elf_get_relocated_section_contents,
2443 _bfd_mn10300_elf_adjust_dynamic_symbol,
2444 _bfd_mn10300_elf_discard_copies,
2445 _bfd_mn10300_elf_size_dynamic_sections,
2446 _bfd_mn10300_elf_finish_dynamic_sections): ..
2447 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
2448 _bfd_elf_make_section_from_phdr, elf_fake_sections,
2449 bfd_elf_set_group_contents, map_sections_to_segments,
2450 elf_sort_sections, assign_file_positions_for_segments,
2451 SECTION_SIZE, copy_private_bfd_data,
2452 _bfd_elf_get_dynamic_reloc_upper_bound,
2453 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
2454 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
2455 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
2456 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
2457 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
2458 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
2459 bfd_elf32_arm_process_before_allocation,
2460 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
2461 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
2462 elf32_arm_write_section): ..
2463 * elf32-cris.c (cris_elf_grok_prstatus,
2464 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
2465 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
2466 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
2467 elf_cris_discard_excess_dso_dynamics,
2468 elf_cris_discard_excess_program_dynamics): ..
2469 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
2470 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
2471 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
2472 _frv_create_got_section, _frvfdpic_assign_plt_entries,
2473 elf32_frvfdpic_size_dynamic_sections,
2474 elf32_frvfdpic_modify_segment_map,
2475 elf32_frvfdpic_finish_dynamic_sections): ..
2476 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
2477 elf32_h8_get_relocated_section_contents): ..
2478 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
2479 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
2480 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
2481 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
2482 elf32_hppa_finish_dynamic_sections): ..
2483 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
2484 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
2485 i370_elf_finish_dynamic_sections): ..
2486 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
2487 allocate_dynrelocs, elf_i386_size_dynamic_sections,
2488 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
2489 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
2490 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
2491 * elf32-ip2k.c (ip2k_is_switch_table_128,
2492 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
2493 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
2494 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
2495 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
2496 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
2497 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
2498 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
2499 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2500 m32r_elf_get_relocated_section_contents): ..
2501 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
2502 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
2503 m68hc11_elf_relax_delete_bytes): ..
2504 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
2505 m68hc12_elf_size_one_stub): ..
2506 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
2507 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
2508 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
2509 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
2510 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
2511 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2512 elf32_mips_grok_prstatus): ..
2513 * elf32-or32.c (or32_elf_consth_reloc): ..
2514 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
2515 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
2516 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
2517 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
2518 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
2519 ppc_elf_final_write_processing): ..
2520 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2521 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2522 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
2523 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
2524 sh_elf_relax_delete_bytes, sh_elf_align_loads,
2525 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
2526 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
2527 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
2528 * elf32-sh64-com.c (sh64_address_in_cranges,
2529 sh64_get_contents_type): ..
2530 * elf32-sh64.c (sh64_find_section_for_address,
2531 sh64_elf_final_write_processing): ..
2532 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
2533 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
2534 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
2535 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
2536 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
2537 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
2538 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
2539 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
2540 elf_vax_finish_dynamic_sections): ..
2541 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
2542 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
2543 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
2544 xstormy16_elf_finish_dynamic_sections): ..
2545 * elf32-xtensa.c (xtensa_read_table_entries,
2546 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
2547 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
2548 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
2549 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
2550 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
2551 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
2552 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
2553 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
2554 xtensa_callback_required_dependence): ..
2555 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
2556 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
2557 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
2558 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
2559 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
2560 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
2561 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
2562 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
2563 * elf64-hppa.c (allocate_dynrel_entries,
2564 elf64_hppa_size_dynamic_sections,
2565 elf64_hppa_finish_dynamic_sections): ..
2566 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
2567 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
2568 elf64_mips_grok_prstatus): ..
2569 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
2570 mmix_elf_relocate_section, mmix_elf_final_link,
2571 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
2572 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
2573 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
2574 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
2575 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
2576 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
2577 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
2578 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
2579 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
2580 ppc64_elf_finish_dynamic_sections): ..
2581 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2582 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2583 elf_s390_finish_dynamic_sections): ..
2584 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
2585 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
2586 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
2587 sh64_elf64_finish_dynamic_sections): ..
2588 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
2589 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
2590 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
2591 sparc64_elf_finish_dynamic_symbol,
2592 sparc64_elf_finish_dynamic_sections): ..
2593 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
2594 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
2595 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
2596 elf64_x86_64_finish_dynamic_sections): ..
2597 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
2598 * elfcode.h (elf_slurp_reloc_table): ..
2599 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
2600 elf_finalize_dynstr, elf_link_add_object_symbols,
2601 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
2602 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
2603 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2604 elf32_mips_grok_prstatus): ..
2605 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
2606 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
2607 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
2608 elfNN_ia64_finish_dynamic_sections): ..
2609 * elfxx-mips.c (mips_elf_create_procedure_table,
2610 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
2611 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
2612 mips_elf_global_got_index, mips_elf_multi_got,
2613 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
2614 mips_elf_allocate_dynamic_relocations,
2615 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
2616 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
2617 _bfd_mips_elf_always_size_sections,
2618 _bfd_mips_elf_size_dynamic_sections,
2619 _bfd_mips_elf_finish_dynamic_symbol,
2620 _bfd_mips_elf_finish_dynamic_sections,
2621 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
2622 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
2623 _bfd_elf_mips_get_relocated_section_contents,
2624 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
2625 * hp300hpux.c (callback): ..
2626 * hppabsd-core.c (make_bfd_asection): ..
2627 * hpux-core.c (make_bfd_asection): ..
2628 * i386linux.c (linux_link_create_dynamic_sections,
2629 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
2630 * i386msdos.c (msdos_write_object_contents): ..
2631 * i386os9k.c (os9k_callback, os9k_write_object_contents,
2632 os9k_set_section_contents): ..
2633 * ieee.c (parse_expression, ieee_slurp_external_symbols,
2634 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
2635 ieee_write_section_part, do_with_relocs, do_as_repeat,
2636 do_without_relocs, ieee_write_debug_part, init_for_output,
2637 ieee_set_section_contents): ..
2638 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
2639 * irix-core.c (do_sections, make_bfd_asection): ..
2640 * libaout.h (aout_section_merge_with_text_p): ..
2641 * libbfd.c (_bfd_generic_get_section_contents,
2642 _bfd_generic_get_section_contents_in_window): ..
2643 * linker.c (default_indirect_link_order): ..
2644 * lynx-core.c (make_bfd_asection): ..
2645 * m68klinux.c (linux_link_create_dynamic_sections,
2646 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2647 * mach-o.c (bfd_mach_o_make_bfd_section,
2648 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
2649 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
2650 bfd_mach_o_scan_read_segment): ..
2651 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
2652 _bfd_merge_sections): ..
2653 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
2654 mmo_map_set_sizes, mmo_canonicalize_symtab,
2655 mmo_internal_write_section, mmo_write_object_contents): ..
2656 * netbsd-core.c (netbsd_core_file_p): ..
2657 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
2658 nlm_alpha_set_public_section): ..
2659 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
2660 * nlm32-sparc.c (nlm_sparc_write_import): ..
2661 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
2662 nlm_compute_section_file_positions): ..
2663 * oasys.c (oasys_object_p, oasys_slurp_section_data,
2664 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
2665 * opncls.c (get_debug_link_info): ..
2666 * osf-core.c (make_bfd_asection): ..
2667 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2668 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
2669 final_link, aout_link_input_section): ..
2670 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
2671 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
2672 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
2673 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
2674 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
2675 * ptrace-core.c (ptrace_unix_core_file_p): ..
2676 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
2677 _bfd_final_link_relocate, bfd_generic_relax_section,
2678 bfd_generic_get_relocated_section_contents): ..
2679 * reloc16.c (bfd_coff_reloc16_relax_section,
2680 bfd_coff_reloc16_get_relocated_section_c): ..
2681 * riscix.c (riscix_some_aout_object_p): ..
2682 * rs6000-core.c (read_hdr, make_bfd_asection): ..
2683 * sco5-core.c (make_bfd_asection): ..
2684 * simple.c (bfd_simple_get_relocated_section_contents): ..
2685 * som.c (som_object_setup, setup_sections, som_prep_headers,
2686 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
2687 som_set_reloc_info, som_get_section_contents,
2688 som_bfd_link_split_section): ..
2689 * sparclinux.c (linux_link_create_dynamic_sections,
2690 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2691 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
2692 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
2693 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
2694 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
2695 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
2696 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
2697 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
2698 sunos_finish_dynamic_link): ..
2699 * syms.c (_bfd_stab_section_find_nearest_line): ..
2700 * tekhex.c (first_phase, tekhex_set_section_contents,
2701 tekhex_write_object_contents): ..
2702 * trad-core.c (trad_unix_core_file_p): ..
2703 * versados.c (process_esd, process_otr, process_otr): ..
2704 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
2705 * vms-misc.c (add_new_contents): ..
2706 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
2707 * vms.c (vms_set_section_contents): ..
2708 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
2709 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
2710 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
2711 * xsym.c (bfd_sym_scan): .. See above.
2712
2713 2004-06-21 H.J. Lu <hongjiu.lu@intel.com>
2714
2715 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
2716 calling _bfd_merged_section_offset only for section symbols.
2717
2718 2004-06-22 Alan Modra <amodra@bigpond.net.au>
2719
2720 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
2721 for handling SEC_MERGE symbols in relax_section.
2722
2723 2004-06-21 Alexandre Oliva <aoliva@redhat.com>
2724
2725 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
2726 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
2727 linked together. Mark the result as h8300sx code.
2728
2729 2004-06-21 Alexandre Oliva <aoliva@redhat.com>
2730
2731 * elf-bfd.h (struct elf_backend_data): Added
2732 elf_backend_omit_section_dynsym.
2733 (_bfd_elf_link_omit_section_dynsym): Declare.
2734 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
2735 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
2736 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
2737 (_bfd_elf_link_renumber_dynsyms): ... this function.
2738 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
2739 _bfd_elf_link_omit_section_dynsym).
2740 (elfNN_bed): Added elf_backend_omit_section_dynsym.
2741
2742 2004-06-21 Nick Clifton <nickc@redhat.com>
2743
2744 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2745 flags.
2746
2747 2004-06-17 Jerome Guitton <guitton@gnat.com>
2748
2749 * bfd-in.h (bfd_cache_close_all): New function declaration.
2750 * bfd-in2.h: Regenerate.
2751 * cache.c (bfd_cache_close_all): New function definition.
2752
2753 2004-06-16 Mark Kettenis <kettenis@gnu.org>
2754
2755 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
2756 4.10 and beyond.
2757 * configure: Regenerate.
2758
2759 2004-06-16 Daniel Jacobowitz <dan@debian.org>
2760
2761 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
2762 the pre-existing section.
2763
2764 2004-06-15 Alan Modra <amodra@bigpond.net.au>
2765
2766 * section.c (struct sec): Remove usused flags. Reorganize a little.
2767 (bfd_get_section_size_before_reloc): Delete.
2768 (bfd_get_section_size_after_reloc): Delete.
2769 (STD_SECTION): Update.
2770 (bfd_get_section_size_now): Delete.
2771 (bfd_set_section_contents): Don't referece reloc_done.
2772 (bfd_get_section_contents): Remove reloc_done comment.
2773 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
2774 reloc_done.
2775 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
2776 * ecoff.c (bfd_debug_section): Update initializer.
2777 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
2778 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
2779 * bfd-in.h (bfd_section_size): Expand.
2780 (bfd_get_section_size): New macro.
2781 * bfd-in2.h: Regenerate.
2782 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
2783 bfd_get_section_size_before_reloc with bfd_get_section_size.
2784 * coffcode.h (coff_write_object_contents): Likewise.
2785 * coffgen.c (build_debug_section): Likewise.
2786 * dwarf1.c (parse_line_table): Likewise.
2787 (_bfd_dwarf1_find_nearest_line): Likewise.
2788 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2789 * i386msdos.c (msdos_write_object_contents): Likewise.
2790 * pdp11.c (squirt_out_relocs): Likewise.
2791 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
2792 * elf64-mmix.c (mmix_elf_final_link): Update comment.
2793
2794 2004-06-14 Chris Demetriou <cgd@broadcom.com>
2795
2796 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
2797 removal) with updated comment.
2798 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
2799 BFD_RELOC_32_PCREL.
2800 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
2801 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2802
2803 2004-06-12 Alan Modra <amodra@bigpond.net.au>
2804
2805 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
2806 overflow on branches to undefweaks.
2807
2808 2004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
2809
2810 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
2811 as ecoff_section_data() does not return a valid lvalue.
2812
2813 2004-06-09 Alexandre Oliva <aoliva@redhat.com>
2814
2815 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
2816 (elf_link_add_object_symbols): Likewise.
2817
2818 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
2819 (elf_backend_reloc_type_class): New.
2820
2821 2004-06-08 Mark Kettenis <kettenis@gnu.org>
2822
2823 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
2824 netbsd-core.lo.
2825 * configure: Regenerate.
2826
2827 2004-06-07 Daniel Jacobowitz <dan@debian.org>
2828
2829 From: Albert Chin-A-Young <china@thewrittenword.com>
2830 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
2831 to unsigned int.
2832
2833 2004-05-29 H.J. Lu <hongjiu.lu@intel.com>
2834
2835 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
2836 change.
2837
2838 2004-05-28 DJ Delorie <dj@redhat.com>
2839
2840 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
2841 for linking, but otherwise adjust reloc for merged sections.
2842
2843 2004-05-28 H.J. Lu <hongjiu.lu@intel.com>
2844
2845 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
2846 _bfd_merged_section_offset for local symbols.
2847
2848 2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
2849
2850 * Makefile.am: Regenerate dependencies.
2851 * Makefile.in: Regenerate.
2852 * archures.c: Add bfd_mach_sh3_nommu .
2853 * bfd-in2.h: Regenerate.
2854 * cpu-sh.c: Add sh3-nommu architecture.
2855 (bfd_to_arch_table): Create new table.
2856 (sh_get_arch_from_bfd_mach): Create new function.
2857 (sh_get_arch_up_from_bfd_mach): Create new function.
2858 (sh_merge_bfd_arch): Create new function.
2859 * elf32-sh.c (sh_ef_bfd_table): Add table.
2860 (sh_elf_check_relocs): Replace switch statement with
2861 use of sh_ef_bfd_table .
2862 (sh_elf_get_flags_from_mach): Add new function.
2863 (sh_find_elf_flags): Likewise.
2864 (sh_elf_copy_private_data): Replace most of non-elf contents
2865 with a call to sh_merge_bfd_arch() .
2866
2867 2004-05-27 Michael Chastain <mec.gnu@mindspring.com>
2868
2869 * Makefile.am (bfdver.h): Use explicit filename, not $< .
2870 * Makefile.in: Regenerate.
2871
2872 2004-05-27 Alexandre Oliva <aoliva@redhat.com>
2873
2874 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
2875 custom calling conventions for dynamic symbols.
2876 (mn10300_elf_relax_section): Avoid relaxing a function as a local
2877 symbol if it's an alias to a global one.
2878
2879 2004-05-26 H.J. Lu <hongjiu.lu@intel.com>
2880
2881 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
2882 change.
2883
2884 2004-05-27 Alexandre Oliva <aoliva@redhat.com>
2885
2886 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
2887 loop over hashes.
2888
2889 2004-05-26 Alan Modra <amodra@bigpond.net.au>
2890
2891 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
2892 for SHT_GROUP sections.
2893
2894 2004-05-25 Alan Modra <amodra@bigpond.net.au>
2895
2896 * elflink.c (elf_link_add_object_symbols): Don't set up merge
2897 section data here..
2898 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
2899 * merge.c: Formatting. Remove unnecessary casts. Expand
2900 bfd_get_section_alignment macro.
2901 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
2902 use throughout file.
2903 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
2904 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
2905 section name to determine sinfo group, instead test output section
2906 and alignment.
2907 (_bfd_merge_sections): Add struct bfd_link_info param. Call
2908 _bfd_strip_section_from_output rather than just twiddling flags.
2909 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
2910 (_bfd_merge_sections): Update prototype.
2911 * libbfd.h: Regenerate.
2912
2913 2004-05-24 Mark Kettenis <kettenis@gnu.org>
2914
2915 * netbsd-core.c: Correctly indent section that sets architecture
2916 from machine ID.
2917
2918 From Miod Vallat <miod@online.fr>:
2919 * m88kopenbsd.c: New file.
2920 * targets.c (m88k_openbsd_vec): New.
2921 * config.bfd: Add m88k-*-openbsd*.
2922 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
2923 (m88kopenbsd_vec): New.
2924 * configure: Regenerate.
2925 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
2926 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
2927 Run "make dep-am".
2928 * Makefile.in: Regenerate.
2929 * po/SRC-POTFILES.in: Regenerate.
2930
2931 2004-05-24 Nick Clifton <nickc@redhat.com>
2932
2933 * hash.c: Remove bogus node "Changing the default Hash Table Size"
2934 introduced by hash table size patch.
2935
2936 2004-05-22 Ben Elliston <bje@au.ibm.com>
2937
2938 * configure.in (is_release): Remove.
2939 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
2940 (AC_OUTPUT): Don't output bfdver.h from version.h.
2941 * configure: Regenerate.
2942 * Makefile.am (RELEASE): New variable.
2943 (bfdver.h): New target.
2944 * Makefile.in: Regenerate.
2945 * doc/Makefile.in: Likewise.
2946
2947 2004-05-22 Ben Elliston <bje@au.ibm.com>
2948
2949 * Makefile.am (config.status): Don't depend on version.h.
2950 * Makefile.in: Regenerate.
2951
2952 2004-05-22 Alan Modra <amodra@bigpond.net.au>
2953
2954 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
2955 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
2956 * libbfd.h: Regenerate.
2957 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
2958 (_bfd_elf_rel_local_sym): Likewise.
2959 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
2960 (elf_link_input_bfd): Likewise.
2961 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
2962 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2963 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
2964 (elfNN_ia64_relocate_section): Likewise.
2965
2966 2004-05-21 Andy Chittenden <achittenden@bluearc.com>
2967
2968 * hash.c (bfd_default_hash_table_size): New variable.
2969 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
2970 (bfd_hash_set_default_size): New function. Set the default size
2971 to a selected prime number close to the argument. Document new
2972 function.
2973 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
2974 * bfd-in2.h: Regenerate.
2975 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
2976 * Makefile.in: Regenerate.
2977
2978 2004-05-21 Mark Kettenis <kettenis@gnu.org>
2979
2980 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
2981 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
2982 arm, m68k, m88k and hppa core files.
2983
2984 2004-05-21 Nick Clifton <nickc@redhat.com>
2985
2986 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
2987 (bfd_bwrite): Likewise.
2988 (bfd_tell): Likewise.
2989 (bfd_flush): Likewise.
2990 (bfd_stat): Likewise.
2991 (bfd_seek): Likewise.
2992 (bfd_get_mtime): Likewise.
2993 (bfd_get_size): Likewise.
2994
2995 2004-05-19 Ben Elliston <bje@au.ibm.com>
2996
2997 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
2998
2999 2004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
3000
3001 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
3002 (bfd_generic_openr_next_archived_file): Likewise.
3003
3004 2004-05-17 Bob Wilson <bob.wilson@acm.org>
3005
3006 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
3007 section names by inserting a new substring after .gnu.linkonce, except
3008 for .gnu.linkonce.t.* where the "t." is replaced.
3009
3010 2004-05-17 Adam Nemet <anemet@lnxw.com>
3011
3012 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
3013 (m68-*-lynxos* case): Likewise.
3014 (powerpc-*-lyxnos* case): New case.
3015 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
3016
3017 2004-05-17 David Heine <dlheine@tensilica.com>
3018
3019 * aout-target.h (MY_bfd_copy_private_header_data): Define.
3020 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
3021 * bfd.c (bfd_copy_private_header_data): Define.
3022 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
3023 interface.
3024 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
3025 * coffcode.h (coff_bfd_copy_private_header_data): Define.
3026 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
3027 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
3028 segments by calling copy_private_bfd_data.
3029 (_bfd_elf_copy_private_header_data): Define.
3030 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
3031 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
3032 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
3033 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
3034 * mmo.c (mmo_bfd_copy_private_header_data): Define.
3035 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
3036 * som.c (som_bfd_copy_private_header_data): Define.
3037 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
3038 * vms.c (vms_bfd_copy_private_header_data): Define.
3039 * bfd-in2.h: Regenerate.
3040 * libbfd.h: Regenerate.
3041
3042 2004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3043
3044 * elfxx-mips.c (MINUS_TWO): Define.
3045 (mips_elf_higher, mips_elf_highest,
3046 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
3047 some bfd_vma values.
3048 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
3049
3050 2004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3051
3052 * som.c (log2): Rename to exact_log2. Adjust all callers.
3053
3054 2004-05-13 Paul Brook <paul@codesourcery.com>
3055
3056 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
3057 dwarf3 format CIE entries. Remove comment about the size of the
3058 ra_column field. It is now correctly deduced.
3059
3060 2004-05-13 Joel Sherrill <joel@oarcorp.com>
3061
3062 * config.bfd (or32-*-rtems*): Switch to elf.
3063
3064 2004-05-13 Nick Clifton <nickc@redhat.com>
3065
3066 * po/fr.po: Updated French translation.
3067
3068 2004-05-11 Jakub Jelinek <jakub@redhat.com>
3069
3070 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
3071 into .dynsym if elf_section_data (sec)->dynindx <= 0.
3072 Adjust counting of last_local.
3073 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
3074 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
3075 created by the linker nor !SHF_ALLOC.
3076
3077 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
3078 DT_PLTGOT to the start of the .got.plt section instead of the
3079 .got output section. Set sh_entsize for .got section in addition
3080 to .got.plt.
3081 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3082 is at sgot->output_section->vma.
3083 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
3084 DT_PLTGOT to the start of the .got.plt section instead of the
3085 .got output section.
3086 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
3087 is at sgot->output_section->vma. Set sh_entsize for .got section
3088 in addition to .got.plt.
3089 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
3090 (bfd_section_from_phdr): Likewise.
3091 (map_sections_to_segments): Likewise.
3092 (assign_file_positions_for_segments): Likewise.
3093 (get_program_header_size): Likewise.
3094 * elflink.c (bfd_elf_size_dynamic_sections): Set
3095 elf_tdata (output_bfd)->relro from info->relro.
3096 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
3097
3098 2004-05-08 Alexandre Oliva <aoliva@redhat.com>
3099
3100 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
3101 a zero symndx for which we hadn't accounted a dynamic relocation.
3102 (_frvfdpic_add_rofixup): Likewise.
3103
3104 2004-05-07 Brian Ford <ford@vss.fsi.com>
3105 DJ Delorie <dj@redhat.com>
3106
3107 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
3108 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
3109 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
3110 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
3111
3112 2004-05-07 Alexandre Oliva <aoliva@redhat.com>
3113
3114 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
3115 immediately if there's no link info.
3116 (elf32_frvfdpic_copy_private_bfd_data): New.
3117 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
3118
3119 2004-05-06 Zack Weinberg <zack@codesourcery.com>
3120
3121 * dwarf2.c (add_line_info): Also set info->filename to NULL if
3122 filename argument is null; do not call strlen on a null pointer.
3123
3124 2004-05-06 Daniel Jacobowitz <drow@mvista.com>
3125
3126 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
3127 special case.
3128
3129 2004-05-05 Alexandre Oliva <aoliva@redhat.com>
3130
3131 * configure.in (bfd_elf32_frvfdpic_vec): New.
3132 * configure: Rebuilt.
3133 * targets.c (bfd_elf32_frvfdpic_vec): New.
3134 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
3135 on the latter.
3136 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
3137 frvfdpic instead of frv. Rearrange elf-target macros such that
3138 the FDPIC-specific ones are only defined for this new target
3139 vector.
3140 (bfd_elf32_frvfdpic_vec): Declare.
3141 (IS_FDPIC): New.
3142 (elf32_frv_relocate_section): Use it to enable segment checking
3143 and to control rofixup emission. Add output section vma to
3144 applied relocation in non-LOAD non-ALLOC sections. Use
3145 _bfd_error_handler for errors.
3146 (_frv_create_got_section): Create .rel.got and .rofixup only in
3147 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
3148 linker script.
3149 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
3150 (elf32_frvfdpic_modify_segment_map): Likewise.
3151 (elf32_frv_finish_dynamic_sections): New, do-nothing.
3152 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
3153 error message if we miscompute the rofixup size.
3154 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
3155 (frvfdpic_elf_encode_eh_address): Likewise.
3156 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
3157 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
3158 relocs. Reject unknown relocation types.
3159 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
3160 (frv_elf_merge_private_bfd_data): Likewise.
3161 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
3162 0x4000 for newly-added elf32-frvfdpic.
3163
3164 2004-05-05 Nick Clifton <nickc@redhat.com>
3165
3166 PR/136
3167 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
3168 returning NULL as most users of this function do not check its
3169 return value.
3170 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
3171 of bfd_cache_lookup().
3172 * sco5-core.c (sco5_core_file_p): Likewise.
3173 * trad-core.c (trad_unix_core_file_p): Likewise.
3174
3175 2004-05-05 Nick Clifton <nickc@redhat.com>
3176
3177 * cache.c (bfd_cache_lookup): Improve formatting.
3178 * archive.c: Fix formatting.
3179
3180 2004-05-05 Peter Barada <peter@the-baradas.com>
3181
3182 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
3183 * cpu-m68k.c(bfd_m68k_arch): Likewise.
3184 * bfd-in2.h(bfd_architecture): Regenerate.
3185
3186 2004-05-03 Alan Modra <amodra@bigpond.net.au>
3187
3188 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
3189 SEC_MERGE sections.
3190 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
3191 those against discarded link-once and SEC_MERGE section symbols.
3192
3193 2004-05-02 H.J. Lu <hongjiu.lu@intel.com>
3194
3195 * section.c (bfd_get_section_by_name_if): New.
3196 * bfd-in2.h: Regenerated.
3197
3198 2004-05-02 Alan Modra <amodra@bigpond.net.au>
3199
3200 * som.c (som_bfd_is_group_section): Define.
3201
3202 2004-05-01 Alan Modra <amodra@bigpond.net.au>
3203
3204 * section.c (bfd_make_section_anyway): Copy the whole
3205 bfd_hash_entry, not just "next" from existing entry.
3206
3207 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
3208
3209 * elf.c (bfd_section_from_shdr): Maintain the section order in
3210 a section group.
3211 (special_sections): Add ".note.GNU-stack".
3212 (elf_fake_sections): Handle section group for relocatable
3213 link..
3214
3215 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>
3216
3217 * section.c (bfd_sections_find_if): New.
3218 * bfd-in2.h: Regenerated.
3219
3220 2004-04-30 Alan Modra <amodra@bigpond.net.au>
3221
3222 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
3223
3224 * elf-bfd.h (bfd_elf_is_group_section): Declare.
3225 * elf.c (bfd_elf_is_group_section): New function.
3226 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
3227 * section.c (bfd_generic_is_group_section): New function.
3228 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
3229 (BFD_JUMP_TABLE_LINK): Adjust.
3230 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
3231 * aout-target.h (MY_bfd_is_group_section): Define.
3232 * aout-tic30.c (MY_bfd_is_group_section): Define.
3233 * bfd.c (bfd_is_group_section): Define.
3234 * binary.c (binary_bfd_is_group_section): Define.
3235 * bout.c (b_out_bfd_is_group_section): Define.
3236 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
3237 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
3238 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
3239 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
3240 * coffcode.h (coff_bfd_is_group_section): Define.
3241 * i386msdos.c (msdos_bfd_is_group_section): Define.
3242 * i386os9k.c (os9k_bfd_is_group_section): Define.
3243 * ieee.c (ieee_bfd_is_group_section): Define.
3244 * ihex.c (ihex_bfd_is_group_section): Define.
3245 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
3246 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
3247 * mmo.c (mmo_bfd_is_group_section): Define.
3248 * nlm-target.h (nlm_bfd_is_group_section): Define.
3249 * oasys.c (oasys_bfd_is_group_section): Define.
3250 * pef.c (bfd_pef_bfd_is_group_section): Define.
3251 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
3252 * srec.c (srec_bfd_is_group_section): Define.
3253 * tekhex.c (tekhex_bfd_is_group_section): Define.
3254 * versados.c (versados_bfd_is_group_section): Define.
3255 * vms.c (vms_bfd_is_group_section): Define.
3256 * xsym.c (bfd_sym_bfd_is_group_section): Define.
3257 * bfd-in2.h: Regenerate.
3258 * libbfd.h: Regenerate.
3259
3260 2004-04-30 Alan Modra <amodra@bigpond.net.au>
3261
3262 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
3263
3264 2004-04-30 Hans-Peter Nilsson <hp@axis.com>
3265
3266 * configure.in: Update version to 2.15.91.
3267 * configure: Regenerate.
3268
3269 2004-04-29 Brian Ford <ford@vss.fsi.com>
3270
3271 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
3272 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
3273 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
3274 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
3275 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
3276 .gnu.linkonce.wi. sections.
3277 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
3278 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
3279 .gnu.linkonce.wi..
3280 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
3281 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3282
3283 2004-04-28 Chris Demetriou <cgd@broadcom.com>
3284
3285 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
3286 * bfd-in2.h: Regenerate.
3287 * libbfd.h: Likewise.
3288
3289 2004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3290
3291 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
3292 dup_common fields.
3293 (setup_sections): Use som_subspace_dictionary_record struct instead
3294 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
3295 is_comdat, is_common or dup_common.
3296 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
3297 is_comdat, is_common and dup_common in section subspace_dict from
3298 copy_data.
3299 (som_begin_writing): Use som_subspace_dictionary_record struct.
3300 (som_finish_writing): Likewise.
3301 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
3302 is_common and dup_common flags in info for symbol. Add comment
3303 regarding linker support for these fields. Slightly reorganize
3304 function.
3305 (som_build_and_write_symbol_table): Set is_comdat, is_common and
3306 dup_common fields in symbol table from symbol info.
3307 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
3308 arguments. Set corresponding fields in copy_data. Change all callers.
3309 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
3310 symbol table.
3311 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
3312 * som.h (som_subspace_dictionary_record): Define.
3313 (som_copyable_section_data_struct): Add is_comdat, is_common and
3314 dup_common fields.
3315 (som_section_data_struct): Use som_subspace_dictionary_record struct
3316 instead of subspace_dictionary_record.
3317 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
3318
3319 2004-04-27 Bob Wilson <bob.wilson@acm.org>
3320
3321 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
3322 if set. Check reloc_done flag before applying relocations. Use
3323 output addresses, both when applying relocations and when comparing
3324 against the specified section.
3325 (elf_xtensa_relocate_section): Use output address to check if dynamic
3326 reloc is in a literal pool. Set section's reloc_done flag.
3327
3328 2004-04-27 H.J. Lu <hongjiu.lu@intel.com>
3329
3330 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
3331 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
3332 section.
3333 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
3334 section.
3335
3336 2004-04-27 Alan Modra <amodra@bigpond.net.au>
3337
3338 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
3339 structure field removed in 2004-04-24 patch.
3340 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
3341
3342 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
3343 Constify hdr arg.
3344 * elf32-arm.h (elf32_arm_section_flags): Likewise.
3345 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
3346 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
3347 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
3348 field before calling elf_backend_section_flags.
3349
3350 2004-04-24 Chris Demetriou <cgd@broadcom.com>
3351
3352 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
3353 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
3354 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
3355 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
3356 and BFD_RELOC_32_PCREL.
3357 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
3358 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
3359 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3360 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
3361 (mips_elf_next_relocation): Move comment about matching HI/LO
3362 relocations to...
3363 (_bfd_mips_elf_relocate_section): Here. Remove handling for
3364 R_MIPS_GNU_REL_HI16.
3365
3366 2004-04-23 Chris Demetriou <cgd@broadcom.com>
3367
3368 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
3369 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
3370 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
3371 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
3372 and update comments to reflect current usage.
3373 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
3374 and MIPS_R_SWITCH, as well as several empty entries. Update comment
3375 for MIPS_R_PCREL16.
3376 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
3377 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
3378 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3379 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
3380 type number to be MIPS_R_PCREL16.
3381 (mips_relocate_section): Remove support for link-time relaxation
3382 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
3383 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3384 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
3385 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
3386 relaxation of branches used by embedded-PIC.
3387 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
3388 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
3389 related members, update comment.
3390 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
3391 code related to embedded-PIC.
3392 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
3393 initialization of now-removed 'adjust' member of
3394 'struct ecoff_debug_info'.
3395
3396 2004-04-23 Chris Demetriou <cgd@broadcom.com>
3397
3398 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
3399
3400 2004-04-21 Philip Blundell <pb@nexus.co.uk>
3401
3402 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
3403 relocs for locally defined symbols during -shared final link.
3404 (elf32_arm_final_link_relocate): Likewise.
3405
3406 2004-04-22 Jakub Jelinek <jakub@redhat.com>
3407
3408 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
3409 ELF_LINK_POINTER_EQUALITY_NEEDED.
3410 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
3411 if r_type is not R_X86_64_PC32.
3412 (elf64_x86_64_finish_dynamic_symbol): If
3413 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
3414 SHN_UNDEF symbols.
3415
3416 2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3417
3418 * elf32-sh.c (sh_elf_plt_sym_val): New function.
3419 (elf_backend_plt_sym_val): Define.
3420
3421 2004-04-22 Andrew Cagney <cagney@redhat.com>
3422
3423 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
3424
3425 2004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3426
3427 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
3428 make_bfd_asection.
3429 * som.c (som_set_section_contents): Constantify second argument.
3430 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
3431 (som_object_setup): Rework to avoid warning.
3432 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
3433 Likewise.
3434
3435 2004-04-22 Andrew Cagney <cagney@redhat.com>
3436
3437 * cache.c (bfd_cache_close): Check for a previously closed file.
3438
3439 2004-04-22 Jakub Jelinek <jakub@redhat.com>
3440
3441 * bfd.c (bfd_get_synthetic_symtab): Define.
3442 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
3443 NAME##_get_synthetic_symtab.
3444 (struct bfd_target): Add _bfd_get_synthetic_symtab.
3445 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
3446 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
3447 relplt_name fields.
3448 (_bfd_elf_get_synthetic_symtab): New prototype.
3449 * elfcode.h (elf_get_synthetic_symtab): Define.
3450 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
3451 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
3452 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
3453 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
3454 * bfd-in2.h: Rebuilt.
3455 * libbfd.h: Rebuilt.
3456 * elf32-i386.c (elf_i386_plt_sym_val): New function.
3457 (elf_backend_plt_sym_val): Define.
3458 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
3459 (elf_backend_plt_sym_val): Define.
3460 * elf32-s390.c (elf_s390_plt_sym_val): New function.
3461 (elf_backend_plt_sym_val): Define.
3462 * elf64-s390.c (elf_s390_plt_sym_val): New function.
3463 (elf_backend_plt_sym_val): Define.
3464 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
3465 (elf_backend_plt_sym_val): Define.
3466 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
3467 (elf_backend_plt_sym_val): Define.
3468 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
3469 (elf_backend_plt_sym_val): Define.
3470 * aout-target.h (MY_get_synthetic_symtab): Define.
3471 * aout-tic30.c (MY_get_synthetic_symtab): Define.
3472 * coff-rs6000.c (rs6000coff_vec): Add
3473 _bfd_nodynamic_get_synthetic_symtab.
3474 (pmac_xcoff_vec): Likewise.
3475 * coff64-rs6000.c (rs6000coff64_vec): Add
3476 _bfd_nodynamic_get_synthetic_symtab.
3477 (aix5coff64_vec): Likewise.
3478 * sunos.c (MY_get_synthetic_symtab): Define.
3479 * vms.c (vms_get_synthetic_symtab): Define.
3480
3481 2004-04-22 Nick Clifton <nickc@redhat.com>
3482
3483 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
3484
3485 2004-04-22 Peter Barada <peter@the-baradas.com>
3486
3487 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
3488 * bfd2-in.h: Regenerate.
3489 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
3490
3491 2004-04-21 Chris Demetriou <cgd@broadcom.com>
3492
3493 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
3494 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
3495 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
3496 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
3497 * bfd-in2.h: Regenerate.
3498
3499 2004-04-21 Bob Wilson <bob.wilson@acm.org>
3500
3501 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
3502 require relocations against a weak symbol to reference the same
3503 symbol hash entry if not a final, static link.
3504 (get_cached_value, add_value_map): Add final_static_link argument.
3505 (remove_literals): Pass final_static_link argument as needed.
3506
3507 2004-04-21 Andrew Cagney <cagney@redhat.com>
3508
3509 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
3510 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
3511 (opncls_bwrite, opncls_bclose, opncls_bflush)
3512 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
3513 bfd iovec that uses function callbacks.
3514 (bfd_close): Use the iovec's bclose.
3515 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
3516 (cache_bclose, cache_bflush, cache_bstat)
3517 (cache_iovec): New functions and global variable, implement a
3518 cache "iovec", where applicable set bfd_error.
3519 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
3520 * bfdio.c (struct bfd_iovec): Define.
3521 (real_read): Delete function.
3522 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
3523 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
3524 assume that bread and bwrite set bfd_error.
3525 * bfd.c (struct bfd): Add "iovec", update comments.
3526 * bfd-in2.h, libbfd.h: Re-generate.
3527
3528 2004-04-21 Andrew Cagney <cagney@redhat.com>
3529
3530 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3531
3532 2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
3533
3534 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
3535 (bfd_elf_gc_sections): Fail if a shared object is being created.
3536 Do not fail if dynamic sections have been created. Instead call
3537 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
3538 dynamically referenced symbols. Do not mark the whole graph
3539 rooted at .eh_frame, only the section proper.
3540
3541 2004-04-20 DJ Delorie <dj@redhat.com>
3542
3543 * reloc.c: Add BFD_RELOC_32_SECREL.
3544 * bfd-in2.h: Regenerate.
3545 * libbfd.h: Likewise.
3546 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
3547 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
3548 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
3549
3550 2004-04-19 Jakub Jelinek <jakub@redhat.com>
3551
3552 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
3553 relocs against hidden/protected undefweak symbols properly.
3554 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3555
3556 2004-04-18 Mark Kettenis <kettenis@gnu.org>
3557
3558 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3559 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
3560 core files.
3561
3562 2004-04-17 Brian Ford <ford@vss.fsi.com>
3563
3564 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
3565 filepos for the SizeOfHeaders field.
3566 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
3567 overflow.
3568 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
3569
3570 2004-04-16 Alan Modra <amodra@bigpond.net.au>
3571
3572 * simple.c (bfd_simple_get_relocated_section_contents): Don't
3573 change reloc_done. Set and restore _cooked_size.
3574 (RETURN): Delete.
3575
3576 2004-04-15 Mark Kettenis <kettenis@gnu.org>
3577
3578 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3579 core files.
3580
3581 2004-04-15 Nick Clifton <nickc@redhat.com>
3582
3583 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3584
3585 2004-04-15 Alan Modra <amodra@bigpond.net.au>
3586
3587 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3588
3589 2004-04-15 H.J. Lu <hongjiu.lu@intel.com>
3590
3591 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
3592 when it is a definition.
3593
3594 2004-04-14 Alan Modra <amodra@bigpond.net.au>
3595
3596 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
3597 when statically linking PIC code.
3598 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3599
3600 2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3601
3602 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
3603 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
3604 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
3605 * configure: Regenerate.
3606
3607 2004-04-08 Richard Sandiford <rsandifo@redhat.com>
3608
3609 * elflink.c: Include libiberty.h.
3610 * Makefile.am (elflink.lo): Depend on libiberty.h.
3611 * Makefile.in: Regenerate.
3612
3613 2004-04-06 Daniel Jacobowitz <drow@mvista.com>
3614
3615 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3616 ".MIPS.stubs".
3617
3618 2004-04-05 H.J. Lu <hongjiu.lu@intel.com>
3619
3620 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
3621 reserve the memory for dynamic linker
3622
3623 2004-04-05 Mark Kettenis <kettenis@gnu.org>
3624
3625 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
3626 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
3627
3628 2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3629
3630 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
3631 RELOC_FOR_GLOBAL_SYMBOL.
3632 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
3633
3634 2004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3635
3636 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
3637 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
3638
3639 2004-04-01 Paul Brook <paul@codesourcery.com>
3640
3641 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
3642 * elf32-arm.h (struct elf32_elf_section_map): New.
3643 (struct _arm_elf_section_data): New.
3644 (elf32_arm_section_data): Define.
3645 (struct elf32_arm_link_hash_table): Add byteswap_code.
3646 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
3647 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
3648 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
3649 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
3650 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
3651 (bfd_elf32_new_section_hook, elf_backend_write_section,
3652 elf_backend_link_output_symbol_hook): Define.
3653
3654 2004-04-01 Andy Chittenden <achittenden@bluearc.com>
3655
3656 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
3657 that keeps the characters in a B_INCL..B_EINCL range.
3658 (_bfd_link_section_stabs): When computing the sum of the
3659 characters in a B_INCL..B_EINCL range also keep a copy of those
3660 characters. Use this information to distinguish between
3661 include sections that have the same sum and the same length
3662 but which are nevertheless unique.
3663
3664 2004-03-31 Paul Brook <paul@codesourcery.com>
3665
3666 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
3667 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
3668
3669 2004-03-31 Andy Chittenden <achittenden@bluearc.com>
3670
3671 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
3672 to 'sum_chars' and add field 'num_chars'.
3673 (_bfd_link_section_stabs): When computing the sum of the
3674 characters in a B_INCL..B_EINCL range also keep a count of the
3675 number of characters. Use this information to help distinguish
3676 between include sections when have the same sum but which
3677 nevertheless are still unique.
3678
3679 2004-03-31 Mattias Engdegård <mattias@virtutech.se>
3680
3681 * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
3682
3683 2004-03-30 Galit Heller <Galit.Heller@nsc.com>
3684 Tomer Levi <Tomer.Levi@nsc.com>
3685
3686 * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
3687 (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
3688 (BFD32_BACKENDS): Add elf32-cr16c.lo.
3689 (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
3690 (cpu-cr16c.lo): New target.
3691 (elf32-cr16c.lo): Likewise.
3692 * Makefile.in: Regenerate.
3693 * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
3694 (bfd_archures_list): Add bfd_cr16c_arch.
3695 * config.bfd: Handle cr16c-*-elf*.
3696 * configure.in: Handle bfd_elf32_cr16c_vec.
3697 * configure: Regenerate.
3698 * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
3699 BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
3700 BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
3701 BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
3702 BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
3703 BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
3704 BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
3705 BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
3706 BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
3707 BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
3708 BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
3709 BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
3710 BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
3711 BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
3712 BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
3713 BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
3714 BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
3715 BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
3716 BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
3717 BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
3718 * targets.c (bfd_elf32_cr16c_vec): Declare.
3719 (bfd_target_vector): Add bfd_elf32_cr16c_vec.
3720 * cpu-cr16c.c: New file.
3721 * elf32-cr16c.c: Likewise.
3722 * libbfd.h: Regenerate.
3723 * bfd-in2.h: Likewise.
3724
3725 2004-03-30 Jakub Jelinek <jakub@redhat.com>
3726
3727 * elf.c (map_sections_to_segments): Fix handling of .tbss.
3728
3729 2004-03-27 Alan Modra <amodra@bigpond.net.au>
3730
3731 * Makefile.am: Remove all mention of elflink.h.
3732 * Makefile.in: Regenerate.
3733 * bfd-in.h (bfd_elf_discard_info): Declare.
3734 (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
3735 * bfd-in2.h: Regenerate.
3736 * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
3737 bfd_elf32_link_record_dynamic_symbol,
3738 bfd_elf64_link_record_dynamic_symbol,
3739 _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
3740 bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
3741 _bfd_elf32_link_record_local_dynamic_symbol,
3742 _bfd_elf64_link_record_local_dynamic_symbol,
3743 _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
3744 _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
3745 _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
3746 _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
3747 _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
3748 _bfd_elf32_reloc_symbol_deleted_p,
3749 _bfd_elf64_reloc_symbol_deleted_p): Delete.
3750 (bfd_elf_link_record_dynamic_symbol,
3751 bfd_elf_link_record_local_dynamic_symbol,
3752 bfd_elf_final_link, bfd_elf_gc_sections,
3753 bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
3754 bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
3755 bfd_elf_reloc_symbol_deleted_p): Declare.
3756 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3757 * elf32-arm.h: Update for changed function names. Remove local
3758 WILL_CALL_FINISH_DYNAMIC_SECTION define.
3759 * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
3760 * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
3761 * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
3762 * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
3763 * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
3764 * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
3765 * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
3766 * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
3767 * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
3768 (bfd_elfNN_print_symbol): Define.
3769 * elfcode.h: Don't include elflink.h.
3770 (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
3771 elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
3772 elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
3773 elf_gc_record_vtinherit, elf_gc_record_vtentry,
3774 elf_link_record_local_dynamic_symbol): Don't define.
3775 * elflink.c: Update for changed function names. Move elflink.h
3776 code here.
3777 * elflink.h: Delete file.
3778 * po/SRC-POTFILES.in: Regenerate.
3779 * po/bfd.pot: Regenerate.
3780
3781 2004-03-27 Alan Modra <amodra@bigpond.net.au>
3782
3783 * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
3784 "name" for global syms accidentally removed in 2004-03-20 change.
3785
3786 2004-03-27 Alan Modra <amodra@bigpond.net.au>
3787
3788 * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
3789 * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
3790 where Elf_External_* is different for 64 and 32 bit, with
3791 corresponding elf_size_info field.
3792 (struct elf_final_link_info): Use "bfd_byte *" instead
3793 of "Elf_External_Sym *" for external_syms and symbuf.
3794 (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
3795 vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
3796 (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
3797 (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
3798 (elf_link_sort_cmp2): Adjust.
3799 (elf_link_sort_relocs): Set up r_sym_mask local var instead of
3800 using ELF_R_SYM macro. Set u.sym_mask.
3801 (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
3802 version, elf_stringtab_init. Ditto for bfd_section_from_elf_index
3803 vs. section_from_elf_index. Adjust Elf_External_Sym pointer
3804 arithmetic. Pass bed to elf_link_flush_output_syms. Adjust
3805 Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and
3806 swap_syn_out functions. Rearrange dyn swap in/out switch.
3807 (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
3808 Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out.
3809 (elf_link_flush_output_syms): Add elf_backend_data arg.
3810 (elf_link_check_versioned_symbol): Likewise.
3811 (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
3812 Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out.
3813 (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up
3814 r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
3815 ELF_R_TYPE and ELF_R_INFO macros.
3816 (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
3817 based on size rather than using ELF_R_INFO.
3818 (elf_gc_mark): Set up r_sym_shift local var and use instead of
3819 ELF_R_SYM macro.
3820 (struct alloc_got_off_arg): New.
3821 (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
3822 ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets.
3823 (elf_gc_allocate_got_offsets): Adjust.
3824 (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
3825 ELF_R_SYM. Use bfd_section_from_elf_index.
3826 (elf_bfd_discard_info): Set cookie.r_sym_shift.
3827 * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
3828 (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
3829
3830 2004-03-26 Stan Shebs <shebs@apple.com>
3831
3832 Remove MPW support, no longer used.
3833 * config.bfd (powerpc-*-mpw*): Remove configuration.
3834 * mpw-config.in, mpw-make.sed: Remove files.
3835 * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
3836
3837 2004-03-26 Alan Modra <amodra@bigpond.net.au>
3838
3839 * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
3840 (ppc64_elf_add_symbol_hook): New function.
3841 * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
3842 const from Elf_Internal_Sym param.
3843 * elflink.c (elf_link_add_object_symbols): Adjust.
3844 * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
3845 * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
3846 * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
3847 * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
3848 * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
3849 * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
3850 * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
3851 * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
3852 * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
3853 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
3854 * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
3855 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
3856 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
3857 * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
3858 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
3859 * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
3860
3861 2004-03-26 Alan Modra <amodra@bigpond.net.au>
3862
3863 * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
3864 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
3865 (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
3866 (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
3867 (bfd_elf64_bfd_link_add_symbols): Delete.
3868 (bfd_elf_link_add_symbols): Declare.
3869 * elfcode.h (elf_bfd_link_add_symbols): Delete.
3870 * elflink.c: Include safe-ctype.h.
3871 (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
3872 make static.
3873 (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
3874 (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
3875 static.
3876 (elf_link_add_archive_symbols): Rename from
3877 _bfd_elf_link_add_archive_symbols, make static.
3878 (elf_link_add_object_symbols): New function. Corresponding
3879 elflink.h function converted to use elf_size_info.
3880 (bfd_elf_link_add_symbols): Likewise.
3881 (bfd_elf_size_dynamic_sections): Adjust.
3882 * elflink.h (elf_bfd_link_add_symbols): Delete.
3883 (elf_link_add_object_symbols): Delete.
3884 * elf32-gen.c (elf32_generic_link_add_symbols): Call
3885 bfd_elf_link_add_symbols.
3886 * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
3887
3888 2004-03-25 Alan Modra <amodra@bigpond.net.au>
3889
3890 * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
3891 and chained shared libs only if dynsym. Clear dynsym on forced-local.
3892
3893 * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
3894 (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
3895 (_bfd_elf_add_dt_needed_tag): Declare.
3896 (_bfd_elf_sort_symbol): Declare.
3897 (_bfd_elf_finalize_dynstr): Declare.
3898 (RELOC_FOR_GLOBAL_SYM): Formatting.
3899 * elfcode.h (elf_add_dynamic_entry): Delete.
3900 * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding
3901 elflink.h function converted to use elf_size_info.
3902 (_bfd_elf_add_dt_needed_tag): Likewise.
3903 (_bfd_elf_sort_symbol): Likewise.
3904 (_bfd_elf_finalize_dynstr): Likewise.
3905 (compute_bucket_count): Likewise.
3906 (bfd_elf_size_dynamic_sections): Likewise. Check result of
3907 _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
3908 (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
3909 * elflink.h: ..here.
3910 (sort_symbol, add_dt_needed_tag): Delete.
3911 (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
3912 (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
3913 Update all users.
3914 * elf32-arm.h (add_dynamic_entry): Update. Remove casts.
3915 * elf32-cris.c (add_dynamic_entry): Likewise.
3916 * elf32-hppa.c (add_dynamic_entry): Likewise.
3917 * elf32-i370.c (add_dynamic_entry): Likewise.
3918 * elf32-i386.c (add_dynamic_entry): Likewise.
3919 * elf32-m32r.c (add_dynamic_entry): Likewise.
3920 * elf32-m68k.c (add_dynamic_entry): Likewise.
3921 * elf32-ppc.c (add_dynamic_entry): Likewise.
3922 * elf32-s390.c (add_dynamic_entry): Likewise.
3923 * elf32-sh.c (add_dynamic_entry): Likewise.
3924 * elf32-sparc.c (add_dynamic_entry): Likewise.
3925 * elf32-vax.c (add_dynamic_entry): Likewise.
3926 * elf32-xtensa.c (add_dynamic_entry): Likewise.
3927 * elf64-alpha.c (add_dynamic_entry): Likewise.
3928 * elf64-hppa.c (add_dynamic_entry): Likewise.
3929 * elf64-ppc.c (add_dynamic_entry): Likewise.
3930 * elf64-s390.c (add_dynamic_entry): Likewise.
3931 * elf64-sparc.c (add_dynamic_entry): Likewise.
3932 * elf64-x86-64.c (add_dynamic_entry): Likewise.
3933 * elfxx-ia64.c (add_dynamic_entry): Likewise.
3934 * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
3935 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
3936 * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
3937 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
3938
3939 2004-03-23 Paul Brook <paul@codesourcery.com>
3940
3941 * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
3942
3943 2004-03-22 Bob Wilson <bob.wilson@acm.org>
3944
3945 * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
3946 literal tables and check for relocs outside of literal pools.
3947 (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
3948 (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
3949 set DF_TEXTREL.
3950 (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
3951 (elf_xtensa_relocate_section): Read literal tables and check for
3952 dynamic relocations in read-only sections and not in literal pools.
3953
3954 2004-03-23 Alan Modra <amodra@bigpond.net.au>
3955
3956 PR 51.
3957 * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
3958
3959 2004-03-22 Hans-Peter Nilsson <hp@axis.com>
3960
3961 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
3962 R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
3963 not defined by the executable, or defined in a DSO.
3964 <eliding run-time relocation of .got>: Initialize GOT entry for a
3965 function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
3966 executable.
3967 (cris_elf_gc_sweep_hook): Improve fallthrough marking.
3968 (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold
3969 a PLT reloc to GOT for an executable.
3970 (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
3971 .got for a DSO and explain why.
3972 (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
3973 and unreferenced symbols for which a PLT is defined. Adjust
3974 dynamic-symbol pruning correspondingly, to make sure we don't lose
3975 a dynamic symbol also defined by a DSO.
3976
3977 2004-03-22 Alan Modra <amodra@bigpond.net.au>
3978
3979 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
3980 and rel args. Group input and output args. Wrap to 80 columns.
3981 * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
3982 elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
3983 elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
3984 elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
3985 elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
3986 elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
3987 elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
3988 elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
3989 RELOC_FOR_GLOBAL_SYMBOL invocation.
3990
3991 2004-03-20 H.J. Lu <hongjiu.lu@intel.com>
3992
3993 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
3994 unresolved symbols in objects aren't allowed.
3995
3996 * elf-hppa.h (elf_hppa_relocate_section): Properly handle
3997 unresolved symbols.
3998 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
3999 (elf_hppa_unmark_useless_dynamic_symbols):
4000 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
4001 * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
4002 (elf32_hppa_relocate_section): Likewise.
4003 * elf32-i370.c (i370_elf_relocate_section): Likewise.
4004 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4005 * elf32-sh.c (sh_elf_relocate_section): Likewise.
4006 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4007 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
4008
4009 * elf-m10200.c (mn10200_elf_relocate_section): Use
4010 RELOC_FOR_GLOBAL_SYMBOL.
4011 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
4012 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
4013 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4014 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
4015 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4016 * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
4017 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4018 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
4019 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4020 * elf32-v850.c (v850_elf_relocate_section): Likewise.
4021 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4022 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
4023
4024 2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4025
4026 * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
4027 (final_link_relocate): Likewise.
4028 * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
4029 R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
4030
4031 2004-03-19 Alan Modra <amodra@bigpond.net.au>
4032
4033 * Makefile.am: Run "make dep-am".
4034 * Makefile.in: Regenerate.
4035 * aclocal.m4: Regenerate.
4036 * config.in: Regenerate.
4037 * po/bfd.pot: Regenerate.
4038
4039 2004-03-19 Alan Modra <amodra@bigpond.net.au>
4040 H.J. Lu <hongjiu.lu@intel.com>
4041
4042 * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move
4043 type and size change code to where it was previously. Remove
4044 dt_needed param. Treat old weak syms as strong if new sym is
4045 from a shared lib, even when old sym is from another shared
4046 lib. Remove unnecessary tests of oldweak and newweak. Correct
4047 comments.
4048 (_bfd_elf_add_default_symbol): Remove dt_needed param. Update
4049 _bfd_elf_merge_symbol calls.
4050 * elflink.h (elf_link_add_object_symbols): Update calls. Remove
4051 dt_needed local var. Update comments.
4052 * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
4053 (_bfd_elf_add_default_symbol): Likewise.
4054
4055 * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
4056 strong syms in one shared object overriding weak syms in another.
4057
4058 2004-03-18 Alan Modra <amodra@bigpond.net.au>
4059
4060 * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add
4061 dyn_lib_class field. Rearrange for better packing.
4062 (elf_dt_soname): Delete.
4063 (elf_dyn_lib_class): Define.
4064 * elf.c (bfd_elf_set_dt_needed_name): Update comment.
4065 (bfd_elf_set_dt_needed_soname): Delete.
4066 (bfd_elf_set_dyn_lib_class): New function.
4067 * elflink.h (add_dt_needed_tag): New function. Split out from..
4068 (elf_link_add_object_symbols): ..here. Rename "name" to "soname".
4069 Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback
4070 initialization of soname.
4071 (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
4072 elf_dt_soname.
4073 * bfd-in.h (enum dynamic_lib_link_class): New.
4074 (bfd_elf_set_dt_needed_soname): Delete.
4075 (bfd_elf_set_dyn_lib_class): Declare.
4076 * bfd-in2.h: Regenerate.
4077
4078 * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
4079 (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
4080 * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
4081 symbol loop. Instead use add_needed to flag tag as written.
4082
4083 2004-03-17 Nathan Sidwell <nathan@codesourcery.com>
4084
4085 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
4086 logic for null_input_bfd detection.
4087
4088 2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4089
4090 * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*.
4091
4092 2004-03-16 Mark Kettenis <kettenis@gnu.org>
4093
4094 * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
4095 code.
4096
4097 2004-03-16 Alan Modra <amodra@bigpond.net.au>
4098
4099 * elflink.c (elf_link_read_relocs_from_section): Don't use
4100 NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check..
4101 (_bfd_elf_link_read_relocs): ..to here.
4102 * elf32-ppc.c (ppc_elf_relax_section): Formatting.
4103
4104 2004-03-16 Alan Modra <amodra@bigpond.net.au>
4105
4106 * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
4107 values selected in configure.host. Require both to be defined
4108 before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to
4109 corresponding BFD_HOST vars with quotes.
4110 <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
4111 Always require BFD_HOST_64_BIT_DEFINED.
4112 <file_ptr type>: Find off_t size before emitting message. Combine
4113 off_t and ftello64 conditional.
4114 * configure: Regenerate.
4115
4116 2004-03-16 Alan Modra <amodra@bigpond.net.au>
4117
4118 * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
4119 aliasing warning. Remove trailing whitespace throughout file.
4120
4121 2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4122
4123 * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
4124 input_section in calls to get_dyn_name.
4125 * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for
4126 local symbols.
4127 (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
4128
4129 2004-03-15 Alan Modra <amodra@bigpond.net.au>
4130
4131 * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
4132 (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
4133 (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
4134 (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
4135 (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
4136 * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
4137 (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
4138 when using long.
4139 * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
4140 (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT.
4141 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4142 (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT.
4143 (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
4144 * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
4145 (read_8_bytes, read_indirect_string, read_address): Likewise.
4146 (read_abbrevs, parse_comp_unit): Likewise.
4147 * targets.c (struct bfd_target): Likewise.
4148 * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
4149 * hppabsd-core.c: Likewise. Formatting.
4150 * hpux-core.c: Likewise.
4151 * irix-core.c: Likewise.
4152 * netbsd-core.c: Likewise.
4153 * osf-core.c: Likewise.
4154 * ptrace-core.c: Likewise.
4155 * sco5-core.c: Likewise.
4156 * trad-core.c: Likewise.
4157 * configure: Regenerate.
4158 * bfd-in2.h: Regenerate.
4159
4160 2004-03-15 Alan Modra <amodra@bigpond.net.au>
4161
4162 * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
4163 (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
4164 (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
4165 (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
4166 (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
4167 (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
4168 (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
4169 * libbfd.c: Likewise in function definitions.
4170 (bfd_put_8): Mask with 0xff rather than casting to char.
4171 (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
4172 (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
4173 (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
4174 (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
4175 (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
4176 (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
4177 * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
4178 (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
4179 (H_GET_64, H_GET_32, H_GET_16): Likewise.
4180 (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
4181 * archive.c (do_slurp_coff_armap): Update swap prototype.
4182 * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
4183 (tic54x_getl_signed_32): Likewise.
4184 (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char.
4185 * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
4186 * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
4187 (bfd_getp_signed_32, bfd_putp32): Likewise.
4188 * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
4189 bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
4190 bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
4191 bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
4192 bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
4193 bfd_h_getx_signed_16, bfd_h_putx16.
4194 * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
4195 * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS.
4196 * hpux-core.c: Likewise.
4197 * irix-core.c: Likewise.
4198 * netbsd-core.c: Likewise.
4199 * osf-core.c: Likewise.
4200 * ptrace-core.c: Likewise.
4201 * sco5-core.c: Likewise.
4202 * trad-core.c: Likewise.
4203 * bfd-in2.h: Regenerate.
4204
4205 2004-03-15 Matt Thomas <matt@3am-software.com>
4206
4207 * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
4208 selected.
4209
4210 2004-03-13 Mark Kettenis <kettenis@gnu.org>
4211
4212 * config.bfd: Add x86_64-*-openbsd*.
4213 * configure.in (x86_64-*-openbsd*): Set COREFILE to
4214 netbsd-core.lo.
4215 * configure: Regenerate.
4216
4217 2004-03-12 Nick Clifton <nickc@redhat.com>
4218 Dave Murphy <wintermute2k4@ntlworld.com>
4219
4220 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
4221 if the input bfd does not contain any code.
4222
4223 2004-03-09 Steve Ellcey <sje@cup.hp.com>
4224
4225 * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
4226
4227 2004-03-05 Fred Fish <fnf@redhat.com>
4228
4229 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
4230 mips16 symbols to be even rather than testing first for even/odd.
4231 (_bfd_mips_elf_link_output_symbol_hook): Ditto.
4232
4233 2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
4234
4235 * elf.c (map_sections_to_segments): Ignore .tbss sections for
4236 layout purposes.
4237
4238 2004-03-03 Alexandre Oliva <aoliva@redhat.com>
4239
4240 * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
4241 undefined symbols as hash_new.
4242
4243 2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com>
4244
4245 * archures.c: Add bfd_mach_sh4_nommu_nofpu.
4246 * cpu-sh.c: Ditto.
4247 * elf32-sh.c: Ditto.
4248 * bfd-in2.h: Regenerate.
4249
4250 2004-03-02 Alexandre Oliva <aoliva@redhat.com>
4251
4252 * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
4253 dynrelocs.
4254 (_frv_count_got_plt_entries): Initialize them.
4255 (frv_pic_relocs_info_find): Add insert argument. Adjust all
4256 callers.
4257 (frv_pic_relocs_info_for_global): Likewise.
4258 (frv_pic_relocs_info_for_local): Likewise.
4259 (frv_pic_merge_early_relocs_info): New.
4260 (_frv_resolve_final_relocs_info): Use it in case one entry maps to
4261 another.
4262 (_frv_add_dyn_reloc): Add entry argument. Adjust all callers.
4263 Check that we don't exceed the allocated count for entry.
4264 (_frv_add_rofixup): Likewise.
4265 (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
4266 (elf32_frv_finish_dynamic_sections): Improve error message in case
4267 we emit too few rofixup entries.
4268
4269 2004-03-01 Richard Sandiford <rsandifo@redhat.com>
4270
4271 * archures.c (bfd_mach_fr450): New.
4272 * bfd-in2.h: Regenerate.
4273 * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
4274 (arch_info_500): Link to it.
4275 * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
4276 (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
4277 (frv_elf_arch_extension_p): New function.
4278 (frv_elf_merge_private_bfd_data): Use it.
4279
4280 2004-02-28 H.J. Lu <hongjiu.lu@intel.com>
4281
4282 * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
4283
4284 * elflink.h (is_global_data_symbol_definition): Moved to
4285 elflink.c.
4286 (elf_link_is_defined_archive_symbol): Likewise.
4287 (elf_link_add_archive_symbols): Likewise. Renamed to
4288 _bfd_elf_link_add_archive_symbols.
4289
4290 * elflink.c (elf_link_is_defined_archive_symbol): Get the size
4291 of ELF symbol table entry from backend.
4292 (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
4293 instead of elf_link_add_object_symbols.
4294
4295 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
4296
4297 * elf-bfd.h (struct elf_backend_data): Added
4298 elf_backend_can_make_relative_eh_frame,
4299 elf_backend_can_make_lsda_relative_eh_frame and
4300 elf_backend_encode_eh_address.
4301 (_bfd_elf_encode_eh_address): Declare.
4302 (_bfd_elf_can_make_relative): Declare.
4303 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
4304 hooks to decide whether to attempt to make_relative and
4305 make_lsda_relative.
4306 (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
4307 (_bfd_elf_can_make_relative): New.
4308 (_bfd_elf_encode_eh_address): New.
4309 * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
4310 (frv_elf_encode_eh_address): New.
4311 (elf_backend_can_make_relative_eh_frame): Define.
4312 (elf_backend_can_make_lsda_relative_eh_frame): Define.
4313 (elf_backend_encode_eh_address): Define.
4314 * elfxx-target.h
4315 (elf_backend_can_make_relative_eh_frame): Define.
4316 (elf_backend_can_make_lsda_relative_eh_frame): Define.
4317 (elf_backend_encode_eh_address): Define.
4318 (elfNN_bed): Add them.
4319
4320 2004-02-27 Alexandre Oliva <aoliva@redhat.com>
4321
4322 * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
4323 complain_on_overflow to signed.
4324
4325 2004-02-27 H.J. Lu <hongjiu.lu@intel.com>
4326
4327 * elflink.h (sort_symbol): New.
4328 (elf_link_add_object_symbols): Use a sorted symbol array for
4329 weakdef.
4330
4331 2004-02-27 Jakub Jelinek <jakub@redhat.com>
4332
4333 * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4334 for pc relative relocs.
4335 (elf_s390_relocate_section): Likewise.
4336 * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
4337 for pc relative relocs.
4338 (elf_s390_relocate_section): Likewise.
4339
4340 2004-02-26 H.J. Lu <hongjiu.lu@intel.com>
4341
4342 * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
4343 count_dyn_reloc.
4344
4345 2004-02-25 H.J. Lu <hongjiu.lu@intel.com>
4346
4347 * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
4348 field to track if a relocation is against readonly section.
4349 (count_dyn_reloc): Take a new argument for rent->reltext.
4350 (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
4351 (get_reloc_section): Don't set ia64_info->reltext here.
4352 (allocate_dynrel_entries): Set ia64_info->reltext here.
4353
4354 2004-02-24 Alexandre Oliva <aoliva@redhat.com>
4355
4356 * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
4357 (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
4358 function's descriptor to symbol+offset, and map local undefweak
4359 symbol to NULL function descriptor.
4360 (elf32_frv_relocate_section): Likewise.
4361
4362 2004-02-23 Mark Kettenis <kettenis@gnu.org>
4363
4364 * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
4365 M_X86_64_NETBSD.
4366 * netbsd-core.c (M_SPARC64_OPENBSD): Define.
4367 (netbsd_core_file_p): Set architecture from machine ID for
4368 selected machines.
4369
4370 2004-02-23 Jakub Jelinek <jakub@redhat.com>
4371
4372 * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
4373 DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
4374
4375 2004-02-21 H.J. Lu <hongjiu.lu@intel.com>
4376
4377 * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
4378 symbols with non-default visibility.
4379
4380 2004-02-21 Danny Smith <daanysmith@users.sourceforge.net>
4381
4382 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
4383 IMAGE_SCN_MEM_WRITE on known sections only.
4384
4385 2004-02-20 Jakub Jelinek <jakub@redhat.com>
4386
4387 * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
4388 symbols used in PIE relocs.
4389
4390 2004-02-19 Jakub Jelinek <jakub@redhat.com>
4391
4392 * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
4393 .plt sh_entsize.
4394
4395 2004-02-18 Daniel Jacobowitz <drow@mvista.com>
4396
4397 * configure.in: Update version to 2.15.90.
4398 * configure: Regenerate.
4399
4400 2004-02-17 Daniel Jacobowitz <drow@mvista.com>
4401 Richard Sandiford <rsandifo@redhat.com>
4402
4403 * elfxx-mips.c (mips_elf_calculate_relocation): Use
4404 _bfd_elf_symbol_refs_local_p to decide whether to decay
4405 a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
4406 (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
4407 relocs if the symbol wasn't defined by a regular object file.
4408 Don't check the symbol's dynindx.
4409
4410 2004-02-16 Andrew Cagney <cagney@redhat.com>
4411
4412 * bfd-in.h (file_ptr, ufile_ptr): Configure type using
4413 @bfd_file_ptr@.
4414 * bfd-in2.h: Re-generate.
4415
4416 2004-02-14 Andrew Cagney <cagney@redhat.com>
4417
4418 * configure.host (HDEFINES): When hppa*-*-hpux*, define
4419 _LARGEFILE64_SOURCE.
4420
4421 2004-02-13 Andrew Cagney <cagney@redhat.com>
4422
4423 * elf.c (vma_page_aligned_bias): New function.
4424 (assign_file_positions_except_relocs)
4425 (assign_file_positions_for_segments): Replace broken modulo
4426 arithmetic with call to vma_page_aligned_bias.
4427
4428 2004-02-11 Andrew Cagney <cagney@redhat.com>
4429
4430 * bfd-in.h: Update copyright.
4431 (bfd_tell): Change return type to file_ptr.
4432 * bfd-in2.h: Re-generate.
4433 * cache.c: Update copyright.
4434 (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
4435 parameter.
4436 (close_one): Use real_ftell.
4437 * bfdio.c: Update copyright.
4438 (real_ftell, real_fseek): New functions.
4439 (bfd_tell): Use real_fseek and real_ftell, change return type to
4440 file_ptr.
4441 (bfd_seek): Use real_ftell and real_fseek, change type of
4442 file_position to a file_ptr.
4443 * libbfd-in.h: Update copyright.
4444 (real_ftell, real_fseek): Declare.
4445 * libbfd.h: Re-generate.
4446
4447 * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
4448 fseeko and fseeko64. Determine bfd_file_ptr.
4449 * configure: Re-generate.
4450 * config.in: Re-generate.
4451
4452 2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
4453
4454 * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
4455 * elf32-h8300.c: Likewise.
4456
4457 2004-02-09 Christian Vogel <vogelchr@vogel.cx>
4458 Nick Clifton <nickc@redhat.com>
4459
4460 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
4461 GOT entries with no associated GOT subsection.
4462
4463 2004-02-09 Richard Sandiford <rsandifo@redhat.com>
4464
4465 * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
4466 * elf.c (swap_out_syms): Use it to decide whether local section
4467 symbols should be named.
4468 * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
4469 * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
4470 (elf_backend_name_local_section_symbols): Define.
4471 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
4472
4473 2004-01-30 H.J. Lu <hongjiu.lu@intel.com>
4474
4475 * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
4476 (elfNN_ia64_relax_section): Optimize brl to br during the relax
4477 finalize pass.
4478
4479 2004-01-30 Alexandre Oliva <aoliva@redhat.com>
4480
4481 * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
4482 to bfd_link_hash_entry passed by reference to
4483 _bfd_generic_link_add_one_symbol.
4484
4485 2004-01-25 H.J. Lu <hongjiu.lu@intel.com>
4486
4487 * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
4488 relocations against dynamic symbols.
4489
4490 2004-01-23 Daniel Jacobowitz <drow@mvista.com>
4491
4492 * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
4493 change.
4494
4495 2004-01-21 Tom Rix <tcrix@worldnet.att.net>
4496
4497 * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
4498 * bfd-in2.h, libbfd.h: Rebuilt.
4499
4500 2004-01-20 Danny Smith <dannysmith@users.sourceforge.net>
4501
4502 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
4503 IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
4504 flag has been cleared.
4505
4506 2004-01-19 Kazu Hirata <kazu@cs.umass.edu>
4507
4508 * coff-h8300.c: Add and adjust comments about relaxation.
4509 * elf32-h8300.c: Likewise.
4510
4511 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
4512
4513 * coff-h8300.c: Fix comment typos.
4514 * elf32-h8300.c: Likewise.
4515
4516 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
4517
4518 * coff-h8300.c: Add comments about relaxation.
4519 * elf32-h8300.c: Likewise.
4520
4521 2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4522
4523 * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
4524 throughout.
4525 * aclocal.m4: Regenerate.
4526 * configure: Regenerate.
4527
4528 2004-01-13 Ian Lance Taylor <ian@wasabisystems.com>
4529
4530 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
4531 mips_elf64_rtype_to_howto instead of using howto_table.
4532
4533 2004-01-13 Daniel Jacobowitz <drow@mvista.com>
4534
4535 * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
4536 the .plt section.
4537 (elf32_arm_check_relocs): Don't increment the PLT refcount for
4538 relocs which would not use the PLT.
4539
4540 2004-01-13 Alan Modra <amodra@bigpond.net.au>
4541
4542 * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
4543 (ppc64_elf_gc_sweep_hook): Likewise.
4544 (ppc64_elf_size_dynamic_sections): Test for .plt directly.
4545
4546 2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com>
4547
4548 Adds linker relaxation support for bit manipulation insns like
4549 band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
4550 bst, btst, bxor.
4551 * elf32-h8300.c: Opcode for bit manipulation insn is checked in
4552 elf32_h8_relax_section function while relxation for aa:16 and aa:32.
4553 * coff-h8300.c: Opcode for bit manipulation insn is checked in
4554 h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
4555
4556 2004-01-12 Alan Modra <amodra@bigpond.net.au>
4557
4558 * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
4559
4560 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
4561
4562 * elf32-h8300.c: Fix formatting.
4563
4564 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
4565
4566 * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
4567 dynamic object is present. Declare r_symndx and h in an inner
4568 scope.
4569 * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
4570
4571 2004-01-09 Daniel Jacobowitz <drow@mvista.com>
4572
4573 * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
4574 (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
4575 (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
4576 identically. Do not emit PC24 relocations for shared libraries.
4577 (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
4578 identically. Don't adjust pc_count.
4579 (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
4580 Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't
4581 adjust count for branch relocations.
4582 (allocate_dynrelocs): Correct typo in call to
4583 WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for
4584 PC24 or PLT32 relocs when linking.
4585
4586 2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
4587
4588 * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
4589 relocation howto with ARM_26 one for consistency.
4590 (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
4591 that will be converted to ARM_26D ones, since we always want 'done'
4592 relocations to be reflected in section's data.
4593 (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
4594 offset.
4595 (_bfd_final_link_relocate): Do not modify "inplace" data, if not
4596 requested.
4597
4598 2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
4599
4600 * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
4601 are not partial_inplace during a relocatable link.
4602
4603 2004-01-08 Kazu Hirata <kazu@cs.umass.edu>
4604
4605 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
4606 if no dynamic object is present. Declare r_symndx and h in an
4607 inner scope.
4608
4609 2004-01-07 H.J. Lu <hongjiu.lu@intel.com>
4610
4611 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
4612 trampoline if it is known out of range.
4613
4614 2004-01-06 Alexandre Oliva <aoliva@redhat.com>
4615
4616 2003-12-17 Alexandre Oliva <aoliva@redhat.com>
4617 * elf32-frv.c (_frv_osec_readonly_p): New.
4618 (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
4619 undefweak symbol.
4620 (_frv_count_got_plt_entries): Adjust expected count accordingly.
4621 (elf32_frv_relocate_section): Likewise. Error out if attempting
4622 to emit rofixups or dynamic relocs in read-only segments. Use
4623 _bfd_elf_section_offset to adjust r_offsets in rofixups and
4624 dynamic relocations.
4625 2003-12-12 Alexandre Oliva <aoliva@redhat.com>
4626 * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
4627 relocations or fixups involving merged sections correctly. Avoid
4628 crash when undefined symbol is referenced by R_FRV_32 or
4629 R_FRV_FUNCDESC_VALUE.
4630 2003-12-02 Alexandre Oliva <aoliva@redhat.com>
4631 * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
4632 input section holding local symbol to addend of R_FRV_32 or
4633 R_FRV_FUNCDESC_VALUE dynamic relocation.
4634 2003-11-27 Alexandre Oliva <aoliva@redhat.com>
4635 * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
4636 (elf32_frv_always_size_sections): Don't store pointer to
4637 __stacksize symbol in sec_info.
4638 (elf32_frv_modify_segment_map): Look it up here.
4639 2003-11-26 Alexandre Oliva <aoliva@redhat.com>
4640 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
4641 of the lazy PLT entry, not only its offset, as the low word of a
4642 function descriptor.
4643 2003-11-10 Alexandre Oliva <aoliva@redhat.com>
4644 * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
4645 if a hash table entry already exists but is not a definition.
4646 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
4647 * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
4648 (_frv_add_rofixup): Don't inline.
4649 (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
4650 for undefweak symbols.
4651 (elf32_frv_relocate_section): Avoid crash while computing
4652 relocation when linking with shared library. Only emit rofixups
4653 and dynamic relocations for alloc&load sections. Mark binaries
4654 with inter-segment relocations for relocation as a unit.
4655 (_frv_create_got_section): Rename .rofixup.got to .rofixup.
4656 (DEFAULT_STACK_SIZE): New.
4657 (_frv_count_got_plt_entries): Fix thinko in deciding whether to
4658 emit rofixups or dynamic relocs when linking dynamic non-PIE
4659 executables.
4660 (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
4661 shared libs too. Reserve the last entry for the GOT pointer.
4662 (elf32_frv_finish_dynamic_sections): Emit it.
4663 (elf32_frv_always_size_sections): New.
4664 (elf32_frv_modify_segment_map): New.
4665 (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
4666 sections.
4667 (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
4668 (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
4669 (elf_backend_always_size_sections): New.
4670 (elf_backend_modify_segment_map): New.
4671 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
4672 * config.bfd: Added frv-*-*linux*.
4673 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
4674 ABS section, instead of crashing.
4675 (elf32_frv_relocate_section): Don't crash before warning about
4676 different segments in non-PIC relocation.
4677 2003-10-17 Alexandre Oliva <aoliva@redhat.com>
4678 * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
4679 relocs to undefweak symbols.
4680 (elf32_frv_relocate_section): Ditto for undefined symbols.
4681 2003-10-06 Alexandre Oliva <aoliva@redhat.com>
4682 * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
4683 gotfixup section was created.
4684 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
4685 * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
4686 FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
4687 complain_overflow_signed.
4688 * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
4689 have not been allocated.
4690 (_frv_emit_got_relocs_plt_entries): Return non-void. Assert
4691 privfd only if dynamic sections were created.
4692 (elf32_frv_relocate_section): Compute gprel_segment, and use it
4693 for GPREL relocs. When linking relocatable FDPIC executables,
4694 emit warnings for relocations that would be illegal on PIE or
4695 shared libraries. Emit rofixup for R_FRV_32 only if input object
4696 is not FDPIC.
4697 (_frv_create_got_section): Define _gp symbol in the rofixup
4698 section.
4699 (elf32_frv_finish_dynamic_sections): If rofixups needed but
4700 dynamic sections missing, error out requesting -melf32frvfd.
4701 2003-09-19 Alexandre Oliva <aoliva@redhat.com>
4702 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
4703 computation of addends from section and global or local symbol
4704 value. Change return type to bfd_boolean, and return a failure if
4705 a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
4706 nonzero addend is required.
4707 (elf32_frv_relocate_section): Likewise. Print error for
4708 unsupported nonzero addends.
4709 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
4710 * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
4711 force everything local.
4712 (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
4713 * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
4714 (frv_gotfixup_section): New.
4715 (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
4716 (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
4717 and relocsfdv.
4718 (_frv_add_rofixup): New.
4719 (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
4720 fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and
4721 improve some ugly conditions.
4722 (elf32_frv_relocate_section): Likewise. Reject inter-segment
4723 relocations in fdpic.
4724 (_frv_create_got_section): Create .rofixup.got section.
4725 (struct _frv_dynamic_got_info): Added fixups.
4726 (_frv_count_got_plt_entries): Account in-GOT relocations into
4727 relocs32, relocsfd and relocsfdv. Account them into relocs or
4728 fixups, as appropriate.
4729 (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify
4730 sizing of gotrel.
4731 (elf32_frv_finish_dynamic_sections): Verify that the right number
4732 of relocations and fixups was generated.
4733 (elf32_frv_check_relocs): Compute relocs32, relocsfd and
4734 relocsfdv.
4735 * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
4736 SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
4737 (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
4738 descriptor of a (formerly-)global symbol is local.
4739 (struct frv_pic_relocs_info): Adjust comments.
4740 (_frv_emit_got_relocs_plt_entries): Adjust.
4741 (elf32_frv_relocate_section): Likewise.
4742 (_frv_count_got_plt_entries): Likewise.
4743 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
4744 symbol's value to addend in the common preamble. Decay dynamic
4745 symbols to section+offset if they bind or call locally, for GOT
4746 and FUNCDESC_VALUE, respectively.
4747 (elf32_frv_relocate_section): Likewise.
4748 (elf32_frv_check_relocs): Don't register as dynamic symbols of
4749 internal or hidden visibility.
4750 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
4751 * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
4752 argument, so as to not call _bfd_elf_rel_local_sym to compute it.
4753 (elf32_frv_relocate_section): Pass relocation addend in. Use
4754 original relocation addend to look up the got relocs/plt entries
4755 table. Do not call _bfd_elf_rel_local_sym. Don't error out when
4756 processing relocations that reference .scommon symbols.
4757 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
4758 Introduce support for dynamic linking.
4759 * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
4760 (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
4761 elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
4762 (frv_reloc_type_lookup): Return REL howtos for executables and
4763 dynamic libraries.
4764 (frv_info_to_howto_rel): New.
4765 (struct frv_elf_link_hash_table): New.
4766 (frv_hash_table, frv_got_section, frv_gotrel_section,
4767 frv_plt_section, frv_pltrel_section, frv_relocs_info,
4768 frv_got_initial_offset, frv_plt_initial_offset): New macros.
4769 (frv_elf_link_hash_table_create): New.
4770 (struct frv_pic_relocs_info): New.
4771 (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
4772 (frv_pic_relocs_info_find): New.
4773 (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
4774 New.
4775 (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
4776 (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
4777 (_frv_emit_got_relocs_plt_entries): New.
4778 (elf32_frv_relocate_section): Add support for dynamic linking.
4779 Handle new relocations.
4780 (_frv_create_got_section): New.
4781 (elf32_frv_create_dynamic_sections): New.
4782 (ELF_DYNAMIC_INTERPRETER): New.
4783 (struct _frv_dynamic_got_info): New.
4784 (_frv_count_got_plt_entries): New.
4785 (struct _frv_dynamic_got_plt_info): New.
4786 (_frv_compute_got_alloc_data): New.
4787 (_frv_get_got_entry, _frv_get_fd_entry): New.
4788 (_frv_assign_got_entries, _frv_assign_plt_entries): New.
4789 (_frv_resolve_final_relocs_info): New.
4790 (elf32_frv_size_dynamic_sections): New.
4791 (elf32_frv_finish_dynamic_sections): New.
4792 (elf32_frv_adjust_dynamic_symbol): New.
4793 (elf32_frv_finish_dynamic_symbol): New.
4794 (elf32_frv_check_relocs): Handle new relocs. Explain how the
4795 whole thing works.
4796 (elf_info_to_howto_rel): Define.
4797 (bfd_elf32_bfd_link_hash_table_create): Define.
4798 (elf_backend_create_dynamic_sections): Define.
4799 (elf_backend_adjust_dynamic_symbol): Define.
4800 (elf_backend_size_dynamic_sections): Define.
4801 (elf_backend_finish_dynamic_symbol): Define.
4802 (elf_backend_finish_dynamic_sections): Define.
4803 (elf_backend_want_got_sym): Define.
4804 (elf_backend_got_header_size): Define.
4805 (elf_backend_want_got_plt): Define.
4806 (elf_backend_plt_readonly): Define.
4807 (elf_backend_want_plt_sym): Define.
4808 (elf_backend_plt_header_size): Define.
4809 (elf_backend_may_use_rel_p): Define.
4810 (elf_backend_may_use_rela_p): Define.
4811 (elf_backend_default_use_rela_p): Define.
4812 2003-08-08 Alexandre Oliva <aoliva@redhat.com>
4813 * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
4814 R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
4815 R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
4816 (frv_reloc_map): Map the corresponding BFD relocs to them.
4817 (frv_reloc_type_lookup): ... and back to BFD relocs.
4818 * reloc.c: New relocs.
4819 * bfd-in2.h, libbfd.h: Rebuilt.
4820 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
4821 * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
4822 R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
4823 R_FRV_FUNCDESC_GOTLO): New.
4824 (frv_reloc_map): Map the corresponding BFD relocs to them.
4825 (frv_reloc_type_lookup): ... and back to BFD relocs.
4826 * reloc.c: New relocs.
4827 * bfd-in2.h, libbfd.h: Rebuilt.
4828
4829 2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4830
4831 * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
4832 targets to support pages of up to 64kB.
4833 (elf32_bed): Redefine to get a separate backend data structure for
4834 traditional targets.
4835 * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
4836 targets to support pages of up to 64kB.
4837 (elf64_bed): Redefine to get a separate backend data structure for
4838 traditional targets.
4839 * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
4840 targets to support pages of up to 64kB.
4841 (elf32_bed): Redefine to get a separate backend data structure for
4842 traditional targets.
4843
4844 2004-01-04 Mark Kettenis <kettenis@gnu.org>
4845
4846 * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
4847
4848 2004-01-02 Mark Kettenis <kettenis@gnu.org>
4849
4850 * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
4851 (elf_i386_grok_psinfo): Likewise.
4852
4853 2004-01-02 Bernardo Innocenti <bernie@develer.com>
4854
4855 * config.bfd: Add m68k-uClinux target.
4856
4857 2004-01-01 Grant Edwards <grante@visi.com>
4858
4859 * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
4860 * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
4861 (elf32_h8_gc_sweep_hook): New function.
4862 (elf_backend_gc_mark_hook): Define.
4863 (elf_backend_gc_sweep_hook): Define.
4864 (elf_backend_can_gc_sections): Define.
4865
4866 For older changes see ChangeLog-0203
4867 \f
4868 Local Variables:
4869 mode: change-log
4870 left-margin: 8
4871 fill-column: 74
4872 version-control: never
4873 End:
This page took 0.133437 seconds and 4 git commands to generate.