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