Fix DJGPP configury due to some bitrot:
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
a1ace8d8
BW
12004-11-12 Bob Wilson <bob.wilson@acm.org>
2
3 * xtensa-isa.c (xtensa_interface_class_id): New.
4
e4115460
BW
52004-11-11 Bob Wilson <bob.wilson@acm.org>
6
7 * elf32-xtensa.c (property_table_compare): Remove assertion about
8 entries with the same address and non-zero size.
9 (xtensa_read_table_entries): Report such entries as errors.
10
6366ff1e
MM
112004-11-11 Mark Mitchell <mark@codesourcery.com>
12
13 * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for
14 R_ARM_RELATIVE on Symbian OS.
15
b34af79c
MM
162004-11-09 Mark Mitchell <mark@codesourcery.com>
17
e6dc21b6
MM
18 * som.c (som_bfd_print_private_bfd_data): New function.
19 (som_object_setup): Save the auxiliary header. Don't assume that
20 zero is an invalid entry point for a shared library.
21 (som_object_p): Allocate the auxiliary header on the heap.
22
b34af79c
MM
23 * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R
24 declaration.
25 (elf32_arm_symbian_modify_segment_map): Likewise.
26
08d1f311
DJ
272004-11-09 Daniel Jacobowitz <dan@debian.org>
28
29 From David Poole <daveml@mbuf.com>:
30 * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function.
31 (elf32_arm_size_dynamic_sections): Call it.
32
0306b3bf
AM
332004-11-09 Alan Modra <amodra@bigpond.net.au>
34
35 * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h.
36 (ALL_MACHINES_CFILES): Fix typo.
37 * Makefile.in: Regenerate.
38 * po/SRC-POTFILES.in: Regenerate.
39
a16385dc
MM
402004-11-08 Mark Mitchell <mark@codesourcery.com>
41
42 * elf32-arm.c (elf32_arm_final_link_relocate): When generating an
43 R_ARM_RELATIVE relocation for Symbian OS, mention the section
44 symbol in the relocation.
45
0306b3bf
AM
462004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com>
47 Vineet Sharma <vineets@noida.hcltech.com>
7499d566
NC
48
49 * coff-maxq.c: New File.
0306b3bf
AM
50 * cpu-maxq.c: New File.
51 * coffcode.h: Likewise.
52 * config.bfd: Likewise.
53 * configure.in (maxqcoff_vec): New target vector.
7499d566
NC
54 * Makefile.am: Add support for maxq target.
55 * configure.in: Likewise.
0306b3bf
AM
56 * archures.c:. Likewise.
57 * targets.c: Likewise.
58 * bfd_in2.h : Regenerated.
7499d566
NC
59 * Makefile.in: Regenerated.
60 * configure: Regenerated.
61 * doc/Makefile.in: Regenerated.
62
977cdf5a
NC
632004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
64
65 * coff-i386.c (coff_i386_reloc): Fix weak symbols.
66 * cofflink.c (_bfd_coff_link_input_bfd): Don't process
67 C_NT_WEAK aux entries.
68 (_bfd_coff_generic_relocate_section): Handle undefined
69 aliases.
70
9dfe8738
AS
712004-11-07 Andreas Schwab <schwab@suse.de>
72
73 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
74 SYMBOL_CALLS_LOCAL and check for undefweak symbols with
75 non-default visibility.
76
c3c76620
MM
772004-11-01 Mark Mitchell <mark@codesourcery.com>
78
79 * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
0306b3bf 80 D_PAGED.
c3c76620
MM
81 (elf32_arm_symbian_modify_segment_map): Don't
82 reset includes_filehdr and includes_phdrs here.
83
7f266840
DJ
842004-11-04 Daniel Jacobowitz <dan@debian.org>
85
86 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace
87 elfarm-nabi with elf32-arm. Remove elfarm-oabi.
88 (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h
89 dependency.
90 * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list
91 to a new removed list. Remove normal configuration stanzas.
92 * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec)
93 (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace
94 elfarm-nabi.lo with elf32-arm.lo.
95 (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove.
96 * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h.
97 * elf32-arm.h: Remove.
98 * elfarm-oabi.c: Remove.
99 * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec
100 and bfd_elf32_littlearm_oabi_vec.
101 * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated.
102
bac23f82
HPN
1032004-11-04 Hans-Peter Nilsson <hp@axis.com>
104
105 * config.bfd: Support crisv32-*-* like cris-*-*.
106 * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32)
107 (bfd_mach_cris_v10_v32): New macros.
108 * cpu-cris.c: Tweak formatting.
109 (get_compatible): New function.
110 (N): New macro.
111 (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New
112 bfd_arch_info_type:s.
113 (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach,
114 get_compatible for member compatible and link bfd_cris_arch_v32 as
115 next.
116 * elf32-cris.c (cris_elf_pcrel_reloc)
117 (cris_elf_set_mach_from_flags): New functions.
118 (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL>
119 <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc.
120 (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct
121 numbers for bfd_mach_cris_v32.
122 (PLT_ENTRY_SIZE_V32): New macro.
123 (elf_cris_plt0_entry): Drop last comma in initializer.
124 (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32)
125 (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New
126 PLT initializers.
127 (cris_elf_relocate_section): Change all "%B(%A)" messages to
128 "%B, section %A".
129 (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries.
130 (elf_cris_finish_dynamic_sections): Similar.
131 (elf_cris_adjust_dynamic_symbol): Similar.
132 (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B,
133 section %A".
134 <switch with PIC relocs>: Emit error and return FALSE for
135 bfd_mach_cris_v10_v32.
136 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
137 Emit warning when generating textrel reloc.
138 (cris_elf_object_p): Call cris_elf_set_mach_from_flags.
139 (cris_elf_final_write_processing): Set flags according to mach.
140 (cris_elf_print_private_bfd_data): Display
141 EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32.
142 (cris_elf_merge_private_bfd_data): Drop variables old_flags,
143 new_flags. Don't call cris_elf_final_write_processing. Don't
144 look at the actual elf header flags at all; use
145 bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference
146 in bfd_get_mach for ibfd and obfd and handle merging of compatible
147 objects.
148 (bfd_elf32_bfd_copy_private_bfd_data): Define.
149 * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8)
150 (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16)
151 (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs.
152 * bfd-in2.h, libbfd.h: Regenerate.
153
c5614fa4
AM
1542004-11-04 Alan Modra <amodra@bigpond.net.au>
155
156 * elf64-ppc.h (ppc64_elf_edit_toc): Declare.
157 * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update
158 comment.
159 (struct adjust_toc_info): New.
160 (adjust_toc_syms, ppc64_elf_edit_toc): New functions.
161
0ebdbb83
BW
1622004-11-03 Bob Wilson <bob.wilson@acm.org>
163
164 * elf.c (assign_file_positions_for_segments): Set next_file_pos even
165 if there are no segments.
166
675b2ace
DJ
1672004-11-02 Daniel Jacobowitz <dan@debian.org>
168
169 * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete.
170
58852c27
NC
1712004-11-02 Nick Clifton <nickc@redhat.com>
172
173 * elf32-iq2000.c: Convert to ISO C90 formatting.
174
e6857c0c
HPN
1752004-11-02 Hans-Peter Nilsson <hp@axis.com>
176
20288ed6 177 * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_.
e6857c0c 178
bf718458
L
1792004-10-28 H.J. Lu <hongjiu.lu@intel.com>
180
181 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak
182 undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB,
183 R_IA64_SECREL64MSB and R_IA64_SECREL64LSB.
184
044ad7e3
KK
1852004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
186
187 * elf32-sh.c (tpoff): Take alignment into account.
188
d5cb4bb8
NC
1892004-10-28 Nick Clifton <nickc@redhat.com>
190
191 * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when
0d48eab6 192 performing a relocatable link.
d5cb4bb8
NC
193 (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only
194 for MIPS ports under Irix.
195
5b5bb741
PB
1962004-10-27 Richard Earnshaw <rearnsha@arm.com>
197
198 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle
199 R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24.
200 (elf32_arm_final_link_relocate): Ditto.
201 (arm_add_to_rel, elf32_arm_relocate_section): Ditto.
202 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto
203 (elf32_arm_adjust_dynamic_symbol): Ditto.
204 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and
205 R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}...
206 (elf32_arm_r_howto): ... To here.
207 (elf32_arm_howto_from_type): Use elf32_arm_r_howto.
208
97ecf322
L
2092004-10-26 H.J. Lu <hongjiu.lu@intel.com>
210
211 PR 475
212 * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct
213 R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB
214 and R_IA64_SECREL64LSB.
215
3e3b46e5
PB
2162004-10-26 Paul Brook <paul@codesourcery.com>
217
218 * elflink.c (elf_finalize_dynstr): Skip shared aux structure.
219 (bfd_elf_size_dynamic_sections): Create default version definition.
220 (elf_link_output_extsym): Adjust for default symbol version.
221
aa69fe43
HPN
2222004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
223
278b4623
HPN
224 * mmo.c: Adjust to ISO C.
225
aa69fe43
HPN
226 * mmo.c (mmo_write_section_description): New function broken out
227 of mmo_internal_write_section.
228 (mmo_internal_write_section): For each of .text and .data, call
229 mmo_write_section_description before outputting contents if it has
230 nontrivially deducible vma or contents.
231 (mmo_has_leading_or_trailing_zero_tetra_p): New function.
232 (mmo_canonicalize_symtab): Adjust absolute symbols to .data
233 symbols if found within the .data address range.
234
ed040321
DJ
2352004-10-24 Daniel Jacobowitz <dan@debian.org>
236
237 * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
238
830866af
HPN
2392004-10-24 Hans-Peter Nilsson <hp@bitrange.com>
240
241 * mmo.c (File Layout): Correct place of misplaced blurb about
242 special data.
243
5f417ca3
MK
2442004-10-22 Mark Kettenis <kettenis@gnu.org>
245
246 * config.bfd: Add mips64*-*-openbsd.
247
823fc61f
BW
2482004-10-21 Bob Wilson <bob.wilson@acm.org>
249
250 * elf32-xtensa.c (ebb_propose_action): Put declarations before
251 statements.
252
8697aafb
L
2532004-10-21 H.J. Lu <hongjiu.lu@intel.com>
254
255 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94.
256 * configure: Regenerate.
257
dfeffb9f
L
2582004-10-21 H.J. Lu <hongjiu.lu@intel.com>
259
260 PR 463
261 * aoutx.h (aout_link_input_section_std): Pass proper hash entry
262 to linker reloc_overflow callback.
263 (aout_link_input_section_ext): Likewise.
264 (aout_link_reloc_link_order): Likewise.
265 * coff-a29k.c (coff_a29k_relocate_section): Likewise.
266 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
267 Likewise.
268 (alpha_relocate_section): Likewise.
269 * coff-arm.c (coff_arm_relocate_section): Likewise.
270 * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
271 * coff-h8500.c (extra_case): Likewise.
272 * coff-i960.c (coff_i960_relocate_section): Likewise.
273 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
274 * coff-mips.c (mips_relocate_section): Likewise.
275 * coff-or32.c (coff_or32_relocate_section): Likewise.
276 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
277 * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise.
278 * coff-sh.c (sh_relocate_section): Likewise.
279 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
280 * coff-w65.c (w65_reloc16_extra_cases): Likewise.
281 * coff-z8k.c (extra_case): Likewise.
282 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.
283 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
284 (_bfd_coff_generic_relocate_section): Likewise.
285 * ecoff.c (ecoff_reloc_link_order): Likewise.
286 * elf-hppa.h (elf_hppa_relocate_section): Likewise.
287 * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
288 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
289 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
290 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
291 * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
292 * elf32-cris.c (cris_elf_relocate_section): Likewise.
293 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
294 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
295 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
296 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
297 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
298 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
299 * elf32-i370.c (i370_elf_relocate_section): Likewise.
300 * elf32-i386.c (elf_i386_relocate_section): Likewise.
301 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
302 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
303 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
304 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
305 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
306 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
307 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
308 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
309 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
310 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
311 * elf32-s390.c (elf_s390_relocate_section): Likewise.
312 * elf32-sh.c (sh_elf_relocate_section): Likewise.
313 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
314 * elf32-v850.c (v850_elf_relocate_section): Likewise.
315 * elf32-vax.c (elf_vax_relocate_section): Likewise.
316 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
317 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
318 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
319 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
320 * elf64-s390.c (elf_s390_relocate_section): Likewise.
321 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
322 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
323 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
324 * elflink.c (elf_reloc_link_order): Likewise.
325 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
326 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
327 (_bfd_elf_mips_get_relocated_section_contents): Likewise.
328 * linker.c (_bfd_generic_reloc_link_order): Likewise.
329 * pdp11.c (pdp11_aout_link_input_section): Likewise.
330 (aout_link_reloc_link_order): Likewise.
331 * reloc.c (bfd_generic_get_relocated_section_contents):
332 Likewise.
333 * xcofflink.c (xcoff_reloc_link_order): Likewise.
334 * simple.c (simple_dummy_reloc_overflow): Updated.
335
1715e0e3
AS
3362004-10-20 Andreas Schwab <schwab@suse.de>
337
338 * elf32-m68k.c (elf_m68k_plt_sym_val): New function.
339 (elf_backend_plt_sym_val): Define.
340
db3d41a8
DS
3412004-10-19 Danny Smith <dannysmith@users.sourceforege.net>
342
343 * config.bfd: Set targ_underscore=yes for PE COFF targets
344
4b85d634
AM
3452004-10-19 Alan Modra <amodra@bigpond.net.au>
346
347 * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects.
348 (ppc64_elf_edit_opd): Likewise.
349
6df4d94c
MM
3502004-10-18 Mark Mitchell <mark@codesourcery.com>
351
352 * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment.
353 * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT,
354 set SEC_ALLOC and SEC_LOAD.
355
00d962d1
NC
3562004-10-18 Nick Clifton <nickc@redhat.com>
357
358 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute
359 'name' for relocs against both local and global symbols.
360
b58f81ae
DJ
3612004-10-16 Daniel Jacobowitz <dan@debian.org>
362
363 * bfd-in2.h: Regenerate.
364 * bfd.c (struct bfd): Add no_export.
365 * elflink.c (elf_link_add_object_symbols): Handle no_export.
366
7d3f158f
AM
3672004-10-15 Alan Modra <amodra@bigpond.net.au>
368
369 * config.bfd: Whitespace cleanup.
370 * Makefile.am: Run "make dep-am"
371 * Makefile.in: Regenerate.
372
6d2cd210
JJ
3732004-10-15 Jakub Jelinek <jakub@redhat.com>
374
375 * elflink.c (struct already_linked_section): Removed.
376 (try_match_symbols_in_sections, already_linked): Removed.
377 (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\.
378 prefix of section names when finding already_linked_table
379 chain. Compare section names. Instead of calling already_linked,
380 do it inline and only for sections in the same already_linked_list.
381
92e4ec35
AM
3822004-10-15 Alan Modra <amodra@bigpond.net.au>
383
384 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info"
385 parameter. If called after _bfd_elf_write_section_eh_frame,
386 don't allow a -2 return unless need_* bit is already set, and
387 handle offsets adjusted for output_offset.
388 * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype.
389 * elf.c (_bfd_elf_section_offset): Update call.
390
7bf6dede
L
3912004-10-13 H.J. Lu <hongjiu.lu@intel.com>
392
393 PR 440
394 * coffcode.h (coff_compute_section_file_positions): Cast to
395 bfd_vma when computing page alignment.
396
c0042f5d
MM
3972004-10-13 Mark Mitchell <mark@codesourcery.com>
398
399 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
400 offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED.
401
2a1b9a48
MM
4022004-10-12 Mark Mitchell <mark@codesourcery.com>
403
404 * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt
405 relocations use a virtual address, not a section offset.
406
b08b5071
BW
4072004-10-12 Bob Wilson <bob.wilson@acm.org>
408
409 * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete.
410 (narrow_instruction, widen_instruction): Remove unnecessary calls to
411 xtensa_format_encode.
412 (ebb_propose_action): Inline call to ebb_add_proposed_action.
413 (ebb_add_proposed_action): Delete.
414
7fa3d080
BW
4152004-10-12 Bob Wilson <bob.wilson@acm.org>
416
417 * elf32-xtensa.c: Use ISO C90 formatting.
418
3656d5e3
PB
4192004-10-12 Paul Brook <paul@codesourcery.com>
420
421 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error
422 message.
423
8cb51566
PB
4242004-10-12 Paul Brook <paul@codesourcery.com>
425
426 * elf32-arm.h: Support EABI version 4 objects.
427
1abc8597
AM
4282004-10-12 Alan Modra <amodra@bigpond.net.au>
429
430 PR 325
431 * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain.
432 Don't mark as default.
433 (bfd_x86_64_arch): Don't mark as default.
434
9e66c942
AM
4352004-10-12 Alan Modra <amodra@bigpond.net.au>
436
437 * elflink.c (enum action_discarded): New.
438 (elf_section_complain_discarded): Delete.
439 (elf_action_discarded): New function subsuming the above and also
440 controlling reloc behaviour.
1abc8597 441 (elf_link_input_bfd): Use it.
9e66c942 442
7f1204bb
JJ
4432004-10-11 Jakub Jelinek <jakub@redhat.com>
444
445 * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST.
446 (special_sections): Add .gnu.liblist and .gnu.conflict.
447 (assign_section_numbers): Handle SHT_GNU_LIBLIST.
448
87e5235d
AM
4492004-10-11 Alan Modra <amodra@bigpond.net.au>
450
451 PR 233
452 * elflink.c (elf_link_input_bfd): Try harder to support
453 relocations against symbols in removed linkonce sections.
454
2ad770c3
AM
4552004-10-11 Alan Modra <amodra@bigpond.net.au>
456
029446c4
AM
457 * elflink.c (elf_link_input_bfd): Revert PR 354 change.
458
2ad770c3
AM
459 PR 354
460 * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC
461 sections do not reference symbols in non-SEC_ALLOC sections.
462
1da212d6
AM
4632004-10-11 Alan Modra <amodra@bigpond.net.au>
464
465 PR 437
466 * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections.
467 (_bfd_elf_link_omit_section_dynsym): Formatting.
468
f12123c0
AM
4692004-10-10 Alan Modra <amodra@bigpond.net.au>
470
471 * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while.
472 * libbfd.h: Regnerate.
473 * elf32-cris.c: Add missing semicolon to BFD_ASSERTs.
474 * elf32-frv.c: Likewise.
475 * elf32-m32r.c: Likewise.
476 * elf32-ppc.c: Likewise.
477 * elf64-hppa.c: Likewise.
478 * elfxx-ia64.c: Likewise.
479 * opncls.c: Likewise.
480
fda3ecf2
AM
4812004-10-10 Alan Modra <amodra@bigpond.net.au>
482
3472e2e9
AM
483 * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted.
484 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust
485 offsets stored in struct eh_cie_fde entries before doing other
486 work.
487
fda3ecf2
AM
488 * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec.
489 (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset.
490 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code
491 setting offsets for removed CIEs. Don't set "sec", instead set
492 cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a
493 CIE in hdr_info. Only set make_relative and make_lsda_relative
494 for CIEs. Use pointers rather than array indices.
495 (_bfd_elf_eh_frame_section_offset): Test/set make_relative,
496 make_lsda_relative, need_* on cie_inf for FDEs.
497 (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for
498 section output_offset. Delete cie_offset, instead use cie_inf
499 pointer to CIE entry. Use need_relative and need_lsda_relative on
500 CIE entry for FDEs. Use pointers rather than array indices.
501
7db6994f
AM
5022004-10-09 Alan Modra <amodra@bigpond.net.au>
503
504 * coff-rs6000.c (rs6000coff_vec): Add initializer for
505 bfd_is_target_special_symbol.
506 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
507 * som.c (som_bfd_is_target_special_symbol): Define.
508
3c9458e9
NC
5092004-10-08 Nick Clifton <nickc@redhat.com>
510
511 * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93.
512 * configure: Regenerate.
513 * bfd-in2.h: Regenerate.
514 * syms.c (bfd_is_target_special_symbol): New interface function.
515 Returns true when a symbol should be considered to be special.
7db6994f 516 * targets.c (bfd_target): Include bfd_is_target_special_symbol in
3c9458e9
NC
517 the symbol jump table.
518 * elf32-arm.h (elf32_arm_is_target_special_symbol): New function.
519 Return true iff the symbol is a mapping symbol.
520 (bfd_elf32_bfd_is_target_special_symbol): Define.
521 * elfxx-target.h: Provide a default definition for
522 bfd_is_target_special_symbol.
523 * aout-target.h: Likewise.
524 * aout-tic30.c: Likewise.
873d03ee 525 * binary.c: Likewise.
3c9458e9
NC
526 * coffcode.h: Likewise.
527 * i386msdos.c: Likewise.
528 * ieee.c: Likewise.
873d03ee 529 * ihex.c: Likewise.
3c9458e9
NC
530 * libaout.h: Likewise.
531 * libbfd-in.h: Likewise
532 * libecoff.h: Likewise.
533 * mach-o.c: Likewise.
534 * mmo.c: Likewise.
535 * nlm-target.h: Likewise.
536 * oasys.c: Likewise.
537 * pef.c: Likewise.
538 * ppcboot.c: Likewise.
539 * srec.c: Likewise.
540 * tekhex.c: Likewise.
541 * versados.c: Likewise.
542 * vms.c: Likewise.
543 * xcoff-target.h: Likewise.
544 * xsym.c: Likewise.
545 * libbfd.h: Regenerate.
546
d2b2c203
DJ
5472004-10-08 Daniel Jacobowitz <dan@debian.org>
548
549 * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*.
550 * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function.
551 (elf_backend_section_from_shdr): Define.
552
864274b0
AM
5532004-10-08 Alan Modra <amodra@bigpond.net.au>
554
555 * syms.c (bfd_is_local_label): Return false for file symbols.
556
43cd72b9 5572004-10-07 Bob Wilson <bob.wilson@acm.org>
85a5ac80 558 David Heine <dlheine@tensilica.com>
43cd72b9
BW
559
560 * elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
561 (xtensa_default_isa): Global variable moved here from xtensa-isa.c.
562 (elf32xtensa_no_literal_movement): New global variable.
563 (elf_howto_table): Add entries for new relocations.
564 (elf_xtensa_reloc_type_lookup): Handle new relocations.
565 (property_table_compare): When addresses are equal, compare sizes and
566 various property flags.
567 (property_table_matches): New.
568 (xtensa_read_table_entries): Extend to read new property tables. Add
569 output_addr parameter to indicate that output addresses should be used.
570 Use bfd_get_section_limit.
571 (elf_xtensa_find_property_entry): New.
572 (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
573 (elf_xtensa_check_relocs): Handle new relocations.
574 (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new
575 relocations. Use new xtensa-isa.h functions.
576 (build_encoding_error_message): Remove encode_result parameter. Add
577 new target_address parameter used to detect alignment errors.
578 (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up
579 error handling. Use new is_operand_relocation function.
580 (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
581 Use underbar macro for error messages. Formatting.
582 (get_const16_opcode): New.
583 (get_l32r_opcode): Add a separate flag for initialization.
584 (get_relocation_opnd): Operand number is no longer explicit in the
585 relocation. Change to decode the opcode and analyze its operands.
586 (get_relocation_slot): New.
587 (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit.
588 Use new xtensa-isa.h functions to handle multislot instructions.
589 (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation.
590 (get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
591 insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
592 check_loop_aligned, check_branch_target_aligned_address, narrowable,
593 widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
594 get_single_format, init_op_single_format_table): New.
595 (elf_xtensa_do_asm_simplify): Add error_message parameter and use it
596 instead of calling _bfd_error_handler. Use new xtensa-isa.h functions.
597 (contract_asm_expansion): Add error_message parameter and pass it to
598 elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation
599 with R_XTENSA_SLOT0_OP.
600 (get_expanded_call_opcode): Extend to handle either L32R or CONST16
601 instructions. Use new xtensa-isa.h functions.
602 (r_reloc struct): Add new virtual_offset field.
603 (r_reloc_init): Add contents and content_length parameters. Set
604 virtual_offset field to zero. Add contents to target_offset field for
605 partial_inplace relocations.
606 (r_reloc_is_defined): Check for null.
607 (print_r_reloc): New debug function.
608 (source_reloc struct): Replace xtensa_operand field with pair of the
609 opcode and the operand position. Add is_abs_literal field.
610 (init_source_reloc): Specify operand by opcode/position pair. Set
611 is_abs_literal field.
612 (source_reloc_compare): When target_offsets are equal, compare other
613 fields to make sorting predictable.
614 (literal_value struct): Add is_abs_literal field.
615 (value_map_hash_table struct): Add has_last_loc and last_loc fields.
616 (init_literal_value): New.
617 (is_same_value): Replace with ...
618 (literal_value_equal): ... this function. Add comparisons of
619 virtual_offset and is_abs_literal fields.
620 (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation
621 failure. Initialize has_last_loc field.
622 (value_map_hash_table_delete): New.
623 (hash_literal_value): Rename to ...
624 (literal_value_hash): ... this. Include is_abs_literal flag and
625 virtual_offset field in the hash value.
626 (get_cached_value): Rename to ...
627 (value_map_get_cached_value): ... this. Update calls to
628 literal_value_hash and literal_value_equal.
629 (add_value_map): Check for allocation failure. Update calls to
630 value_map_get_cached_value and literal_value_hash.
631 (text_action, text_action_list, text_action_t): New types.
632 (find_fill_action, compute_removed_action_diff, adjust_fill_action,
633 text_action_add, text_action_add_literal, offset_with_removed_text,
634 offset_with_removed_text_before_fill, find_insn_action,
635 print_action_list, print_removed_literals): New.
636 (offset_with_removed_literals): Delete.
637 (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
638 fix_array, fix_array_count, allocated_relocs, relocs_count, and
639 allocated_relocs_count fields.
640 (init_xtensa_relax_info): Initialize new fields.
641 (reloc_bfd_fix struct): Add new translated field.
642 (reloc_bfd_fix_init): Add translated parameter and use it to set the
643 translated field.
644 (fix_compare, cache_fix_array): New.
645 (get_bfd_fix): Remove fix_list parameter and get all relax_info for the
646 section via get_xtensa_relax_info. Use cache_fix_array to set up
647 sorted fix_array and use bsearch instead of linear search.
648 (section_cache_t): New struct.
649 (init_section_cache, section_cache_section, clear_section_cache): New.
650 (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
651 (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
652 extend_ebb_bounds_forward, extend_ebb_bounds_backward,
653 insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
654 New.
655 (retrieve_contents): Use bfd_get_section_limit.
656 (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call
657 to compute_removed_literals. Free value_map_hash_table when no longer
658 needed.
659 (analyze_relocations): Check is_relaxable_asm_section flag. Call
660 compute_text_actions for all sections.
661 (find_relaxable_sections): Mark sections as relaxable if they contain
662 ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init
663 call. Increment relax_info src_count field only for appropriate
664 relocation types. Remove is_literal_section check.
665 (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to
666 r_reloc_init and find_associated_l32r_irel. Check
667 is_relaxable_asm_section flag. Handle L32R instructions with absolute
668 literals. Pass is_abs_literal flag to init_source_reloc.
669 (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for
670 CONST16 instructions. Adjust calls to r_reloc_init and
fda3ecf2 671 pcrel_reloc_fits. Handle weak symbols conservatively.
43cd72b9
BW
672 (find_associated_l32r_irel): Add bfd parameter and pass it to
673 is_l32r_relocation.
674 (compute_text_actions, compute_ebb_proposed_actions,
675 compute_ebb_actions, check_section_ebb_pcrels_fit,
676 check_section_ebb_reduces, text_action_add_proposed,
677 compute_fill_extra_space): New.
678 (remove_literals): Replace with ...
679 (compute_removed_literals): ... this function. Call
680 init_section_cache. Use bfd_get_section_limit. Sort internal_relocs.
681 Call xtensa_read_table_entries to get the property table. Skip
682 relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new
683 is_removable_literal, remove_dead_literal, and
fda3ecf2 684 identify_literal_placement functions.
43cd72b9
BW
685 (get_irel_at_offset): Rewrite to use bsearch on sorted relocations
686 instead of linear search.
687 (is_removable_literal, remove_dead_literal,
688 identify_literal_placement): New.
689 (relocations_reach): Update check for literal not referenced by any
690 PC-relative relocations. Adjust call to pcrel_reloc_fits.
691 (coalesce_shared_literal, move_shared_literal): New.
692 (relax_section): Use bfd_get_section_limit. Call
693 translate_section_fixes. Update calls to r_reloc_init and
694 offset_with_removed_text. Check new is_relaxable_asm_section flag.
695 Add call to pin_internal_relocs. Add special handling for
696 R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset
697 info to calculate new addend_displacement variable. Replace code for
698 deleting literals with more general code to perform the actions
699 determined by the action_list for the section.
700 (translate_section_fixes, translate_reloc_bfd_fix): New.
701 (translate_reloc): Check new is_relaxable_asm_section flag. Call
702 find_removed_literal only if is_operand_relocation. Update call to
703 offset_with_removed_text. Use new target_offset and removed_bytes
704 variables.
705 (move_literal): New.
706 (relax_property_section): Use bfd_get_section_limit. Set new
707 is_full_prop_section flag and handle new property tables. Update calls
708 to r_reloc_init and offset_with_removed_text. Check
709 is_relaxable_asm_section flag. Handle expansion of zero-sized
710 unreachable entries, with use of offset_with_removed_text_before_fill.
711 For relocatable links, combine entries only for literal tables.
712 (relax_section_symbols): Check is_relaxable_asm_section flag. Update
713 calls to offset_with_removed_text. Translate st_size field for
714 function symbols.
715 (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
716 failure. Add contents parameter. Update call to get_bfd_fix. Update
717 call to r_reloc_init. Call _bfd_error_handler and return FALSE for
718 R_XTENSA_ASM_EXPAND relocs.
719 (do_fix_for_final_link): Add input_bfd and contents parameters. Update
720 call to get_bfd_fix. Include offset from contents for partial_inplace
721 relocations.
722 (is_reloc_sym_weak): New.
723 (pcrel_reloc_fits): Use new xtensa-isa.h functions.
724 (prop_sec_len): New.
725 (xtensa_is_property_section): Handle new property sections.
726 (is_literal_section): Delete.
727 (internal_reloc_compare): When r_offset matches, compare r_info and
728 r_addend to make sorting predictable.
729 (internal_reloc_matches): New.
730 (xtensa_get_property_section_name): Handle new property sections.
731 (xtensa_get_property_predef_flags): New.
732 (xtensa_callback_required_dependence): Use bfd_get_section_limit.
733 Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
734 * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
735 (xtisa_errno, xtisa_error_msg): New variables.
736 (xtensa_isa_errno, xtensa_isa_error_msg): New.
737 (xtensa_insnbuf_alloc): Add error handling.
738 (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to
739 use xtensa_format_decode. Add error handling.
740 (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the
741 instruction length to find the number of bytes to copy.
742 (xtensa_isa_init): Add error handling. Replace calls to
743 xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
744 tables in the xtensa_modules structure.
745 (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
746 xtensa_extend_isa): Delete.
747 (xtensa_isa_free): Change to only free lookup tables.
748 (opname_lookup_compare): Replace with ...
749 (xtensa_isa_name_compare): ... this function. Use strcasecmp.
750 (xtensa_insn_maxlength): Rename to ...
751 (xtensa_isa_maxlength): ... this.
752 (xtensa_insn_length): Delete.
753 (xtensa_insn_length_from_first_byte): Replace with ...
754 (xtensa_isa_length_from_chars): ... this function.
755 (xtensa_num_opcodes): Rename to ...
756 (xtensa_isa_num_opcodes): ... this.
757 (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
758 xtensa_isa_num_regfiles, xtensa_isa_num_stages,
759 xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
760 xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
761 xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
762 xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
763 xtensa_format_get_slot, xtensa_format_set_slot): New functions.
764 (xtensa_opcode_lookup): Add error handling.
765 (xtensa_decode_insn): Replace with ...
766 (xtensa_opcode_decode): ... this function, with new format and
767 slot parameters. Add error handling.
768 (xtensa_encode_insn): Replace with ...
769 (xtensa_opcode_encode): ... this function, which does the encoding via
770 one of the entries in the "encode_fns" array. Add error handling.
771 (xtensa_opcode_name): Add error handling.
772 (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
773 xtensa_opcode_is_call): New.
774 (xtensa_num_operands): Replace with ...
775 (xtensa_opcode_num_operands): ... this function. Add error handling.
776 (xtensa_opcode_num_stateOperands,
777 xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
778 xtensa_opcode_funcUnit_use, xtensa_operand_name,
779 xtensa_operand_is_visible): New.
780 (xtensa_get_operand, xtensa_operand_kind): Delete.
781 (xtensa_operand_inout): Add error handling and special-case for
782 "sout" operands.
783 (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
784 operate on one slot of an instruction. Added error handling.
785 (xtensa_operand_encode): Handle default operands with no encoding
786 functions. Check for success by comparing against decoded value.
787 Add error handling.
788 (xtensa_operand_decode): Handle default operands. Return decoded value
789 through argument pointer. Add error handling.
790 (xtensa_operand_is_register, xtensa_operand_regfile,
791 xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
792 (xtensa_operand_isPCRelative): Rename to ...
793 (xtensa_operand_is_PCrelative): ... this. Add error handling.
794 (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
795 through argument pointer. Add error handling.
796 (xtensa_stateOperand_state, xtensa_stateOperand_inout,
797 xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
798 xtensa_regfile_lookup_shortname, xtensa_regfile_name,
799 xtensa_regfile_shortname, xtensa_regfile_view_parent,
800 xtensa_regfile_num_bits, xtensa_regfile_num_entries,
801 xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
802 xtensa_state_is_exported, xtensa_sysreg_lookup,
803 xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
804 xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
805 xtensa_interface_num_bits, xtensa_interface_inout,
806 xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
807 xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
808 * xtensa-modules.c: Rewrite to use new data structures.
809 * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
810 BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
811 BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
812 BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
813 BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
814 BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
815 BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
816 BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
817 BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
818 BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
819 BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
820 BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
821 BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
822 BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
823 BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
824 BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
825 BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
826 * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
827 * Makefile.in: Regenerate.
828 * bfd-in2.h: Likewise.
829 * libbfd.h: Likewise.
830
99022dfb
RS
8312004-10-07 Richard Sandiford <rsandifo@redhat.com>
832
833 * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs
834 against the absolute section.
835 (mips_elf64_write_rela): Likewise.
836
b67ae299
NC
8372004-10-07 Jan Beulich <jbeulich@novell.com>
838
839 * elf.c (elf_find_function): Don't generally check for matching
840 section, just for non-file symbols. Remove redunant comparison
841 for the latter.
842 * elf32-arm.h (arm_elf_find_function): Likewise.
843
8fdd7217
NC
8442004-10-07 Jeff Baker <jbaker@qnx.com>
845
846 * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if
847 adding a DT_TEXTREL to a shared object and --warn-shared-textrel
848 was specified.
849
073a2dc3
RM
8502004-10-04 Roland McGrath <roland@redhat.com>
851
852 * hash.c (bfd_hash_set_default_size): Use const for table.
853 Use size_t instead of int for variable compared to sizeof results.
854
7785be14
AM
8552004-10-05 Alan Modra <amodra@bigpond.net.au>
856
857 PR 425
858 * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs.
859
40a18ebd
NC
8602004-10-01 Paul Brook <paul@codesourcery.com>
861
862 * elf32-arm.h (elf32_arm_fake_sections,
863 is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New
864 functions.
865 (elf_backend_fake_sections, elf_backend_section_from_shdr): Define.
866
8935b81f
AM
8672004-10-01 Alan Modra <amodra@bigpond.net.au>
868
869 * elf-bfd.h (struct eh_cie_fde): Add need_relative and
870 need_lsda_relative.
871 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set
872 need_relative or need_lsda_relative if we are processing an
873 offset for a reloc on a FDE initial loc or LSDA field
874 respectively.
875 (_bfd_elf_write_section_eh_frame): Test need_relative and
876 need_lsda_relative in place of corresponding make_* field
877 when deciding to use pc-relative encodings.
878
eeac373a
PB
8792004-09-30 Paul Brook <paul@codesourcery.com>
880
881 * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
882 target2 relocation type.
883
7479dfd4
L
8842004-09-30 H.J. Lu <hongjiu.lu@intel.com>
885
886 PR 414
887 * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol.
888
0dd132b6
NC
8892004-09-30 Paul Brook <paul@codesourcery.com>
890
891 * reloc.c: Add BFD_RELOC_ARM_SMI.
892 * bfd-in2.h: Regenerate.
893 * libbfd.h: Ditto.
894
1ba54ee0
AM
8952004-09-24 Alan Modra <amodra@bigpond.net.au>
896
897 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
898 vma and output offset to address.
899 * simple.c (simple_save_output_info): Only set output section
900 and offset for debug sections, or those not already set up by
901 the linker.
902 (bfd_simple_get_relocated_section_contents): Update comment.
903
5efb6261
AM
9042004-09-24 Alan Modra <amodra@bigpond.net.au>
905
906 * elf.c (IS_LOADED): Delete.
907 (assign_file_positions_for_segments): Just test SEC_LOAD instead.
908 Restore SEC_HAS_CONTENTS test to the one place it was used prior
909 to 2004-09-22.
910
fca870e4
AM
9112004-09-23 Alan Modra <amodra@bigpond.net.au>
912
913 PR gas/396
914 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
915 bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove
916 redundant assignment of EM_SPARC.
917
c86696a3
BF
9182004-09-22 Brian Ford <ford@vss.fsi.com>
919
920 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
921 alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3
922 constants.
923 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
924
73adb214
AM
9252004-09-22 Alan Modra <amodra@bigpond.net.au>
926
927 * elf32-ppc.c (ppc_elf_modify_segment_map): Delete.
928 (elf_backend_modify_segment_map): Don't define.
929
b301b248
AM
9302004-09-22 Alan Modra <amodra@bigpond.net.au>
931
932 * elf.c (IS_LOADED): Define.
933 (assign_file_positions_for_segments): Don't round up file offset of
934 PT_LOAD segments containing no SEC_LOAD sections, instead round down.
935 Delete code handling link script adjustment of lma. Do the adjust
936 in later code handling similar ajustments. Remove dead code error
937 check. Warn if section lma would require a negative offset
938 adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
939 Use p_vaddr + p_memsz inside section loop in place of voff. Don't
940 update voff in section loop. Change voff in segment loop to be an
941 adjustment on top of "off". Set sec->filepos and update "off" later.
942 Test for loadable sections consistently using IS_LOADED. Similarly,
073a2dc3 943 test for alloc-only sections other than .tbss consistently.
b301b248
AM
944 Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
945 Tidy PT_NOTE handling. Use %B and %A in error messages.
946 (assign_file_positions_except_relocs): Use %B in error message.
947
3f85e526
L
9482004-09-17 H.J. Lu <hongjiu.lu@intel.com>
949
950 * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9.
951 (CONFIG_STATUS_DEPENDENCIES): New.
952 (Makefile): Removed.
953 (config.status): Likewise.
954 * Makefile.in: Regenerated.
955
eb043451
PB
9562004-09-17 Paul Brook <paul@codesourcery.com>
957
958 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
959 (bfd_elf32_arm_process_before_allocation): Update prototype.
960 * bfd-in2.h: Regenerate.
961 * bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
962 (elf32_arm_link_hash_table_create): Set it.
963 (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
964 (bfd_elf32_arm_set_target_relocs): New function.
965 (arm_real_reloc_type): New function.
966 (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
967 R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
968 (elf32_arm_gc_sweep_hook): Ditto.
969 (elf32_arm_check_relocs): Ditto.
970 (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
971 * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
972 R_ARM_GOT_TARGET2.
973 (elf32_arm_got_prel): New variable.
974 (elf32_arm_howto_from_type): New function.
975 (elf32_arm_info_to_howto): Use it.
976 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
977 BFD_RELOC_ARM_TARGET2.
978 * libbfd.h: Regenerate.
979 * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
980
f6e332e6
AM
9812004-09-17 Alan Modra <amodra@bigpond.net.au>
982
983 * ecoff.c: Update u.undef.next refs.
984 * elf64-ppc.c: Likewise.
985 * elflink.c: Likewise.
986 * linker.c: Likewise.
987 * xcofflink.c: Likewise.
988
989 * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
990 dynamic_def. Combine weakdef and elf_hash_value. Move vtable
991 fields to indirect struct.
992 * elf-m10300.c: Update u.weakdef refs.
993 * elf32-arm.h: Likewise.
994 * elf32-cris.c: Likewise.
995 * elf32-frv.c: Likewise.
996 * elf32-hppa.c: Likewise.
997 * elf32-i370.c: Likewise.
998 * elf32-i386.c: Likewise.
999 * elf32-m32r.c: Likewise.
1000 * elf32-m68k.c: Likewise.
1001 * elf32-ppc.c: Likewise.
1002 * elf32-s390.c: Likewise.
1003 * elf32-sh.c: Likewise.
1004 * elf32-sparc.c: Likewise.
1005 * elf32-vax.c: Likewise.
1006 * elf32-xtensa.c: Likewise.
1007 * elf64-alpha.c: Likewise.
1008 * elf64-hppa.c: Likewise.
1009 * elf64-ppc.c: Likewise.
1010 * elf64-s390.c: Likewise.
1011 * elf64-sh64.c: Likewise.
1012 * elf64-sparc.c: Likewise.
1013 * elf64-x86-64.c: Likewise.
1014 * elfxx-ia64.c: Likewise.
1015 * elfxx-mips.c: Likewise.
1016 * elflink.c: Likewise. Also u.elf_hash_value.
1017 (elf_gc_propagate_vtable_entries_used): Update for h->vtable
1018 indirection.
1019 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1020 (bfd_elf_gc_record_vtinherit): Alloc vtable.
1021 (bfd_elf_gc_record_vtentry): Likewise.
1022 * elf.c (_bfd_elf_link_hash_newfunc): Use memset.
1023
90c0a373
AM
10242004-09-17 Alan Modra <amodra@bigpond.net.au>
1025
1026 * Makefile.am: Run "make dep-am".
1027 * Makefile.in: Regenerate.
1028 * bfd-in2.h: Regenerate.
1029 * po/SRC-POTFILES.in: Regenerate.
1030 * po/bfd.pot: Regenerate.
1031
f5385ebf
AM
10322004-09-16 Alan Modra <amodra@bigpond.net.au>
1033
1034 * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags
1035 with bitfields. Make "type" and "other" bitfields too.
1036 (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR,
1037 ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC,
1038 ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED,
1039 ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF,
1040 ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK,
1041 ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK,
1042 ELF_LINK_POINTER_EQUALITY_NEEDED): Delete.
1043 (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update.
1044 * elf-hppa.h: Update all uses of elf_link_hash_flags.
1045 * elf-m10300.c: Likewise.
1046 * elf.c: Likewise.
1047 * elf32-arm.h: Likewise.
1048 * elf32-cris.c: Likewise.
1049 * elf32-frv.c: Likewise.
1050 * elf32-hppa.c: Likewise.
1051 * elf32-i370.c: Likewise.
1052 * elf32-i386.c: Likewise.
1053 * elf32-m32r.c: Likewise.
1054 * elf32-m68k.c: Likewise.
1055 * elf32-ppc.c: Likewise.
1056 * elf32-s390.c: Likewise.
1057 * elf32-sh-symbian.c: Likewise.
1058 * elf32-sh.c: Likewise.
1059 * elf32-sh64.c: Likewise.
1060 * elf32-sparc.c: Likewise.
1061 * elf32-vax.c: Likewise.
1062 * elf32-xtensa.c: Likewise.
1063 * elf64-alpha.c: Likewise.
1064 * elf64-hppa.c: Likewise.
1065 * elf64-ppc.c: Likewise.
1066 * elf64-s390.c: Likewise.
1067 * elf64-sh64.c: Likewise.
1068 * elf64-sparc.c: Likewise.
1069 * elf64-x86-64.c: Likewise.
1070 * elflink.c: Likewise.
1071 * elfxx-ia64.c: Likewise.
1072 * elfxx-mips.c: Likewise.
1073 * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92.
1074 * configure: Regenerate.
1075 * aclocal.m4: Regenerate.
1076
b6ee372a
AM
10772004-09-16 Alan Modra <amodra@bigpond.net.au>
1078
1079 * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
1080 around uses of R_ARM_TARGET1.
1081 (elf32_arm_check_relocs): Likewise.
1082
9c504268
PB
10832004-09-13 Paul Brook <paul@codesourcery.com>
1084
1085 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
1086 prototype.
1087 * bfd-in2.h: Regenerate.
1088 * libbfd.h: Regenerate.
1089 * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
1090 (elf32_arm_link_hash_table_create): Set target1_is_rel.
1091 (bfd_elf32_arm_process_before_allocation): Ditto.
1092 (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
1093 (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
1094 * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
1095 * reloc.c: Ditto.
1096
94ea025a
JB
10972004-09-10 Joel Brobecker <brobecker@gnat.com>
1098
1099 * hpux-core.c (thread_section_p): New function.
1100 (hpux_core_core_file_p): Fix computation of offset in call
1101 to bfd_seek. Create a ".reg" section from an arbitrary
1102 ".reg/<id>" section if none was created after having read
1103 all sections.
1104
24443139
AS
11052004-09-11 Andreas Schwab <schwab@suse.de>
1106
1107 * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*.
1108 * aclocal.m4: Rebuild.
1109 * configure: Rebuild.
1110
f4eae89c
JB
11112004-09-10 Joel Brobecker <brobecker@gnat.com>
1112
1113 * section.c (bfd_sections_find_if): Fix parameter name in
1114 comment to match code.
1115
e0638f70
AM
11162004-09-10 Alan Modra <amodra@bigpond.net.au>
1117
1118 * elf.c (assign_file_positions_except_relocs): Assign relocs
1119 stored in a bfd section.
1120
5e0f5ae3
HPN
11212004-09-08 Hans-Peter Nilsson <hp@axis.com>
1122
1123 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset
1124 h->gotplt_refcount to 0, not -1.
1125
ada1953e
HPN
11262004-09-07 Hans-Peter Nilsson <hp@axis.com>
1127
1128 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
1129 case R_CRIS_32_GOTPLT>: For internal error message, handle NULL
1130 symname.
1131 (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to
1132 handle symbol visibility here.
1133
ee75fd95
AM
11342004-09-07 Alan Modra <amodra@bigpond.net.au>
1135
1136 * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals.
1137 (is_ppc64_elf_target): Rename from is_ppc64_target. Update all
1138 callers.
1139 (ppc_stub_name): Remove trailing "+0" on stub name.
1140 (create_linkage_sections): Create relocations for
1141 branch lookup table when --emit-relocs as well as when --shared.
1142 (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust
1143 relbrlt test. For --emit-stub-syms, always output a sym even when
1144 one already exists on a plt call stub. Put stub type in the stub
1145 symbol name.
1146 (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt
1147 test.
1148 (ppc64_elf_size_stubs): Count global sym stubs added. Zero
1149 reloc_count in stub sections. Adjust relbrlt test.
1150 (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output.
1151 * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo.
1152 (elf_link_input_bfd): Ignore symbol index zero relocs when checking
1153 for relocs against discarded symbols. Fix comments.
1154
229fcec5
MM
11552004-09-06 Mark Mitchell <mark@codesourcery.com>
1156
1157 * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it.
1158 * elf.c (_bfd_elf_make_dynamic_segment): New function, split out
1159 from ...
1160 (map_sections_to_segments): ... here. Use it. Assign a file
1161 position to the .dynamic section if it is not loadable, but part
1162 of the PT_DYNAMIC segment.
1163 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
1164 offsets, not VMAs, for the BPABI. Do not fill in the header in
1165 the .got.plt section for the BPABI.
1166 * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
1167 PT_DYNAMIC segment.
1168 (elf_backend_want_got_plt): Define to zero for Symbian OS.
073a2dc3 1169
9a0789ec
NC
11702004-09-06 Nick Clifton <nickc@redhat.com>
1171
1172 * elflink.c (elf_link_add_object_symbols): Set the error code to
1173 bfd_error_wrong_format when the input format does not match the
1174 output format.
1175
7b53ace3
AM
11762004-09-06 Alan Modra <amodra@bigpond.net.au>
1177
1178 * elf64-ppc.c (is_ppc64_target): New function, extracted from..
1179 (ppc64_elf_check_directives): ..here.
1180 (ppc64_elf_size_dynamic_sections): Use it here to check bfd type
1181 before accessing ppc64_elf_tdata.
1182 (ppc64_elf_finish_dynamic_sections): And here too.
1183
3e540f25
AM
11842004-09-04 Alan Modra <amodra@bigpond.net.au>
1185
1186 * bfd.c (_bfd_default_error_handler): Correct loop exit.
1187
e5a52504
MM
11882004-09-03 Mark Mitchell <mark@codesourcery.com>
1189
1190 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
1191 * configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
1192 (bfd_elf32_littlearm_symbian_vec): Likewise.
1193 * configure: Regenerated.
1194 * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
1195 * elf32-arm.h (PLT_HEADER_SIZE): Do not define.
1196 (PLT_ENTRY_SIZE): Likewise.
1197 (bfd_vma_elf32_arm_symbian_plt_entry): New
1198 variable.
1199 (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
1200 and symbian_p.
1201 (create_got_section): Don't create sections when generating BPABI
1202 objects.
1203 (elf32_arm_create_dynamic_sections): Tidy.
1204 (elf32_arm_link_hash_table_create): Set plt_header_size,
1205 plt_entry_size, and symbian_p.
1206 (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
1207 generating BPABI objects.
1208 (allocate_dynrelocs): Use htab->plt_header_size, not
1209 PLT_HEADER_SIZE. Do not add to .got.plt when
1210 generating BPABI objects.
1211 (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
1212 * elfarm-nabi.c: Add SymbianOS target vectors.
1213 * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
1214 (_bfd_elf_link_create_dynamic_sections): Likewise.
1215 * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
1216 (elfNN_bed): Use it.
1217 * targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
1218 (bfd_elf32_littlearm_symbian_vec): Likewise.
1219 (_bfd_target_vector): Add them.
1220
6e3b6835
NC
12212004-09-03 Nick Clifton <nickc@redhat.com>
1222
1223 PR 360
1224 * coffcode.h (handle_COMDAT): Replace abort with an warning
1225 message and allow the scan to continue.
1226
595da8c5
AM
12272004-09-02 Alan Modra <amodra@bigpond.net.au>
1228
1229 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
1230 in when reading relocs, not our sorted syms. Remove unnecessary
1231 var.
1232
6723a9f4
EB
12332004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1234
1235 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss.
1236
5464f5a1
NN
12372004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
1238
1239 * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
1240 Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
1241 replace uses of *_alias with *_noncanonical.
1242 * aclocal.m4: Rebuild with aclocal 1.4p6.
1243 * Makefile.in: Rebuild with automake 1.4p6.
1244 * doc/Makefile.in: Rebuild with automake 1.4p6.
1245 * configure.in: Autoupdate with autoupdate 2.59.
1246 * config.in: Regenerate with autoheader 2.59.
1247 * configure: Regnerate with autoconf 2.59.
1248
a7535cf3
AM
12492004-08-28 Alan Modra <amodra@bigpond.net.au>
1250
1251 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
1252 symbol pointer arrays before modifying.
1253
c9727e01
AM
12542004-08-28 Alan Modra <amodra@bigpond.net.au>
1255
b91e2ae2 1256 * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
c9727e01
AM
1257 * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
1258 * elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
1259 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
b91e2ae2
AM
1260 * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
1261 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
1262 Use both symbol tables on non-relocatable objects. Use a common
1263 error exit. Fix "mid" warning.
c9727e01
AM
1264 * libbfd.h: Regenerate.
1265 * bfd-in2.h: Regenerate.
1266
699733f6
AM
12672004-08-28 Alan Modra <amodra@bigpond.net.au>
1268
1269 * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
1270 object file.
1271 (struct sfpr_def_parms): Save some space.
1272 (sfpr_define): Here too.
1273
1274 * elf64-ppc.c (compare_symbols): Put section syms first.
1275 (sym_exists_at): New function.
1276 (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
1277 points only for relocatable files. Use .opd section contents
1278 otherwise. Generally clean up the code.
1279
deb0e272
AM
12802004-08-27 Alan Modra <amodra@bigpond.net.au>
1281
1282 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
1283 LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
1284 (struct sfpr_def_parms): New.
1285 (sfpr_define): New function.
1286 (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
1287 (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
1288 (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
1289 (savefpr1_tail, restfpr1_tail): New functions.
1290 (savevr, savevr_tail, restvr, restvr_tail): New functions.
1291 (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
1292 (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
1293 code. Define all ABI mandated _save and _rest functions.
1294
85a84e7a
PB
12952004-08-26 Paul Brook <paul@codesourcery.com>
1296
deb0e272 1297 * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects.
85a84e7a 1298
688c58f3
AM
12992004-08-26 Alan Modra <amodra@bigpond.net.au>
1300
1301 * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
1302 TRUE or FALSE.
1303
3e95eabc
AM
13042004-08-26 Alan Modra <amodra@bigpond.net.au>
1305
1306 * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
1307 that pcrel correction is applied for R_386_PC32.
1308
f855931b
AM
13092004-08-25 Alan Modra <amodra@bigpond.net.au>
1310
1311 * elf32-i386.c (elf_i386_relocate_section): Zero section contents
1312 for R_386_32 and R_386_PC32 relocs against symbols defined in
1313 discarded sections.
1314
b18c562e
NC
13152004-08-25 Dmitry Diky <diwil@spec.ru>
1316
1317 * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL):
1318 Add new relocations.
1319 * bfd-in2.h: Regenerate.
f855931b 1320 * libbfd.h: Regenerate.
b18c562e
NC
1321 * elf32-msp430.c: Clean-up code.
1322 (elf_msp430_howto_table): Add new relocation entries.
1323 (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers.
1324 (msp430_elf_relax_section): New function.
1325 (msp430_elf_relax_delete_bytes): New function.
1326 (msp430_elf_symbol_address_p): New function.
1327
af705ba8
NC
13282004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1329
1330 * elf32-m32r.c (m32r_elf_relocate_section): Handle
1331 R_M32R_SDA16_RELA in the same way as R_M32R_SDA16.
1332
ea5158d8
DJ
13332004-08-20 Daniel Jacobowitz <dan@debian.org>
1334
1335 * elflink.c (_bfd_elf_section_already_linked): Handle
1336 SEC_LINK_DUPLICATES_SAME_CONTENTS.
1337
49d934f1
MM
13382004-08-19 Mark Mitchell <mark@codesourcery.com>
1339
1340 * config.bfd (arm*-*-symbianelf*): New target.
1341 (arm*-*-eabi*): Likewise.
1342
039b3fef
AM
13432004-08-19 Alan Modra <amodra@bigpond.net.au>
1344
1345 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
1346 "struct ppc_link_hash_entry *".
1347 (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf
1348 to satisfy RELOC_FOR_GLOBAL_SYMBOL.
1349
3f764659
JJ
13502004-08-19 Jakub Jelinek <jakub@redhat.com>
1351
1352 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
1353 entries (where fd_aux overlaps next entry's fd_func).
1354 Add non_overlapping argument, use it.
1355 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
1356 ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1357 ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
1358 as indexes into opd_sym_map/opd_adjust array.
1359 * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
1360
c09bdfe5
AM
13612004-08-18 Alan Modra <amodra@bigpond.net.au>
1362
1363 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
1364 if we can look up their function descriptor in a regular file.
1365
271d0fc3
NC
13662004-08-18 Nick Clifton <nickc@redhat.com>
1367
1368 PR 324
1369 * cofflink.c (coff_link_add_symbols): Check that the comdat
1370 pointer in the coff_section_data structure has been initialised
1371 before using it.
1372
a010d60f
AM
13732004-08-18 Alan Modra <amodra@bigpond.net.au>
1374
1375 PR 338
1376 * elflink.c (bfd_elf_record_link_assignment): Add comment about
1377 changing bfd_link_hash_undefined to bfd_link_hash_new.
1378
90e3cdf2
JJ
13792004-08-17 Jakub Jelinek <jakub@redhat.com>
1380
1381 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
1382 if not yet defined.
1383 * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
1384 (synthetic_opd, synthetic_relocatable): New variables.
1385 (compare_symbols, compare_relocs): New helper routines.
1386 (ppc64_elf_get_synthetic_symtab): New function.
1387 * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
1388 to relsyms.
1389 * bfd-in2.h: Regenerated.
1390 * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
1391 to relsyms. Return 0 if abfd is relocatable.
1392
7c2c8505
AM
13932004-08-17 Alan Modra <amodra@bigpond.net.au>
1394
1395 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections.
1396
0367ecfb
NC
13972004-08-17 Nick Clifton <nickc@redhat.com>
1398
1399 * (is_arm_mapping_symbol_name): New function - return true
1400 when a symbol name matches the requirements for an ARM mapping
1401 symbol name.
1402 (arm_elf_find_function): New function based on
1403 elf_find_function in elf.c but skipping ARM mapping symbols
1404 and including thumb function symbols.
1405 (elf32_arm_find_nearest_line): Use arm_elf_find_function.
1406 (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
1407
2441e016
AM
14082004-08-17 Alan Modra <amodra@bigpond.net.au>
1409
1410 * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
1411 (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
1412 (ppc64_elf_brtaken_reloc): Here too.
1413
35b0ce59
AM
14142004-08-17 Alan Modra <amodra@bigpond.net.au>
1415
1416 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
1417 symbol visibility.
1418 (ppc64_elf_check_directives): Check that we have the right hash
1419 table before proceeding.
1420
81688140
AM
14212004-08-17 Alan Modra <amodra@bigpond.net.au>
1422
1423 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
1424 (adjust_opd_syms): Attach opd syms for deleted entries to one of
1425 the sections that will be discarded.
1426
327c1315
AM
14272004-08-16 Alan Modra <amodra@bigpond.net.au>
1428
1429 * elflink.c (elf_section_complain_discarded): Ignore .fixup.
1430
45fc9e4a
AM
14312004-08-16 Alan Modra <amodra@bigpond.net.au>
1432
1433 * bfd.c (_bfd_default_error_handler): Account for doubled '%' in
1434 free space available.
1435
9dadfa79
AM
14362004-08-16 Alan Modra <amodra@bigpond.net.au>
1437
1438 * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace
f89c4dec 1439 occurrences with bfd_byte * thoughout file.
9dadfa79
AM
1440
1441 * coff-rs6000.c (do_shared_object_padding): Warning fix.
1442 (xcoff_write_armap_big): Likewise.
1443 (xcoff_write_archive_contents_old): Likewise.
1444 (xcoff_write_archive_contents_big): Likewise.
1445
1446 * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration.
1447
57e8b36a
NC
14482004-08-13 Nick Clifton <nickc@redhat.com>
1449
1450 * elf32-arm.h: Convert to ISO C90.
1451
a005f94e
AM
14522004-08-13 Alan Modra <amodra@bigpond.net.au>
1453
1454 PR 293
1455 * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to
1456 zero the plt field.
1457
d003868e
AM
14582004-08-13 Alan Modra <amodra@bigpond.net.au>
1459
1460 * bfd.c (_bfd_default_error_handler): Handle %A and %B.
1461 (bfd_archive_filename, bfd_get_section_ident): Delete.
1462 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
1463 bfd_archive_filename.
1464 * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
1465 to warn about symbols in discarded sections. Use _bfd_error_handler.
1466 * aout-adobe.c (aout_adobe_callback): See below.
1467 * aout-cris.c (swap_ext_reloc_in): ..
1468 * coff-arm.c (find_thumb_glue, find_arm_glue,
1469 coff_arm_relocate_section, bfd_arm_process_before_allocation,
1470 coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
1471 coff_arm_copy_private_bfd_data): ..
1472 * coff-i860.c (i860_reloc_processing): ..
1473 * coff-mcore.c (mcore_coff_unsupported_reloc,
1474 coff_mcore_relocate_section): ..
1475 * coff-ppc.c (coff_ppc_relocate_section): ..
1476 * coff-rs6000.c (xcoff_create_csect_from_smclas
1477 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
1478 sh_swap_insns, sh_relocate_section): ..
1479 * coff-tic54x.c (tic54x_reloc_processing): ..
1480 * coff-tic80.c (coff_tic80_relocate_section): ..
1481 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
1482 * coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
1483 coff_slurp_symbol_table, coff_classify_symbol,
1484 coff_slurp_reloc_table): ..
1485 * coffgen.c (_bfd_coff_read_string_table): ..
1486 * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
1487 _bfd_coff_generic_relocate_section): ..
1488 * cpu-arm.c (bfd_arm_merge_machines): ..
1489 * cpu-sh.c (sh_merge_bfd_arch): ..
1490 * elf-hppa.h (elf_hppa_relocate_section): ..
1491 * elf.c (bfd_elf_string_from_elf_section, setup_group,
1492 _bfd_elf_setup_group_pointers, bfd_section_from_shdr,
1493 assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
1494 copy_private_bfd_data, _bfd_elf_validate_reloc): ..
1495 * elf32-arm.h (find_thumb_glue, find_arm_glue,
1496 bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
1497 elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
1498 elf32_arm_relocate_section, elf32_arm_set_private_flags,
1499 elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
1500 * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
1501 cris_elf_merge_private_bfd_data
1502 * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
1503 * elf32-gen.c (elf32_generic_link_add_symbols): ..
1504 * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
1505 elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
1506 elf32_hppa_relocate_section): ..
1507 * elf32-i370.c (i370_elf_merge_private_bfd_data,
1508 i370_elf_check_relocs, i370_elf_relocate_section): ..
1509 * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
1510 elf_i386_relocate_section): ..
1511 * elf32-m32r.c (m32r_elf_relocate_section,
1512 m32r_elf_merge_private_bfd_data): ..
1513 * elf32-m68hc1x.c (m68hc12_add_stub,
1514 _bfd_m68hc11_elf_merge_private_bfd_data): ..
1515 * elf32-m68k.c (elf_m68k_relocate_section): ..
1516 * elf32-mcore.c (mcore_elf_unsupported_reloc,
1517 mcore_elf_relocate_section): ..
1518 * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
1519 ppc_elf_check_relocs, ppc_elf_relocate_section,
1520 ppc_elf_begin_write_processing): ..
1521 * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1522 elf_s390_relocate_section): ..
1523 * elf32-sh-symbian.c (sh_symbian_import_as,
1524 sh_symbian_process_embedded_commands,
1525 sh_symbian_relocate_section): ..
1526 * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
1527 sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
1528 sh_elf_merge_private_data): ..
1529 * elf32-sparc.c (elf32_sparc_check_relocs,
1530 elf32_sparc_relocate_section,
1531 elf32_sparc_merge_private_bfd_data): ..
1532 * elf32-v850.c (v850_elf_check_relocs,
1533 v850_elf_merge_private_bfd_data): ..
1534 * elf32-xtensa.c (elf_xtensa_check_relocs,
1535 elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
1536 * elf64-alpha.c (elf64_alpha_relax_with_lituse,
1537 elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
1538 elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
1539 * elf64-gen.c (elf64_generic_link_add_symbols): ..
1540 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
1541 ppc64_elf_check_relocs, ppc64_elf_edit_opd,
1542 ppc64_elf_relocate_section): ..
1543 * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
1544 elf_s390_relocate_section): ..
1545 * elf64-sh64.c (sh_elf64_relocate_section): ..
1546 * elf64-sparc.c (sparc64_elf_check_relocs,
1547 sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
1548 sparc64_elf_merge_private_bfd_data): ..
1549 * elf64-x86-64.c (elf64_x86_64_check_relocs,
1550 elf64_x86_64_relocate_section): ..
1551 * elflink.c (_bfd_elf_add_default_symbol,
1552 _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
1553 _bfd_elf_link_output_relocs, elf_link_add_object_symbols,
1554 bfd_elf_size_dynamic_sections, elf_link_output_extsym,
1555 elf_get_linked_section_vma, elf_fixup_link_order,
1556 bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
1557 bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
1558 * elfxx-ia64.c (elfNN_ia64_relax_section,
1559 elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
1560 * elfxx-mips.c (mips_elf_perform_relocation,
1561 _bfd_mips_elf_check_relocs,
1562 _bfd_mips_elf_merge_private_bfd_data): ..
1563 * ieee.c (ieee_slurp_external_symbols): ..
1564 * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
1565 * libbfd.c (_bfd_generic_verify_endian_match): ..
1566 * linker.c (_bfd_generic_link_add_one_symbol,
1567 _bfd_generic_section_already_linked): ..
1568 * pdp11.c (translate_to_native_sym_flags): ..
1569 * pe-mips.c (coff_pe_mips_relocate_section): ..
1570 * peicode.h (pe_ILF_build_a_bfd): ..
1571 * srec.c (srec_bad_byte): ..
1572 * stabs.c (_bfd_link_section_stabs): ..
1573 * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
1574 Replace all uses of bfd_archive_filename and bfd_get_section_ident
1575 with corresponding %B and %A in _bfd_error_handler format string.
1576 Replace occurrences of "fprintf (stderr," with _bfd_error_handler
1577 calls to use %A and %B. Fix "against symbol .. from section" and
1578 similar error messages. Combine multiple _bfd_error_handler calls
1579 where they were separated due to bfd_archive_filename deficiencies.
1580 * bfd-in2.h: Regenerate.
1581
6ba842b6
L
15822004-08-12 H.J. Lu <hongjiu.lu@intel.com>
1583
1584 * elf32-i386.c (elf_i386_relocate_section): Report unrecognized
1585 relocation.
1586
99877b66
AM
15872004-08-10 Alan Modra <amodra@bigpond.net.au>
1588
1589 * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
1590 (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
1591 Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
1592 Add twiddled_syms.
1593 (link_hash_newfunc): Init was_undefined.
1594 (add_symbol_adjust): Don't set undefined dot symbols to defweak;
1595 Use undefweak instead.
1596 (ppc64_elf_check_directives): Fix undefs chain.
1597 (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
1598 references.
1599 (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
1600 (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
1601 * elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
1602
ba3bee0b
JJ
16032004-08-09 Jakub Jelinek <jakub@redhat.com>
1604
1605 * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic
1606 error, test input_section flags rather than sec.
1607
8387904d
AM
16082004-08-09 Alan Modra <amodra@bigpond.net.au>
1609
1610 * elf-bfd.h (struct elf_backend_data): Add
1611 elf_backend_archive_symbol_lookup.
1612 (_bfd_elf_archive_symbol_lookup): Declare.
1613 * elflink.c (_bfd_elf_archive_symbol_lookup): New function..
1614 (elf_link_add_archive_symbols): ..extracted from here. Call the
1615 backend version.
1616 * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
1617 (elfNN_bed): Init new field.
1618 * elf64-ppc.c (elf_backend_check_directives): Define.
1619 (elf_backend_archive_symbol_lookup): Define.
1620 (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
1621 a ppc_link_hash_entry pointer.
1622 (get_fdh): Move.
1623 (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
1624 (add_symbol_adjust, ppc64_elf_check_directives): New functions.
1625 (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
1626 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
1627 ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
1628 ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
1629 ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
1630 descriptor symbols.
1631
b25116a9
AM
16322004-08-09 Alan Modra <amodra@bigpond.net.au>
1633
8843416a
AM
1634 * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment.
1635 (ppc64_elf_add_symbol_hook): Test for NULL section.
1636 (get_sym_h): Formatting.
1637 (ppc64_elf_size_stubs): Include reloc addend in value stored as
1638 stub target_value.
1639
b25116a9
AM
1640 * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of
1641 long branch stubs with code handling plt and r2off branch stubs.
1642
ccfa59ea
AM
16432004-08-09 Alan Modra <amodra@bigpond.net.au>
1644
1645 * elf-bfd.h (_bfd_elf_gc_mark): Declare.
1646 * elflink.c (elf_link_input_bfd): Formatting.
1647 (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust
1648 all callers.
1649 * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry.
1650 (link_hash_newfunc): Don't set it.
1651 (ppc64_elf_copy_indirect_symbol): Nor copy it.
1652 (ppc64_elf_mark_entry_syms): Delete.
1653 (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd
1654 sections. Use get_opd_info.
1655 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete.
1656
4025353c
AM
16572004-08-09 Alan Modra <amodra@bigpond.net.au>
1658
4f800a42
AM
1659 * elf64-ppc.c (adjust_opd_syms): Fix merge error.
1660
06da1e8e
AM
1661 * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak.
1662 (func_desc_adjust): Don't set have_undefweak.
1663 (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr.
1664 (ppc64_elf_relocate_section): NOP out calls to undefweak functions.
1665
34814b9f
AM
1666 * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
1667 "struct ppc_link_hash_entry *". Adjust all references.
1668 (ppc64_elf_hide_symbol): Correct a comment.
1669
4025353c
AM
1670 * elf64-ppc.c (get_opd_info): New function.
1671 (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero.
1672 (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot
1673 before calling get_fdh. Test fdh rather than h before dereferencing
1674 fdh. Mark removed symbols in opd_adjust.
1675 (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
1676 (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
1677 opd symbols.
1678 (ppc64_elf_output_symbol_hook): Likewise.
1679
db6579d4
PB
16802004-08-06 Paul Brook <paul@codesourcery.com>
1681
1682 * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
1683 (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
1684 BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
1685 * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
1686 and BFD_RELOC_ARM_SBREL32.
1687 * bfd-in2.h, bbfd.h: Regenerate.
1688
a4d0f181
TS
16892004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1690
1691 * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
1692 the dynamic link symbol actually in use.
1693
83774818
SC
16942004-08-01 Stephane Carrez <stcarrez@nerim.fr>
1695
1696 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
1697
a4d0f181 16982004-07-31 Joel Brobecker <brobecker@gnat.com>
00b4930b
TS
1699 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1700
1701 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
1702 SHN_MIPS_TEXT and SHN_MIPS_DATA.
1703
185d09ad
L
17042004-07-30 H.J. Lu <hongjiu.lu@intel.com>
1705 Nick Clifton <nickc@redhat.com>
1706
1707 PR 290
1708 * bfd.c (_bfd_default_error_handler): Make it global.
1709
1710 * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
1711
1712 * elf.c (assign_section_numbers): Cope gracefully with sections
1713 which have SHF_LINK_ORDER set but no sh_link set up.
1714 * elflink.c (elf_get_linked_section_vma): Likewise.
1715
1716 * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
1717 it to NULL.
1718
1719 * elfxx-target.h (elf_backend_link_order_error_handler): New.
1720 Set it to _bfd_default_error_handler.
1721 (elfNN_bed): Add elf_backend_link_order_error_handler.
1722
1723 * libbfd-in.h (_bfd_default_error_handler): New.
1724
1725 * libbfd.h: Regenerated.
1726
7946e94a
JJ
17272004-07-30 Jakub Jelinek <jakub@redhat.com>
1728
1729 * archures.c (bfd_mach_sparc_64bit_p): Define.
1730 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
1731 * bfd-in2.h: Rebuilt.
1732
1d70c7fb
AO
17332004-07-29 Alexandre Oliva <aoliva@redhat.com>
1734
1735 Introduce SH2a support.
1736 2004-02-18 Corinna Vinschen <vinschen@redhat.com>
1737 * archures.c (bfd_mach_sh2a_nofpu): New.
1738 * bfd-in2.h: Rebuilt.
1739 * cpu-sh.c (SH2A_NOFPU_NEXT): New.
1740 (arch_info_struct): Add sh2a_nofpu.
1741 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
1742 2003-12-29 DJ Delorie <dj@redhat.com>
1743 * reloc.c: Add relocs for sh2a.
1744 * bfd-in2.h: Regenerate.
1745 * libbfd.hh: Regenerate.
1746 2003-12-01 Michael Snyder <msnyder@redhat.com>
1747 * archures.c (bfd_mach_sh2a): New.
1748 * bfd-in2.h: Rebuilt.
1749 * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
1750 (SH2A_NEXT): New.
1751 (arch_info_struct): Add sh2a.
1752 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
1753
404ed0cf
DA
17542004-07-28 Nick Clifton <nickc@redhat.com>
1755 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1756
1757 PR 273
1758 * som.c (setup_sections): Improve estimation of space sizes in
1759 relocatable objects.
1760
225247f0
JT
17612004-07-27 Jason Thorpe <thorpej@wasabisystems.com>
1762 * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
1763 bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec
1764 to targ_selvecs.
1765 * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
1766 * configure: Regenerate.
1767 * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
1768 case that accepts OSABI=NetBSD and OSABI=SysV.
1769 (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
1770 the base of .got or .data (if .got does not exist).
1771 (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
1772 set OSABI=NetBSD.
1773 (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
1774 (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
1775 * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
1776 (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
1777
3d7f7666
L
17782004-07-27 H.J. Lu <hongjiu.lu@intel.com>
1779
1780 PR 161/251
1781 * elf-bfd.h (bfd_elf_section_data): Add sec_group.
1782 (elf_sec_group): Defined.
1783 (bfd_elf_match_symbols_in_sections): New prototype.
1784 (_bfd_elf_setup_group_pointers): Likewise.
1785
1786 * elf.c (bfd_elf_discard_group): Abort.
1787 (bfd_elf_set_group_contents): Also include relocation sections.
1788 Remove zero-fill for ld -r.
1789 (_bfd_elf_setup_group_pointers): New function.
1790 (elf_sort_elf_symbol): Likewise.
1791 (elf_sym_name_compare): Likewise.
1792 (bfd_elf_match_symbols_in_sections): Likewise.
1793
1794 * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
1795
1796 * elflink.c (match_group_member): New.
1797 (elf_link_input_bfd): Check group member for discarded section.
1798 (try_match_symbols_in_sections): New function.
1799 (already_linked): Likewise.
1800 (_bfd_elf_section_already_linked): Support mixing comdat group
1801 and linkonce section.
1802
1803 * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
1804 * linker.c (bfd_section_already_linked_table_traverse): New.
1805
1806 * libbfd.h: Regenerated.
1807
670ec21d
NC
18082004-07-27 Tomer Levi <Tomer.Levi@nsc.com>
1809
1810 * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
1811 BFD_RELOC_CRX_SWITCH32.
1812 * bfd-in2.h: Regenerate.
6cd7f07e 1813 * libbfd.h: Regenerate.
670ec21d
NC
1814 * elf32-crx.c: Support relocation/relaxation of
1815 BFD_RELOC_CRX_SWITCH* types.
1816
2c66dc6c
AM
18172004-07-27 Alan Modra <amodra@bigpond.net.au>
1818
1819 * elf64-ppc.c: Correct "Linker stubs" comment.
1820
38ce5b11
L
18212004-07-26 H.J. Lu <hongjiu.lu@intel.com>
1822
1823 * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
1824 linked-to section.
1825 (elf_linked_to_section): New.
1826
1827 * elf.c (assign_section_numbers): Set up sh_link for
1828 SHF_LINK_ORDER.
1829
1830 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
1831 to sh_link for SHT_IA_64_UNWIND sections.
1832
65da361f
L
18332004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1834
1835 * elflink.c (elf_fixup_link_order): Add _() to error message.
1836
08ccf96b
L
18372004-07-22 H.J. Lu <hongjiu.lu@intel.com>
1838
1839 * elflink.c (elf_fixup_link_order): Issue a warning and flag
1840 an error if failed.
1841
082b7297
L
18422004-07-21 H.J. Lu <hongjiu.lu@intel.com>
1843
1844 * aout-adobe.c (aout_32_section_already_linked): Defined.
1845 * aout-target.h (MY_section_already_linked): Likewise.
1846 * aout-tic30.c (MY_section_already_linked): Likewise.
1847 * binary.c (binary_section_already_linked): Likewise.
1848 * bout.c (b_out_section_already_linked): Likewise.
1849 * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
1850 * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
1851 * coffcode.h (coff_section_already_linked): Likewise.
1852 * i386msdos.c (msdos_section_already_linked): Likewise.
1853 * i386os9k.c (os9k_section_already_linked): Likewise.
1854 * ieee.c (ieee_section_already_linked): Likewise.
1855 * ihex.c (ihex_section_already_linked): Likewise.
1856 * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
1857 * mmo.c (mmo_section_already_linked): Likewise.
1858 * nlm-target.h (nlm_section_already_linked): Likewise.
1859 * oasys.c (oasys_section_already_linked): Likewise.
1860 * pef.c (bfd_pef_section_already_linked): Likewise.
1861 * ppcboot.c (ppcboot_section_already_linked): Likewise.
1862 * som.c (som_bfd_discard_group): Likewise.
1863 * srec.c (srec_section_already_linked): Likewise.
1864 * tekhex.c (tekhex_section_already_linked): Likewise.
1865 * versados.c (versados_section_already_linked): Likewise.
1866 * vms.c (vms_section_already_linked): Likewise.
1867 * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
1868 * xsym.c (bfd_sym_section_already_linked): Likewise.
1869
1870 * bfd-in.h (bfd_section_already_linked_table_init): New.
1871 (bfd_section_already_linked_table_free): Likewise.
1872
1873 * coff-rs6000.c (rs6000coff_vec): Add
1874 _bfd_generic_section_already_linked.
1875 (pmac_xcoff_vec): Likewise.
1876 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
1877 (aix5coff64_vec): Likewise.
1878
1879 * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
1880 * elflink.c (_bfd_elf_section_already_linked): New function.
1881
1882 * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
1883
1884 * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
1885 (_bfd_generic_section_already_linked): New.
1886 (bfd_section_already_linked_hash_entry): Likewise.
1887 (bfd_section_already_linked): Likewise.
1888 (bfd_section_already_linked_table_lookup): Likewise.
1889 (bfd_section_already_linked_table_insert): Likewise.
1890
1891 * linker.c (bfd_section_already_linked): New.
1892 (_bfd_section_already_linked_table): Likewise.
1893 (bfd_section_already_linked_table_lookup): Likewise.
1894 (bfd_section_already_linked_table_insert): Likewise.
1895 (already_linked_newfunc): Likewise.
1896 (bfd_section_already_linked_table_init): Likewise.
1897 (bfd_section_already_linked_table_free): Likewise.
1898 (_bfd_generic_section_already_linked): Likewise.
1899
1900 * section.c (bfd_section): Remove comdat.
1901 (bfd_comdat_info): Moved to ...
1902 * bfd-in.h (coff_comdat_info): Here.
1903 (bfd_coff_get_comdat_section): New.
1904 * coffgen.c (bfd_coff_get_comdat_section): Likewise.
1905 * libcoff-in.h (coff_section_tdata): Add comdat.
1906 * coffcode.h (handle_COMDAT): Updated.
1907 * cofflink.c (coff_link_add_symbols): Likewise.
1908 * ecoff.c (bfd_debug_section): Likewise.
1909
1910 * targets.c (bfd_target): Add _section_already_linked.
1911 (BFD_JUMP_TABLE_LINK): Updated.
1912
1913 * bfd-in2.h: Regenerated.
1914 * libbfd.h: Likewise.
1915 * libcoff.h: Likewise.
1916
0b52efa6
PB
19172003-07-21 Paul Brook <paul@codesourcery.com>
1918
1919 * elflink.c (elf_get_linked_section_vma, compare_link_order,
1920 elf_fixup_link_order): New functions.
1921 (bfd_elf_final_link): Call elf_fixup_link_order.
1922
7e2294f9
AO
19232004-07-21 Alexandre Oliva <aoliva@redhat.com>
1924
1925 * elf-bfd.h (ELF_COMMON_DEF_P): New.
1926 * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
1927 common definitions.
1928 * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
1929 _bfd_elf_symbol_refs_local_p.
1930 * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
1931 symbols.
1932
e56f61be
L
19332004-07-19 H.J. Lu <hongjiu.lu@intel.com>
1934
1935 * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
1936 DYN_NO_NEEDED.
1937 (bfd_elf_get_dyn_lib_class): New prototype.
1938 * elf.c (bfd_elf_get_dyn_lib_class): New function.
1939
1940 * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
1941 DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
1942 entry is needed. Issue an error if a DT_NEEDED entry is needed
1943 for a file marked DYN_NO_NEEDED.
1944 (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
1945 for DT_NEEDED tags.
1946
1947 * bfd-in2.h: Regenerated.
1948
27b56da8
DA
19492004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1950
1951 * elflink.c (elf_section_complain_discarded): Don't complain in
1952 .PARISC.unwind.
1953
bbb268c3
JW
19542004-07-10 James E Wilson <wilson@specifixinc.com>
1955
1956 * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
1957 (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
1958 (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
1959 elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
1960 Fix callers.
1961 (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change
1962 bfd_put_64 to bfd_putl64.
1963 (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
2c66dc6c 1964
e525914f
L
19652004-07-09 H.J. Lu <hongjiu.lu@intel.com>
1966
1967 PR 240
1968 * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
1969 .init/.fini sections when trying to relax it.
1970
b1a6d0b1
NC
19712004-07-09 Jie Zhang <zhangjie@magima.com.cn>
1972
1973 * elf.c (assign_file_positions_for_segments): Make sure the
1974 .dynamic section is the first section in the PT_DYNAMIC segment.
1975
1a320fbb
NC
19762004-07-09 Nick Clifton <nickc@redhat.com>
1977
1978 * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
1979 * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
1980 sh_elf_get_flags_from_mach functions so that they do not conflict
1981 when this target is built with other sh-elf targets.
1982 * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
1983 suppression of this function.
1984 (sh_elf_find_flags): Likewise.
1985
1fe1f39c
NC
19862004-07-07 Tomer Levi <Tomer.Levi@nsc.com>
1987
1988 * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
1989 (ALL_MACHINES_CFILES): Add cpu-crx.c.
1990 (BFD32_BACKENDS): Add elf32-crx.lo.
1991 (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
1992 (cpu-crx.lo): New target.
1993 (elf32-crx.lo): New target.
1994 * Makefile.in: Regenerate.
1995 * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
1996 (bfd_archures_list): Add bfd_crx_arch.
1997 * bfd-in2.h: Regenerate.
1998 * config.bfd: Handle crx-*-elf*, crx*.
1999 * configure.in: Handle bfd_elf32_crx_vec.
2000 * configure: Regenerate.
2001 * cpu-crx.c: New file.
2002 * elf32-crx.c: Likewise.
2003 * libbfd.h: Regenerate.
2004 * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
2005 BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
2006 BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
2007 BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
2008 BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
2009 BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
2010 * targets.c (bfd_elf32_crx_vec): Declare.
2011 (bfd_target_vector): Add bfd_elf32_crx_vec.
2012
85fbca6a
NC
20132004-07-06 Nick Clifton <nickc@redhat.com>
2014
2015 * config.bfd: Add sh-symbian-elf target.
2016 * configure.in: Add bfd_elf32_shl_symbian_vec.
2017 * configure: Regenerate.
2018 * elf-bfd.h (struct elf_backend_data): Add new field
2019 'check_directives'.
1fe1f39c 2020 * elflink.c (elf_link_add_object_symbols): Invoke the
85fbca6a 2021 check_directives function, if defined.
1fe1f39c 2022 * elfxx-target.h: Provide a default, NULL definition for
85fbca6a 2023 check_directives.
1fe1f39c
NC
2024 * targets.c: Add bfd_elf32_shl_symbian_vec.
2025 * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
85fbca6a 2026 definition.
1fe1f39c 2027 (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
85fbca6a 2028 * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
1fe1f39c 2029 (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
85fbca6a 2030 not already been defined.
1fe1f39c
NC
2031 * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
2032 * sh-symbian.c: New file. Provide functions to support the
85fbca6a
NC
2033 * sh-symbian-elf target.
2034 * Makefile.am: Add elf32-sh-symbian.c
2035 * Makefile.in: Regenerate.
1fe1f39c 2036
871ec896
JR
20372004-07-05 Andrew Stubbs <andrew.stubbs@superh.com>
2038
1fe1f39c
NC
2039 * elf32-sh.c: Include ../opcodes/sh-opc.h.
2040 * Makefile.am: Ran make dep-am.
2041 * Makefile.in: Ran make dep-in.
871ec896 2042
c87db184
CF
20432004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
2044
2045 * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
2046 externals properly.
2047
06f2f6af
MS
20482004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
2049
2050 * config.bfd: Add want64 to configuration target s390-*-linux*.
2051
b602c853
L
20522004-07-01 H.J. Lu <hongjiu.lu@intel.com>
2053
2054 * bfd.c (bfd_get_section_ident): New.
2055
2056 * elflink.c (elf_link_read_relocs_from_section): Call
2057 bfd_get_section_ident to identify the section when reporting
2058 error.
2059 (_bfd_elf_link_output_relocs): Likewise.
2060 (elf_link_output_extsym): Likewise.
2061 (elf_link_input_bfd): Likewise.
2062 (bfd_elf_gc_record_vtinherit): Likewise.
2063
2064 * bfd-in2.h: Regenerated.
2065
7a2a6943
NC
20662004-07-01 Jie Zhang <zhangjie@magima.com.cn>
2067 Nick Clifton <nickc@redhat.com>
2068
2069 PR 204
2070 * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
2071 of section symbols to mips_elf_sort_hash_table ().
2072
cdd3575c
AM
20732004-07-01 Alan Modra <amodra@bigpond.net.au>
2074
2075 * elflink.c (elf_section_ignore_discarded_relocs): Revert last
2076 change. Comment.
2077 (elf_section_complain_discarded): New function. Handle
2078 .gcc_except_table too.
2079 (elf_link_input_bfd): Rewrite handling of relocs against symbols
2080 in discarded sections.
2081 * elf-bfd.h (elf_discarded_section): Protect macro arg.
2082
21a8f7fa
JW
20832004-06-30 James E Wilson <wilson@specifixinc.com>
2084
2085 * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize
2086 to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true.
2087
2de26f35
L
20882004-06-30 H.J. Lu <hongjiu.lu@intel.com>
2089
2090 PR 233
2091 * elflink.c (elf_link_input_bfd): Issue an error for non-debug
2092 local references to discarded sections and report their
2093 locations.
2094
72d7a15c
AM
20952004-06-30 Alan Modra <amodra@bigpond.net.au>
2096
2097 * elflink.c (elf_section_ignore_discarded_relocs): Don't test
2098 sec_info_type, test section name instead.
2099
e7f0a167
L
21002004-06-29 H.J. Lu <hongjiu.lu@intel.com>
2101
2102 PR 240
2103 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
2104 in .init/.fini sections.
2105
bff5f93a
BW
21062004-06-29 Bob Wilson <bob.wilson@acm.org>
2107
2108 * elf32-xtensa.c (elf_xtensa_relocate_section): Use
2109 bfd_get_section_limit.
2110
b54d4b07
BW
21112004-06-29 Bob Wilson <bob.wilson@acm.org>
2112
2113 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
2114 output section size.
2115
e87a64e1
AM
21162004-06-29 Alan Modra <amodra@bigpond.net.au>
2117
1a23a9e6
AM
2118 * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
2119 rawsize.
2120 (mmix_elf_perform_relocation): Adjust for above change.
2121 (mmix_elf_relocate_section): Likewise.
2122 (mmix_elf_relax_section): Likewise. Use output_section->rawsize.
2123 (mmix_elf_get_section_contents): Delete.
2124 (bfd_elf64_get_section_contents): Delete.
2125 (mmix_elf_relocate_section): Zero stub area.
2126 * linker.c (default_indirect_link_order): Alloc max of section size
2127 and rawsize.
2128 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
2129 * section.c (bfd_malloc_and_get_section): Likewise.
2130 (struct bfd_section): Update rawsize comment.
2131 * bfd-in2.h: Regenerate.
2132
e87a64e1
AM
2133 * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
2134
07515404
AM
21352004-06-29 Alan Modra <amodra@bigpond.net.au>
2136
2137 * bfd-in.h (bfd_get_section_limit): Define.
1fe1f39c 2138 * reloc.c (bfd_perform_relocation, bfd_install_relocation)
07515404
AM
2139 (_bfd_final_link_relocate): Use bfd_get_section_limit.
2140 * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
2141 * coff-arm.c (coff_arm_relocate_section): Likewise.
2142 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
2143 * cpu-ns32k.c (do_ns32k_reloc): Likewise.
2144 (bfd_ns32k_final_link_relocate): Likewise.
2145 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
2146 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
1fe1f39c 2147 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
07515404 2148 (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
1fe1f39c 2149 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
07515404
AM
2150 (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
2151 * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
2152 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
2153 * elf32-or32.c (or32_elf_consth_reloc): Likewise.
2154 * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
2155 * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
2156 * elf32-sh.c (sh_elf_reloc_loop): Likewise.
2157 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
2158 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
2159 * elf32-v850.c (v850_elf_reloc): Likewise.
2160 * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
2161 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
2162 * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
2163 * elf64-mips.c (mips_elf64_gprel32_reloc)
2164 (mips16_gprel_reloc): Likewise.
2165 * elf64-mmix.c (mmix_elf_reloc): Likewise.
2166 * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
2167 * elf64-sparc.c (init_insn_reloc): Likewise.
2168 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
1fe1f39c
NC
2169 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
2170 (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
07515404
AM
2171 (_bfd_mips_elf_generic_reloc): Likewise.
2172 * bfd-in2.h: Regenerate.
2173
3722b82f
AM
21742004-06-28 Alan Modra <amodra@bigpond.net.au>
2175
2176 * bfd-in.h (struct stab_info): Move from stabs.c.
2177 * stabs.c (struct stab_link_includes_table): Delete.
2178 (stab_link_includes_lookup): Delete.
2179 (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
2180 level of indirection from sinfo parm.
2181 (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on
2182 stabstr section. Adjust hash table accesses.
2183 * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
2184 alloc. Adjust stab_info test.
2185 * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
2186 (_bfd_coff_final_link): Adjust stab_info test.
2187 (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
2188 * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
2189 in place.
2190 * libcoff-in.h (struct coff_link_hash_table): Likewise.
2191 * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
2192 * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
2193 stabstr section. Adjust stab_info test.
2194 * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
2195 (_bfd_write_stab_strings): Adjust prototypes.
2196 * libbfd.h: Regenerate.
2197 * libcoff.h: Regenerate.
2198 * bfd-in2.h: Regenerate.
2199
727e493d
MK
22002004-06-27 Mark Kettenis <kettenis@gnu.org>
2201
2202 From Miod Vallat <miod@online.fr>:
2203 * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
2204
146ccdbb
AO
22052004-06-26 Alexandre Oliva <aoliva@redhat.com>
2206
2207 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
2208 (struct elf32_mn10300_link_hash_entry): Remove
2209 pcrel_relocs_copied.
2210 (mn10300_elf_check_relocs): Only reserve dynamic relocations for
2211 R_MN10300_32. Don't adjust pcrel_relocs_copied.
2212 (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
2213 and gotoff relocations if the symbol doesn't bind locally. Use
2214 _bfd_elf_symbol_refs_local_p to test. Don't create dynamic
2215 relocation for PCREL32.
2216 (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
2217 to test whether a symbol binds locally.
2218 (elf32_mn10300_link_hash_newfunc): Don't initialize
2219 pcrel_relocs_copied.
2220 (_bfd_mn10300_elf_discard_copies): Delete.
2221 (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
2222
a5fd0812
MK
22232004-06-26 Mark Kettenis <kettenis@gnu.org>
2224
2225 * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
2226
22bfad37
JB
22272004-06-25 Joel Brobecker <brobecker@gnat.com>
2228
2229 * som.c (som_set_reloc_info): Correct small typo.
2230
097f809a
NC
22312004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2232
2233 * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
2234 (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
2235 (m32r_elf_gcsweep_hook): Likewise.
2236 (m32r_elf_check_relocs): Likewise.
2237 (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
2238 R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
2239 * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
2240 BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
f9f2cf5d
NC
2241 * bfd-in2.h: Regenerated.
2242 * libbfd.h: Regenerated.
097f809a 2243
6610a52d
L
22442004-06-24 H.J. Lu <hongjiu.lu@intel.com>
2245
2246 * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
2247 relocation symbol.
2248 (elf64_x86_64_relocate_section): Issue an error for
2249 R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
2250 against global symbols when building shared library.
2251
eea6121a
AM
22522004-06-24 Alan Modra <amodra@bigpond.net.au>
2253
2254 * section.c (struct sec): Rename "_cooked_size" to "size".
2255 Rename "_raw_size" to "rawsize".
2256 (STD_SECTION): Adjust comments.
2257 (bfd_set_section_size, bfd_get_section_contents): Use size.
2258 (bfd_malloc_and_get_section): New function.
2259 * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
2260 * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
2261 Correctly free reloc and contents memory.
2262 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
2263 and fake CIE now that we can shink section size to zero.
2264 (_bfd_elf_write_section_eh_frame): Likewise..
2265 * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
2266 * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
2267 _bfd_stab_section_offset. Use _bfd_elf_section_offset.
2268 * stabs.c (_bfd_stab_section_offset_): Remove unused args and
2269 unneeded indirection.
2270 * elf.c (_bfd_elf_section_offset): .. and update call.
2271 * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
2272 * libbfd.h: Regenerate.
2273 * bfd-in2.h: Regenerate.
2274
2275 Replace occurrences of "_raw_size" and "_cooked_size" in most places
2276 with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
2277 sections. Use "rawsize", if non-zero, for bfd_get_section_contents
2278 calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
2279 Similarly use "rawsize", if non-zero, in reloc functions to validate
2280 reloc addresses. Use new bfd_malloc_and_get_section in most places
2281 where bfd_get_section_contents was called. Expand all occurrences of
2282 bfd_section_size and bfd_get_section_size. Rename "raw_size" var in
2283 grok_prstatus and similar functions to "size".
2284 * aix386-core.c (aix386_core_file_p): ..
2285 * aix5ppc-core.c (xcoff64_core_p): ..
2286 * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
2287 aout_adobe_set_section_contents): ..
2288 * aout-target.h (callback): ..
2289 * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
2290 MY_bfd_final_link): ..
2291 * aoutf1.h (sunos4_core_file_p): ..
2292 * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2293 adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
2294 final_link, aout_link_input_section): ..
2295 * binary.c (binary_object_p, binary_canonicalize_symtab,
2296 binary_set_section_contents): ..
2297 * bout.c (b_out_callback, b_out_write_object_contents,
2298 b_out_set_section_contents, b_out_bfd_relax_section,
2299 b_out_bfd_get_relocated_section_contents): ..
2300 * cisco-core.c (cisco_core_file_validate): ..
2301 * coff-alpha.c (alpha_ecoff_object_p,
2302 alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
2303 * coff-arm.c (coff_arm_relocate_section,
2304 bfd_arm_allocate_interworking_sections): ..
2305 * coff-h8300.c (h8300_reloc16_extra_cases,
2306 h8300_bfd_link_add_symbols): ..
2307 * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
2308 * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
2309 ppc_bfd_coff_final_link): ..
2310 * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
2311 * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
2312 sh_align_loads, sh_coff_get_relocated_section_contents): ..
2313 * coff64-rs6000.c (xcoff64_write_object_contents,
2314 xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
2315 * coffcode.h (coff_compute_section_file_positions,
2316 coff_write_object_contents): ..
2317 * coffgen.c (make_a_section_from_file, coff_write_symbols,
2318 coff_section_symbol, build_debug_section): ..
2319 * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
2320 process_embedded_commands, _bfd_coff_link_input_bfd,
2321 _bfd_coff_write_global_sym): ..
2322 * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
2323 * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
2324 * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
2325 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
2326 _bfd_dwarf2_find_nearest_line): ..
2327 * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
2328 ecoff_compute_section_file_positions,
2329 _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
2330 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
2331 _bfd_elf_discard_section_eh_frame_hdr,
2332 _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
2333 _bfd_elf_write_section_eh_frame,
2334 _bfd_elf_write_section_eh_frame_hdr): ..
2335 * elf-hppa.h (elf_hppa_sort_unwind): ..
2336 * elf-m10200.c (mn10200_elf_relax_section,
2337 mn10200_elf_relax_delete_bytes,
2338 mn10200_elf_get_relocated_section_contents): ..
2339 * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
2340 mn10300_elf_check_relocs, mn10300_elf_relax_section,
2341 mn10300_elf_relax_delete_bytes,
2342 mn10300_elf_get_relocated_section_contents,
2343 _bfd_mn10300_elf_adjust_dynamic_symbol,
2344 _bfd_mn10300_elf_discard_copies,
2345 _bfd_mn10300_elf_size_dynamic_sections,
2346 _bfd_mn10300_elf_finish_dynamic_sections): ..
2347 * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
2348 _bfd_elf_make_section_from_phdr, elf_fake_sections,
2349 bfd_elf_set_group_contents, map_sections_to_segments,
2350 elf_sort_sections, assign_file_positions_for_segments,
2351 SECTION_SIZE, copy_private_bfd_data,
2352 _bfd_elf_get_dynamic_reloc_upper_bound,
2353 _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
2354 _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
2355 elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
2356 elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
2357 _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
2358 * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
2359 bfd_elf32_arm_process_before_allocation,
2360 elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
2361 elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
2362 elf32_arm_write_section): ..
2363 * elf32-cris.c (cris_elf_grok_prstatus,
2364 elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
2365 elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
2366 cris_elf_check_relocs, elf_cris_size_dynamic_sections,
2367 elf_cris_discard_excess_dso_dynamics,
2368 elf_cris_discard_excess_program_dynamics): ..
2369 * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
2370 * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
2371 * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
2372 _frv_create_got_section, _frvfdpic_assign_plt_entries,
2373 elf32_frvfdpic_size_dynamic_sections,
2374 elf32_frvfdpic_modify_segment_map,
2375 elf32_frvfdpic_finish_dynamic_sections): ..
2376 * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
2377 elf32_h8_get_relocated_section_contents): ..
2378 * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
2379 elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
2380 allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
2381 elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
2382 elf32_hppa_finish_dynamic_sections): ..
2383 * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
2384 i370_elf_size_dynamic_sections, i370_elf_check_relocs,
2385 i370_elf_finish_dynamic_sections): ..
2386 * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
2387 allocate_dynrelocs, elf_i386_size_dynamic_sections,
2388 elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
2389 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
2390 i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
2391 * elf32-ip2k.c (ip2k_is_switch_table_128,
2392 ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
2393 ip2k_relax_switch_table_256, ip2k_elf_relax_section,
2394 adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
2395 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
2396 m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
2397 allocate_dynrelocs, m32r_elf_size_dynamic_sections,
2398 m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
2399 m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
2400 m32r_elf_get_relocated_section_contents): ..
2401 * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
2402 m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
2403 m68hc11_elf_relax_delete_bytes): ..
2404 * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
2405 m68hc12_elf_size_one_stub): ..
2406 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
2407 elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
2408 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
2409 elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
2410 elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
2411 * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2412 elf32_mips_grok_prstatus): ..
2413 * elf32-or32.c (or32_elf_consth_reloc): ..
2414 * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
2415 elf_create_pointer_linker_section, ppc_elf_create_linker_section,
2416 ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
2417 allocate_dynrelocs, ppc_elf_size_dynamic_sections,
2418 ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
2419 ppc_elf_final_write_processing): ..
2420 * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2421 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2422 elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
2423 * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
2424 sh_elf_relax_delete_bytes, sh_elf_align_loads,
2425 sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
2426 sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
2427 sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
2428 * elf32-sh64-com.c (sh64_address_in_cranges,
2429 sh64_get_contents_type): ..
2430 * elf32-sh64.c (sh64_find_section_for_address,
2431 sh64_elf_final_write_processing): ..
2432 * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
2433 sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
2434 allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
2435 elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
2436 * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
2437 * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
2438 elf_vax_size_dynamic_sections, elf_vax_discard_copies,
2439 elf_vax_instantiate_got_entries, elf_vax_relocate_section,
2440 elf_vax_finish_dynamic_sections): ..
2441 * elf32-xstormy16.c (xstormy16_elf_24_reloc,
2442 xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
2443 xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
2444 xstormy16_elf_finish_dynamic_sections): ..
2445 * elf32-xtensa.c (xtensa_read_table_entries,
2446 elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
2447 elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
2448 bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
2449 elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
2450 elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
2451 get_relocation_opcode, retrieve_contents, find_relaxable_sections,
2452 collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
2453 relax_section, shrink_dynamic_reloc_sections, relax_property_section,
2454 xtensa_callback_required_dependence): ..
2455 * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
2456 elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
2457 elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
2458 elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
2459 elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
2460 elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
2461 elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
2462 elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
2463 * elf64-hppa.c (allocate_dynrel_entries,
2464 elf64_hppa_size_dynamic_sections,
2465 elf64_hppa_finish_dynamic_sections): ..
2466 * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
2467 mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
2468 elf64_mips_grok_prstatus): ..
2469 * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
2470 mmix_elf_relocate_section, mmix_elf_final_link,
2471 mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
2472 mmix_elf_relax_section, mmix_elf_get_section_contents): ..
2473 * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
2474 ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
2475 ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
2476 allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
2477 ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
2478 toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
2479 ppc64_elf_build_stubs, ppc64_elf_relocate_section,
2480 ppc64_elf_finish_dynamic_sections): ..
2481 * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
2482 allocate_dynrelocs, elf_s390_size_dynamic_sections,
2483 elf_s390_finish_dynamic_sections): ..
2484 * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
2485 sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
2486 sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
2487 sh64_elf64_finish_dynamic_sections): ..
2488 * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
2489 sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
2490 sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
2491 sparc64_elf_finish_dynamic_symbol,
2492 sparc64_elf_finish_dynamic_sections): ..
2493 * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
2494 elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
2495 elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
2496 elf64_x86_64_finish_dynamic_sections): ..
2497 * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
2498 * elfcode.h (elf_slurp_reloc_table): ..
2499 * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
2500 elf_finalize_dynstr, elf_link_add_object_symbols,
2501 bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
2502 elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
2503 * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
2504 elf32_mips_grok_prstatus): ..
2505 * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
2506 elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
2507 elfNN_ia64_choose_gp, elfNN_ia64_final_link,
2508 elfNN_ia64_finish_dynamic_sections): ..
2509 * elfxx-mips.c (mips_elf_create_procedure_table,
2510 mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
2511 _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
2512 mips_elf_global_got_index, mips_elf_multi_got,
2513 mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
2514 mips_elf_allocate_dynamic_relocations,
2515 mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
2516 _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
2517 _bfd_mips_elf_always_size_sections,
2518 _bfd_mips_elf_size_dynamic_sections,
2519 _bfd_mips_elf_finish_dynamic_symbol,
2520 _bfd_mips_elf_finish_dynamic_sections,
2521 _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
2522 _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
2523 _bfd_elf_mips_get_relocated_section_contents,
2524 _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
2525 * hp300hpux.c (callback): ..
2526 * hppabsd-core.c (make_bfd_asection): ..
2527 * hpux-core.c (make_bfd_asection): ..
2528 * i386linux.c (linux_link_create_dynamic_sections,
2529 bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
2530 * i386msdos.c (msdos_write_object_contents): ..
2531 * i386os9k.c (os9k_callback, os9k_write_object_contents,
2532 os9k_set_section_contents): ..
2533 * ieee.c (parse_expression, ieee_slurp_external_symbols,
2534 ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
2535 ieee_write_section_part, do_with_relocs, do_as_repeat,
2536 do_without_relocs, ieee_write_debug_part, init_for_output,
2537 ieee_set_section_contents): ..
2538 * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
2539 * irix-core.c (do_sections, make_bfd_asection): ..
2540 * libaout.h (aout_section_merge_with_text_p): ..
2541 * libbfd.c (_bfd_generic_get_section_contents,
2542 _bfd_generic_get_section_contents_in_window): ..
2543 * linker.c (default_indirect_link_order): ..
2544 * lynx-core.c (make_bfd_asection): ..
2545 * m68klinux.c (linux_link_create_dynamic_sections,
2546 bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2547 * mach-o.c (bfd_mach_o_make_bfd_section,
2548 bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
2549 bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
2550 bfd_mach_o_scan_read_segment): ..
2551 * merge.c (_bfd_add_merge_section, record_section, merge_strings,
2552 _bfd_merge_sections): ..
2553 * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
2554 mmo_map_set_sizes, mmo_canonicalize_symtab,
2555 mmo_internal_write_section, mmo_write_object_contents): ..
2556 * netbsd-core.c (netbsd_core_file_p): ..
2557 * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
2558 nlm_alpha_set_public_section): ..
2559 * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
2560 * nlm32-sparc.c (nlm_sparc_write_import): ..
2561 * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
2562 nlm_compute_section_file_positions): ..
2563 * oasys.c (oasys_object_p, oasys_slurp_section_data,
2564 oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
2565 * opncls.c (get_debug_link_info): ..
2566 * osf-core.c (make_bfd_asection): ..
2567 * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
2568 adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
2569 final_link, aout_link_input_section): ..
2570 * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
2571 pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
2572 * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
2573 bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
2574 * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
2575 * ptrace-core.c (ptrace_unix_core_file_p): ..
2576 * reloc.c (bfd_perform_relocation, bfd_install_relocation,
2577 _bfd_final_link_relocate, bfd_generic_relax_section,
2578 bfd_generic_get_relocated_section_contents): ..
2579 * reloc16.c (bfd_coff_reloc16_relax_section,
2580 bfd_coff_reloc16_get_relocated_section_c): ..
2581 * riscix.c (riscix_some_aout_object_p): ..
2582 * rs6000-core.c (read_hdr, make_bfd_asection): ..
2583 * sco5-core.c (make_bfd_asection): ..
2584 * simple.c (bfd_simple_get_relocated_section_contents): ..
2585 * som.c (som_object_setup, setup_sections, som_prep_headers,
2586 som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
2587 som_set_reloc_info, som_get_section_contents,
2588 som_bfd_link_split_section): ..
2589 * sparclinux.c (linux_link_create_dynamic_sections,
2590 bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
2591 * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
2592 * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
2593 _bfd_write_stab_strings, _bfd_stab_section_offset): ..
2594 * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
2595 bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
2596 sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
2597 sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
2598 sunos_finish_dynamic_link): ..
2599 * syms.c (_bfd_stab_section_find_nearest_line): ..
2600 * tekhex.c (first_phase, tekhex_set_section_contents,
2601 tekhex_write_object_contents): ..
2602 * trad-core.c (trad_unix_core_file_p): ..
2603 * versados.c (process_esd, process_otr, process_otr): ..
2604 * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
2605 * vms-misc.c (add_new_contents): ..
2606 * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
2607 * vms.c (vms_set_section_contents): ..
2608 * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
2609 xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
2610 _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
2611 * xsym.c (bfd_sym_scan): .. See above.
2612
bf8b15af
L
26132004-06-21 H.J. Lu <hongjiu.lu@intel.com>
2614
2615 * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
2616 calling _bfd_merged_section_offset only for section symbols.
2617
d1c6de6f
AM
26182004-06-22 Alan Modra <amodra@bigpond.net.au>
2619
2620 * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
2621 for handling SEC_MERGE symbols in relax_section.
2622
aa02cc63
AO
26232004-06-21 Alexandre Oliva <aoliva@redhat.com>
2624
2625 2003-05-15 Richard Sandiford <rsandifo@redhat.com>
2626 * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
2627 linked together. Mark the result as h8300sx code.
2628
aee6f5b4
AO
26292004-06-21 Alexandre Oliva <aoliva@redhat.com>
2630
2631 * elf-bfd.h (struct elf_backend_data): Added
2632 elf_backend_omit_section_dynsym.
2633 (_bfd_elf_link_omit_section_dynsym): Declare.
2634 * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
2635 (elf_backend_omit_section_dynsym): Use it for frvfdpic.
2636 * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
2637 (_bfd_elf_link_renumber_dynsyms): ... this function.
2638 * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
2639 _bfd_elf_link_omit_section_dynsym).
2640 (elfNN_bed): Added elf_backend_omit_section_dynsym.
2641
05576f10
NC
26422004-06-21 Nick Clifton <nickc@redhat.com>
2643
2644 * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
2645 flags.
2646
02d5a37b
JG
26472004-06-17 Jerome Guitton <guitton@gnat.com>
2648
2649 * bfd-in.h (bfd_cache_close_all): New function declaration.
2650 * bfd-in2.h: Regenerate.
2651 * cache.c (bfd_cache_close_all): New function definition.
2652
d2bef492
MK
26532004-06-16 Mark Kettenis <kettenis@gnu.org>
2654
2655 * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
2656 4.10 and beyond.
2657 * configure: Regenerate.
2658
8528d62e
DJ
26592004-06-16 Daniel Jacobowitz <dan@debian.org>
2660
2661 * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
2662 the pre-existing section.
2663
911d08a7
AM
26642004-06-15 Alan Modra <amodra@bigpond.net.au>
2665
2666 * section.c (struct sec): Remove usused flags. Reorganize a little.
2667 (bfd_get_section_size_before_reloc): Delete.
2668 (bfd_get_section_size_after_reloc): Delete.
2669 (STD_SECTION): Update.
2670 (bfd_get_section_size_now): Delete.
2671 (bfd_set_section_contents): Don't referece reloc_done.
2672 (bfd_get_section_contents): Remove reloc_done comment.
2673 * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
2674 reloc_done.
2675 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
2676 * ecoff.c (bfd_debug_section): Update initializer.
2677 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
2678 * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
2679 * bfd-in.h (bfd_section_size): Expand.
2680 (bfd_get_section_size): New macro.
2681 * bfd-in2.h: Regenerate.
2682 * coff64-rs6000.c (xcoff64_write_object_contents): Replace
2683 bfd_get_section_size_before_reloc with bfd_get_section_size.
2684 * coffcode.h (coff_write_object_contents): Likewise.
2685 * coffgen.c (build_debug_section): Likewise.
2686 * dwarf1.c (parse_line_table): Likewise.
2687 (_bfd_dwarf1_find_nearest_line): Likewise.
2688 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2689 * i386msdos.c (msdos_write_object_contents): Likewise.
2690 * pdp11.c (squirt_out_relocs): Likewise.
2691 * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
2692 * elf64-mmix.c (mmix_elf_final_link): Update comment.
2693
092dcd75
CD
26942004-06-14 Chris Demetriou <cgd@broadcom.com>
2695
2696 * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
2697 removal) with updated comment.
2698 (bfd_elf32_bfd_reloc_type_lookup): Add back case for
2699 BFD_RELOC_32_PCREL.
2700 (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
2701 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2702
3ffa5234
AM
27032004-06-12 Alan Modra <amodra@bigpond.net.au>
2704
2705 * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
2706 overflow on branches to undefweaks.
2707
e9edc808
MR
27082004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
2709
2710 * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
2711 as ecoff_section_data() does not return a valid lvalue.
2712
a873f25a
AO
27132004-06-09 Alexandre Oliva <aoliva@redhat.com>
2714
a9b881be
AO
2715 * elflink.c (elf_sort_symbol): Compare section id, not pointers.
2716 (elf_link_add_object_symbols): Likewise.
2717
a873f25a
AO
2718 * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
2719 (elf_backend_reloc_type_class): New.
2720
eef0f186
MK
27212004-06-08 Mark Kettenis <kettenis@gnu.org>
2722
2723 * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
2724 netbsd-core.lo.
2725 * configure: Regenerate.
2726
822392ce
DJ
27272004-06-07 Daniel Jacobowitz <dan@debian.org>
2728
2729 From: Albert Chin-A-Young <china@thewrittenword.com>
2730 * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
2731 to unsigned int.
2732
9f2e92c5
L
27332004-05-29 H.J. Lu <hongjiu.lu@intel.com>
2734
2735 * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
2736 change.
2737
dd90f1b2
DD
27382004-05-28 DJ Delorie <dj@redhat.com>
2739
2740 * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
2741 for linking, but otherwise adjust reloc for merged sections.
2742
5dd23ec1
L
27432004-05-28 H.J. Lu <hongjiu.lu@intel.com>
2744
2745 * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
2746 _bfd_merged_section_offset for local symbols.
2747
f6f9408f
JR
27482004-05-28 Andrew Stubbs <andrew.stubbs@superh.com>
2749
2750 * Makefile.am: Regenerate dependencies.
2751 * Makefile.in: Regenerate.
2752 * archures.c: Add bfd_mach_sh3_nommu .
2753 * bfd-in2.h: Regenerate.
2754 * cpu-sh.c: Add sh3-nommu architecture.
2755 (bfd_to_arch_table): Create new table.
2756 (sh_get_arch_from_bfd_mach): Create new function.
2757 (sh_get_arch_up_from_bfd_mach): Create new function.
2758 (sh_merge_bfd_arch): Create new function.
2759 * elf32-sh.c (sh_ef_bfd_table): Add table.
2760 (sh_elf_check_relocs): Replace switch statement with
2761 use of sh_ef_bfd_table .
2762 (sh_elf_get_flags_from_mach): Add new function.
2763 (sh_find_elf_flags): Likewise.
2764 (sh_elf_copy_private_data): Replace most of non-elf contents
2765 with a call to sh_merge_bfd_arch() .
2766
d866f350
MC
27672004-05-27 Michael Chastain <mec.gnu@mindspring.com>
2768
2769 * Makefile.am (bfdver.h): Use explicit filename, not $< .
2770 * Makefile.in: Regenerate.
2771
1055df0f
AO
27722004-05-27 Alexandre Oliva <aoliva@redhat.com>
2773
2774 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
2775 custom calling conventions for dynamic symbols.
2776 (mn10300_elf_relax_section): Avoid relaxing a function as a local
2777 symbol if it's an alias to a global one.
2778
b3096250
L
27792004-05-26 H.J. Lu <hongjiu.lu@intel.com>
2780
2781 * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
2782 change.
2783
9bb351fd
AO
27842004-05-27 Alexandre Oliva <aoliva@redhat.com>
2785
2786 * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
2787 loop over hashes.
2788
e49f5022
AM
27892004-05-26 Alan Modra <amodra@bigpond.net.au>
2790
2791 * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
2792 for SHT_GROUP sections.
2793
57ceae94
AM
27942004-05-25 Alan Modra <amodra@bigpond.net.au>
2795
2796 * elflink.c (elf_link_add_object_symbols): Don't set up merge
2797 section data here..
2798 * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
2799 * merge.c: Formatting. Remove unnecessary casts. Expand
2800 bfd_get_section_alignment macro.
2801 (struct sec_merge_sec_info): Rename "first" to "first_str". Update
2802 use throughout file.
2803 (_bfd_add_merge_section): Rename from _bfd_merge_section. Update
2804 comment. Abort on dynamic or non-SEC_MERGE input. Don't test
2805 section name to determine sinfo group, instead test output section
2806 and alignment.
2807 (_bfd_merge_sections): Add struct bfd_link_info param. Call
2808 _bfd_strip_section_from_output rather than just twiddling flags.
2809 * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
2810 (_bfd_merge_sections): Update prototype.
2811 * libbfd.h: Regenerate.
2812
c6f8758f 28132004-05-24 Mark Kettenis <kettenis@gnu.org>
d34436e8
MK
2814
2815 * netbsd-core.c: Correctly indent section that sets architecture
2816 from machine ID.
2817
c6f8758f
NC
2818 From Miod Vallat <miod@online.fr>:
2819 * m88kopenbsd.c: New file.
2820 * targets.c (m88k_openbsd_vec): New.
2821 * config.bfd: Add m88k-*-openbsd*.
2822 * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
2823 (m88kopenbsd_vec): New.
2824 * configure: Regenerate.
2825 * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
2826 (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
2827 Run "make dep-am".
2828 * Makefile.in: Regenerate.
2829 * po/SRC-POTFILES.in: Regenerate.
2830
7d7e6bc4
NC
28312004-05-24 Nick Clifton <nickc@redhat.com>
2832
2833 * hash.c: Remove bogus node "Changing the default Hash Table Size"
2834 introduced by hash table size patch.
2835
bc286f95
BE
28362004-05-22 Ben Elliston <bje@au.ibm.com>
2837
2838 * configure.in (is_release): Remove.
2839 (bfd_version_date, bfd_version, bfd_version_string): Likewise.
2840 (AC_OUTPUT): Don't output bfdver.h from version.h.
2841 * configure: Regenerate.
2842 * Makefile.am (RELEASE): New variable.
2843 (bfdver.h): New target.
2844 * Makefile.in: Regenerate.
2845 * doc/Makefile.in: Likewise.
2846
8b89a4eb
BE
28472004-05-22 Ben Elliston <bje@au.ibm.com>
2848
2849 * Makefile.am (config.status): Don't depend on version.h.
2850 * Makefile.in: Regenerate.
2851
753731ee
AM
28522004-05-22 Alan Modra <amodra@bigpond.net.au>
2853
2854 * merge.c (_bfd_merged_section_offset): Remove "addend" param.
2855 * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
2856 * libbfd.h: Regenerate.
2857 * elf.c (_bfd_elf_rela_local_sym): Adjust call.
2858 (_bfd_elf_rel_local_sym): Likewise.
2859 * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
2860 (elf_link_input_bfd): Likewise.
2861 * elf32-ppc.c (ppc_elf_relax_section): Likewise.
2862 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
2863 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
2864 (elfNN_ia64_relocate_section): Likewise.
2865
2d643429
NC
28662004-05-21 Andy Chittenden <achittenden@bluearc.com>
2867
2868 * hash.c (bfd_default_hash_table_size): New variable.
2869 (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
2870 (bfd_hash_set_default_size): New function. Set the default size
2871 to a selected prime number close to the argument. Document new
2872 function.
2873 * bfd-in.h: Add prototype for bfd_hash_set_default_size.
2874 * bfd-in2.h: Regenerate.
2875 * Makefile.am (hash.lo): Add dependency upon libiberty.h.
2876 * Makefile.in: Regenerate.
2877
8377c19c
MK
28782004-05-21 Mark Kettenis <kettenis@gnu.org>
2879
2880 * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
2881 * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
2882 arm, m68k, m88k and hppa core files.
2883
69fd4758
NC
28842004-05-21 Nick Clifton <nickc@redhat.com>
2885
2886 * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
2887 (bfd_bwrite): Likewise.
2888 (bfd_tell): Likewise.
2889 (bfd_flush): Likewise.
2890 (bfd_stat): Likewise.
2891 (bfd_seek): Likewise.
2892 (bfd_get_mtime): Likewise.
2893 (bfd_get_size): Likewise.
2894
cd917290
BE
28952004-05-19 Ben Elliston <bje@au.ibm.com>
2896
2897 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
2898
1b09e940
NC
28992004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
2900
2901 * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
2902 (bfd_generic_openr_next_archived_file): Likewise.
2903
096c35a7
BW
29042004-05-17 Bob Wilson <bob.wilson@acm.org>
2905
2906 * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
2907 section names by inserting a new substring after .gnu.linkonce, except
2908 for .gnu.linkonce.t.* where the "t." is replaced.
2909
eea6121a 29102004-05-17 Adam Nemet <anemet@lnxw.com>
b2d65c0b
NC
2911
2912 * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
2913 (m68-*-lynxos* case): Likewise.
2914 (powerpc-*-lyxnos* case): New case.
2915 (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
2916
80fccad2
BW
29172004-05-17 David Heine <dlheine@tensilica.com>
2918
2919 * aout-target.h (MY_bfd_copy_private_header_data): Define.
2920 * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
2921 * bfd.c (bfd_copy_private_header_data): Define.
2922 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
2923 interface.
2924 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
2925 * coffcode.h (coff_bfd_copy_private_header_data): Define.
2926 * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
2927 * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
2928 segments by calling copy_private_bfd_data.
2929 (_bfd_elf_copy_private_header_data): Define.
2930 * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
2931 * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
2932 * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
2933 * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
2934 * mmo.c (mmo_bfd_copy_private_header_data): Define.
2935 * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
2936 * som.c (som_bfd_copy_private_header_data): Define.
2937 * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
2938 * vms.c (vms_bfd_copy_private_header_data): Define.
2939 * bfd-in2.h: Regenerate.
2940 * libbfd.h: Regenerate.
2941
c5ae1840
TS
29422004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2943
2944 * elfxx-mips.c (MINUS_TWO): Define.
2945 (mips_elf_higher, mips_elf_highest,
2946 mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
2947 some bfd_vma values.
2948 (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
2949
a99cf92b
DA
29502004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2951
2952 * som.c (log2): Rename to exact_log2. Adjust all callers.
2953
0da76f83
NC
29542004-05-13 Paul Brook <paul@codesourcery.com>
2955
c273895f 2956 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
336b9722
NC
2957 dwarf3 format CIE entries. Remove comment about the size of the
2958 ra_column field. It is now correctly deduced.
0da76f83 2959
4b363073
NC
29602004-05-13 Joel Sherrill <joel@oarcorp.com>
2961
2962 * config.bfd (or32-*-rtems*): Switch to elf.
2963
9598fbe5
NC
29642004-05-13 Nick Clifton <nickc@redhat.com>
2965
2966 * po/fr.po: Updated French translation.
2967
8c37241b
JJ
29682004-05-11 Jakub Jelinek <jakub@redhat.com>
2969
0306b3bf 2970 * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol
8c37241b
JJ
2971 into .dynsym if elf_section_data (sec)->dynindx <= 0.
2972 Adjust counting of last_local.
2973 (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
2974 other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
2975 created by the linker nor !SHF_ALLOC.
2976
2977 * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
2978 DT_PLTGOT to the start of the .got.plt section instead of the
2979 .got output section. Set sh_entsize for .got section in addition
2980 to .got.plt.
2981 (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
2982 is at sgot->output_section->vma.
2983 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
2984 DT_PLTGOT to the start of the .got.plt section instead of the
2985 .got output section.
2986 (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
2987 is at sgot->output_section->vma. Set sh_entsize for .got section
2988 in addition to .got.plt.
2989 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
2990 (bfd_section_from_phdr): Likewise.
2991 (map_sections_to_segments): Likewise.
2992 (assign_file_positions_for_segments): Likewise.
2993 (get_program_header_size): Likewise.
2994 * elflink.c (bfd_elf_size_dynamic_sections): Set
2995 elf_tdata (output_bfd)->relro from info->relro.
2996 * elf-bfd.h (struct elf_obj_tdata): Add relro field.
2997
3f980e41
AO
29982004-05-08 Alexandre Oliva <aoliva@redhat.com>
2999
3000 * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
3001 a zero symndx for which we hadn't accounted a dynamic relocation.
3002 (_frvfdpic_add_rofixup): Likewise.
3003
d70270c5 30042004-05-07 Brian Ford <ford@vss.fsi.com>
eea6121a 3005 DJ Delorie <dj@redhat.com>
d70270c5
BF
3006
3007 * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
3008 Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
3009 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
3010 IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines.
3011
7e9f3bd6
AO
30122004-05-07 Alexandre Oliva <aoliva@redhat.com>
3013
3014 * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
3015 immediately if there's no link info.
3016 (elf32_frvfdpic_copy_private_bfd_data): New.
3017 (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
3018
eb61d2d6
ZW
30192004-05-06 Zack Weinberg <zack@codesourcery.com>
3020
3021 * dwarf2.c (add_line_info): Also set info->filename to NULL if
3022 filename argument is null; do not call strlen on a null pointer.
3023
ecb2d096
DJ
30242004-05-06 Daniel Jacobowitz <drow@mvista.com>
3025
3026 * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
3027 special case.
3028
43850d5b
AO
30292004-05-05 Alexandre Oliva <aoliva@redhat.com>
3030
3031 * configure.in (bfd_elf32_frvfdpic_vec): New.
3032 * configure: Rebuilt.
3033 * targets.c (bfd_elf32_frvfdpic_vec): New.
3034 * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
3035 on the latter.
3036 * elf32-frv.c: Prefix all identifiers added for FDPIC support with
3037 frvfdpic instead of frv. Rearrange elf-target macros such that
3038 the FDPIC-specific ones are only defined for this new target
3039 vector.
3040 (bfd_elf32_frvfdpic_vec): Declare.
3041 (IS_FDPIC): New.
3042 (elf32_frv_relocate_section): Use it to enable segment checking
3043 and to control rofixup emission. Add output section vma to
3044 applied relocation in non-LOAD non-ALLOC sections. Use
3045 _bfd_error_handler for errors.
3046 (_frv_create_got_section): Create .rel.got and .rofixup only in
3047 FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
3048 linker script.
3049 (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
3050 (elf32_frvfdpic_modify_segment_map): Likewise.
3051 (elf32_frv_finish_dynamic_sections): New, do-nothing.
3052 (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve
3053 error message if we miscompute the rofixup size.
3054 (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
3055 (frvfdpic_elf_encode_eh_address): Likewise.
3056 (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
3057 Record relocs only in FDPIC. Make sure _gp is defined for GPREL
3058 relocs. Reject unknown relocation types.
3059 (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
3060 (frv_elf_merge_private_bfd_data): Likewise.
3061 (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
3062 0x4000 for newly-added elf32-frvfdpic.
3063
06fc8a8c
NC
30642004-05-05 Nick Clifton <nickc@redhat.com>
3065
3066 PR/136
3067 * cache.c (bfd_cache_lookup_worker): Call abort() rather than
3068 returning NULL as most users of this function do not check its
3069 return value.
33216455
NC
3070 * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
3071 of bfd_cache_lookup().
3072 * sco5-core.c (sco5_core_file_p): Likewise.
3073 * trad-core.c (trad_unix_core_file_p): Likewise.
06fc8a8c
NC
3074
30752004-05-05 Nick Clifton <nickc@redhat.com>
3076
3077 * cache.c (bfd_cache_lookup): Improve formatting.
3078 * archive.c: Fix formatting.
3079
6b6e92f4
NC
30802004-05-05 Peter Barada <peter@the-baradas.com>
3081
3082 * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
3083 * cpu-m68k.c(bfd_m68k_arch): Likewise.
3084 * bfd-in2.h(bfd_architecture): Regenerate.
3085
6a8d1586
AM
30862004-05-03 Alan Modra <amodra@bigpond.net.au>
3087
3088 * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
3089 SEC_MERGE sections.
3090 * elflink.c (elf_link_input_bfd): Adjust output reloc index for
3091 those against discarded link-once and SEC_MERGE section symbols.
3092
fafe6678
L
30932004-05-02 H.J. Lu <hongjiu.lu@intel.com>
3094
3095 * section.c (bfd_get_section_by_name_if): New.
3096 * bfd-in2.h: Regenerated.
3097
ad7b9a36
AM
30982004-05-02 Alan Modra <amodra@bigpond.net.au>
3099
3100 * som.c (som_bfd_is_group_section): Define.
3101
73499ab8
AM
31022004-05-01 Alan Modra <amodra@bigpond.net.au>
3103
3104 * section.c (bfd_make_section_anyway): Copy the whole
3105 bfd_hash_entry, not just "next" from existing entry.
3106
45c5e9ed
L
31072004-04-30 H.J. Lu <hongjiu.lu@intel.com>
3108
3109 * elf.c (bfd_section_from_shdr): Maintain the section order in
3110 a section group.
3111 (special_sections): Add ".note.GNU-stack".
3112 (elf_fake_sections): Handle section group for relocatable
3113 link..
3114
bc87dd2e
L
31152004-04-30 H.J. Lu <hongjiu.lu@intel.com>
3116
3117 * section.c (bfd_sections_find_if): New.
3118 * bfd-in2.h: Regenerated.
3119
72adc230
AM
31202004-04-30 Alan Modra <amodra@bigpond.net.au>
3121
3122 * section.c (bfd_make_section_anyway): Add all sections to hash tab.
3123
3124 * elf-bfd.h (bfd_elf_is_group_section): Declare.
3125 * elf.c (bfd_elf_is_group_section): New function.
3126 * elfxx-target.h (bfd_elfNN_bfd_is_group_section
3127 * section.c (bfd_generic_is_group_section): New function.
3128 * targets.c (struct bfd_target): Add _bfd_is_group_section field.
3129 (BFD_JUMP_TABLE_LINK): Adjust.
3130 * aout-adobe.c (aout_32_bfd_is_group_section): Define.
3131 * aout-target.h (MY_bfd_is_group_section): Define.
3132 * aout-tic30.c (MY_bfd_is_group_section): Define.
3133 * bfd.c (bfd_is_group_section): Define.
3134 * binary.c (binary_bfd_is_group_section): Define.
3135 * bout.c (b_out_bfd_is_group_section): Define.
3136 * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
3137 * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
3138 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
3139 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
3140 * coffcode.h (coff_bfd_is_group_section): Define.
3141 * i386msdos.c (msdos_bfd_is_group_section): Define.
3142 * i386os9k.c (os9k_bfd_is_group_section): Define.
3143 * ieee.c (ieee_bfd_is_group_section): Define.
3144 * ihex.c (ihex_bfd_is_group_section): Define.
3145 * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
3146 * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
3147 * mmo.c (mmo_bfd_is_group_section): Define.
3148 * nlm-target.h (nlm_bfd_is_group_section): Define.
3149 * oasys.c (oasys_bfd_is_group_section): Define.
3150 * pef.c (bfd_pef_bfd_is_group_section): Define.
3151 * ppcboot.c (ppcboot_bfd_is_group_section): Define.
3152 * srec.c (srec_bfd_is_group_section): Define.
3153 * tekhex.c (tekhex_bfd_is_group_section): Define.
3154 * versados.c (versados_bfd_is_group_section): Define.
3155 * vms.c (vms_bfd_is_group_section): Define.
3156 * xsym.c (bfd_sym_bfd_is_group_section): Define.
3157 * bfd-in2.h: Regenerate.
3158 * libbfd.h: Regenerate.
3159
20f0a1ad
AM
31602004-04-30 Alan Modra <amodra@bigpond.net.au>
3161
3162 * elflink.c (elf_gc_mark): Follow indirect and warning syms.
3163
f7458fc9 31642004-04-30 Hans-Peter Nilsson <hp@axis.com>
7dfb3b6b
HPN
3165
3166 * configure.in: Update version to 2.15.91.
3167 * configure: Regenerate.
3168
8a7140c3
NC
31692004-04-29 Brian Ford <ford@vss.fsi.com>
3170
3171 * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
3172 * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
3173 [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
3174 (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
3175 [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
3176 .gnu.linkonce.wi. sections.
3177 * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
3178 (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
3179 .gnu.linkonce.wi..
3180 * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
3181 (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3182
3e722fb5
CD
31832004-04-28 Chris Demetriou <cgd@broadcom.com>
3184
3185 * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
3186 * bfd-in2.h: Regenerate.
3187 * libbfd.h: Likewise.
3188
351e2b5a
DA
31892004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3190
3191 * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
3192 dup_common fields.
3193 (setup_sections): Use som_subspace_dictionary_record struct instead
3194 subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is
3195 is_comdat, is_common or dup_common.
3196 (som_prep_headers): Use som_subspace_dictionary_record struct. Set
3197 is_comdat, is_common and dup_common in section subspace_dict from
3198 copy_data.
3199 (som_begin_writing): Use som_subspace_dictionary_record struct.
3200 (som_finish_writing): Likewise.
3201 (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
3202 is_common and dup_common flags in info for symbol. Add comment
3203 regarding linker support for these fields. Slightly reorganize
3204 function.
3205 (som_build_and_write_symbol_table): Set is_comdat, is_common and
3206 dup_common fields in symbol table from symbol info.
3207 (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
3208 arguments. Set corresponding fields in copy_data. Change all callers.
3209 (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
3210 symbol table.
3211 (som_vec): Add SEC_LINK_ONCE to applicable section flags.
3212 * som.h (som_subspace_dictionary_record): Define.
3213 (som_copyable_section_data_struct): Add is_comdat, is_common and
3214 dup_common fields.
3215 (som_section_data_struct): Use som_subspace_dictionary_record struct
3216 instead of subspace_dictionary_record.
3217 (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
3218
3ba3bc8c
BW
32192004-04-27 Bob Wilson <bob.wilson@acm.org>
3220
3221 * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
3222 if set. Check reloc_done flag before applying relocations. Use
3223 output addresses, both when applying relocations and when comparing
3224 against the specified section.
3225 (elf_xtensa_relocate_section): Use output address to check if dynamic
3226 reloc is in a literal pool. Set section's reloc_done flag.
3227
beb8df56
L
32282004-04-27 H.J. Lu <hongjiu.lu@intel.com>
3229
3230 * elf32-sh64.c (elf_backend_section_flags): New. Defined.
3231 (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
3232 section.
3233 (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
3234 section.
3235
1829f4b2
AM
32362004-04-27 Alan Modra <amodra@bigpond.net.au>
3237
3238 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
3239 structure field removed in 2004-04-24 patch.
3240 * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
3241
3242 * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
3243 Constify hdr arg.
3244 * elf32-arm.h (elf32_arm_section_flags): Likewise.
3245 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
3246 * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
3247 * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
3248 field before calling elf_backend_section_flags.
3249
4030e8f6
CD
32502004-04-24 Chris Demetriou <cgd@broadcom.com>
3251
3252 * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
3253 (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
3254 (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
3255 BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
3256 and BFD_RELOC_32_PCREL.
3257 (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
3258 R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
3259 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
3260 (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
3261 (mips_elf_next_relocation): Move comment about matching HI/LO
3262 relocations to...
3263 (_bfd_mips_elf_relocate_section): Here. Remove handling for
3264 R_MIPS_GNU_REL_HI16.
3265
3e27568f
CD
32662004-04-23 Chris Demetriou <cgd@broadcom.com>
3267
3268 * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
3269 (mips_switch_reloc, mips_read_relocs, mips_relax_section)
3270 (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
3271 (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
3272 and update comments to reflect current usage.
3273 (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
3274 and MIPS_R_SWITCH, as well as several empty entries. Update comment
3275 for MIPS_R_PCREL16.
3276 (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
3277 (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
3278 for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3279 (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
3280 type number to be MIPS_R_PCREL16.
3281 (mips_relocate_section): Remove support for link-time relaxation
3282 of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH,
3283 MIPS_R_RELLO, and MIPS_R_RELHI relocations.
3284 (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
3285 * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
3286 relaxation of branches used by embedded-PIC.
3287 * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
3288 * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
3289 related members, update comment.
3290 * pe-mips.c: Remove disabled (commented-out and #if 0'd)
3291 code related to embedded-PIC.
3292 * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
3293 initialization of now-removed 'adjust' member of
3294 'struct ecoff_debug_info'.
3295
b32de0bc 32962004-04-23 Chris Demetriou <cgd@broadcom.com>
8472310d
CD
3297
3298 * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
3299
955af222
PB
33002004-04-21 Philip Blundell <pb@nexus.co.uk>
3301
3302 * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
3303 relocs for locally defined symbols during -shared final link.
3304 (elf32_arm_final_link_relocate): Likewise.
3305
47a9f7b3
JJ
33062004-04-22 Jakub Jelinek <jakub@redhat.com>
3307
3308 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
3309 ELF_LINK_POINTER_EQUALITY_NEEDED.
3310 (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
3311 if r_type is not R_X86_64_PC32.
3312 (elf64_x86_64_finish_dynamic_symbol): If
3313 ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
3314 SHN_UNDEF symbols.
3315
1f1799d5
KK
33162004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3317
3318 * elf32-sh.c (sh_elf_plt_sym_val): New function.
3319 (elf_backend_plt_sym_val): Define.
3320
0fdea5ce
AC
33212004-04-22 Andrew Cagney <cagney@redhat.com>
3322
3323 * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
3324
5198ba8b
DA
33252004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3326
eb61d2d6 3327 * hpux-core.c (hpux_core_core_file_p): Add cast in call to
5198ba8b
DA
3328 make_bfd_asection.
3329 * som.c (som_set_section_contents): Constantify second argument.
3330 (hppa_som_gen_reloc_type): Abort for unsupported selectors.
3331 (som_object_setup): Rework to avoid warning.
3332 (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
3333 Likewise.
3334
fe2e161a
AC
33352004-04-22 Andrew Cagney <cagney@redhat.com>
3336
3337 * cache.c (bfd_cache_close): Check for a previously closed file.
3338
4c45e5c9
JJ
33392004-04-22 Jakub Jelinek <jakub@redhat.com>
3340
3341 * bfd.c (bfd_get_synthetic_symtab): Define.
3342 * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
3343 NAME##_get_synthetic_symtab.
3344 (struct bfd_target): Add _bfd_get_synthetic_symtab.
3345 * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
3346 * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
3347 relplt_name fields.
3348 (_bfd_elf_get_synthetic_symtab): New prototype.
3349 * elfcode.h (elf_get_synthetic_symtab): Define.
3350 * elf.c (_bfd_elf_get_synthetic_symtab): New function.
3351 * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
3352 (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
3353 (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
3354 * bfd-in2.h: Rebuilt.
3355 * libbfd.h: Rebuilt.
3356 * elf32-i386.c (elf_i386_plt_sym_val): New function.
3357 (elf_backend_plt_sym_val): Define.
3358 * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
3359 (elf_backend_plt_sym_val): Define.
3360 * elf32-s390.c (elf_s390_plt_sym_val): New function.
3361 (elf_backend_plt_sym_val): Define.
3362 * elf64-s390.c (elf_s390_plt_sym_val): New function.
3363 (elf_backend_plt_sym_val): Define.
3364 * elf32-sparc (elf32_sparc_plt_sym_val): New function.
3365 (elf_backend_plt_sym_val): Define.
3366 * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
3367 (elf_backend_plt_sym_val): Define.
3368 * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
3369 (elf_backend_plt_sym_val): Define.
3370 * aout-target.h (MY_get_synthetic_symtab): Define.
3371 * aout-tic30.c (MY_get_synthetic_symtab): Define.
3372 * coff-rs6000.c (rs6000coff_vec): Add
3373 _bfd_nodynamic_get_synthetic_symtab.
3374 (pmac_xcoff_vec): Likewise.
3375 * coff64-rs6000.c (rs6000coff64_vec): Add
3376 _bfd_nodynamic_get_synthetic_symtab.
3377 (aix5coff64_vec): Likewise.
3378 * sunos.c (MY_get_synthetic_symtab): Define.
3379 * vms.c (vms_get_synthetic_symtab): Define.
3380
d2f7ecac
NC
33812004-04-22 Nick Clifton <nickc@redhat.com>
3382
3383 * bfd.c (bfd_archive_filename): Return NULL on NULL input.
3384
fd99574b
NC
33852004-04-22 Peter Barada <peter@the-baradas.com>
3386
3387 * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
3388 * bfd2-in.h: Regenerate.
3389 * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
3390
23867d67
CD
33912004-04-21 Chris Demetriou <cgd@broadcom.com>
3392
3393 * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
3394 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
3395 * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
3396 (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
3397 * bfd-in2.h: Regenerate.
3398
2c8c90bc
BW
33992004-04-21 Bob Wilson <bob.wilson@acm.org>
3400
3401 * elf32-xtensa.c (is_same_value): Add final_static_link argument and
3402 require relocations against a weak symbol to reference the same
3403 symbol hash entry if not a final, static link.
3404 (get_cached_value, add_value_map): Add final_static_link argument.
3405 (remove_literals): Pass final_static_link argument as needed.
3406
40838a72
AC
34072004-04-21 Andrew Cagney <cagney@redhat.com>
3408
3409 * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
3410 (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
3411 (opncls_bwrite, opncls_bclose, opncls_bflush)
3412 (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
3413 bfd iovec that uses function callbacks.
3414 (bfd_close): Use the iovec's bclose.
3415 * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
3416 (cache_bclose, cache_bflush, cache_bstat)
3417 (cache_iovec): New functions and global variable, implement a
3418 cache "iovec", where applicable set bfd_error.
3419 (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
3420 * bfdio.c (struct bfd_iovec): Define.
3421 (real_read): Delete function.
3422 (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
3423 (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
3424 assume that bread and bwrite set bfd_error.
3425 * bfd.c (struct bfd): Add "iovec", update comments.
3426 * bfd-in2.h, libbfd.h: Re-generate.
3427
7f919c84
AC
34282004-04-21 Andrew Cagney <cagney@redhat.com>
3429
3430 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3431
715df9b8
EB
34322004-04-21 Eric Botcazou <ebotcazou@act-europe.fr>
3433
3434 * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
3435 (bfd_elf_gc_sections): Fail if a shared object is being created.
3436 Do not fail if dynamic sections have been created. Instead call
3437 elf_gc_mark_dynamic_ref_symbol to mark sections that contain
3438 dynamically referenced symbols. Do not mark the whole graph
3439 rooted at .eh_frame, only the section proper.
3440
6482c264
NC
34412004-04-20 DJ Delorie <dj@redhat.com>
3442
3443 * reloc.c: Add BFD_RELOC_32_SECREL.
3444 * bfd-in2.h: Regenerate.
3445 * libbfd.h: Likewise.
3446 * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
3447 (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
3448 (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
3449
4dc570c2
JJ
34502004-04-19 Jakub Jelinek <jakub@redhat.com>
3451
3452 * elf32-sparc.c (elf32_sparc_relocate_section): Handle
3453 relocs against hidden/protected undefweak symbols properly.
3454 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3455
0b60d5d3
MK
34562004-04-18 Mark Kettenis <kettenis@gnu.org>
3457
3458 * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
3459 * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
3460 core files.
3461
d48bdb99
AM
34622004-04-17 Brian Ford <ford@vss.fsi.com>
3463
3464 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
3465 filepos for the SizeOfHeaders field.
3466 (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
3467 overflow.
3468 (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
3469
57a1784e
AM
34702004-04-16 Alan Modra <amodra@bigpond.net.au>
3471
3472 * simple.c (bfd_simple_get_relocated_section_contents): Don't
3473 change reloc_done. Set and restore _cooked_size.
3474 (RETURN): Delete.
3475
d1ad3f6f
MK
34762004-04-15 Mark Kettenis <kettenis@gnu.org>
3477
3478 * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
3479 core files.
3480
3d1bca9d
NC
34812004-04-15 Nick Clifton <nickc@redhat.com>
3482
3483 * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
3484
019b892f
AM
34852004-04-15 Alan Modra <amodra@bigpond.net.au>
3486
3487 * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
3488
15b43f48
AM
34892004-04-15 H.J. Lu <hongjiu.lu@intel.com>
3490
3491 * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
3492 when it is a definition.
3493
6de00a78
AM
34942004-04-14 Alan Modra <amodra@bigpond.net.au>
3495
3496 * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
3497 when statically linking PIC code.
3498 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3499
279500de
TS
35002004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3501
3502 * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
3503 * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
3504 targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
3505 * configure: Regenerate.
3506
ccf2f652
RS
35072004-04-08 Richard Sandiford <rsandifo@redhat.com>
3508
3509 * elflink.c: Include libiberty.h.
3510 * Makefile.am (elflink.lo): Depend on libiberty.h.
3511 * Makefile.in: Regenerate.
3512
ca07892d
DJ
35132004-04-06 Daniel Jacobowitz <drow@mvista.com>
3514
3515 * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
3516 ".MIPS.stubs".
3517
a5a58ba4
L
35182004-04-05 H.J. Lu <hongjiu.lu@intel.com>
3519
3520 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
3521 reserve the memory for dynamic linker
3522
24d18d30
MK
35232004-04-05 Mark Kettenis <kettenis@gnu.org>
3524
3525 * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
3526 (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
3527
a4d7b4b5
L
35282004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3529
3530 * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
3531 RELOC_FOR_GLOBAL_SYMBOL.
3532 (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
3533
1f433d93
L
35342004-04-02 H.J. Lu <hongjiu.lu@intel.com>
3535
3536 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
3537 R_ARM_ALU* only if OLD_ARM_ABI is not defined.
3538
e489d0ae
PB
35392004-04-01 Paul Brook <paul@codesourcery.com>
3540
3541 * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
3542 * elf32-arm.h (struct elf32_elf_section_map): New.
3543 (struct _arm_elf_section_data): New.
3544 (elf32_arm_section_data): Define.
3545 (struct elf32_arm_link_hash_table): Add byteswap_code.
3546 (elf32_arm_link_hash_table_create): Initialize byteswap_code.
3547 (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
3548 (elf32_arm_post_process_headers): Set EF_ARM_BE8.
3549 (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
3550 elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
3551 (bfd_elf32_new_section_hook, elf_backend_write_section,
3552 elf_backend_link_output_symbol_hook): Define.
3553
66a695f0
NC
35542004-04-01 Andy Chittenden <achittenden@bluearc.com>
3555
3556 * stabs.c (struct stab_link_includes_totals): Add field 'symb'
3557 that keeps the characters in a B_INCL..B_EINCL range.
3558 (_bfd_link_section_stabs): When computing the sum of the
3559 characters in a B_INCL..B_EINCL range also keep a copy of those
3560 characters. Use this information to distinguish between
3561 include sections that have the same sum and the same length
3562 but which are nevertheless unique.
3563
8375c36b
PB
35642004-03-31 Paul Brook <paul@codesourcery.com>
3565
3566 * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
3567 * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
3568
a56b48eb
NC
35692004-03-31 Andy Chittenden <achittenden@bluearc.com>
3570
3571 * stabs.c (struct stab_link_includes_totals): Rename field 'total'
3572 to 'sum_chars' and add field 'num_chars'.
3573 (_bfd_link_section_stabs): When computing the sum of the
3574 characters in a B_INCL..B_EINCL range also keep a count of the
3575 number of characters. Use this information to help distinguish
3576 between include sections when have the same sum but which
3577 nevertheless are still unique.
3578