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