* hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
3dd2fcf0
DA
12004-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
de52dba4
AM
62004-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
288f74fa
BW
122004-11-18 Bob Wilson <bob.wilson@acm.org>
13
14 * elf32-xtensa.c (ebb_propose_action): Fix argument order.
15
b7693d02
DJ
162004-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
353057a5
RS
452004-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
b32d3aa2
MM
622004-11-15 Mark Mitchell <mark@codesourcery.com>
63
64 * elf32-arm.c (elf32_arm_relocate_section): Use
65 arm_real_reloc_type.
66
5d41f0b6
RS
672004-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
fc0e6df6
PB
732004-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
b23e50e2
PB
842004-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
f4a6705c
RS
892004-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
ee06dc07
PB
942004-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
a1ace8d8
BW
1012004-11-12 Bob Wilson <bob.wilson@acm.org>
102
103 * xtensa-isa.c (xtensa_interface_class_id): New.
104
e4115460
BW
1052004-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
6366ff1e
MM
1112004-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
b34af79c
MM
1162004-11-09 Mark Mitchell <mark@codesourcery.com>
117
e6dc21b6
MM
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
b34af79c
MM
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
08d1f311
DJ
1272004-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
0306b3bf
AM
1332004-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
a16385dc
MM
1402004-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
0306b3bf
AM
1462004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
147 Vineet Sharma <vineets@noida.hcltech.com>
7499d566
NC
148
149 * coff-maxq.c: New File.
0306b3bf
AM
150 * cpu-maxq.c: New File.
151 * coffcode.h: Likewise.
152 * config.bfd: Likewise.
153 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
154 * Makefile.am: Add support for maxq target.
155 * configure.in: Likewise.
0306b3bf
AM
156 * archures.c:. Likewise.
157 * targets.c: Likewise.
158 * bfd_in2.h : Regenerated.
7499d566
NC
159 * Makefile.in: Regenerated.
160 * configure: Regenerated.
161 * doc/Makefile.in: Regenerated.
162
977cdf5a
NC
1632004-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
9dfe8738
AS
1712004-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
c3c76620
MM
1772004-11-01 Mark Mitchell <mark@codesourcery.com>
178
179 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 180 D_PAGED.
c3c76620
MM
181 (elf32_arm_symbian_modify_segment_map): Don't
182 reset includes_filehdr and includes_phdrs here.
183
7f266840
DJ
1842004-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
bac23f82
HPN
2032004-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
c5614fa4
AM
2542004-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
0ebdbb83
BW
2622004-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
675b2ace
DJ
2672004-11-02 Daniel Jacobowitz <dan@debian.org>
268
269 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
270
58852c27
NC
2712004-11-02 Nick Clifton <nickc@redhat.com>
272
273 * elf32-iq2000.c: Convert to ISO C90 formatting.
274
e6857c0c
HPN
2752004-11-02 Hans-Peter Nilsson <hp@axis.com>
276
20288ed6 277 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 278
bf718458
L
2792004-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
044ad7e3
KK
2852004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
286
287 * elf32-sh.c (tpoff): Take alignment into account.
288
d5cb4bb8
NC
2892004-10-28 Nick Clifton <nickc@redhat.com>
290
291 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 292 performing a relocatable link.
d5cb4bb8
NC
293 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
294 for MIPS ports under Irix.
295
5b5bb741
PB
2962004-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
97ecf322
L
3092004-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
3e3b46e5
PB
3162004-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
aa69fe43
HPN
3222004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
323
278b4623
HPN
324 * mmo.c: Adjust to ISO C.
325
aa69fe43
HPN
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
ed040321
DJ
3352004-10-24 Daniel Jacobowitz <dan@debian.org>
336
337 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
338
830866af
HPN
3392004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
340
341 * mmo.c (File Layout): Correct place of misplaced blurb about
342 special data.
343
5f417ca3
MK
3442004-10-22 Mark Kettenis <kettenis@gnu.org>
345
346 * config.bfd: Add mips64*-*-openbsd.
347
823fc61f
BW
3482004-10-21 Bob Wilson <bob.wilson@acm.org>
349
350 * elf32-xtensa.c (ebb_propose_action): Put declarations before
351 statements.
352
8697aafb
L
3532004-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
dfeffb9f
L
3582004-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
1715e0e3
AS
4362004-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
db3d41a8
DS
4412004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
442
443 * config.bfd: Set targ_underscore=yes for PE COFF targets
444
4b85d634
AM
4452004-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
6df4d94c
MM
4502004-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
00d962d1
NC
4562004-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
b58f81ae
DJ
4612004-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
7d3f158f
AM
4672004-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
6d2cd210
JJ
4732004-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
92e4ec35
AM
4822004-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
7bf6dede
L
4912004-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
c0042f5d
MM
4972004-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
2a1b9a48
MM
5022004-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
b08b5071
BW
5072004-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
7fa3d080
BW
5152004-10-12 Bob Wilson <bob.wilson@acm.org>
516
517 * elf32-xtensa.c: Use ISO C90 formatting.
518
3656d5e3
PB
5192004-10-12 Paul Brook <paul@codesourcery.com>
520
521 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
522 message.
523
8cb51566
PB
5242004-10-12 Paul Brook <paul@codesourcery.com>
525
526 * elf32-arm.h: Support EABI version 4 objects.
527
1abc8597
AM
5282004-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
9e66c942
AM
5352004-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.
1abc8597 541 (elf_link_input_bfd): Use it.
9e66c942 542
7f1204bb
JJ
5432004-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
87e5235d
AM
5492004-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
2ad770c3
AM
5552004-10-11 Alan Modra <amodra@bigpond.net.au>
556
029446c4
AM
557 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
558
2ad770c3
AM
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
1da212d6
AM
5632004-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
f12123c0
AM
5692004-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
fda3ecf2
AM
5812004-10-10 Alan Modra <amodra@bigpond.net.au>
582
3472e2e9
AM
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
fda3ecf2
AM
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
7db6994f
AM
6022004-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
3c9458e9
NC
6092004-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.
7db6994f 616 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
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.
873d03ee 625 * binary.c: Likewise.
3c9458e9
NC
626 * coffcode.h: Likewise.
627 * i386msdos.c: Likewise.
628 * ieee.c: Likewise.
873d03ee 629 * ihex.c: Likewise.
3c9458e9
NC
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
d2b2c203
DJ
6472004-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
864274b0
AM
6532004-10-08 Alan Modra <amodra@bigpond.net.au>
654
655 * syms.c (bfd_is_local_label): Return false for file symbols.
656
43cd72b9 6572004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 658 David Heine <dlheine@tensilica.com>
43cd72b9
BW
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
fda3ecf2 771 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
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
fda3ecf2 784 identify_literal_placement functions.
43cd72b9
BW
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
99022dfb
RS
9312004-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
b67ae299
NC
9372004-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
8fdd7217
NC
9442004-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
073a2dc3
RM
9502004-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
7785be14
AM
9552004-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
40a18ebd
NC
9602004-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
8935b81f
AM
9672004-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
eeac373a
PB
9792004-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
7479dfd4
L
9842004-09-30 H.J. Lu <hongjiu.lu@intel.com>
985
986 PR 414
987 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
988
0dd132b6
NC
9892004-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
1ba54ee0
AM
9952004-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
5efb6261
AM
10042004-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
fca870e4
AM
10112004-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
c86696a3
BF
10182004-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
73adb214
AM
10252004-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
b301b248
AM
10302004-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,
073a2dc3 1043 test for alloc-only sections other than .tbss consistently.
b301b248
AM
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
3f85e526
L
10482004-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
eb043451
PB
10562004-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
f6e332e6
AM
10812004-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
90c0a373
AM
11242004-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
f5385ebf
AM
11322004-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
b6ee372a
AM
11772004-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
9c504268
PB
11832004-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
94ea025a
JB
11972004-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
24443139
AS
12052004-09-11 Andreas Schwab <schwab@suse.de>
1206
1207 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
1208 * aclocal.m4: Rebuild.
1209 * configure: Rebuild.
1210
f4eae89c
JB
12112004-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
e0638f70
AM
12162004-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
5e0f5ae3
HPN
12212004-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
ada1953e
HPN
12262004-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
ee75fd95
AM
12342004-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
229fcec5
MM
12552004-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.
073a2dc3 1269
9a0789ec
NC
12702004-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
7b53ace3
AM
12762004-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
3e540f25
AM
12842004-09-04 Alan Modra <amodra@bigpond.net.au>
1285
1286 * bfd.c (_bfd_default_error_handler): Correct loop exit.
1287
e5a52504
MM
12882004-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
6e3b6835
NC
13212004-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
595da8c5
AM
13272004-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
6723a9f4
EB
13332004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1334
1335 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
1336
5464f5a1
NN
13372004-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
a7535cf3
AM
13492004-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
c9727e01
AM
13542004-08-28 Alan Modra <amodra@bigpond.net.au>
1355
b91e2ae2 1356 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
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.
b91e2ae2
AM
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.
c9727e01
AM
1364 * libbfd.h: Regenerate.
1365 * bfd-in2.h: Regenerate.
1366
699733f6
AM
13672004-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
deb0e272
AM
13802004-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
85a84e7a
PB
13952004-08-26 Paul Brook <paul@codesourcery.com>
1396
deb0e272 1397 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 1398
688c58f3
AM
13992004-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
3e95eabc
AM
14042004-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
f855931b
AM
14092004-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
b18c562e
NC
14152004-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.
f855931b 1420 * libbfd.h: Regenerate.
b18c562e
NC
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
af705ba8
NC
14282004-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
ea5158d8
DJ
14332004-08-20 Daniel Jacobowitz <dan@debian.org>
1434
1435 * elflink.c (_bfd_elf_section_already_linked): Handle
1436 SEC_LINK_DUPLICATES_SAME_CONTENTS.
1437
49d934f1
MM
14382004-08-19 Mark Mitchell <mark@codesourcery.com>
1439
1440 * config.bfd (arm*-*-symbianelf*): New target.
1441 (arm*-*-eabi*): Likewise.
1442
039b3fef
AM
14432004-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
3f764659
JJ
14502004-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
c09bdfe5
AM
14612004-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
271d0fc3
NC
14662004-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
a010d60f
AM
14732004-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
90e3cdf2
JJ
14792004-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
7c2c8505
AM
14932004-08-17 Alan Modra <amodra@bigpond.net.au>
1494
1495 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1496
0367ecfb
NC
14972004-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
2441e016
AM
15082004-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
35b0ce59
AM
15142004-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
81688140
AM
15212004-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
327c1315
AM
15272004-08-16 Alan Modra <amodra@bigpond.net.au>
1528
1529 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
1530
45fc9e4a
AM
15312004-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
9dadfa79
AM
15362004-08-16 Alan Modra <amodra@bigpond.net.au>
1537
1538 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 1539 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
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
57e8b36a
NC
15482004-08-13 Nick Clifton <nickc@redhat.com>
1549
1550 * elf32-arm.h: Convert to ISO C90.
1551
a005f94e
AM
15522004-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
d003868e
AM
15582004-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
6ba842b6
L
16822004-08-12 H.J. Lu <hongjiu.lu@intel.com>
1683
1684 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1685 relocation.
1686
99877b66
AM
16872004-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
ba3bee0b
JJ
17032004-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
8387904d
AM
17082004-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
b25116a9
AM
17322004-08-09 Alan Modra <amodra@bigpond.net.au>
1733
8843416a
AM
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
b25116a9
AM
1740 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1741 long branch stubs with code handling plt and r2off branch stubs.
1742
ccfa59ea
AM
17432004-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
4025353c
AM
17572004-08-09 Alan Modra <amodra@bigpond.net.au>
1758
4f800a42
AM
1759 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
1760
06da1e8e
AM
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
34814b9f
AM
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
4025353c
AM
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
db6579d4
PB
17802004-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
a4d0f181
TS
17892004-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
83774818
SC
17942004-08-01 Stephane Carrez <stcarrez@nerim.fr>
1795
1796 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1797
a4d0f181 17982004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
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
185d09ad
L
18042004-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
7946e94a
JJ
18272004-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
1d70c7fb
AO
18332004-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
404ed0cf
DA
18542004-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
225247f0
JT
18612004-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
3d7f7666
L
18782004-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
670ec21d
NC
19082004-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.
6cd7f07e 1913 * libbfd.h: Regenerate.
670ec21d
NC
1914 * elf32-crx.c: Support relocation/relaxation of
1915 BFD_RELOC_CRX_SWITCH* types.
1916
2c66dc6c
AM
19172004-07-27 Alan Modra <amodra@bigpond.net.au>
1918
1919 * elf64-ppc.c: Correct "Linker stubs" comment.
1920
38ce5b11
L
19212004-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
65da361f
L
19332004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1934
1935 * elflink.c (elf_fixup_link_order): Add _() to error message.
1936
08ccf96b
L
19372004-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
082b7297
L
19422004-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
0b52efa6
PB
20172003-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
7e2294f9
AO
20232004-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
e56f61be
L
20332004-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
27b56da8
DA
20492004-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
bbb268c3
JW
20542004-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.
2c66dc6c 2064
e525914f
L
20652004-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
b1a6d0b1
NC
20712004-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
1a320fbb
NC
20762004-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
1fe1f39c
NC
20862004-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
85fbca6a
NC
21132004-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'.
1fe1f39c 2120 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 2121 check_directives function, if defined.
1fe1f39c 2122 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 2123 check_directives.
1fe1f39c
NC
2124 * targets.c: Add bfd_elf32_shl_symbian_vec.
2125 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 2126 definition.
1fe1f39c 2127 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 2128 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 2129 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 2130 not already been defined.
1fe1f39c
NC
2131 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
2132 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
2133 * sh-symbian-elf target.
2134 * Makefile.am: Add elf32-sh-symbian.c
2135 * Makefile.in: Regenerate.
1fe1f39c 2136
871ec896
JR
21372004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
2138
1fe1f39c
NC
2139 * elf32-sh.c: Include ../opcodes/sh-opc.h.
2140 * Makefile.am: Ran make dep-am.
2141 * Makefile.in: Ran make dep-in.
871ec896 2142
c87db184
CF
21432004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
2144
2145 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
2146 externals properly.
2147
06f2f6af
MS
21482004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
2149
2150 * config.bfd: Add want64 to configuration target s390-*-linux*.
2151
b602c853
L
21522004-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
7a2a6943
NC
21662004-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
cdd3575c
AM
21732004-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
21a8f7fa
JW
21832004-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
2de26f35
L
21882004-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
72d7a15c
AM
21952004-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
e7f0a167
L
22002004-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
bff5f93a
BW
22062004-06-29 Bob Wilson <bob.wilson@acm.org>
2207
2208 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
2209 bfd_get_section_limit.
2210
b54d4b07
BW
22112004-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
e87a64e1
AM
22162004-06-29 Alan Modra <amodra@bigpond.net.au>
2217
1a23a9e6
AM
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
e87a64e1
AM
2233 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
2234
07515404
AM
22352004-06-29 Alan Modra <amodra@bigpond.net.au>
2236
2237 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 2238 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
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.
1fe1f39c 2247 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 2248 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 2249 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
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.
1fe1f39c
NC
2269 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
2270 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
2271 (_bfd_mips_elf_generic_reloc): Likewise.
2272 * bfd-in2.h: Regenerate.
2273
3722b82f
AM
22742004-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
727e493d
MK
23002004-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
146ccdbb
AO
23052004-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
a5fd0812
MK
23232004-06-26 Mark Kettenis <kettenis@gnu.org>
2324
2325 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
2326
22bfad37
JB
23272004-06-25 Joel Brobecker <brobecker@gnat.com>
2328
2329 * som.c (som_set_reloc_info): Correct small typo.
2330
097f809a
NC
23312004-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.
f9f2cf5d
NC
2341 * bfd-in2.h: Regenerated.
2342 * libbfd.h: Regenerated.
097f809a 2343
6610a52d
L
23442004-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
eea6121a
AM
23522004-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
bf8b15af
L
27132004-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
d1c6de6f
AM
27182004-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
aa02cc63
AO
27232004-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
aee6f5b4
AO
27292004-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
05576f10
NC
27422004-06-21 Nick Clifton <nickc@redhat.com>
2743
2744 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2745 flags.
2746
02d5a37b
JG
27472004-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
d2bef492
MK
27532004-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
8528d62e
DJ
27592004-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
911d08a7
AM
27642004-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
092dcd75
CD
27942004-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
3ffa5234
AM
28032004-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
e9edc808
MR
28082004-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
a873f25a
AO
28132004-06-09 Alexandre Oliva <aoliva@redhat.com>
2814
a9b881be
AO
2815 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
2816 (elf_link_add_object_symbols): Likewise.
2817
a873f25a
AO
2818 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
2819 (elf_backend_reloc_type_class): New.
2820
eef0f186
MK
28212004-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
822392ce
DJ
28272004-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
9f2e92c5
L
28332004-05-29 H.J. Lu <hongjiu.lu@intel.com>
2834
2835 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
2836 change.
2837
dd90f1b2
DD
28382004-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
5dd23ec1
L
28432004-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
f6f9408f
JR
28482004-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
d866f350
MC
28672004-05-27 Michael Chastain <mec.gnu@mindspring.com>
2868
2869 * Makefile.am (bfdver.h): Use explicit filename, not $< .
2870 * Makefile.in: Regenerate.
2871
1055df0f
AO
28722004-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
b3096250
L
28792004-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
9bb351fd
AO
28842004-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
e49f5022
AM
28892004-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
57ceae94
AM
28942004-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
c6f8758f 29132004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
2914
2915 * netbsd-core.c: Correctly indent section that sets architecture
2916 from machine ID.
2917
c6f8758f
NC
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
7d7e6bc4
NC
29312004-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
bc286f95
BE
29362004-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
8b89a4eb
BE
29472004-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
753731ee
AM
29522004-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
2d643429
NC
29662004-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
8377c19c
MK
29782004-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
69fd4758
NC
29842004-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
cd917290
BE
29952004-05-19 Ben Elliston <bje@au.ibm.com>
2996
2997 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
2998
1b09e940
NC
29992004-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
096c35a7
BW
30042004-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
eea6121a 30102004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
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
80fccad2
BW
30172004-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
c5ae1840
TS
30422004-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
a99cf92b
DA
30502004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3051
3052 * som.c (log2): Rename to exact_log2. Adjust all callers.
3053
0da76f83
NC
30542004-05-13 Paul Brook <paul@codesourcery.com>
3055
c273895f 3056 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
3057 dwarf3 format CIE entries. Remove comment about the size of the
3058 ra_column field. It is now correctly deduced.
0da76f83 3059
4b363073
NC
30602004-05-13 Joel Sherrill <joel@oarcorp.com>
3061
3062 * config.bfd (or32-*-rtems*): Switch to elf.
3063
9598fbe5
NC
30642004-05-13 Nick Clifton <nickc@redhat.com>
3065
3066 * po/fr.po: Updated French translation.
3067
8c37241b
JJ
30682004-05-11 Jakub Jelinek <jakub@redhat.com>
3069
0306b3bf 3070 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
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
3f980e41
AO
30982004-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
d70270c5 31042004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 3105 DJ Delorie <dj@redhat.com>
d70270c5
BF
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
7e9f3bd6
AO
31122004-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
eb61d2d6
ZW
31192004-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
ecb2d096
DJ
31242004-05-06 Daniel Jacobowitz <drow@mvista.com>
3125
3126 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
3127 special case.
3128
43850d5b
AO
31292004-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
06fc8a8c
NC
31642004-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.
33216455
NC
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.
06fc8a8c
NC
3174
31752004-05-05 Nick Clifton <nickc@redhat.com>
3176
3177 * cache.c (bfd_cache_lookup): Improve formatting.
3178 * archive.c: Fix formatting.
3179
6b6e92f4
NC
31802004-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
6a8d1586
AM
31862004-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
fafe6678
L
31932004-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
ad7b9a36
AM
31982004-05-02 Alan Modra <amodra@bigpond.net.au>
3199
3200 * som.c (som_bfd_is_group_section): Define.
3201
73499ab8
AM
32022004-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
45c5e9ed
L
32072004-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
bc87dd2e
L
32152004-04-30 H.J. Lu <hongjiu.lu@intel.com>
3216
3217 * section.c (bfd_sections_find_if): New.
3218 * bfd-in2.h: Regenerated.
3219
72adc230
AM
32202004-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
20f0a1ad
AM
32602004-04-30 Alan Modra <amodra@bigpond.net.au>
3261
3262 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
3263
f7458fc9 32642004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
3265
3266 * configure.in: Update version to 2.15.91.
3267 * configure: Regenerate.
3268
8a7140c3
NC
32692004-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
3e722fb5
CD
32832004-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
351e2b5a
DA
32892004-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
3ba3bc8c
BW
33192004-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
beb8df56
L
33282004-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
1829f4b2
AM
33362004-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
4030e8f6
CD
33502004-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
3e27568f
CD
33662004-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
b32de0bc 33962004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
3397
3398 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
3399
955af222
PB
34002004-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
47a9f7b3
JJ
34062004-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
1f1799d5
KK
34162004-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
0fdea5ce
AC
34212004-04-22 Andrew Cagney <cagney@redhat.com>
3422
3423 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
3424
5198ba8b
DA
34252004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3426
eb61d2d6 3427 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
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
fe2e161a
AC
34352004-04-22 Andrew Cagney <cagney@redhat.com>
3436
3437 * cache.c (bfd_cache_close): Check for a previously closed file.
3438
4c45e5c9
JJ
34392004-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
d2f7ecac
NC
34812004-04-22 Nick Clifton <nickc@redhat.com>
3482
3483 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
3484
fd99574b
NC
34852004-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
23867d67
CD
34912004-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
2c8c90bc
BW
34992004-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
40838a72
AC
35072004-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
7f919c84
AC
35282004-04-21 Andrew Cagney <cagney@redhat.com>
3529
3530 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3531
715df9b8
EB
35322004-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
6482c264
NC
35412004-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
4dc570c2
JJ
35502004-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
0b60d5d3
MK
35562004-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
d48bdb99
AM
35622004-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
57a1784e
AM
35702004-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
d1ad3f6f
MK
35762004-04-15 Mark Kettenis <kettenis@gnu.org>
3577
3578 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3579 core files.
3580
3d1bca9d
NC
35812004-04-15 Nick Clifton <nickc@redhat.com>
3582
3583 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3584
019b892f
AM
35852004-04-15 Alan Modra <amodra@bigpond.net.au>
3586
3587 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3588
15b43f48
AM
35892004-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
6de00a78
AM
35942004-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
279500de
TS
36002004-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
ccf2f652
RS
36072004-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
ca07892d
DJ
36132004-04-06 Daniel Jacobowitz <drow@mvista.com>
3614
3615 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3616 ".MIPS.stubs".
3617
a5a58ba4
L
36182004-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
24d18d30
MK
36232004-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
a4d7b4b5
L
36282004-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
1f433d93
L
36342004-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
e489d0ae
PB
36392004-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
66a695f0
NC
36542004-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
8375c36b
PB
36642004-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
a56b48eb
NC
36692004-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