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