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