2003-10-07 Roland McGrath <roland@redhat.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
7aaa0689
L
12003-10-16 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elf32-xtensa.c (xtensa_read_table_entries): The external size
4 of entry is 8 bytes.
5
6cee3f79
AC
62003-10-15 Andrew Cagney <cagney@redhat.com>
7
8 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
9 with NAME##_canonicalize_symtab.
10 * libcoff-in.h (coff_canonicalize_symtab): Update.
11 * xsym.h (bfd_sym_canonicalize_symtab): Update.
12 * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
13 * coffgen.c (coff_canonicalize_symtab): Update.
14 * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
15 * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
16 * ieee.c (ieee_vec): Update comment.
17 * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
18 * mmo.c (mmo_canonicalize_symtab): Update.
19 * nlm-target.h (nlm_canonicalize_symtab): Update.
20 * nlmcode.h (nlm_canonicalize_symtab): Update.
21 * i386msdos.c (msdos_canonicalize_symtab): Update.
22 * hp300hpux.c (MY (canonicalize_symtab)): Update.
23 * oasys.c (oasys_canonicalize_symtab): Update.
24 * som.c (som_canonicalize_symtab): Update.
25 * pef.c (bfd_pef_canonicalize_symtab): Update.
26 * nlmcode.h (nlm_canonicalize_symtab): Update.
27 * xsym.c (bfd_sym_canonicalize_symtab): Update.
28 * vms.c (vms_canonicalize_symtab): Update.
29 * versados.c (versados_canonicalize_symtab): Update.
30 * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
31 * ieee.c (ieee_canonicalize_symtab): Update.
32 * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
33 * reloc.c: Update comment.
34 * libaout.h (NAME(aout,canonicalize_symtab)): Update.
35 * coff64-rs6000.c (aix5coff64_vec): Update.
36 * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
37 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
38 * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
39 * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
40 * hp300hpux.c (MY_canonicalize_symtab): Update.
41 * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
42 * aout-tic30.c (MY_canonicalize_symtab): Update.
43 * aout-target.h (MY_canonicalize_symtab): Update.
44 * ppcboot.c (ppcboot_canonicalize_symtab): Update.
45 * elf.c (_bfd_elf_canonicalize_symtab): Update.
46 * elfcode.h (elf_canonicalize_symtab): Update.
47 * ihex.c (ihex_canonicalize_symtab): Update.
48 * tekhex.c (tekhex_canonicalize_symtab): Update.
49 * binary.c (binary_canonicalize_symtab): Update.
50 * srec.c (srec_canonicalize_symtab): Update.
51
6288878d
KH
522003-10-15 Kazu Hirata <kazu@cs.umass.edu>
53
54 * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
55
46e993b9
KK
562003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
57
58 * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
59 relocations.
60 (sh_elf_check_relocs): Likewise.
61
62 * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
63 (sh64_elf_merge_symbol_attribute): New.
64 * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
65 (sh64_elf64_merge_symbol_attribute): New.
66
9bf7216d
KK
672003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
68
69 * elf-bfd.h (struct elf_backend_data): New function pointer member
70 elf_backend_merge_symbol_attribute.
71 * elflink.h (elf_link_add_object_symbols): Adjust call to
72 elf_backend_merge_symbol_attribute if the backend defined it.
73 * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
74 (elfNN_bed): Add that to the initializer.
75
b614a702
BW
762003-10-14 Bob Wilson <bob.wilson@acm.org>
77
78 * elf32-xtensa.c (get_is_linkonce_section): Delete.
79 (xtensa_is_property_section, xtensa_is_littable_section): Use
80 XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
81 linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
82 (xtensa_get_property_section_name): Check section name instead of
83 calling get_is_linkonce_section. Remove unused bfd parameter. Use
84 XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
85 linkonce section names by appending ".xt.insn" or ".xt.lit".
86 (xtensa_read_table_entries): Remove bfd argument in call to
87 xtensa_get_property_section_name. Free section name when done.
88 (elf_xtensa_combine_prop_entries): Free leaking table.
89
98a8deaf
RS
902003-10-13 Richard Sandiford <rsandifo@redht.com>
91
92 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
93 DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
94 (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
95 handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
96 that were needed.
97 (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
98 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
99
3f7deb8a
L
1002003-10-13 H.J. Lu <hongjiu.lu@intel.com>
101
102 * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
103 (bfd_elf64_ia64_after_parse): Likewise.
104 * bfd-in2.h: Regenerated.
105
106 * elfxx-ia64.c (oor_ip): New.
107 (oor_branch_size): Likewise.
108 (bfd_elfNN_ia64_after_parse): Likewise.
109 (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
110 equals sizeof (oor_ip).
111
0c72ffe0
KK
1122003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
113
114 * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
115 renumbering of some relocation numbers.
116
8d6ad26e
AM
1172003-10-11 Alan Modra <amodra@bigpond.net.au>
118
119 * coff-sh.c: Move definition of MAP and guard more code with
120 COFF_IMAGE_WITH_PE.
a7f49d81
AM
121
122 * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
16b79bec 123 * bfd-in2.h: Regenerate.
a7f49d81 124
ede6aaf3
L
1252003-10-10 H.J. Lu <hongjiu.lu@intel.com>
126
127 * Makefile.am: Run "make dep-am".
128 * Makefile.in: Regenerate.
129 * doc/Makefile.in: Likewise.
130
a3aa4448
L
1312003-10-09 H.J. Lu <hongjiu.lu@intel.com>
132
133 * cofflink.c: Include "safe-ctype.h".
134 (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
135
9c8ee639
DB
1362003-10-08 Dave Brolley <brolley@redhat.com>
137 On behalf of Michael Snyder <msnyder@redhat.com>
138
139 * archures.c: Add FRV fr550 machine.
140 * cpu-frv.c: Ditto.
141 * elf32-frv.c: Ditto.
142 * bfd-in2.h: Regenerate.
143
6a691779
TS
1442003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
145
146 * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
147 for non-SGI N64 ABI. Improve code consitency.
148
b15b52ef
AO
1492003-10-07 Alexandre Oliva <aoliva@redhat.com>
150
151 * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
152 rightshift to 2.
153
cd339148
NS
1542003-10-07 Nathan Sidwell <nathan@codesourcery.com>
155
29ca8dc5
NS
156 * libbfd-in.h (_bfd_link_section_stabs): Add string offset
157 parameter.
158 * cofflink.c (coff_link_add_symbols): Deal with split stab
159 sections.
160 * elflink.h (elf_link_add_object_symbols): Deal with split stab
161 sections.
162 * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
163 * libbfd.h: Regenerated.
164
cd339148
NS
165 * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
166 overflow, set reloc start position to after the count
167 reloc. Subtract one from num relocs. Give error on 0xffff relocs
168 and no overflow.
169 * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
170 overflow.
171 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
172 0xffff.
173
10cf14ea
L
1742003-10-06 H.J. Lu <hongjiu.lu@intel.com>
175
176 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
177 last CIE/FDE if needed.
178
afa105f8
NC
1792003-10-06 Nick Clifton <nickc@redhat.com>
180
181 * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
182 BFD64 is enabled.
183
85cf2a8a
NC
1842003-10-06 Matt Thomas <matt@3am-software.com>
185
8d6ad26e 186 * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
85cf2a8a 187
4615568e
NC
1882003-10-06 Robert Millan <robertmh@gnu.org>
189
190 * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
191 * config.bfd: Likewise.
192 * configure: Regenerate.
193
8b7cf393
CG
1942003-10-04 Christian Groessler <chris@groessler.org>
195
196 * coff-z8k.c (extra_case): Fix displacement length check for R_JR
197 and R_CALLR.
198
0a6a3ebe
SC
1992003-10-04 Stephane Carrez <stcarrez@nerim.fr>
200
201 * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
202 * elf32-m68hc11.c: Likewise.
203 * elf32-m68hc12.c: Likewise.
204 * elf32-m68hc1x.h: Likewise.
205
17e58af0
SC
2062003-10-04 Stephane Carrez <stcarrez@nerim.fr>
207
208 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
209 of flags between HC12 and HCS12.
210
27c630ba
NC
2112003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
212
213 * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
214 which become empty after merging.
215
1fc0d173
JJ
2162003-09-30 Jakub Jelinek <jakub@redhat.com>
217
218 * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
219 R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
220
5f74bc13
CD
2212003-09-30 Chris Demetriou <cgd@broadcom.com>
222
223 * archures.c (bfd_mach_mipsisa64r2): New define.
224 * bfd-in2.h: Regenerate.
225 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
226 * cpu-mips.c (I_mipsisa64r2): New enum value.
227 (arch_info_struct): Add entry for I_mipsisa64r2.
228 * elfxx-mips.c (_bfd_elf_mips_mach)
229 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
230 (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
231 (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
232
b59dd4a5
L
2332003-09-29 H.J. Lu <hongjiu.lu@intel.com>
234
235 * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
236 Handle SHN_IA_64_ANSI_COMMON.
237 (elf_backend_section_from_bfd_section): Defined.
238
243ef1e0
L
2392003-09-26 H.J. Lu <hongjiu.lu@intel.com>
240
241 * elflink.c (elf_link_read_relocs_from_section): Add an argument
242 of a pointer to section. Check bad symbol index.
243 (_bfd_elf_link_read_relocs): Modify calls to
244 elf_link_read_relocs_from_section.
245
d38eb334
DD
2462003-09-23 DJ Delorie <dj@redhat.com>
247
248 * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
249 R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
250 R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
251 R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
252 R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
253 R_SH_PSHA, R_SH_PSHL added.
254 (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
255 (sh_elf_relocate_section): Support new relocs.
256
f0578e28
BW
2572003-09-23 Bob Wilson <bob.wilson@acm.org>
258
259 * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
260 dynamic relocation offsets.
261
010b84c1
AM
2622003-09-23 Alan Modra <alan@modra.org>
263
264 * simple.c (bfd_simple_get_relocated_section_contents): Free the
265 hash table using _bfd_generic_link_hash_table_free.
266
7dcb9820
AM
2672003-09-23 Alan Modra <alan@modra.org>
268
269 * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
270 type of prefix_length and suffix_length to int. Rename "attributes"
271 to "attr". Comment.
272 (_bfd_elf_get_sec_type_attr): Update prototype.
273 * elf.c (get_special_section): Rewrite.
274 (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
275 attr and type pointers.
276 (_bfd_elf_new_section_hook): Adjust for above.
277 (special_sections): Merge suffix with prefix. Set
278 prefix_length for all entries. Set suffix_length appropriately.
279 * elf32-m32r.c (m32r_elf_special_sections): Likewise.
280 * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
281 * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
282 * elf32-mcore.c (mcore_elf_special_sections): Likewise.
283 * elf32-sh64.c (sh64_elf_special_sections): Likewise.
284 * elf32-v850.c (v850_elf_special_sections): Likewise.
285 * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
286 * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
287 * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
288 * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
289 * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
290 * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
291 * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
292 * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
293
61bcf373
DJ
2942003-09-21 Daniel Jacobowitz <drow@mvista.com>
295
296 * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
297 ->got if the section already exists.
298
8bfd78b3
NS
2992003-09-19 Nathan Sidwell <nathan@codesourcery.com>
300
301 * dwarf2.c (decode_line_info): Cope with an initially empty
302 filename table.
303
6726e1ea
L
3042003-09-18 H.J. Lu <hongjiu.lu@intel.com>
305
306 * acinclude.m4: Include ../config/accross.m4.
307 * aclocal.m4: Regenerated.
308
309 * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
310 or long long.
311 (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
312 (host64): Remove if HOST_64BIT_TYPE is set to long.
313
314 * configure.in (HOST_64BIT_TYPE): Set according to the size of
315 long and long long.
316 (HOST_U_64BIT_TYPE): Likewise.
317 (host64): Likewise.
318 * configure: Regenerated.
319
5de3bf90
AM
3202003-09-19 Alan Modra <amodra@bigpond.net.au>
321
322 * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
323 since some ABIs round up the size of the struct.
324
9e4d8df3
L
3252003-09-18 H.J. Lu <hongjiu.lu@intel.com>
326
327 * elflink.c (_bfd_elf_merge_symbol): Allow type change if
328 the old symbol is undefined and the new symbol is defined.
329
228ce064
AS
3302003-09-18 Andreas Schwab <schwab@suse.de>
331
332 * simple.c (bfd_simple_get_relocated_section_contents): Use
333 _bfd_generic_link_hash_table_create instead of
334 bfd_link_hash_table_create.
335
fdbdabdd
L
3362003-09-10 H.J. Lu <hongjiu.lu@intel.com>
337
338 * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
339 started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
340
a252afa4
DA
3412003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
342 Randolph Chung <randolph@tausq.org>
343
344 * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
345 hppa_link_hash_newfunc, hppa_build_one_stub,
346 elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
347 allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
348 elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
349 for generating import stubs for calls to statically linked PIC
350 functions.
351 (hppa_type_of_stub): Don't generate an import stub for calls to
352 statically linked pic functions. Generate import stubs for calls
353 in a shared object, to functions not in a regular file, and to
354 defined weak functions. Add new argument INFO.
355 (hppa_build_one_stub): Don't undef ADDIL_DP.
356 (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
357 (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
358 (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
359 non-shared link. Convert instructions that use the the linkage table
360 pointer, or a facsimile thereof, to use the global data pointer when
361 the reloc has been changed.
362
42acdc7c
JB
3632003-09-08 Joel Brobecker <brobecker@gnat.com>
364
365 * archures.c: Add new machine names for hppa.
366 * bfd-in2.h: Regenerate.
367 * cpu-hppa.c: Use the new machine names.
368
2a0e29b4
SC
3692003-09-06 Stephane Carrez <stcarrez@nerim.fr>
370
371 * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
372 all_local_syms member.
373 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
374 to get the local symbols.
375
3f533aa9
SC
3762003-09-06 Stephane Carrez <stcarrez@nerim.fr>
377
378 * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
379 (elf_backend_special_sections): Define.a
380
381 PR savannah/4950:
382 * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
383 section is read-only.
384
8ad30312
NC
3852003-09-04 Nick Clifton <nickc@redhat.com>
386
387 * archures.c (bfd_mach_v850e1): Define.
388 * bfd-in2.h: Regenerate.
389 * cpu-v850.h (scan): Accept bfd_mach_v850e1.
390 (arch_info_struct): Include an entry for bfd_mach_v850e1.
391 * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
392 (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
393 (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
394 (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
395 linked with v850e binaries. Mark the output as v850e.
5de3bf90 396
3922a8c1
NC
3972003-09-03 Nick Clifton <nickc@redhat.com>
398
5de3bf90 399 * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
3922a8c1
NC
400 symbols that are used in relocs.
401
13dfd2d0
NC
4022003-08-30 Robert Millan <robertmh@gnu.org>
403
404 * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
405 * config.bfd: Likewise.
406 * configure: Regenerate.
407
1c0881dd
CG
4082003-08-31 Christian Groessler <chris@groessler.org>
409
410 * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
411 instead of returning bfd_reloc_continue.
412
ac0e732e
AJ
4132003-08-31 Andreas Jaeger <aj@suse.de>
414
415 * merge.c: Update to ISO C90.
416
ec317fb1
ILT
4172003-08-27 Ian Lance Taylor <ian@airs.com>
418
49c97a80
ILT
419 * configure.in: Check for strtoull.
420 * bfd.c (bfd_scan_vma): Use strtoull when available.
421 * configure, config.in: Regenerate.
422
ec317fb1
ILT
423 * configure.in: Define and substitute BFD_HOST_LONG_LONG.
424 * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
425 __GNUC__ when deciding whether to use long long for
426 BFD_HOST_64_BIT.
427 * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
428
d539b3aa
CG
4292003-08-27 Christian Groessler <chris@groessler.org>
430
431 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
432 i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
433 functions.
434 (elf32_i860_howto_table): Insert the new functions as
435 'special_function's in the proper reloc type entries.
436
73052b5e
RS
4372003-08-27 Richard Sandiford <rsandifo@redhat.com>
438
439 * elf32-frv.c (elf32_frv_relocate_section): Use
440 _bfd_elf_rela_local_sym.
441
2c848f79
MS
4422003-08-26 Michael Snyder <msnyder@redhat.com>
443
444 * cpu-frv.c: Remove unused enum.
445
980491e6
MR
4462003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
447
448 * reloc.c: Fix documentation for MIPS ELF relocations.
449 libbfd.h: Regenerate.
450 bfd-in2.h: Regenerate.
451
6d1227b8
JE
4522003-08-24 Jason Eckhardt <jle@rice.edu>
453
5de3bf90 454 * coff-i860.c (CALC_ADDEND): Define to be a no-op.
6d1227b8 455
f680ea79
JE
4562003-08-24 Jason Eckhardt <jle@rice.edu>
457
458 * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
459 shift by 2 before storing the relocated value.
460
c28b1c28
JE
4612003-08-23 Jason Eckhardt <jle@rice.edu>
462
5de3bf90 463 * coff-i860.c (coff_i860_reloc_nyi): New function.
c28b1c28
JE
464 (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
465 LOWn, SPLITn, and BRADDR.
466 (RTYPE2HOWTO): Check that the r_type is within the howto_table
467 before trying to access the entry.
468 (coff_i860_rtype_to_howto): Likewise.
469 (coff_i860_reloc_type_lookup): New function.
470 (i860_reloc_processing): New function.
471 (coff_bfd_reloc_type_lookup): Define macro.
472 (RELOC_PROCESSING): Define macro.
473 Minor formatting adjustments.
474
40a0491a
AM
4752003-08-23 Alan Modra <amodra@bigpond.net.au>
476
477 * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
478
69bbc4c0
L
4792003-08-22 H.J. Lu <hongjiu.lu@intel.com>
480
481 * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
482 .got section at 8 bytes.
483
8b956130
NC
4842003-08-21 Nick Clifton <nickc@redhat.com>
485
85db1db4 486 * cofflink.c: Update to ISO C90 and tidy up formatting.
8b956130 487
6c21aa76
NC
4882003-08-21 Randolph Chung <tausq@debian.org>
489
490 * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
491 can have OSABI=Linux or OSABI=SysV. Check for both.
492 * elf64-hppa.c (elf64_hppa_object_p): Likewise.
493
3673a93e
NC
4942003-08-21 Nick Clifton <nickc@redhat.com>
495
496 * po/sv.po: Updated Swedish translation.
497
427b80f4
RS
4982003-08-20 Richard Sandiford <rsandifo@redhat.com>
499
500 * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
501
560e09e9
NC
5022003-08-20 Nick Clifton <nickc@redhat.com>
503
504 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
505 replace some duplicated code in most elfxx-xxxx.c files. This
506 version uses the new fields in bfd_link_info.
507
40a0491a
AM
508 * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
509 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
510 * elf32-cris.c (cris_elf_relocate_section): Likewise.
560e09e9
NC
511 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
512 * elf32-i386.c (elf_i386_relocate_section): Likewise.
513 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
514 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
515 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
516 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
517 * elf32-s390.c (elf_s390_relocate_section): Likewise.
518 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
519 * elf32-vax.c (elf_vax_relocate_section): Likewise.
520 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
521 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
522 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
523 * elf64-s390.c (elf_s390_relocate_section): Likewise.
524 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
525 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
526 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
40a0491a
AM
527
528 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
560e09e9
NC
529 elf_hppa_remark_useless_dynamic_symbols,
530 elf_hppa_relocate_section): Use the new fields in
531 bfd_link_info structure.
532 * elf32-sh.c (sh_elf_relocate_section): Likewise.
533 * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
534 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
535 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
536 * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
537 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
538
539 * elflink.h (elf_link_output_extsym): Fix test for reporting
40a0491a
AM
540 undefined symbols in shared libraries. Remove redundant test
541 of shlib_undefined when reporting references to forced local
542 symbols.
560e09e9 543
4091ea4e
L
5442003-08-18 Andreas Schwab <schwab@suse.de>
545
546 * libpei.h (bfd_pe_executable_p): Also recognize efi-app
547 executables.
548
b0cdc7bc
HPN
5492003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
550
551 * simple.c (bfd_simple_get_relocated_section_contents): Move
552 reloc_done hack to before first bfd_section_size call. Change all
553 returns to use new wrapper macro RETURN, restoring sec->reloc_done.
554
c1993d04
AM
5552003-08-16 Alan Modra <amodra@bigpond.net.au>
556
557 * elf64-ppc.c: Don't include elf/ppc.h.
558
792b4a53
RS
5592003-08-14 Richard Sandiford <rsandifo@redhat.com>
560
561 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
562 code to work with 64-bit bfds.
563
fdc09da8
AM
5642003-08-14 Alan Modra <amodra@bigpond.net.au>
565
566 * dep-in.sed: Remove libintl.h.
567 * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
568 (POTFILES.in): Remove target.
569 * Makefile.in: Regenerate.
570
ee87f2da
AM
5712003-08-12 Alan Modra <amodra@bigpond.net.au>
572
573 * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
574 (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
575 use the function sym from the previous reloc.
576
15f40dfc
JJ
5772003-08-11 Jakub Jelinek <jakub@redhat.com>
578
579 * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
580 fatal if -pie.
581 * elf32-s390.c (elf_s390_relocate_section): Likewise.
582 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
583 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
584 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
585 * elf64-s390.c (elf_s390_relocate_section): Likewise.
586 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
587 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
588 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
589 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
590 (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
591 on undefined symbols if -pie.
592 * elf32-sh.c (sh_elf_relocate_section): Likewise.
593
6ab189d5
AM
5942003-08-11 Alan Modra <amodra@bigpond.net.au>
595
596 * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
597 branch to __libc_start_main.
598
3b260895
NC
5992003-08-08 Dmitry Diky <diwil@mail.ru>
600
6ab189d5
AM
601 * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
602 gcc order.
3b260895
NC
603 * cpu-msp430.c: Likewise.
604 * elf32-msp430.c: Likewise.
605 * bfd-in2.h: Regenerate.
606
c39a58e6
AM
6072003-08-07 Alan Modra <amodra@bigpond.net.au>
608
9c5bfbb7
AM
609 * elfxx-target.h: Remove PTR cast.
610 * targets.c (bfd_target): Make backend_data const void *.
611 * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
612 * elf-m10300.c: Likewise.
613 * elf.c: Likewise.
614 * elf32-hppa.c: Likewise.
615 * elf32-i386.c: Likewise.
616 * elf32-m68hc1x.c: Likewise.
617 * elf32-ppc.c: Likewise.
618 * elf32-s390.c: Likewise.
619 * elf32-sh.c: Likewise.
620 * elf32-sh64.c: Likewise.
621 * elf32-sparc.c: Likewise.
622 * elf32-xtensa.c: Likewise.
623 * elf64-mips.c: Likewise.
624 * elf64-ppc.c: Likewise.
625 * elf64-s390.c: Likewise.
626 * elf64-sh64.c: Likewise.
627 * elf64-sparc.c: Likewise.
628 * elf64-x86-64.c: Likewise.
629 * elfcode.h: Likewise.
630 * elfcore.h: Likewise.
631 * elflink.c: Likewise.
632 * elflink.h: Likewise.
633 * elfxx-ia64.c: Likewise.
634 * elfxx-mips.c: Likewise.
635 * elfxx-mips.h: Likewise.
636 * elf.c (prep_headers): Remove useless check for null backend_data.
637 * bfd-in2.h: Regenerate.
638
c39a58e6
AM
639 * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
640 (NAME): Use ## rather than CONCAT4 macro.
641 * elfcode.h: Remove one remaining PARAMS macro.
642 * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
643 * elf-strtab.c: Likewise.
644 * elf-hppa.h: Likewise.
645 * elf32-hppa.h: Likewise.
646 * elf32-hppa.c: Likewise.
647 (elf32_hppa_add_symbol_hook): Delete.
648 (elf_backend_add_symbol_hook): Don't define.
649 * libhppa.h: Convert to C90. Replace INLINE with inline.
650
97b639ba
AM
6512003-08-06 Alan Modra <amodra@bigpond.net.au>
652
653 * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
654 (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
655 function descriptors, but warn.
656 (ppc_build_one_stub): Remove a couple of vars. Move code creating
657 stub syms so that we can avoid a stub sym if we already have a
658 plt sym. Do not redefine an existing symbol.
659 (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
660 glink.
661
9e7d479d
NC
6622003-08-06 Nick Clifton <nickc@redhat.com>
663
664 * po/fr.po: Updated French translation.
665
77f3d027
AM
6662003-08-06 Alan Modra <amodra@bigpond.net.au>
667
668 * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
669 SEC_LINKER_CREATED.
670
50d6c878
DJ
6712003-08-05 Daniel Jacobowitz <drow@mvista.com>
672
673 * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
674 (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
675
14abcef9
NC
6762003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
677
4a21a492 678 * coffcode.h (coff_slurp_line_table): Return with a warning
14abcef9
NC
679 message if the line number table could not be read.
680
8c675694
NC
6812003-08-04 Nick Clifton <nickc@redhat.com>
682
683 * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
684 to messages produced for .gnu.warning.SYMBOL sections.
685
268b6b39
AM
6862003-08-04 Alan Modra <amodra@bigpond.net.au>
687
688 * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
689 * elfcore.h: Likewise.
690 * elflink.c: Likewise.
691 * elflink.h: Likewise.
692 * elf.c (sym_is_global): Remove INLINE.
693 (align_file_position): Replace INLINE with inline.
694 * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
695 (elf_file_p): Replace INLINE with inline.
696
866f48b7
KK
6972003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
698
699 * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
700
8651fcf9
L
7012003-08-01 H.J. Lu <hongjiu.lu@intel.com>
702
703 * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
704
37cd2629
L
7052003-08-01 H.J. Lu <hongjiu.lu@intel.com>
706
707 * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
708 ElfNN_External_Rela instead of Elf64_External_Rela.
709
91fb2a9d
NC
7102003-08-01 Nick Clifton <nickc@redhat.com>
711
712 * config.bfd: Add code to catch obsolete configurations and warn
713 about them unless --enable-obsolete is used. Use this to mark
714 vax-vms port as obsolete.
715
e656e369
AM
7162003-07-30 Alan Modra <amodra@bigpond.net.au>
717
718 * elf32-ppc.c (ppc_elf_install_value): Tidy.
719 (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
720 Formatting.
721 * elfxx-target.h: Remove PARAMS macro. Formatting.
722
50bc7936
AM
7232003-07-30 Alan Modra <amodra@bigpond.net.au>
724
725 * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
726 * elf64-ppc.c (get_fdh): New function, split out from
727 ppc64_elf_edit_opd.
728 (ppc64_elf_check_relocs): Use get_fdh.
729 (func_desc_adjust): Likewise. Tidy.
730 (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
731 exit. Use get_fdh. Account for superfluous dynamic relocs.
732 (ppc64_elf_relocate_section): Warning fix.
733
a62d170c
JE
7342003-07-30 Jason Eckhardt <jle@rice.edu>
735
736 * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
737
7734b6e9
JE
7382003-07-30 Jason Eckhardt <jle@rice.edu>
739
740 * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
741
37f4508b
AM
7422003-07-30 Randolph Chung <tausq@debian.org>
743
744 * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
745 * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
746
217aa764
AM
7472003-07-30 Alan Modra <amodra@bigpond.net.au>
748
749 * elf.c: Convert to C90, remove unnecessary prototypes and casts.
750 Replace PTR with void *. Formatting.
751 (_bfd_elf_assign_file_position_for_section): Remove INLINE.
752 (make_mapping): Likewise.
753
494dac0c
AM
7542003-07-29 Alan Modra <amodra@bigpond.net.au>
755
756 * elf64-ppc.c (func_desc_adjust): Give linker created function
757 descriptor symbols a size and type.
758 (ppc64_elf_relocate_section): Correct lq insn test.
759
deaaf2f3
EC
7602003-07-28 Eric Christopher <echristo@redhat.com>
761
762 * elf32-ppc.c (R_PPC_RELAX32): New relocation.
763 (ppc_elf_install_value): New function.
764 (ppc_elf_sort_rela): Remove.
765 (ppc_elf_relax_section): Rewrite. Remove old relaxation
766 and replace with out of range branch stubs.
767 (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
768
709e685d
AO
7692003-07-29 Alexandre Oliva <aoliva@redhat.com>
770
771 * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
772 from input_bfd.
773
36c506c5
AM
7742003-07-28 Alan Modra <amodra@bigpond.net.au>
775
776 * elf.c (special_sections): Set attributes for .got and .plt.
777
5d35169e
AM
7782003-07-27 Alan Modra <amodra@bigpond.net.au>
779
780 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
781 on function descriptors.
782 (ELIMINATE_COPY_RELOCS): Expand comment.
783 (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
784 Do include ".toc1".
785
3cddba1e
L
7862003-07-25 H.J. Lu <hongjiu.lu@intel.com>
787
788 * elf.c (_bfd_elf_new_section_hook): Set the default section
789 type to SHT_NULL.
790 (elf_fake_sections): Set the section type based on asect->flags
791 if it is SHT_NULL. Don't abort on processor specific section
792 types.
793
d622ef4b
L
7942003-07-25 H.J. Lu <hongjiu.lu@intel.com>
795
796 * bfd-in2.h: Regenerated.
797
2f89ff8d
L
7982003-07-25 H.J. Lu <hongjiu.lu@intel.com>
799
800 * elf-bfd.h (bfd_elf_special_section): New.
801 (elf_backend_data): Add special_sections, a pointer to
802 bfd_elf_special_section.
803 (elf_section_type). New.
804 (elf_section_flags): New.
805 (_bfd_elf_get_sec_type_attr): New.
806
807 * elf.c (_bfd_elf_make_section_from_shdr): Always use the
808 real section type/flags.
809 (special_sections): New.
810 (get_special_section): New.
811 (_bfd_elf_get_sec_type_attr): New.
812 (_bfd_elf_new_section_hook): Check special_section to set
813 elf_section_type and elf_section_flags.
814 (elf_fake_sections): Don't use section name to set ELF section
815 data.
816
817 * elf32-m32r.c (m32r_elf_special_sections): New.
818 (elf_backend_special_sections): Defined.
819
820 * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
821 (elf_backend_special_sections): Defined.
822
823 * elf32-mcore.c (mcore_elf_special_sections): New.
824 (elf_backend_special_sections): Defined.
825
826 * elf32-ppc.c (ppc_elf_special_sections): New.
827 (elf_backend_special_sections): Defined.
828
829 * elf32-sh64.c (sh64_elf_special_sections): New.
830 (elf_backend_special_sections): Defined.
831
832 * elf32-v850.c (v850_elf_special_sections): New.
833 (elf_backend_special_sections): Defined.
834
835 * elf32-xtensa.c (elf_xtensa_special_sections): New.
836 (elf_backend_special_sections): Defined.
837
838 * elf64-alpha.c (elf64_alpha_special_sections): New.
839 (elf_backend_special_sections): Defined.
840
841 * elf64-hppa.c (elf64_hppa_special_sections): New.
842 (elf_backend_special_sections): Defined.
843
844 * elf64-ppc.c (ppc64_elf_special_sections): New.
845 (elf_backend_special_sections): Defined.
846
847 * elf64-sh64.c (sh64_elf64_special_sections): New.
848 (elf_backend_special_sections): Defined.
849
850 * elfxx-ia64.c (elfNN_ia64_special_sections): New.
851 (elf_backend_special_sections): Defined.
852
853 * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
854
855 * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
856 (elf_backend_special_sections): Defined.
857
858 * elfxx-target.h (elf_backend_special_sections): New. Default
859 to NULL.
860 (elfNN_bed): Initialize special_sections.
861
862 * section.c (bfd_abs_section): Remove const.
863 (bfd_und_section): Likewise.
864 (bfd_com_section): Likewise.
865 (bfd_ind_section): Likewise.
866
20650579
NC
8672003-07-24 Nick Clifton <nickc@redhat.com>
868
869 * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
870 sections are assigned the LOAD attribute.
871
deaaf2f3 8722003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
09fd220b
KK
873
874 * elf32-sh.c: Convert to C90. Replace PTR with void *.
875 * elf32-sh64-com.c: Likewise.
876 * elf32-sh64.c: Likewise.
877 * elf32-sh64.h: Likewise.
878 * elf64-sh64.c: Likewise.
879
3d85aebe
KK
8802003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
881
882 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
883 (allocate_dynrelocs): Likewise.
884 (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
885 (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
886
834d807b
NC
8872003-07-24 Nick Clifton <nickc@redhat.com>
888
889 * po/fr.po: Updated French translation.
890
571b5725
BW
8912003-07-23 Bob Wilson <bob.wilson@acm.org>
892
893 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
894 near the beginning of the file. Swap order of arguments. Call
895 _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
896 (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
897 (elf_xtensa_relocate_section): Likewise.
898 (shrink_dynamic_reloc_sections): Likewise.
899
b536dc1e
BW
9002003-07-23 Bob Wilson <bob.wilson@acm.org>
901
902 * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
903 (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
904 (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
905 first printing an error message.
906 (elf_xtensa_finish_dynamic_sections): Likewise.
907 (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
908 discarding literal table entries.
909 (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
910 (elf_xtensa_do_asm_simplify): Likewise.
911
7f888330
SC
9122003-07-23 Stephane Carrez <stcarrez@nerim.fr>
913
914 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
915 we have a local symbol in common section.
916
ecc27c31
L
9172003-07-22 H.J. Lu <hongjiu.lu@intel.com>
918
919 * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
920 weak symbols.
921
f9f3cf65
NC
9222003-07-22 Nick Clifton <nickc@redhat.com>
923
924 * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
925 expected RS6000 storage classes.
926
bb32e54f
L
9272003-07-21 H.J. Lu <hongjiu.lu@intel.com>
928
929 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
930 output_bfd unused to silence gcc.
931
796f2a93
NC
9322003-07-21 Nick Clifton <nickc@redhat.com>
933
934 * po/sv.po: Updated Swedish translation.
935
f6c52c13
AM
9362003-07-21 Alan Modra <amodra@bigpond.net.au>
937
938 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
939 (_bfd_elf_symbol_refs_local_p): ..this. Declare.
940 * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
941 * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
942 now done in _bfd_elf_symbol_refs_local_p.
943 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
944 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
945 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
946
aa37626c
L
9472003-07-18 H.J. Lu <hongjiu.lu@intel.com>
948
949 * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
950
1e364ec9
L
9512003-07-18 H.J. Lu <hongjiu.lu@intel.com>
952
953 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
954 (SYMBOL_CALLS_LOCAL): Likewise.
955
956 * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
957 immediately if symbol isn't defined locally.
958
986a241f
RH
9592003-07-18 Richard Henderson <rth@redhat.com>
960
961 * elflink.c (_bfd_elf_dynamic_symbol_p): New.
962 * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
963 (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
964 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
965 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
966 * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
967 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
968 Update all callers to provide the relocation being resolved.
969
ac4b3dd8
NC
9702003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
971
972 * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
973 targ_cflags.
974
6c37ac4d
NC
9752003-07-17 Nick Clifton <nickc@redhat.com>
976
977 * po/es.po: New Spanish translation.
978 * po/sv.po: New Swedish translation.
979 * po/opcodes.pot: Regenerate.
980
02e6ad56
RH
9812003-07-16 Richard Henderson <rth@redhat.com>
982
983 * config.bfd, configure.host, configure.in: Remove ia64-aix support.
984 * elfxx-ia64.c, targets.c: Likewise.
985
5686517c
RH
9862003-07-16 Richard Henderson <rth@redhat.com>
987
988 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
989 for symbols defined locally plus -Bsymbolic. Tidy logic.
990
5a7ea749
RS
9912003-07-15 Richard Sandiford <rsandifo@redhat.com>
992
993 * archures.c (bfd_mach_mips7000): New.
994 * bfd-in2.h: Regenerated.
995 * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
996 * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
997 (mips_mach_extensions): Add an entry for it.
998
76bff705
NC
9992003-07-14 Nick Clifton <nickc@redhat.com>
1000
1001 * po/tr.po: Update with latest version.
1002 * po/SRC-POTFILES.in: Regenerate.
1003 * po/bfd.pot: Regenerate.
1004 * Makfile.in: Regenerate.
1005 * configure: Regenerate.
1006
d0facd1b
NC
10072003-07-12 Jeff Baker <jbaker@qnx.com>
1008
1009 * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
1010 * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1011 * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1012 * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1013
bcb9b88d
NC
10142003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
1015
1016 * coffcode.h (coff_set_section_contents): Set the
1017 IMAGE_FILE_32BIT_MACHINE flag for PE targets.
1018
7a9823f1
RS
10192003-07-11 Richard Sandiford <rsandifo@redhat.com>
1020
1021 * bfd-in.h (bfd_h8300_pad_address): Declare.
1022 * bfd-in2.h: Regenerate.
1023 * cpu-h8300.c (bfd_h8300_pad_address): New function.
1024 * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
1025 addresses before checking whether they can be relaxed.
1026 (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
1027 Don't complain about overflows in general 8-bit relocations.
1028 * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
1029 Fix handling of R_H8_DIR24A8.
1030
c6baf75e
RS
10312003-07-11 Richard Sandiford <rsandifo@redhat.com>
1032
1033 * elf32-h8300.c: Convert function prototypes and definitions
1034 to C90 syntax.
1035 * coff-h8300.c: Likewise.
1036 * cpu-h8300.c: Likewise.
1037
fce00800
AM
10382003-07-11 Alan Modra <amodra@bigpond.net.au>
1039
1040 * po/SRC-POTFILES.in: Regenerate.
1041 * po/bfd.pot: Likewise.
1042
e901de89
BW
10432003-07-10 Bob Wilson <bob.wilson@acm.org>
1044
1045 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
1046 .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
1047 .xt.lit.plt section.
1048 (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
1049 and allocate memory for it.
1050 (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
1051 section to the .got.loc section.
1052 (elf_xtensa_finish_dynamic_sections): Fix up call to
1053 elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
1054 the address of .got.loc.
1055 (relax_property_section): Shrink .got.loc to match changes in any
1056 literal table section.
1057 (xtensa_is_property_section): Change to match
1058 xtensa_get_property_section_name.
1059 (xtensa_is_littable_section): New.
1060
eff26f78
L
10612003-07-10 H.J. Lu <hongjiu.lu@intel.com>
1062
1063 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
1064 -1LL.
1065
942e0f42
AM
10662003-07-10 Alan Modra <amodra@bigpond.net.au>
1067
1068 * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
1069 (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
1070 Run "make dep-am".
1071 * Makefile.in: Regenerate.
1072
73c3cd1c
AO
10732003-07-10 Alexandre Oliva <aoliva@redhat.com>
1074
1075 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
1076 * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
1077 (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
1078 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
1079 * elf32-am33lin.c: Rename global functions.
1080 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
1081 * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
1082 * configure.in (bfd_elf32_am33lin_vec): Added.
1083 * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
1084 (elf32-am33lin.lo): List dependencies.
1085 * aclocal.m4, configure, Makefile.in: Rebuilt.
1086 * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
1087 ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
1088 ELF_ARCH was not defined before.
1089 (elf_symbol_leading_char): Define if not defined.
1090 * elf32-am33lin.c: Override the definitions above.
1091 * targets.c (bfd_elf32_am33lin_vec): New.
1092
03a12831
AO
10932003-07-09 Alexandre Oliva <aoliva@redhat.com>
1094
1095 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
1096 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
1097 pcrel_relocs_copied.
1098 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
1099 * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
1100 ld-linux.so.2 to ld.so.1.
1101 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
1102 * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
1103 (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
1104 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1105 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
1106 .rela.* section contents with bfd_zalloc.
1107 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
1108 * elf-m10300.c: Added declarations for functions missing them.
1109 Merge some shared-library changes from the i386 back-end. Use
1110 R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
1111 R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
1112 (struct elf32_mn10300_link_hash_entry): Remove duplicates of
1113 members of elf_link_hash_entry. Adjusted references.
1114 (mn10300_elf_final_link_relocate): dynobj was already loaded
1115 into a local variable, use it.
1116 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
1117 * elf-m10300.c: Add missing function prototypes.
1118 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
1119 * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
1120 relocation for dynamic relocations.
1121 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
1122 * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
1123 * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
1124 PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
1125 (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
1126 (_bfd_mn10300_elf_create_got_section): ... here, so that its
1127 adress is already known at the time we compute relaxations.
1128 (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
1129 and PLT32 to narrower relocations.
1130 * libbfd.h, bfd-in2.h: Rebuilt.
1131 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
1132 * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
1133 BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
1134 BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
1135 BFD_RELOC_MN10300_RELATIVE): New relocs.
1136 * libbfd.h, bfd-in2.h: Rebuilt.
1137 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
1138 (struct elf32_mn10300_link_hash_entry): Added DSO-related
1139 fields.
1140 (elf_mn10300_howto): Defined new relocation types.
1141 (mn10300_reloc_map): Map them.
1142 (_bfd_mn10300_elf_create_got_section): New fn.
1143 (mn10300_elf_check_relocs): Handle PIC relocs.
1144 (mn10300_elf_final_link_relocate): Likewise.
1145 (mn10300_elf_relocate_section): Handle DSOs.
1146 (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
1147 (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
1148 elf_mn10300_pic_plt_entry): New.
1149 (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
1150 elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
1151 elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
1152 elf_mn10300_plt_reloc_offset: New macros.
1153 (ELF_DYNAMIC_INTERPRETER): Likewise.
1154 (_bfd_mn10300_elf_create_dynamic_sections): New function.
1155 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
1156 (_bfd_mn10300_elf_discard_copies): Likewise.
1157 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
1158 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1159 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
1160 (elf_backend_can_gc_sections,
1161 elf_backend_create_dynamic_sections,
1162 elf_backend_adjust_dynamic_sections,
1163 elf_backend_size_dynamic_sections,
1164 elf_backend_finish_dynamic_symbol,
1165 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
1166 elf_backend_plt_readonly, elf_backend_want_plt_sym,
1167 elf_backend_got_header_size, elf_backend_plt_header_size): New
1168 macros.
1169
b08fa4d3
AO
11702003-07-09 Alexandre Oliva <aoliva@redhat.com>
1171
1172 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
1173 * elf-m10300.c (compute_function_info): Account for AM33
1174 registers in `movm' when computing stack space for `call' when
1175 linking for AM33/2.0 link.
1176 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
1177 * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
1178 * bfd-in2.h: Rebuilt.
1179 * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
1180 * elf-m10300.c: Updated.
1181 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
1182 * archures.c (bfd_mach_am332): Defined.
1183 * bfd-in2.h: Rebuilt.
1184 * cpu-m10300.c (bfd_am332_arch): Defined.
1185 (bfd_am33_arch): Chained with am33-2.
1186 * elf-m10300.c (elf_mn10300_mach): Handle am332.
1187 (_bfd_mn10300_elf_final_write_processing): Likewise.
1188
201933ea
L
11892003-07-09 H.J. Lu <hongjiu.lu@intel.com>
1190
1191 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
1192
e717da7e
AM
11932003-07-10 Alan Modra <amodra@bigpond.net.au>
1194
1195 * elf64-ppc.c (bfd_elf64_mkobject): Define.
1196 (struct ppc64_elf_obj_tdata): New.
1197 (ppc64_elf_tdata, ppc64_tlsld_got): Define.
1198 (ppc64_elf_mkobject): New function.
1199 (struct got_entry): Add "owner". Move "tls_type".
1200 (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
1201 (ppc64_elf_init_stub_bfd): New function.
1202 (create_got_section): Create header .got in dynobj. Create .got
1203 and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
1204 (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
1205 Look for dynobj .got, and test it.
1206 (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
1207 (update_local_sym_info): Likewise.
1208 (ppc64_elf_check_relocs): Likewise.
1209 (ppc64_elf_gc_sweep_hook): Likewise.
1210 (ppc64_elf_tls_optimize): Likewise.
1211 (allocate_dynrelocs): Likewise.
1212 (ppc64_elf_size_dynamic_sections): Likewise.
1213 (ppc64_elf_relocate_section): Likewise.
1214 (ppc64_elf_next_toc_section): Update comment.
1215 (toc_adjusting_stub_needed): Remove unneeded cast.
1216 (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
1217 testing section flags.
1218 (ppc64_elf_build_stubs): Likewise.
1219 (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
1220 (ppc64_elf_finish_dynamic_sections): Write out got sections.
1221 (func_desc_adjust): Copy over dynamic info for undef weaks.
1222 * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
1223 (ppc64_elf_size_stubs): Update prototype.
1224 * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
1225 input sections rather than scanning dynobj.
1226
18ad015f
RS
12272003-07-09 Richard Sandiford <rsandifo@redhat.com>
1228
1229 * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
1230 (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
1231 (mips_elf_create_msym_section): Delete.
1232 (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
1233 (_bfd_mips_elf_copy_indirect_symbol): Likewise.
1234 (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
1235 (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
1236 (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
1237 (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
1238 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1239
e10609d3
RS
12402003-07-09 Richard Sandiford <rsandifo@redhat.com>
1241
1242 * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
1243 symbols protected.
1244
0d591ff7
RS
12452003-07-09 Richard Sandiford <rsandifo@redhat.com>
1246
1247 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
1248 of relocations whose offset is -2.
1249
fdd07405
RS
12502003-07-09 Richard Sandiford <rsandifo@redhat.com>
1251
1252 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
1253 forced-local symbols like other locals. Don't create relocations
1254 against STN_UNDEF in irix objects.
1255
d2fba50d
RS
12562003-07-09 Richard Sandiford <rsandifo@redhat.com>
1257
1258 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
1259 compatible objects, add the values of defined external symbols
1260 to the addend.
1261
6eaa6adc
RS
12622003-07-09 Richard Sandiford <rsandifo@redhat.com>
1263
1264 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
1265 initialize a GOT entry to the symbol's st_value.
1266
0c83546a
AM
12672003-07-08 Alan Modra <amodra@bigpond.net.au>
1268
43c40ab2
AM
1269 * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
1270 * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
1271 (ppc_elf_tdata): Define.
1272 (elf_local_ptr_offsets): Adjust.
1273 (ppc_elf_mkobject): New function.
1274 (bfd_elf32_mkobject): Define.
1275
0c83546a
AM
1276 * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
1277 * elfcore.h (elf_core_file_p): Likewise.
1278 * section.c (bfd_section_init): Remove prototype.
1279
58111eb7
AM
12802003-07-08 Alan Modra <amodra@bigpond.net.au>
1281
1282 * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
1283 field.
1284 (enum elf_linker_section_enum): Delete.
1285 (struct elf_linker_section): Delete.
1286 (struct elf_linker_section_pointers): Delete.
1287 (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
1288 Make linker_section_pointers a void**.
1289 (elf_local_ptr_offsets, elf_linker_section): Don't define.
1290 * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
1291 of old item in elf-bfd.h.
1292 (struct elf_linker_section): Likewise.
1293 (struct elf_linker_section_pointers): Likewise.
1294 (elf_local_ptr_offsets): Define.
1295 (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
1296 (ppc_elf_link_hash_newfunc): Init it.
1297 (struct ppc_elf_link_hash_table): Add sbss.
1298 (ppc_elf_link_hash_table_create): zmalloc rather than clearing
1299 individual fields.
1300 (elf_create_linker_section): Fold into..
1301 (ppc_elf_create_linker_section): ..here. Remove hole_size code.
1302 Make rela section here if shared.
1303 (elf_find_pointer_linker_section): Pass lsect rather than enum.
1304 (elf_create_pointer_linker_section): Adjust. zalloc rather than
1305 clearing in a loop.
1306 (elf_finish_pointer_linker_section): Adjust. Don't make rela
1307 section here.
1308 (ppc_elf_check_relocs): Adjust.
1309 (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
1310 creating .sbss by hand.
1311 * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
1312
15f8604d
JJ
13132003-07-04 Jakub Jelinek <jakub@redhat.com>
1314
1315 * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
1316 complain_overflow_bitfield.
1317 * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
1318 complain_overflow_bitfield.
1319
3368a7fb
JJ
13202003-07-04 Jakub Jelinek <jakub@redhat.com>
1321
1322 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
1323 true even if -pie.
1324
9203ba99
JJ
13252003-07-04 Jakub Jelinek <jakub@redhat.com>
1326
1327 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
1328 (elfNN_ia64_dynamic_symbol_p): Change info->shared into
1329 !info->executable.
1330 (get_fptr): For -pie create .opd as writable section and create
1331 .rela.opd as well.
1332 (elfNN_ia64_check_relocs): Change info->shared into
1333 !info->executable.
1334 (allocate_fptr): Likewise.
1335 (allocate_dynrel_entries): Account for a relative reloc for -pie
1336 @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
1337 for undefweak symbol. Account for an IPLT reloc in .rela.opd
1338 section if -pie.
1339 (set_got_entry): Don't create a relative reloc if -pie
1340 want_ltoff_fptr for undefweak symbol.
1341 (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
1342 (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
1343 @fptr().
1344
1345 * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
1346 even if -pie.
1347 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1348 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1349 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1350 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1351 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1352 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1353 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1354 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1355 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1356
e0a868d1 13572003-07-04 Paul Clarke <paulc@senet.com.au>
8c17da6e
NC
1358
1359 * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
1360 (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
1361 <R_H8_DIR32A16>: Fix type of relocation.
1362
35cad4c4
KK
13632003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1364
1365 * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
1366 sections were created already. Remove unnecessary tests of
1367 the previous change.
1368
03151a5a
KK
13692003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1370
1371 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
1372 bfd_make_section for existing sections.
1373
003d627e
AM
13742003-07-04 Alan Modra <amodra@bigpond.net.au>
1375
2293c499
AM
1376 * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
1377 create_got_section if we already have done so.
1378 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
1379 (sh_elf_check_relocs): Likewise.
1380 (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
1381 htab->root.dynobj instead.
1382 (sh_elf_check_relocs): Likewise.
1383 (sh_elf_finish_dynamic_sections): Likewise.
1384
003d627e
AM
1385 * section.c (bfd_make_section): Return NULL for existing section.
1386
fa681e5d
AM
13872003-07-04 Alan Modra <amodra@bigpond.net.au>
1388
1389 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
1390 ppc_elf_create_got if we've already done so.
3dab13f6
AM
1391
1392 * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
1393 (_bfd_elf_find_pointer_linker_section): Likewise.
1394 (bfd_elf32_create_pointer_linker_section): Likewise.
1395 (bfd_elf32_finish_pointer_linker_section): Likewise.
1396 (bfd_elf64_create_pointer_linker_section): Likewise.
1397 (bfd_elf64_finish_pointer_linker_section): Likewise.
1398 (_bfd_elf_make_linker_section_rela): Likewise.
1399 * elfcode.h (elf_create_pointer_linker_section): Don't define.
1400 (elf_finish_pointer_linker_section): Likewise.
1401 * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
1402 (_bfd_elf_create_linker_section): Move this function..
1403 (_bfd_elf_find_pointer_linker_section): ..and this..
1404 * elflink.h (elf_create_pointer_linker_section): ..and this..
1405 (elf_finish_pointer_linker_section): ..and this..
1406 * elf32-ppc.c: ..to here, renaming to the following, and adjusting
1407 calls.
1408 (elf_create_linker_section): Convert to C90, tidy.
1409 (elf_find_pointer_linker_section): Likewise.
1410 (elf_create_pointer_linker_section): Likewise.
1411 (elf_finish_pointer_linker_section): Likewise.
1412 * elf32-i370.c: Delete #if 0 code.
1413
772119ce
AM
14142003-07-02 Alan Modra <amodra@bigpond.net.au>
1415
1416 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
1417 _restf* to be satisfied by shared libs, and always force them local.
1418 (toc_adjusting_stub_needed): Avoid scanning linker created sections.
1419 Correct test for "bl".
1420 (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
1421 primary opcode 31.
1422
bd1ea41b
MS
14232003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
1424
1425 * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
1426 (s390_tls_reloc): New function.
1427 (elf_howto_table): Add long displacement relocations R_390_20,
1428 R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
1429 (elf_s390_reloc_type_lookup): Likewise.
1430 (elf_s390_check_relocs): Likewise.
1431 (elf_s390_gc_sweep_hook): Likewise.
1432 (elf_s390_relocate_section): Likewise.
1433 * elf64-s390.c: Same changes as for elf32-s390.c.
1434 * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
43c40ab2 1435 BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
bd1ea41b
MS
1436 BFD_RELOC_390_TLS_GOTIE20.
1437 * bfd-in2.h: Regenerate.
1438 * libbfd.h: Likewise.
1439
113202d6
AM
14402003-06-30 Alan Modra <amodra@bigpond.net.au>
1441
1442 * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
1443 (ins_imms, ins_immsm1u4): Likewise. Warning fix.
1444
c58b9523
AM
14452003-06-29 Alan Modra <amodra@bigpond.net.au>
1446
1447 * archive.c: Convert to C90, remove unnecessary prototypes and casts.
1448 Replace PTR with void *. Formatting.
1449 * archive64.c: Likewise.
1450 * archures.c: Likewise.
1451 * bfd-in.h: Likewise.
1452 * bfd.c: Likewise.
1453 * bfdio.c: Likewise.
1454 * bfdwin.c: Likewise.
1455 * cache.c: Likewise.
1456 * corefile.c: Likewise.
1457 * format.c: Likewise.
1458 * init.c: Likewise.
1459 * libbfd-in.h: Likewise.
1460 * libbfd.c: Likewise.
1461 * linker.c: Likewise.
1462 * opncls.c: Likewise.
1463 * reloc.c: Likewise.
1464 * section.c: Likewise.
1465 * simple.c: Likewise.
1466 * syms.c: Likewise.
1467 * targets.c: Likewise.
1468 * bfd-in2.h: Regenerate.
1469 * libbfd.h: Regenerate.
1470
1471 * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
1472 * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
1473 * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
1474 (bfd_getb64): Rewrite without parens.
1475 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
1476 * cache.c (insert, snip): Remove INLINE.
1477 * linker.c (bfd_link_add_undef): Likewise.
1478
27482721
AJ
14792003-06-29 Andreas Jaeger <aj@suse.de>
1480
1481 * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
1482 unnecessary prototypes. Replace PTR with void *.
58611256
AJ
1483 (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
1484 trim plt entries. Move undefweak non-default visibility test ...
1485 (allocate_dynrelocs): ... from here.
1486 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1487 Change all callers.
1488 (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
1489 SYMBOL_REFERENCES_LOCAL for dynreloc check.
1490 (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
1491 dynreloc and .got relocs.
1492 (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
1493 for .got relocs.
27482721 1494
2b86c02e
TS
14952003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1496
1497 * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
1498
e7c81c25
NC
14992003-06-27 Nick Clifton <nickc@redhat.com>
1500
1501 * opncls.c (bfd_add_gnu_debuglink_section): Rename to
1502 bfd_add_gnu_debuglink_section and only create the section, do not
1503 fill in its contents.
1504 (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
1505 contents of a .gnu-debuglink section.
1506 * bfd-in2.h: Regenerate.
1507
72b4917c
TS
15082003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1509
1510 * elfxx-mips.c: Revert .got alignment to 2**4.
1511
91709090
TS
15122003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1513
1514 * elf32-mips.c: Fix addend for _gp_disp special symbol.
1515
7a79a000
TS
15162003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1517
1518 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
1519 relocation header setup.
1520
e47cd125
AM
15212003-06-25 Alan Modra <amodra@bigpond.net.au>
1522
1523 * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
1524 (ppc_elf_reloc_type_lookup): Modify comment.
1525 (ppc_elf_info_to_howto): Ditto.
1526 (ppc_elf_relocate_section): Ditto.
1527 (ppc_elf_check_relocs): Call ppc_elf_howto_init.
1528
1049f94e
AM
15292003-06-25 Alan Modra <amodra@bigpond.net.au>
1530
1531 * aout-ns32k.c: Correct spelling of "relocatable".
1532 * aoutx.h: Likewise.
1533 * bfd-in.h: Likewise.
1534 * bfd.c: Likewise.
1535 * bout.c: Likewise.
1536 * coff-a29k.c: Likewise.
1537 * coff-alpha.c: Likewise.
1538 * coff-arm.c: Likewise.
1539 * coff-i386.c: Likewise.
1540 * coff-i860.c: Likewise.
1541 * coff-i960.c: Likewise.
1542 * coff-m68k.c: Likewise.
1543 * coff-m88k.c: Likewise.
1544 * coff-mcore.c: Likewise.
1545 * coff-mips.c: Likewise.
1546 * coff-or32.c: Likewise.
1547 * coff-ppc.c: Likewise.
1548 * coff-rs6000.c: Likewise.
1549 * coff-sh.c: Likewise.
1550 * coff-tic80.c: Likewise.
1551 * coff64-rs6000.c: Likewise.
1552 * cofflink.c: Likewise.
1553 * cpu-ns32k.c: Likewise.
1554 * ecoff.c: Likewise.
1555 * ecofflink.c: Likewise.
1556 * elf-bfd.h: Likewise.
1557 * elf-eh-frame.c: Likewise.
1558 * elf-hppa.h: Likewise.
1559 * elf-m10200.c: Likewise.
1560 * elf-m10300.c: Likewise.
1561 * elf.c: Likewise.
1562 * elf32-arm.h: Likewise.
1563 * elf32-avr.c: Likewise.
1564 * elf32-cris.c: Likewise.
1565 * elf32-d10v.c: Likewise.
1566 * elf32-dlx.c: Likewise.
1567 * elf32-fr30.c: Likewise.
1568 * elf32-frv.c: Likewise.
1569 * elf32-h8300.c: Likewise.
1570 * elf32-hppa.c: Likewise.
1571 * elf32-i370.c: Likewise.
1572 * elf32-i386.c: Likewise.
1573 * elf32-i860.c: Likewise.
1574 * elf32-i960.c: Likewise.
1575 * elf32-ip2k.c: Likewise.
1576 * elf32-iq2000.c: Likewise.
1577 * elf32-m32r.c: Likewise.
1578 * elf32-m68hc11.c: Likewise.
1579 * elf32-m68hc1x.c: Likewise.
1580 * elf32-m68k.c: Likewise.
1581 * elf32-mcore.c: Likewise.
1582 * elf32-mips.c: Likewise.
1583 * elf32-msp430.c: Likewise.
1584 * elf32-openrisc.c: Likewise.
1585 * elf32-ppc.c: Likewise.
1586 * elf32-s390.c: Likewise.
1587 * elf32-sh.c: Likewise.
1588 * elf32-sh64.c: Likewise.
1589 * elf32-sparc.c: Likewise.
1590 * elf32-v850.c: Likewise.
1591 * elf32-vax.c: Likewise.
1592 * elf32-xstormy16.c: Likewise.
1593 * elf32-xtensa.c: Likewise.
1594 * elf64-alpha.c: Likewise.
1595 * elf64-hppa.c: Likewise.
1596 * elf64-mips.c: Likewise.
1597 * elf64-mmix.c: Likewise.
1598 * elf64-ppc.c: Likewise.
1599 * elf64-s390.c: Likewise.
1600 * elf64-sh64.c: Likewise.
1601 * elf64-sparc.c: Likewise.
1602 * elf64-x86-64.c: Likewise.
1603 * elfcode.h: Likewise.
1604 * elflink.h: Likewise.
1605 * elfn32-mips.c: Likewise.
1606 * elfxx-ia64.c: Likewise.
1607 * elfxx-mips.c: Likewise.
1608 * i386linux.c: Likewise.
1609 * ieee.c: Likewise.
1610 * libcoff-in.h: Likewise.
1611 * linker.c: Likewise.
1612 * m68klinux.c: Likewise.
1613 * pdp11.c: Likewise.
1614 * pe-mips.c: Likewise.
1615 * peXXigen.c: Likewise.
1616 * reloc.c: Likewise.
1617 * reloc16.c: Likewise.
1618 * sparclinux.c: Likewise.
1619 * sunos.c: Likewise.
1620 * syms.c: Likewise.
1621 * versados.c: Likewise.
1622 * vms.c: Likewise.
1623 * xcofflink.c: Likewise.
1624 * bfd-in2.h: Regenerate.
1625 * libcoff.h: Regenerate.
1626 * libbfd.h: Regenerate.
1627
55fd94b0
AM
16282003-06-24 Alan Modra <amodra@bigpond.net.au>
1629
d85f2c7d
AM
1630 * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
1631 local sym errors.
1632
55fd94b0
AM
1633 * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
1634 prototypes and casts. Replace PTR with void *. Formatting.
1635 * elf32-ppc.c: Likewise. Break long strings too.
1636 (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
1637 (ppc_elf_unhandled_reloc): Internationalize error message.
1638 * elf32-ppc.h: Remove PARAMS.
1639
88810f8c
MM
16402003-06-23 Mark Mitchell <mark@codesourcery.com>
1641
1642 * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
1643 APUinfo slots.
1644 (ppc_elf_final_write_processing): Likewise.
1645
6e35c4da
L
16462003-06-23 H.J. Lu <hongjiu.lu@intel.com>
1647
1648 * elflink.h (elf_link_input_bfd): Check raw size when using
1649 kept_section to preserve debug information discarded by
1650 linkonce.
1651
8f3bab57
AM
16522003-06-20 Alan Modra <amodra@bigpond.net.au>
1653
1654 * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
1655 (ppc64_elf_setup_section_lists): Set it.
1656 (ppc64_elf_relocate_section): Check sym section id against top_id.
1657 (ppc_build_one_stub): Comment on top_id.
1658
efbc813e
NC
16592003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1660
1661 * config.bfd: Add tic4x-*-rtems*.
1662
4ce794b7
AM
16632003-06-20 Alan Modra <amodra@bigpond.net.au>
1664
1665 * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
1666 prototypes and casts. Replace PTR with void *. Format copyright.
1667 Mention ABI links.
1668 (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
1669 sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
1670 (ppc_type_of_stub): Make r_type an enum.
1671 (ppc64_elf_size_stubs): Likewise.
1672 * elf64-ppc.h: Remove PARAMS macro.
1673
d2a300cf
AM
16742003-06-19 Alan Modra <amodra@bigpond.net.au>
1675
3254fd24
AM
1676 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
1677 elf hash tab fields.
1678
d2a300cf
AM
1679 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
1680 (ppc64_elf_info_to_howto): Likewise.
1681 (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
1682 * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
1683
83615de0
AM
16842003-06-19 Alan Modra <amodra@bigpond.net.au>
1685
1686 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
1687 reloc overflow on discarded eh_frame entries.
1688
9b5ecbd0
AM
16892003-06-19 Alan Modra <amodra@bigpond.net.au>
1690
1691 * elf64-ppc.c (toc_adjusting_stub_needed): New function.
1692 (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
1693 Return error condition.
1694 (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
1695 that have has_gp_reloc set.
1696 (struct ppc_link_hash_table): Add stub_count.
1697 (ppc_build_one_stub): Increment it.
1698 (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
1699 individual fields.
1700 * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
1701
64c456e1
AM
17022003-06-18 Alan Modra <amodra@bigpond.net.au>
1703
1704 * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
1705 size calculation from addend. Round size up.
1706
3dab95d3
HPN
17072003-06-18 Hans-Peter Nilsson <hp@axis.com>
1708
1709 * elf32-cris.c (cris_elf_relocate_section) <case
1710 R_CRIS_32_GOTREL>: When linking a program, don't complain about a
1711 symbol from a normal object or an undefined weak symbol.
1712
0b13192e
AM
17132003-06-18 Alan Modra <amodra@bigpond.net.au>
1714
1715 * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
1716 R_PPC64_TOC relocs.
1717
f97b9cb8
L
17182003-06-17 H.J. Lu <hongjiu.lu@intel.com>
1719
1720 * section.c (struct sec): Put back kept_section.
1721 (STD_SECTION): Put back kept_section initialization.
1722 * bfd-in2.h: Regenerate.
1723
1724 * elflink.h (elf_link_input_bfd): Also check discarded linkonce
1725 sections for relocateable output. Use kept_section to preserve
1726 debug information discarded by linkonce.
1727
9f1c3a0a
L
17282003-06-17 Roland McGrath <roland@redhat.com>
1729
1730 * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
1731 segment-relative relocation between different segments.
1732
734b6cf9
AM
17332003-06-17 Alan Modra <amodra@bigpond.net.au>
1734
1cf1f670
AM
1735 * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
1736 optimizations earlier.
1737
734b6cf9
AM
1738 * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
1739 Restore previous input_list type.
1740 (ppc64_elf_link_hash_table_create): Undo last change.
1741 (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
1742 per output section, but don't bother with bfd_abs_section marker.
1743 (ppc64_elf_next_input_section): Adjust for multiple input section
1744 lists.
1745 (group_sections): Likewise.
1746
23fbd6fa
JJ
17472003-06-17 Jakub Jelinek <jakub@redhat.com>
1748
1749 * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
1750 *r_offset == r_addend for RELATIVE relocs against .got.
1751
dad27d18
AM
17522003-06-17 Alan Modra <amodra@bigpond.net.au>
1753
1754 * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
1755
b613960a
NC
17562003-06-17 Nick Clifton <nickc@redhat.com>
1757
1758 * elflink.h (elf_gc_record_vtentry): Allocate an extra element
4ce794b7
AM
1759 in the vtable_entries_used array to allow for the accessing
1760 the largest element.
b613960a 1761
000732f7
AM
17622003-06-17 Alan Modra <amodra@bigpond.net.au>
1763
3d6f9012
AM
1764 * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
1765 input_list.
1766 (ppc64_elf_link_hash_table_create): Init input_list here.
1767 (ppc64_elf_setup_section_lists): Remove code setting up input lists
1768 per output section. Set toc_off for abs and other standard sections.
1769 (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
1770 (ppc64_elf_next_input_section): Adjust for single input section list.
1771 Don't set toc_curr from input bfds that haven't set elf_gp.
1772 (group_sections): Adjust for single input section list.
1773
000732f7
AM
1774 * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
1775
81407a69
AM
17762003-06-16 Alan Modra <amodra@bigpond.net.au>
1777
1778 * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
1779 tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
1780 dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
1781 got section for RELATIVE relocs. Fix wrong comment. Change condition
1782 under which dynamic relocs update the section contents.
1783
a06a29f2
NC
17842003-06-13 Robert Millan <zeratul2@wanadoo.es>
1785
1786 * config.bfd: Add i386-netbsd-gnu target.
1787
7d1ebfb2
NC
17882003-06-12 Nick Clifton <nickc@redhat.com>
1789
1790 * opncls.c (calc_crc32): Rename to
1791 bfd_calc_gnu_debuglink_crc32 and export.
81407a69 1792 (GNU_DEBUGLINK): Define and use to replace occurrences of
7d1ebfb2 1793 hard-coded ".gnu_debuglink" in the code.
81407a69 1794 (get_debug_link_info): Prevent aborts by replacing call to
7d1ebfb2 1795 xmalloc with a call to malloc.
81407a69 1796 (find_separate_debug_file): Prevent aborts by replacing calls
7d1ebfb2 1797 to xmalloc and xstrdup with calls to malloc and strdup.
81407a69 1798 (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
7d1ebfb2
NC
1799 section to a bfd.
1800 * bfd-in2.h: Regenerate.
1801
18022003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 1803
7d1ebfb2
NC
1804 * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
1805 New target (was i[3-7]86-*-openbsd* before).
1806 (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
1807 (vax-*-openbsd*): New target.
1808
d80dcc6a
TS
18092003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1810
1811 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
1812 for n32, too.
1813 (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
1814 (mips_elf_rel_dyn_section): Use appropriate section alignment.
1815 (mips_elf_create_got_section): Likewise.
1816 (_bfd_mips_elf_create_dynamic_sections): Likewise.
1817
a7ebbfdf
TS
18182003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1819
1820 * elf32-mips.c (mips_elf_generic_reloc): New Function.
1821 (elf_mips_howto_table_rel): Use it.
1822 (gprel32_with_gp): Move prototype.
1823 (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1824 Use mips_elf_generic_reloc.
1825 (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1826 Code cleanup.
1827 (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
1828 zero addend.
1829 (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
1830 as in the other *_gprel*_reloc functions.
1831 (gprel32_with_gp): Handle partial_inplace properly.
1832 (mips32_64bit_reloc): Use mips_elf_generic_reloc.
1833 (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
1834 Do addend handling directly instead of calling
1835 _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
1836 * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
1837 of zero addend. Handle partial_inplace properly.
1838 (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
1839 addend.
1840 (mips_elf64_gprel16_reloc): Likewise.
1841 (mips_elf64_literal_reloc): Likewise.
1842 (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
1843 logic as in the other *_gprel*_reloc functions. Handle
1844 partial_inplace properly.
1845 (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
1846 addend. Handle partial_inplace properly.
1847 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1848 of calling _bfd_mips_elf_gprel16_with_gp.
1849 * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
1850 (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
1851 of zero addend.
1852 (mips_elf_shift6_reloc): Handle partial_inplace properly.
1853 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1854 of calling _bfd_mips_elf_gprel16_with_gp.
1855 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
1856 partial_inplace properly. Fix wrong addend handling. Fix overflow
1857 check.
1858 (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
1859 exported.
1860 (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
1861 (_bfd_mips_elf_relocate_section): Likewise.
1862 (mips_elf_create_dynamic_relocation): Update sec_info_type access.
1863 * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
1864 (_bfd_mips_elf_sign_extend): New prototype.
1865
49ba19a4 18662003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 1867
49ba19a4
NC
1868 * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
1869 New target (was sparc-*-openbsd* before).
1870 (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
81407a69 1871
de6e5e1a
NC
1872 * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
1873 * configure: Regenerate.
1874
3b443373
L
18752003-06-11 H.J. Lu <hongjiu.lu@intel.com>
1876
1877 * po/Make-in (DESTDIR): New.
1878 (install-data-yes): Support $(DESTDIR).
1879 (uninstall): Likewise.
1880
795bb480
AM
18812003-06-11 Alan Modra <amodra@bigpond.net.au>
1882
1883 * Makefile.am (config.status): Depend on version.h.
1884 Run "make dep-am".
1885 * Makefile.in: Regenerate.
1886 * po/SRC-POTFILES.in: Regenerate.
1887
adadcc0c
AM
18882003-06-10 Alan Modra <amodra@bigpond.net.au>
1889 Gary Hade <garyhade@us.ibm.com>
1890
1891 * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
1892
f4984206
RS
18932003-06-10 Richard Sandiford <rsandifo@redhat.com>
1894
1895 * archures.c (bfd_mach_h8300sxn): New architecture.
1896 * bfd-in2.h: Regenerate.
1897 * cpu-h8300.c (h8300_scan): Check for 'sxn'.
1898 (h8300sxn_info_struct): New.
1899 (h8300sx_info_struct): Link to it.
1900 * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
1901 (elf32_h8_final_write_processing): Likewise.
1902
ad8e1ba5
AM
19032003-06-08 Alan Modra <amodra@bigpond.net.au>
1904
1905 * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
1906 elfxx-target.h so that we can use elf_backend_got_header_size.
1907 (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
1908 (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
1909 associated macros.
1910 (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
1911 dst_mask.
1912 (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
1913 ppc_stub_plt_branch_r2off.
1914 (struct ppc_stub_hash_entry): Reorganize.
1915 (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
1916 toc_curr, toc_off and emit_stub_syms.
1917 (ppc64_elf_link_hash_table_create): Init them.
1918 (ppc_stub_name): Correct string size.
1919 (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
1920 (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
1921 used.
1922 (ppc_type_of_stub): Tweak root.type test.
1923 (build_plt_stub): Remove glink code. Adjust for insn macro changes.
1924 (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
1925 ppc_stub_plt_branch_r2off.
1926 (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
1927 range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
1928 (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
1929 Initialize elf_gp and toc_curr.
1930 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
1931 (ppc64_elf_next_input_section): Set toc_off.
1932 (group_sections): Ensure groups have the same TOC.
1933 (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
1934 (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
1935 Build new glink stub.
1936 (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
1937 (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
1938 * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
1939 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
1940 * section.c (struct sec): Rename flag12 to has_gp_reloc.
1941 (STD_SECTION): Update.
1942 * ecoff.c (bfd_debug_section): Update comment.
1943 * bfd-in2.h: Regenerate.
1944
90fff0d4
DJ
19452003-06-05 Daniel Jacobowitz <drow@mvista.com>
1946
1947 * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
1948 NULL function pointers.
1949
c82b20e4
DJ
19502003-06-05 Daniel Jacobowitz <drow@mvista.com>
1951
1952 * simple.c (bfd_simple_get_relocated_section_contents): Call
1953 _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
1954
53d4437a
SS
19552003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
1956
5a5b9651
SS
1957 * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
1958 ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
1959 swaptables.
1960 * coff-tic4x.c: Ditto
53d4437a
SS
1961 * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
1962 and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
5a5b9651
SS
1963 CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
1964 ticoff1_bad_format_hook() functions. Created the coff0 and coff1
1965 swap tables.
53d4437a
SS
1966 * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
1967 * coff-a29k.c: Append COFF_SWAP_TABLE argument
1968 * coff-apollo.c: Ditto
1969 * coff-arm.c: Ditto
1970 * coff-h8300.c: Ditto
1971 * coff-h8500.c: Ditto
1972 * coff-i960.c: Ditto
1973 * coff-m68k.c: Ditto
1974 * coff-m88k.c: Ditto
1975 * coff-mcore.c: Ditto
1976 * coff-sh.c: Ditto
1977 * coff-sparc.c: Ditto
1978 * coff-tic80.c: Ditto
1979 * coff-we32k.c: Ditto
1980 * coff-z8k.c: Ditto
1981 * coff-w65.c: Ditto
1982
736694c8
SS
19832003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
1984
1985 * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
1986 initialization bug
1987
9ee5e499
JJ
19882003-06-03 Jakub Jelinek <jakub@redhat.com>
1989
1990 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
1991 (bfd_section_from_phdr): Likewise.
1992 (map_sections_to_segments): Create PT_GNU_STACK segment header.
1993 (get_program_header_size): Count with PT_GNU_STACK.
1994 * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
1995 * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
1996
6f6f27f8
L
19972003-06-03 H.J. Lu <hongjiu.lu@intel.com>
1998
1999 * elflink.h (elf_link_input_bfd): Call linker error_handler
2000 for discarded definitions.
2001
a3b6428f
NC
20022003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
2003
2004 * syms.c (decode_section_type): Return 'n' if section flags are
2005 SEC_HAS_CONTENTS && SEC_READONLY.
2006
e30ddb24
NC
20072003-06-03 Nick Clifton <nickc@redhat.com>
2008
2009 * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
2010 R_V850_ABS32. Add entry for R_V850_REL32.
adadcc0c
AM
2011 (v850_elf_reloc_map): Likewise.
2012 (v850_elf_check_relocs): Likewise.
2013 (v850_elf_perform_relocation): Likewise.
2014 (v850_elf_final_link_relocate): Likewise. Include computation
e30ddb24 2015 to make R_V850_REl32 pc-relative.
adadcc0c 2016
2558b9a9
KK
20172003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2018
2019 * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
2020 and DT_DEBUG dynamic tag even for position independent executables.
2021 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2022
f15398ef
DJ
20232003-06-02 Daniel Jacobowitz <drow@mvista.com>
2024
2025 * config.bfd: Move obsolete entries out of the range of the
2026 targmatch sed script.
2027
cad28985
DJ
20282003-06-02 Daniel Jacobowitz <drow@mvista.com>
2029
2030 * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2031
f2c822e3
JJ
20322003-05-31 Jakub Jelinek <jakub@redhat.com>
2033
2034 * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
2035 plt entries, not just 8191.
2036
c9c27aad
DJ
20372003-05-30 Daniel Jacobowitz <drow@mvista.com>
2038
2039 * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
2040 Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
2041
36af4a4e
JJ
20422003-05-30 Ulrich Drepper <drepper@redhat.com>
2043 Jakub Jelinek <jakub@redhat.com>
2044
2045 * elflink.h (elf_link_add_object_symbols): Use !info->executable
2046 instead of info->shared where appropriate.
2047 (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
2048 * elflink.c (_bfd_elf_create_got_section): Likewise.
2049 (_bfd_elf_link_create_dynamic_sections): Likewise.
2050 (_bfd_elf_link_assign_sym_version): Likewise.
2051 * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
2052 and DT_DEBUG dynamic tag even for position independent executables.
2053 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
2054 * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
2055 * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
2056 * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
2057 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
2058 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
2059 * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
2060 * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
2061 * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
2062
f8843e87
AM
20632003-05-30 Kris Warkentin <kewarken@qnx.com>
2064
2065 * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
2066 signalled thread.
2067 (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
2068
29e1a6e4
NC
20692003-05-29 Nick Clifton <nickc@redhat.com>
2070
2071 * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
2072 Tidy up formatting.
2073 * Makefile.am: Add dependency on safe-ctype.h.
2074 * Makefile.in: Regenerate.
2075
4b555070
TS
20762003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2077
2078 * elfxx-mips.c: Don't force symbols local unconditionally.
2079
0236e03e
L
20802003-05-28 Alan Modra <amodra@bigpond.net.au>
2081
2082 * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
2083 undefined_symbol call.
2084
9e4aeb93
RS
20852003-05-27 Richard Sandiford <rsandifo@redhat.com>
2086
2087 * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
2088 (mips_elf_link_hash_table): Likewise.
2089
d0c728db
TS
20902003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2091
2092 * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
2093 R_MIPS_GNU_REL16_S2 support.
2094 (bfd_elf64_bfd_reloc_type_lookup): Use it.
2095 (mips_elf64_rtype_to_howto): Use it.
2096 * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
2097 R_MIPS_GNU_REL16_S2 support.
2098 (bfd_elf32_bfd_reloc_type_lookup): Use it.
2099 (mips_elf_n32_rtype_to_howto): Use it.
2100
759ebd76
DA
21012003-05-21 Stuart F. Downing <sdowning@fame.com>
2102
2103 * som.h: Define PA_2_0 before including a.out.h
2104
143d77c5
EC
21052003-05-07 Eric Christopher <echristo@redhat.com>
2106 Alexandre Oliva <aoliva@redhat.com>
2107
2108 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
2109 pic tests, change to warning.
2110 (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
2111
cea3d58d
NC
21122003-05-21 Marcus Comstedt <marcus@mc.pp.se>
2113
2114 * config.bfd: Check for a target triplet of shl-...-netbsdelf as
2115 well as shle-...-netbsdelf. Remove duplicate entry.
2116
385a4c14
NC
21172003-05-21 Nick Clifton <nickc@redhat.com>
2118
60e42408
NC
2119 * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
2120 for X_STORMY16_REL_12 reloc.
2121
385a4c14 2122 * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
9b5ecbd0 2123 the type of the hash table in the bfd_link_info structure.
385a4c14
NC
2124 (bfd_elf_get_runpath_list): Likewise.
2125
129b8c20
RM
21262003-05-19 Roland McGrath <roland@redhat.com>
2127
2128 * elf.c (bfd_elf_bfd_from_remote_memory): New function.
2129 * bfd-in.h: Declare it.
2130 * bfd-in2.h: Regenerated.
2131 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
2132 * elf-bfd.h (struct elf_backend_data): New function pointer member
2133 elf_backend_bfd_from_remote_memory.
2134 (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
2135 Declare them.
2136 * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
2137 (elfNN_bed): Add that to the initializer.
2138
21392003-05-15 Roland McGrath <roland@redhat.com>
2140
2141 * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
2142
22d5e339
L
21432003-05-20 Jakub Jelinek <jakub@redhat.com>
2144
2145 * elflink.h (elf_link_output_extsym): Only issue error about !=
2146 STV_DEFAULT symbols if they are bfd_link_hash_undefined.
2147
21482003-05-20 H.J. Lu <hongjiu.lu@intel.com>
2149
2150 * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
2151 when removing the old definition for symbols with non-default
2152 visibility.
2153
b645cb17
JE
21542003-05-18 Jason Eckhardt <jle@rice.edu>
2155
2156 * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
2157
d2ff124f
AS
21582003-05-17 Andreas Schwab <schwab@suse.de>
2159
2160 * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
2161 elf_section_data during processing of pc-relative and absolute
2162 relocations.
2163 (elf_m68k_relocate_section): Use the cached reloc section instead
2164 of computing it again. Fix handling of visibility. Don't modify
2165 addend when copying over a relocation into the output.
2166
9c7a29a3
AM
21672003-05-17 Alan Modra <amodra@bigpond.net.au>
2168
2169 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
2170 to trim plt entries. Move undefweak non-default visibility test..
2171 (allocate_dynrelocs): ..from here.
2172 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
2173 dynamic_sections_created here. Update comment. Move undefweak
2174 non-default visibility test..
2175 (allocate_dynrelocs): ..from here. Fix comment.
2176 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
2177 to trim plt entries. Move undefweak non-default visibility test..
2178 (allocate_dynrelocs): ..from here. Fix comment.
2179 * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
2180 STV_DEFAULT rather than comparing with zero.
2181 * elflink.c (_bfd_elf_merge_symbol): Likewise.
2182 (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
2183
9bcf4de0
TS
21842003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2185
2186 * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
2187 pointers.
2188 (_bfd_set_gp_value): Likewise.
2189
5d1db417
MS
21902003-05-16 Michael Snyder <msnyder@redhat.com>
2191 From Bernd Schmidt <bernds@redhat.com>
2192 * archures.c (bfd_mach_h8300sx): New.
2193 * bfd-in2.h: Regenerate.
2194 * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
2195 (h8300sx_info_struct): New.
2196 (h8300s_info_struct): Link to it.
2197 * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
2198 (elf32_h8_final_write_processing): Likewise.
2199 (elf32_h8_relax_section): Likewise.
2200
80c7c40a
NC
22012003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
2202
2203 * config.bfd: Accept i[3-7]86 variants.
2204 * configure.host: Likewise.
2205 * configure.in: Likewise.
2206 * configure: Regenerate.
2207
c1be741f
L
22082003-05-15 H.J. Lu <hongjiu.lu@intel.com>
2209
2210 * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
2211 symbol.
2212
a15d9d3a
L
22132003-05-15 H.J. Lu <hongjiu.lu@intel.com>
2214
2215 * elflink.h (elf_link_check_versioned_symbol): Also allow
2216 the base version.
2217
09695f56
AM
22182003-05-15 Alan Modra <amodra@bigpond.net.au>
2219 H.J. Lu <hongjiu.lu@intel.com>
2220
2221 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
2222 (elf_i386_relocate_section): Likewise.
2223 * elf32-ppc.c (allocate_dynrelocs): Likewise.
2224 (ppc_elf_relocate_section): Likewise.
2225 * elf64-ppc.c (allocate_dynrelocs): Likewise.
2226 (ppc64_elf_relocate_section): Likewise.
2227
40f62fa0
TS
22282003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2229
2230 * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
2231
47247ced
SC
22322003-05-13 Stephane Carrez <stcarrez@nerim.fr>
2233
2234 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
2235 processor capability, allow merge of HC12 and HCS12 in some cases.
2236 (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
2237 * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
2238 (bfd_m68hc12_arch): Link it.
2239 (scan_mach): New function.
2240
32dfa85d
AH
22412003-05-13 Andrew Haley <aph@redhat.com>
2242
2243 * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
2244
586119b3
AM
22452003-05-13 Alan Modra <amodra@bigpond.net.au>
2246 H.J. Lu <hongjiu.lu@intel.com>
2247
2248 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
2249 elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
2250 * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
2251 (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
2252 (ppc_elf_relocate_section): Likewise.
2253 * elf64-ppc.c (allocate_dynrelocs): Likewise.
2254 (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
2255 (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
2256 relocs need no other types.
2257 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
2258 dynreloc check.
2259 (elf_i386_relocate_section): Likewise. Use for .got relocs too.
2260 (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
2261 .got relocs.
2262
04e534c3
KK
22632003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2264
2265 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
2266 copy ELF_LINK_NON_GOT_REF from weakdef.
9b5ecbd0 2267 (allocate_dynrelocs): For undef weak syms with non-default
04e534c3
KK
2268 visibility, a) don't allocate plt entries, b) don't allocate
2269 .got relocs, c) discard dyn rel space
adadcc0c
AM
2270 (sh_elf_relocate_section): d) don't generate .got relocs, e)
2271 don't generate dynamic relocs.
04e534c3
KK
2272 (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
2273 for weakdefs when symbol already adjusted.
2274
0afb2dc0
NC
22752003-05-12 Nick Clifton <nickc@redhat.com>
2276
2277 * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
2278 overflow detection for R_XSTORMY16_16 reloc.
2279
9d29900b
NC
22802003-05-12 Paul Clarke <paulc@senet.com.au>
2281
2282 * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
2283
a48c6a54
JE
22842003-05-11 Jason Eckhardt <jle@rice.edu>
2285
2286 * elf32-i860.c (elf32_i860_relocate_highadj): Properly
2287 adjust upper bits.
2288 (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
2289 proper place.
2290 (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
2291 proper place.
2292
44f745a6
AS
22932003-05-11 Andreas Schwab <schwab@suse.de>
2294
2295 * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
2296 complicated tests for unresolvable relocs with a simple direct
2297 scheme using "unresolved_reloc" var. Report some detail on
2298 bfd_reloc_outofrange and similar errors.
2299
4ec72bde
MS
23002003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2301
2302 * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
2303 Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
2304 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2305 * elf64-s390.c: Likewise.
2306
64285810
MS
23072003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2308
2309 * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
2310 (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
2311 ELF_LINK_NON_GOT_REF from weakdef.
2312 (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
2313 already been adjusted before treating it specially.
2314 * el64-s390.c: Likwise.
2315
82058a73
MS
23162003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2317
2318 * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
2319 non-default visibility, a) don't make them dynamic, b) discard
2320 space for dynamic relocs.
2321 (elf_s390_relocate_section): Initialize the GOT entries and skip
2322 R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
2323 symbols with non-default visibility.
2324 * elf64-s390.c: Likewise.
2325
60d8b524
AM
23262003-05-09 Alan Modra <amodra@bigpond.net.au>
2327
2328 * cpu-arm.c (arm_check_note): Warning fix.
2329 * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
2330 to keep relocs if edited.
2331 (iq2000_elf_print_private_bfd_data): Return TRUE.
2332 * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
2333 ELF64_R_SYM.
2334 (elfNN_ia64_relax_ldxmov): Warning fix.
2335 * xtensa-isa.c (xtensa_add_isa): Warning fix.
2336 * xtensa-modules.c (get_num_opcodes): Warning fix.
2337
e57b5356
AM
23382003-05-09 Andrey Petrov <petrov@netbsd.org>
2339
2340 * elf.c (elf_fake_sections): Use correct cast for sh_name.
2341
45d6a902
AM
23422003-05-09 Alan Modra <amodra@bigpond.net.au>
2343
2344 * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
2345 elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
2346 (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
2347 (bfd_elf_record_link_assignment): Move from elflink.h.
2348 (_bfd_elf_merge_symbol): Likewise.
2349 (_bfd_elf_add_default_symbol): Likewise.
2350 (_bfd_elf_export_symbol): Likewise.
2351 (_bfd_elf_link_find_version_dependencies): Likewise.
2352 (_bfd_elf_link_assign_sym_version): Likewise.
2353 (_bfd_elf_link_read_relocs): Likewise.
2354 (_bfd_elf_link_size_reloc_section): Likewise.
2355 (_bfd_elf_fix_symbol_flags): Likewise.
2356 (_bfd_elf_adjust_dynamic_symbol): Likewise.
2357 (_bfd_elf_link_sec_merge_syms): Likewise.
2358 (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
2359 and bed->s->sizeof_rela.
2360 (_bfd_elf_link_output_relocs): Likewise.
2361 * elf-bfd.h (struct elf_size_info): Rename file_align to
2362 log_file_align.
2363 (struct elf_info_failed): Move from elflink.h.
2364 (struct elf_assign_sym_version_info): Likewise.
2365 (struct elf_find_verdep_info): Likewise.
2366 (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
2367 (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
2368 _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
2369 _bfd_elf_link_assign_sym_version,
2370 _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
2371 _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
2372 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
2373 _bfd_elf_link_sec_merge_syms): Declare.
2374 (bfd_elf32_link_create_dynamic_sections): Don't declare.
2375 (_bfd_elf32_link_read_relocs): Likewise.
2376 (bfd_elf64_link_create_dynamic_sections): Likewise.
2377 (_bfd_elf64_link_read_relocs): Likewise.
2378 * elflink.h: Move lots o' stuff elsewhere.
2379 * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
2380 (bfd_elf64_record_link_assignment): Likewise.
2381 (bfd_elf_record_link_assignment): Declare.
2382 * bfd-in2.h: Regenerate.
2383 * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
2384 (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
2385 * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
2386 (assign_file_positions_for_segments): Likewise.
2387 (assign_file_positions_except_relocs): Likewise.
2388 (swap_out_syms, elfcore_write_note): Likewise.
2389 * elf-m10200.c: Adjust for changed function names.
2390 * elf-m10300.c: Likewise.
2391 * elf32-arm.h: Likewise.
2392 * elf32-h8300.c: Likewise.
2393 * elf32-hppa.c: Likewise.
2394 * elf32-ip2k.c: Likewise.
2395 * elf32-m32r.c: Likewise.
2396 * elf32-m68hc11.c: Likewise.
2397 * elf32-m68hc1x.c: Likewise.
2398 * elf32-m68k.c: Likewise.
2399 * elf32-mips.c: Likewise.
2400 * elf32-ppc.c: Likewise.
2401 * elf32-sh.c: Likewise.
2402 * elf32-v850.c: Likewise.
2403 * elf32-xtensa.c: Likewise.
2404 * elf64-alpha.c: Likewise.
2405 * elf64-hppa.c: Likewise.
2406 * elf64-mmix.c: Likewise.
2407 * elf64-ppc.c: Likewise.
2408 * elf64-sh64.c: Likewise.
2409 * elfxx-ia64.c: Likewise.
2410 * elfxx-mips.c: Likewise.
2411 (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
2412 * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
2413 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
2414 * elf64-mips.c (mips_elf64_size_info): Likewise.
2415 * elf64-s390.c (s390_elf64_size_info): Likewise.
2416 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
2417
bf1e742e
L
24182003-05-08 H.J. Lu <hongjiu.lu@intel.com>
2419
2420 * elflink.h (elf_add_default_symbol): After skipping the
2421 unversioned symbol, go to non-default one.
2422
6a32c710
L
24232003-05-07 H.J. Lu <hongjiu.lu@intel.com>
2424
2425 * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
2426 want_plt field.
2427 (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
2428 for symbols with non-default visibility.
2429
71552942
L
24302003-05-07 H.J. Lu <hongjiu.lu@intel.com>
2431
2432 * elflink.h (elf_link_check_versioned_symbol): Also handle the
2433 case that a DSO references a hidden symbol which may be
2434 satisfied by a versioned symbol in another DSO.
2435 (elf_link_output_extsym): Check versioned definition for hidden
2436 symbol referenced by a DSO.
2437
208c2cd6
NC
24382003-05-07 Nick Clifton <nickc@redhat.com>
2439
2440 * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
2441 R_XSTORMY16_16 reloc to ignore overflows.
2442
aa701218
AO
24432003-05-06 Alexandre Oliva <aoliva@redhat.com>
2444
2445 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
2446 error message for mixing different-endian files. Check for ABI
2447 compatibility of input files with the selected emulation.
2448
4e795f50
AM
24492003-05-05 Alan Modra <amodra@bigpond.net.au>
2450
2451 * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
2452 non-default visibility, a) don't make them dynamic, b) discard
2453 space for dynamic relocs.
2454 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
2455
2456 * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
2457 non-default visibility, a) don't allocate plt entries, b) don't
2458 allocate .got relocs, c) discard dyn rel space,
2459 (ppc_elf_relocate_section): d) don't generate .got relocs, e)
2460 don't generate dynamic relocs.
2461 * elf64-ppc.c (allocate_dynrelocs): As above.
2462 (ppc64_elf_relocate_section): As above.
2463
4bc6e03a
AJ
24642003-05-05 Andreas Jaeger <aj@suse.de>
2465
2466 * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
2467 relocation entries for weak undefined symbols with non-default
2468 visibility.
2469 (elf64_x86_64_relocate_section): Initialize the GOT entries and
2470 skip R_386_32/R_386_PC32 for weak undefined symbols with
2471 non-default visibility.
2472
ef5aade5
L
24732003-05-04 H.J. Lu <hjl@gnu.org>
2474
2475 * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
2476 relocation entries for weak undefined symbols with non-default
2477 visibility.
2478 (elf_i386_relocate_section): Initialize the GOT entries and
2479 skip R_386_32/R_386_PC32 for weak undefined symbols with
2480 non-default visibility.
129b8c20 2481
ef5aade5
L
2482 * elfxx-ia64.c (allocate_fptr): Don't allocate function
2483 descriptors for weak undefined symbols with non-default
2484 visibility.
2485 (allocate_dynrel_entries): Don't allocate relocation entries
2486 for symbols resolved to 0.
2487 (set_got_entry): Don't install dynamic relocation for weak
2488 undefined symbols with non-default visibility.
2489 (set_pltoff_entry): Likewise.
2490
2491 * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
2492 with non-default visibility.
2493 (elf_link_output_extsym): Don't make weak undefined symbols
2494 with non-default visibility dynamic.
2495
c424e0e9
L
24962003-05-04 H.J. Lu <hjl@gnu.org>
2497
2498 * elflink.h (elf_merge_symbol): Correctly handle weak definiton.
2499
d31e3dfe
L
25002003-05-04 H.J. Lu <hjl@gnu.org>
2501
2502 * elflink.h (elf_merge_symbol): Don't record a hidden/internal
2503 symbol dynamic. Check indirection when removing the old
2504 definition for symbols with non-default visibility.
2505 (elf_add_default_symbol): Skip when told by elf_merge_symbol.
2506
4d2e1ff0
NC
25072003-05-02 Nick Clifton <nickc@redhat.com>
2508
2509 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
2510 R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
2511 unsigned overflow.
2512
d40d037c
AJ
25132003-05-02 Andreas Jaeger <aj@suse.de>
2514
2515 * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
2516 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2517 (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
2518 (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
2519 ELF_LINK_NON_GOT_REF from weakdef.
2520
c5d1701e
NC
25212003-05-02 Charles Lepple <clepple@ghz.cc>
2522 Nick Clifton <nickc@redhat.com>
2523
2524 * acinclude.m4: Fix name of --enable-install-libbfd switch.
2525 * aclocal.m4: Regenerate.
2526 * configure: Regenerate.
2527 * Makefile.in: Regenerate.
2528
81848ca0
AM
25292003-05-01 Alan Modra <amodra@bigpond.net.au>
2530
2531 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
2532 weakdef sym has already been adjusted before treating it specially.
2533 * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
2534 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2535 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
2536 (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
03d14457 2537
c7996ad6
L
25382003-04-28 H.J. Lu <hjl@gnu.org>
2539
2540 * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
2541 the relax finalize pass.
2542
2543 * section.c (struct sec): Add need_finalize_relax and remove
2544 flag11.
2545 (STD_SECTION): Update struct sec initializer.
2546 * bfd-in2.h: Regenerated.
2547
f006af20
L
25482003-04-28 H.J. Lu <hjl@gnu.org>
2549
2550 * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
2551 to copy any information related to dynamic linking when we flip
2552 the indirection.
2553
1b1fe8fe
L
25542003-04-27 H.J. Lu <hjl@gnu.org>
2555
2556 * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
2557 (ELF_LINK_DYNAMIC_WEAK): New.
2558
2559 * elflink.h (elf_merge_symbol): Add one argument to indicate if
2560 a symbol should be skipped. Ignore definitions in dynamic
2561 objects for symbols with non-default visibility.
2562 (elf_add_default_symbol): Adjusted.
2563 (elf_link_add_object_symbols): Check if a symbol should be
2564 skipped. Don't merge the visibility field with the one from
2565 a dynamic object.
2566 (elf_link_check_versioned_symbol): Use undef_bfd.
2567 (elf_link_output_extsym): Warn if a forced local symbol is
2568 referenced from dynamic objects. Make non-weak undefined symbol
2569 with non-default visibility a fatal error.
2570
052a450c
DJ
25712003-04-27 Daniel Jacobowitz <drow@mvista.com>
2572
2573 * configure.in: Bump version on HEAD to 2.14.90.
2574 * configure: Regenerated.
2575
d204f4c0
SC
25762003-04-26 Stephane Carrez <stcarrez@nerim.fr>
2577
2578 PR savannah/3331:
2579 * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
2580 when we couldn't relax something.
2581
3c0a515d
L
25822003-04-25 Alan Modra <amodra@bigpond.net.au>
2583
2584 * elflink.h (elf_merge_symbol): When we find a regular definition
2585 for an indirect symbol, flip the indirection so that the old
2586 direct symbol now points to the new definition.
2587
d145330d
RM
25882003-04-24 Roland McGrath <roland@redhat.com>
2589
2590 * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
2591
fc0bffd6
AM
25922003-04-24 Alan Modra <amodra@bigpond.net.au>
2593
2594 * elf32-ppc.c: Formatting and comment fixes.
2595 (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
2596 (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
2597
25982003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
8d9cd6b1
NC
2599
2600 * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
2601 * bfd-in2.h: Rebuilt.
2602 * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
fc0bffd6 2603 * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
8d9cd6b1
NC
2604 & H8300SNMAGIC.
2605 (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
2606 * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
2607 (h8300sn_info_struct, h8300hn_info_struct): New.
2608 * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
2609 (elf32_h8_final_write_processing): Likewise.
2610
267fb3c1
KK
26112003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2612
2613 * elf32-sh.c (tpoff): New.
2614 (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
2615 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
fc0bffd6 2616 (allocate_dynrelocs): Don't make unnecessary dynamic TLS
267fb3c1 2617 relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
fc0bffd6 2618 (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
267fb3c1
KK
2619 (dtpoff_base): Fix wrong indentation.
2620 (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
2621 relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
2622 R_SH_TLS_TPOFF32 relocations.
2623
ef230218
JR
26242003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
2625
2626 * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
2627 * cpu-sh.c: Likewise.
2628 * elf32-sh.c: Likewise.
2629 * reloc.c (bfd_reloc_code_real): Likewise.
2630 * elf32-sh64-com.c: Change comment to refer to SuperH.
2631 * elf32-sh64.c: Likewise.
2632 * elf64-sh64.c: Likewise.
2633 * bfd-in2.h (enum bfd_architecture): Regenerate.
2634
8c29f035
AM
26352003-04-23 Alan Modra <amodra@bigpond.net.au>
2636
2637 From Julien LEMOINE <speedblue@debian.org>
2638 * elf32-i386.c (elf_i386_info_to_howto): Delete.
2639 (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
2640
26597c86
NC
26412003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2642
2643 * archures.c: Replace references to Mitsubishi M32R with references
2644 to Renesas M32R.
2645 * relocs.c: Likewise.
2646 * bfd-in2.h: Regenerate.
2647
cc13e3ef
RH
26482003-04-21 Richard Henderson <rth@redhat.com>
2649
2650 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
2651 executable when a symbol is defined both regular and dynamic.
2652
f5a6f915
SC
26532003-04-21 Stephane Carrez <stcarrez@nerim.fr>
2654
2655 * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
2656 (elf32-m68hc1x.lo): Update dependencies
2657 * configure.in: Add elf32-m68hc1x.lo.
2658 * configure: Rebuild.
2659 * Makefile.in: Rebuild.
2660
3a65329d
SC
26612003-04-21 Stephane Carrez <stcarrez@nerim.fr>
2662
2663 * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2664 (m68hc11_elf_hash_table_create): New function.
2665 (elf32_m68hc11_link_hash_table_free): New function.
2666 (stub_hash_newfunc): New function.
2667 (m68hc11_add_stub): New function.
2668 (elf32_m68hc11_add_symbol_hook): New function.
2669 (elf32_m68hc11_setup_section_lists): New function.
2670 (elf32_m68hc11_next_input_section): New function.
2671 (elf32_m68hc11_size_stubs): New function.
2672 (elf32_m68hc11_build_stubs): New function.
2673 (m68hc11_get_relocation_value): New function.
2674 (elf32_m68hc11_relocate_section): Call the above to redirect
2675 some relocations to the trampoline code.
2676 (m68hc11_elf_export_one_stub): New function.
2677 (m68hc11_elf_set_symbol): New function.
2678 (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
2679 (m68hc11_elf_get_bank_parameters): Get parameters only when the info
2680 is not yet initialized.
2681
2682 * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2683 (elf32_m68hc11_stub_hash_entry): New struct.
2684 (m68hc11_page_info): Add trampoline handler address.
2685 (m68hc11_elf_link_hash_table): Add stubs generation members.
2686 (elf32_m68hc11_add_symbol_hook): Declare.
2687 (elf32_m68hc11_setup_section_lists): Declare.
2688 (elf32_m68hc11_size_stubs): Declare.
2689 (elf32_m68hc11_build_stubs): Declare.
8c29f035 2690
3a65329d
SC
2691 * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
2692 (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
2693 (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
2694 (_bfd_m68hc11_elf_set_private_flags): Ditto.
2695 (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
2696 (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
2697 (bfd_elf32_bfd_link_hash_table_create): Define.
2698 (elf_backend_add_symbol_hook): Define.
2699 (m68hc11_elf_bfd_link_hash_table_create): New function.
2700 (m68hc11_elf_build_one_stub): New function.
2701 (m68hc11_elf_size_one_stub): New function.
2702 (m68hc11_elf_bfd_link_hash_table_create): Install the above.
2703 (bfd_elf32_bfd_link_hash_table_create): Define.
2704
2705 * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
2706 (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
2707 (m68hc12_phys_addr): Ditto.
2708 (m68hc12_phys_page): Ditto.
2709 (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
2710 (elf32_m68hc11_gc_mark_hook): Likewise.
2711 (elf32_m68hc11_gc_sweep_hook): Likewise.
2712 (elf32_m68hc11_check_relocs): Likewise.
2713 (elf32_m68hc11_relocate_section): Likewise.
2714 (_bfd_m68hc12_elf_set_private_flags): Likewise.
2715 (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
2716 (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
2717 (m68hc12_elf_build_one_stub): New function.
2718 (m68hc12_elf_size_one_stub): New function.
2719 (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
2720 (elf_backend_add_symbol_hook): Define.
2721 (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
2722
4081944f
NC
27232003-04-18 Nick Clifton <nickc@redhat.com>
2724
2725 * format.c (bfd_check_format_matches): Only check associated
2726 vector if the matching_vector has been created.
2727
060dc71d
AO
27282003-04-15 Alexandre Oliva <aoliva@redhat.com>
2729
2730 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
2731 2003-04-09's change.
2732
a3476bef
NC
27332003-04-15 Brian Ford <ford@vss.fsi.com>
2734
2735 * peicode.h (coff_swap_scnhdr_in): If a section holds
2736 uninitialized data and is from an object file or from an
2737 executable image that has not initialized the s_size field, or if
2738 the physical size is padded, use the virtual size (stored in
2739 s_paddr) instead.
2740
ca4fa240
NC
27412003-04-15 H.J. Lu <hjl@gnu.org>
2742
2743 * elflink.h (elf_link_add_object_symbols): Properly report
2744 filename for alignment reduction.
2745
c2dcd04e
NC
27462003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
2747
2748 * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
2749 * reloc.c: Likewise.
2750 * coff-h8300.c: Likewise.
2751 * coff-h8500.c: Likewise.
2752 * coff-sh.c: Likewise.
2753 * cpu-h8300.c: Likewise.
2754 * cpu-sh.c: Likewise.
2755 * elf32-h8300.c: Likewise.
2756 * elf32-sh.c: Likewise.
2757 * elf32-sh64-com.c: Likewise.
2758 * elf32-sh64.c: Likewise.
2759 * elf64-sh64.c: Likewise.
2760 * bfd-in2.h: Regenerate.
2761
f7661995
NC
27622003-04-14 H.J. Lu <hjl@gnu.org>
2763
2764 * elflink.h (elf_link_add_object_symbols): Maintain maximum
2765 alignment for common symbols. Warn reducing alignment for
2766 common symbols. Report old filename when symbol size changes.
2767
93a2b7ae
AO
27682003-04-12 Alexandre Oliva <aoliva@redhat.com>
2769
2770 * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
2771 occurrences of the same test changed in the previous patch.
2772 Optimize.
2773
0176c794
AO
27742003-04-11 Alexandre Oliva <aoliva@redhat.com>
2775
2776 * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
2777 (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
2778 GOT_DISP/addend only if the symbol got a global GOT entry.
2779
0fdc1bf1
AO
27802003-04-10 Alexandre Oliva <aoliva@redhat.com>
2781
2782 * elfxx-mips.c (mips_elf_calculate_relocation): Decay
2783 GOT_PAGE/GOT_OFST referencing overridable symbol to
2784 GOT_DISP/addend.
2785 (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
2786 global symbol as GOT_DISP.
2787
9b8c98a4
BW
27882003-04-10 Bob Wilson <bob.wilson@acm.org>
2789
2790 * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
2791 next relocation on an undefined symbol.
2792
ec1659c8
RH
27932003-04-09 Richard Henderson <rth@redhat.com>
2794
2795 * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
2796 Ignore relocations against r_symndx == 0.
2797
7dfb07f7
L
27982003-04-09 H.J. Lu <hjl@gnu.org>
2799
2800 * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
2801 FALSE for undefined symbols.
2802 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2803
a3805e4e
AO
28042003-04-09 Alexandre Oliva <aoliva@redhat.com>
2805
2806 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
2807 and IRIX-specific shift-to-64-bit 4-byte lengths before following
2808 addr_size.
2809
69931e60
AO
28102003-04-08 Alexandre Oliva <aoliva@redhat.com>
2811
2812 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
2813 pointer size from ABI, not arch_bits_per_address.
2814
59a8c196
KB
28152003-04-07 Kevin Buettner <kevinb@redhat.com>
2816
2817 * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
2818 constants for n32 ABI.
2819
8e16317c
NC
28202003-04-06 Andrew Cagney <cagney@redhat.com>
2821
2822 * simple.c (bfd_simple_get_relocated_section_contents): Disable
2823 free that leads to GDB vs BFD memory corruption.
2824
196486be
SC
28252003-04-04 Stephane Carrez <stcarrez@nerim.fr>
2826
2827 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
2828 symbols that mark the end of the section.
2829 (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
2830 converting to a relative branch so that the offset is computed after
2831 the relaxation; also relocate a jsr into a bsr if possible but don't
2832 relax them if they are to a far symbol as we need to call the
2833 trampoline code.
2834 (elf_m68hc11_howto_table): Set pcrel_offset to true.
2835
be33c5dd
SS
28362003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
2837
2838 * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
2839 bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
2840 * bfd-in2.h: Regenerate
2841 * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
2842 * cpu-tic4x.c: Ditto
2843
ff0c9faf
NC
28442003-04-03 Nick Clifton <nickc@redhat.com>
2845
2846 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
2847 differently for object files and executables.
2848 * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
2849 for object files or for executables who have not already
2850 initialised the field.
2851 * libpei.h (bfd_pe_executable_p): New macro. Return true if
2852 the PE format bfd is an executable.
2853
2b98e6c0
AM
28542003-04-03 Alan Modra <amodra@bigpond.net.au>
2855
2856 * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
2857 here as it's too early to reliably determine locality.
2858 (ppc_elf_gc_sweep_hook): Likewise.
c8b21ee5 2859 (SYMBOL_REFERENCES_LOCAL): Expand comment.
2b98e6c0 2860
92403579
BW
28612003-04-02 Bob Wilson <bob.wilson@acm.org>
2862
2863 * xtensa-modules.c: Remove comment indicating that this is a
2864 generated file.
2865
c45a316a
AM
28662003-04-02 Alan Modra <amodra@bigpond.net.au>
2867
2868 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
2869
e0001a05
NC
28702003-04-01 Bob Wilson <bob.wilson@acm.org>
2871
8c29f035
AM
2872 * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
2873 (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
2874 (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
2875 xtensa-modules.lo.
2876 (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
2877 xtensa-modules.c.
2878 (cpu-xtensa.lo): New target.
2879 (elf32-xtensa.lo): Likewise.
2880 (xtensa-isa.lo): Likewise.
2881 (xtensa-modules.lo): Likewise.
2882 * Makefile.in: Regenerate.
2883 * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
2884 (bfd_archures_list): Add bfd_xtensa_arch.
2885 * config.bfd: Handle xtensa-*-*.
2886 * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
2887 * configure: Regenerate.
2888 * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
2889 PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
2890 * targets.c (bfd_elf32_xtensa_be_vec): Declare.
2891 (bfd_elf32_xtensa_le_vec): Likewise.
2892 (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
2893 * cpu-xtensa.c: New file.
2894 * elf32-xtensa.c: Likewise.
2895 * xtensa-isa.c: Likewise.
2896 * xtensa-modules.c: Likewise.
2897 * libbfd.h: Regenerate.
2898 * bfd-in2.h: Likewise.
e0001a05 2899
5a6c6817
NC
29002003-04-01 Nick Clifton <nickc@redhat.com>
2901
2902 * archures.c (bfd_mach_arm_unknown): Define.
2903 * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
2904 bfd_arm_get_mach_from_notes): Prototype.
2905 * bfd-in2.h: Regenerate.
2906 * coff-arm.c (coff_arm_merge_private_bfd_data): Call
2907 bfd_arm_merge_machines.
2908 (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
2909 * coffcode.h (coff_set_arch_mach_hook): Call
2910 bfd_arm_get_mach_from_notes.
2911 * coffgen.c (coff_real_object_p): Revert previous delta.
2912 * cpu_arm.c (arm_check_note): New function. Examine a note in a
2913 .note section.
2914 (bfd_arm_merge_machines): New function: Handle the merging of ARM
2915 binaries compiled for different architectures..
2916 (bfd_arm_update_notes): New function: Update an ARM note section.
2917 (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
2918 number from an ARM note section.
2919 * elf32-arm.h (elf32_arm_object_p): Use
2920 bfd_arm_get_mach_from_notes.
2921 (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
2922 (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
8c29f035 2923
0cc1cf99
BE
29242003-04-01 Ben Elliston <bje@wasabisystems.com>
2925
2926 * dwarf2.c (read_attribute_value): Correct typo in comment.
2927
af3ef9fe
NC
29282003-04-01 Nick Clifton <nickc@redhat.com>
2929
2930 * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
2931 instead of concat().
2932 (decode_line_info): Only free filename if it is not NULL.
d63fd5d1
NC
2933 (add_line_info): Make a copy of the filename when storing it into
2934 the info structure.
af3ef9fe 2935
6e84a906
DJ
29362003-03-31 Andreas Schwab <schwab@suse.de>
2937 Daniel Jacobowitz <drow@mvista.com>
2938
2939 * simple.c (bfd_simple_get_relocated_section_contents): Add
2940 parameter symbol_table. Optionally use it instead of the symbol
2941 table from the bfd. Save and restore output offsets and output
2942 sections around bfd_get_relocated_section_contents. Fix a memory
2943 leak.
2944 (simple_save_output_info, simple_restore_output_info): New
2945 functions.
2946 * bfd-in2.h: Regenerate.
2947 * dwarf2.c (read_abbrevs): Use
2948 bfd_simple_get_relocated_section_contents instead of
2949 bfd_get_section_contents.
2950 (decode_line_info): Likewise.
2951 (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
2952 find_rela_addend.
2953 (find_rela_addend): Remove.
2954 * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
2955 debugging sections.
2956 (elfNN_ia64_hash_table_create): Create the hash table with malloc,
2957 not bfd_zalloc.
2958
5ed6aba4
NC
29592003-03-31 David Heine <dlheine@suif.stanford.edu>
2960
2961 * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
2962 bfd_alloc.
2963 * dwarf2.c (concat_filename): Always allocate space for the
2964 returned filename.
2965 (decode_line_info): Free the allocated filename returned by
2966 concat_filename.
2967 * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
2968 * elf.c (copy_private_bfd_data): Likewise.
2969 (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
2970 * elflink.h (elf_link_sort_relocs): Fix memory leak.
2971 * format.c (bfd_check_format_matches): Likewise.
2972 * linker.c (bfd_generic_final_link): Likewise.
2973 * opncls.c (find_separate_debug_info): Likewise.
2974 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
8c29f035 2975
5941afc1
L
29762003-03-28 H.J. Lu <hjl@gnu.org>
2977
2978 * elflink.h (elf_link_add_object_symbols): Correctly combine
2979 visibilities.
2980
9d73f260
JJ
29812003-03-27 Jakub Jelinek <jakub@redhat.com>
2982
2983 * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
2984 to -1 before recomputing got offsets.
2985
a5ad465a
AS
29862003-03-26 Andreas Schwab <schwab@suse.de>
2987
2988 * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
2989 (elf_m68k_relocate_section): Use it to correctly handle symbols
2990 forced to be local.
2991 (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
2992 entries for symbols that are forced to be local.
2993
d0647110
AO
29942003-03-25 Alexandre Oliva <aoliva@redhat.com>
2995
2996 * elfxx-mips.c (_bfd_mips_relax_section): New function.
2997 * elfxx-mips.h (_bfd_mips_relax_section): Declare.
2998 * elfn32-mips.c, elf64-mips.c: Use it.
2999
e16bb312
NC
30002003-03-25 Stan Cox <scox@redhat.com>
3001 Nick Clifton <nickc@redhat.com>
8c29f035 3002
9b5ecbd0 3003 Contribute support for Intel's iWMMXt chip - an ARM variant:
e16bb312
NC
3004
3005 * archures.c: Add bfd_mach_arm_iWMMXt.
3006 * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
3007 * bfd-in2.h: Regenerate.
3008 * libbfd.h: Regenerate.
3009 * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
3010 object files to be linked with XScale ones.
3011 (coff_arm_final_link_postscript): Update note section.
3012 * coffcode.h (coff_set_arch_mach_hook): Handle note section.
3013 * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
3014 after identifying a coff binary.
3015 * cpu-arm.c (processors): Add iWMMXt.
3016 (arch_inf): Likewise.
3017 * elf32-arm.h (arm_object_p): Handle note section.
9b5ecbd0 3018 (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
e16bb312
NC
3019 be linked with XScale ones.
3020 (elf32_arm_section_flags): New function: Set flags on note section.
3021 (elf32_arm_final_write_processing): Handle note section.
3022
25f14c34
DD
30232003-03-21 DJ Delorie <dj@redhat.com>
3024
3025 * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
3026 _bfd_elf_rela_local_sym.
3027
04b3329b
L
30282003-03-20 H.J. Lu <hjl@gnu.org>
3029
3030 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
3031 non-ELF outputs.
3032
c25cfdf8
NC
30332003-03-20 Nick Clifton <nickc@redhat.com>
3034
3035 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
3036 $idata5 in case bfd_coff_final_link is not called.
3037
3e1d7f19
JJ
30382003-03-19 Jakub Jelinek <jakub@redhat.com>
3039
3040 * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
3041 field.
3042 (canon_reloc_count): Define.
3043 (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
3044 sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
3045 reloc_count.
3046 (sparc64_elf_canonicalize_reloc): New routine.
3047 (bfd_elf64_canonicalize_reloc): Define.
3048
3fa1d917
JJ
30492003-03-18 Jakub Jelinek <jakub@redhat.com>
3050
3051 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
3052 againt mergeable sections. Take r_addend into account when caching
3053 trampolines.
3054
f86b235a
RH
30552003-03-18 Richard Henderson <rth@redhat.com>
3056
8c29f035
AM
3057 * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
3058 local symbols that have no dyninfo.
f86b235a 3059
49ae03bf
NC
30602003-03-14 Gene Smith <gene.smith@siemens.com>
3061
3062 * ieee.c (ieee_write_expression): Handle the case where symbol is
3063 NULL.
3064 General formatting improvements.
3065
6a457e5c
NC
30662003-03-13 Nick Clifton <nickc@redhat.com>
3067
3068 * configure.in (LINGUAS): Add zh_CN.
3069 * configure: Regenerate.
3070 * po/zh_CN.po: New file.
3071
93516ec3
NC
30722003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
3073
3074 * aout-cris.c (BYTES_IN_WORD): Don't define.
3075 aout-encap.c: Likewise.
3076 aout-ns32k.c: Likewise.
3077 aout-tic30.c: Likewise.
3078 hp300bsd.c: Likewise.
3079 i386aout.c: Likewise.
3080 i386dynix.c: Likewise.
3081 i386linux.c: Likewise.
3082 i386lynx.c: Likewise.
3083 i386mach3.c: Likewise.
3084 m68k4knetbsd.c: Likewise.
3085 m68klinux.c: Likewise.
3086 m68klynx.c: Likewise.
3087 m68knetbsd.c: Likewise.
3088 m88kmach3.c: Likewise.
3089 mipsbsd.c: Likewise.
3090 newsos3.c: Likewise.
3091 sparclinux.c: Likewise.
3092 sparclynx.c: Likewise.
3093 sparcnetbsd.c: Likewise.
3094 vaxbsd.c: Likewise. Fix comment formatting.
3095
fee24f1c
AO
30962003-03-12 Alexandre Oliva <aoliva@redhat.com>
3097
0b25d3e6
AO
3098 * Reverted 2003-03-02's patch.
3099
fee24f1c
AO
3100 * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
3101 overridable.
3102 * elf64-mips.c (mips_elf64_canonicalize_reloc,
3103 mips_elf64_get_dynamic_reloc_upper_bound,
3104 mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
3105 (bfd_elf64_get_canonicalize_reloc,
3106 bfd_elf64_get_dynamic_reloc_upper_bound,
3107 bfd_elf64_canonicalize_dynamic_reloc): Define.
3108 (mips_elf64_slurp_reloc_table): Support dynamic.
3109 (mips_elf64_slurp_one_reloc_table): Adjust.
3110
64fb1839
NC
31112003-03-12 Nick Clifton <nickc@redhat.com>
3112
3113 * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
3114 'index' to 'offset' in test for zero value.
3115
908488f1
AO
31162003-03-11 Alexandre Oliva <aoliva@redhat.com>
3117
3118 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
3119 dynamic relocations pointing to local or section symbols, use the
3120 NULL symbol instead. Document the choice to not emit an
3121 additional R_MIPS_64 relocation.
3122
e515b051
AM
31232003-03-11 Alan Modra <amodra@bigpond.net.au>
3124
3125 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
3126 zero index dynamic tls relocs generated for the GOT. Tidy code.
3127 Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
3128 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3129
a23b6845
AM
31302003-03-07 Alan Modra <amodra@bigpond.net.au>
3131
87d243f1
AM
3132 * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
3133 a tls_get_addr call.
3134
a23b6845
AM
3135 * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
3136 (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
3137 ELF_LINK_NON_GOT_REF from weakdef.
3138 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
3139 (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
3140 ELF_LINK_NON_GOT_REF from weakdef.
3141 * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
3142 (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
3143 ELF_LINK_NON_GOT_REF from weakdef.
3144
2d36fe5f
AH
31452003-03-06 Jakub Jelinek <jakub@redhat.com>
3146 Andrew Haley <aph@redhat.com>
3147
3148 * elflink.h (elf_bfd_discard_info): Don't process eh frames if
3149 output is relocateable.
3150
34f304a7
NC
31512003-03-06 Steven Konopa <skonopa@kgo.csc.com>
3152
3153 * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
3154 R_COMMENT.
3155
7b609f53
AM
31562003-03-06 Alan Modra <amodra@bigpond.net.au>
3157
3158 * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
3159 error messages.
3160 (ELIMINATE_COPY_RELOCS): Define to zero.
3161 (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
3162 TLSLD relocs. Report reloc types on a number of errors. Optimize
3163 LOCAL24PC check for non-local syms. Don't capitalize error messages.
3164 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
3165 (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
3166 calculating TLSLD relocs. Report reloc types on a number of errors.
3167 Don't capitalize error messages.
3168
6a0fb186
L
31692003-03-03 H.J. Lu <hjl@gnu.org>
3170
3171 * elfxx-ia64.c (USE_BRL): Removed.
3172 (oor_ip): Removed.
3173
34f304a7 31742003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
bdfaef52
JR
3175
3176 * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
3177 relocation (no special function), and make it non-partial_inplace.
3178 (sh_elf_relax_section): When creating a bsr, use a consistent value
3179 no matter if the symbol is extern or not; set addend to -4.
3180 Don't swap load / non-load instructions for SH4.
3181 (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
3182 rather than if the symbol is external to determine if adjusting the
3183 offset makes sense. Adjust the addend too if appropriate.
3184 (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
3185 relocation.
3186
a9d68a1e
NC
31872003-03-03 Nick Clifton <nickc@redhat.com>
3188
3189 * po/da.po: Installed latest translation.
3190
7c2be35c
TS
31912003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3192
3193 * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
3194 R_MIPS_PC16 to rightshift 2.
3195 (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
3196 (bfd_elf32_bfd_reloc_type_lookup): Support
3197 BFD_RELOC_MIPSEMB_16_PCREL_S2.
3198 * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
3199 R_MIPS_PC16 to rightshift 2.
3200 (mips_elf64_howto_table_rela): Likewise.
3201 (mips_reloc_map): Map to rightshifted BFD reloc.
3202 * elfn32-mips.c: The same as in elf64-mips.c.
3203 * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
3204 (mips_elf_calculate_relocation): Handle rightshifted addends for
3205 R_MIPS_PC16.
3206 * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
3207 MIPS Embedded PIC. Remove superfluous empty COMMENT.
3208 * libbfd.h: Regenerate.
3209 * bfd-in2.h: Regenerate.
3210
484a4f9c
RH
32112003-02-28 Richard Henderson <rth@redhat.com>
3212
3213 * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
3214 for ltoff22x relaxation.
3215
2ce40c65
AM
32162003-03-01 Alan Modra <amodra@bigpond.net.au>
3217
3218 * bfd-in.h (_bfd): Don't define.
3219 * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
3220 * syms.c: Likewise.
3221 * bfd-in2.h: Regenerate.
3222
2c4c2bc0
RH
32232003-02-27 Richard Henderson <rth@redhat.com>
3224
3225 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
3226 (elfNN_ia64_check_relocs): Set it.
3227 (allocate_global_data_got): Check it.
3228 (allocate_local_got): Likewise.
3229 (allocate_dynrel_entries): Likewise.
3230 (elfNN_ia64_relax_ldxmov): New.
3231 (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
3232 (elfNN_ia64_choose_gp): Split out from ...
3233 (elfNN_ia64_final_link): ... here.
8c29f035 3234
c2852e88
AC
32352003-02-27 Andrew Cagney <cagney@redhat.com>
3236
3237 * bfd.c (struct bfd): Rename "struct _bfd".
3238 * bfd-in.h: Update copyright.
3239 (struct bfd): Rename "struct _bfd".
3240 (_bfd): Define for backward compatibility.
3241 * bfd-in2.h: Regenerate.
3242
3f87cb70
AM
32432003-02-25 Alan Modra <amodra@bigpond.net.au>
3244
3f9a32bd
AM
3245 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
3246 and rel_hdr2 when initially counting input relocs rather than after
3247 creating output reloc sections.
4fabe71e
AM
3248 (elf_link_read_relocs_from_section): Don't abort with wrong reloc
3249 sizes.
3f9a32bd 3250
3f87cb70
AM
3251 * Makefile.am: Run "make dep-am".
3252 * Makefile.in: Regenerate.
3253
07c6e936
NC
32542003-02-24 Kris Warkentin <kewarken@qnx.com>
3255
3256 * elf.c (elfcore_read_notes): Add check for QNX style core file.
3257 (elfcore_grog_nto_note): New function.
3258 (elfcore_grog_nto_gregs): New function.
3259 (elfcore_grog_nto_status): New function.
3260
aad5d350
AM
32612003-02-24 Alan Modra <amodra@bigpond.net.au>
3262
3263 * elflink.c (_bfd_elf_create_got_section): Check existing .got
3264 section flags before concluding that we've already been called.
3265 Don't use register keyword.
3266 (_bfd_elf_create_dynamic_sections): Don't use register keyword.
3267 (_bfd_elf_create_linker_section): Formatting.
3268
2ab1486e
NC
32692003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
3270
3271 * coff-h8300.c: Fix typo: intial -> initial.
3272 * coff-ppc.c: Likewise.
3273
70bccea4
AM
32742003-02-20 Alan Modra <amodra@bigpond.net.au>
3275
3276 * elf32-ppc.c: Formatting.
3277 (allocate_dynrelocs): LD and GD relocs against the same sym need
3278 separate GOT entries.
3279 (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
3280 entries per symbol.
3281
ee05f2fe
AM
32822003-02-19 Alan Modra <amodra@bigpond.net.au>
3283
26e41594
AM
3284 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
3285 removal. Localize vars. Remove unnecessary dynobj test.
3286 * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
3287 of INFO.
3288 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3289 and optimize.
3290 (elf_i386_relocate_section): Likewise.
3291 (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
3292 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
3293 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
3294 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
3295 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
3296 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
3297 local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
3298 or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
3299 Formatting.
3300
f4656909
AM
3301 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
3302 (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
3303 test.
3304 (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
3305 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3306 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3307 and optimize. Use ELIMINATE_COPY_RELOCS.
3308 (ppc64_elf_relocate_section): Likewise.
3309
ee05f2fe
AM
3310 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
3311 (ppc_elf_copy_indirect_symbol): Copy pc_count field.
3312 (ELIMINATE_COPY_RELOCS): Define.
3313 (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
3314 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3315 (MUST_BE_DYN_RELOC): Define.
3316 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3317 and optimize. Trim dyn_relocs.
3318 (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
3319 not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
3320 track of pc_rel dyn relocs.
3321 (ppc_elf_relocate_section): Remove "will_become_local". Adjust
3322 WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
3323 allocate_dynrelocs. Don't recalculate "sec".
3324
7619e7c7
AM
33252003-02-18 Alan Modra <amodra@bigpond.net.au>
3326
d881513a
AM
3327 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
3328 * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
3329 on invalid LD relocs.
3330 (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
3331 (ppc64_elf_relocate_section): Unify new handling of LD relocs and
3332 tlsld_got entry. Use IS_PPC64_TLS_RELOC.
3333
7619e7c7
AM
3334 * elf32-ppc.h: New file.
3335 * elf32-ppc.c: Include elf32-ppc.h.
3336 (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
3337 (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
3338 Add "tls_mask" field.
3339 (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
3340 (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
3341 Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
3342 sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
3343 Make use of htab shortcuts throughout file.
3344 (ppc_elf_link_hash_newfunc): Init tls_mask field.
3345 (ppc_elf_link_hash_table_create): Init new fields.
3346 (ppc_elf_copy_indirect_symbol): Copy tls_mask.
3347 (ppc_elf_howto_raw): Add tls relocs.
3348 (ppc_elf_reloc_type_lookup): Handle them.
3349 (ppc_elf_unhandled_reloc): New function.
3350 (ppc_elf_create_got): Stash got section pointer in hash table,
3351 return status. Make .rela.got too.
3352 (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
3353 (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
3354 NON_GOT_REF set. Don't allocate space in .plt here..
3355 (allocate_dynrelocs): ..do so here instead, properly ref-counting and
3356 not allocating plt entries unnecessarily. Allocate got entries here.
3357 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3358 (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
3359 "info" during allocate_dynrelocs hash traversal. Use htab section
3360 shortcuts rather than searching for named sections. Get rid of
3361 "plt" and "strip" booleans.
3362 (update_local_sym_info, bad_shared_reloc): New functions.
3363 (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
3364 ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
3365 in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
3366 Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
3367 R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
3368 in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
3369 relocs that might use a plt entry. Set NON_GOT_REF too.
3370 Enumerate all do-nothing relocs.
3371 (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
3372 tls relocs and all plt relocs.
3373 (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
3374 (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
3375 (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
3376 shortcuts.
3377 (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
3378 bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
3379 entries and got relocs here. Warn on non-zero got reloc addend.
3380 Split out branch taken/not taken reloc code into a separate switch
3381 and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
3382 Split out HA reloc adjustments to separate switch statement. Don't
3383 warn on reloc overflow if we've already warned about undefined.
3384 Don't rebuild sym name when reporting errors. Report all possible
3385 errors from _bfd_final_link_relocate.
3386 (bfd_elf32_bfd_final_link): Don't define.
3387
cd27b276
AM
33882003-02-18 Alan Modra <amodra@bigpond.net.au>
3389
3390 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
3391 rebuild sym name when reporting errors.
3392
ae9a127f
NC
33932003-02-17 Nick Clifton <nickc@redhat.com>
3394
3f9a32bd 3395 * elflink.h (elf_link_output_extsym): Only check
ae9a127f
NC
3396 allow_shlib_undefined for shared libraries.
3397 * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
3398 of allow_shlib_undefined.
3399 * elf32-cris.c (cris_elf_relocate_section): Likewise.
3400 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3401 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3402 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3403 * elf32-s390.c (elf_s390_relocate_section): Likewise.
3404 * elf32-sh.c (sh_elf_relocate_section): Likewise.
3405 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3406 * elf32-vax.c (elf_vax_relocate_section): Likewise.
3407 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3408 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
3409 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3410 * elf64-s390.c (elf_s390_relocate_section): Likewise.
3411 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3412 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3413 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3414 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
3415
b5f852ea
NC
34162003-02-17 Nick Clifton <nickc@redhat.com>
3417
3418 * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
3419 address field to use in the comparison.
3f9a32bd 3420 (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
b5f852ea 3421
3193e234
NC
34222003-02-14 Bob Wilson <bob.wilson@acm.org>
3423
3424 * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
3425 backends when checking if the generic ELF target should be used.
3426
21efdc8d
NC
3427 * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
3428 outside of functions, treat values as absolute addresses.
3429
ed781d5d
NC
3430 * bfd.c: Change embedded documentation to use consistent indentation
3431 and to split up long lines. Change informal style of description
3432 for functions lacking real documentation.
3433 * coffcode.h: Break up long lines in embedded documentation.
3434 * format.c: Likewise.
3435 * targets.c: Likewise.
3436 * libcoff.h: Regenerate.
3437 * bfd-in2.h: Regenerate.
3438
58ac9f71
AM
34392003-02-14 Alan Modra <amodra@bigpond.net.au>
3440
3441 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
3442 (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
3443 (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
3444 (allocate_dynrelocs): Don't treat undefined and undefweak specially.
3445 (ppc_size_one_stub): Fix warning, and tighten plt entry check.
3446 (group_sections): Don't share a stub section if stubs are for a large
3447 section. Adjust comment.
3448 (ppc64_elf_size_stubs): Roughly double the size left for stubs if
3449 !stubs_always_before_branch.
3450 (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
3451 treat undefined and undefweak specially when processing dyn relocs.
3452
9147e853
JJ
34532003-02-13 Jakub Jelinek <jakub@redhat.com>
3454
3455 * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
3456
427bfd90
NC
34572003-02-13 Nick Clifton <nickc@redhat.com>
3458
3459 * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
3460 in computation of offset to insert into BL instruction.
3461
42b5d0ea
NC
34622003-02-11 Uwe Stieber <uwe@wwws.de>
3463
3464 * config.bfd: Add support for kaOS as cross build target system.
3465
a48ebf4d
AM
34662003-02-11 Alan Modra <amodra@bigpond.net.au>
3467
3468 * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
3469 .__tls_get_addr too.
3470 (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
3471
c95b8a7a
KK
34722003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
3473
3474 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
3475 (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
3476 (sh_elf_link_hash_newfunc): Remove the initialization of
3477 tls_tpoff32 field.
3478 (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
3479 for which tls_tpoff32 flag is set.
3480 (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
3481 of the symbol includes the entry matched with the input_section
3482 and having tls_tpoff32 flag on. When linking statically, set
3483 symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
3484 is defined in this executable.
3485 (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
3486
a779acda
JJ
34872003-02-10 Jakub Jelinek <jakub@redhat.com>
3488
3489 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
3490 even if there is just non-empty .rela.plt.
3491
fde78edd
NC
34922003-02-10 Nick Clifton <nickc@redhat.com>
3493
3494 * archures.c (bfd_mach_arm_ep9312): Define.
3495 * bfd-in2.h: Regenerate.
3496 * cpu-arm.c (processors[]): Add ep9312.
3497 (bfd_arm_arch): Add ep9312.
3498 * elf32-arm.h (elf32_arm_merge_private_data): Update error
3499 messages and add test for Maverick floating point support.
3500 (elf32_arm_print_private_bfd_data): Handle
3501 EF_ARM_MAVERICK_FLOAT flag.
c178919b
NC
3502 (elf32_arm_object_p): New function.
3503 (elf_backend_object_p): Define.
fde78edd 3504
e7b938ca
AM
35052003-02-10 Alan Modra <amodra@bigpond.net.au>
3506
3507 * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
3508 variables, structure fields or function params to tls_mask or
3509 similar to better reflect usage.
3510 (struct got_entry): Comment.
9b5ecbd0 3511 (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
e7b938ca
AM
3512 (get_tls_mask): Rename from get_tls_type.
3513
951fd09b
AM
35142003-02-09 Alan Modra <amodra@bigpond.net.au>
3515
3516 * elf64-ppc.c (TLS_GD_LD): Don't define..
3517 (TLS_GD): ..define this instead and update all uses.
3518 (TLS_TPRELGD): Define.
3519 (ppc64_elf_link_hash_table_create): Tweak initialization of
3520 init_refcount and init_offset.
3521 (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
3522 Mark second slot of GD or LD toc entries.
3523 (get_tls_type): Return an int. Distinguish toc GD and LD entries
3524 from other tls types.
3525 (ppc64_elf_tls_setup): New function, split out from..
3526 (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
3527 defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
3528 on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
3529 return value to properly decide whether toc GD and LD entries can
3530 optimize away __tls_get_addr call. Check next reloc after DTPMOD64
3531 to determine GD or LD rather than looking at TLS_LD flag. Don't
3532 attempt to adjust got entry tls_type here..
3533 (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
3534 look for possible merges.
3535 (ppc64_elf_size_dynamic_sections): Adjust local got entries for
3536 optimization.
3537 (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
3538 (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
3539 Make use of return value from get_tls_type to properly detect GD and
3540 LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
3541 handle tls_get_addr removal when looking at REL24 relocs, do it when
3542 looking at the previous reloc. Check reloc after DTPMOD64 to determine
3543 GD or LD.
3544 * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
3545
acc990f2
AM
35462003-02-08 Alan Modra <amodra@bigpond.net.au>
3547
00b28bb0
AM
3548 * elf32-hppa.c (group_sections): Don't share a stub section if
3549 stubs are for a large section.
3550
acc990f2
AM
3551 * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
3552 stubs if !stubs_always_before_branch.
3553
589e6347
NC
35542003-02-07 Nick Clifton <nickc@redhat.com>
3555
3556 * elf.c (swap_out_syms): Generate an error message if an
3557 equivalent output section cannot be found for a symbol.
3558
c328dc3f
JJ
35592003-02-07 Jakub Jelinek <jakub@redhat.com>
3560
3561 * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
3562 local_got_entries is NULL.
3563
84f97cb6
AS
35642003-02-06 Andreas Schwab <schwab@suse.de>
3565
3566 * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
3567 (read_value): Add parameter is_signed, use signed extraction if
3568 the value is signed.
3569 (_bfd_elf_write_section_eh_frame): Pass signed flag of the
3570 encoding to read_value.
3571
6349e628
AM
35722003-02-06 Alan Modra <amodra@bigpond.net.au>
3573
3574 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
3575 plt info when called to transfer weak sym info.
3576
411e1bfb
AM
35772003-02-05 Alan Modra <amodra@bigpond.net.au>
3578
3579 * reloc.c: Add PPC and PPC64 TLS relocs.
3580 * libbfd.h: Regenerate.
3581 * bfd-in2.h: Regenerate.
3582 * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
3583 (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
3584 against a 32 bit field.
3585 (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
3586 (_ppc64_elf_section_data): Add t_symndx and comments.
3587 (ppc64_elf_section_data): Use elf_section_data macro.
3588 (ppc64_elf_new_section_hook): American spelling.
3589 (struct got_entry, struct plt_entry): New.
3590 (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
3591 (struct ppc_stub_hash_entry): Add "addend" field.
3592 (struct ppc_link_hash_entry): Add "tls_type".
3593 (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
3594 TLS_EXPLICIT): Define.
3595 (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
3596 (link_hash_newfunc): Init new fields.
58ac9f71 3597 (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
411e1bfb
AM
3598 init_offset to NULL.
3599 (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
3600 _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
3601 there.
3602 (update_local_sym_info, update_plt_info): New functions.
3603 (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
3604 handling to use got.glist rather than got.refcount. Likewise for PLT.
3605 (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
3606 (func_desc_adjust): Adjust for new PLT list.
3607 (ppc64_elf_adjust_dynamic_symbol): Likewise.
3608 (get_sym_h, get_tls_type): New functions.
3609 (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
3610 (ppc64_elf_tls_optimize): New function.
3611 (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
3612 TLS relocs.
3613 (ppc64_elf_size_dynamic_sections): Likewise.
3614 (ppc_type_of_stub): Adjust for new PLT list.
3615 (ppc_build_one_stub): Likewise.
3616 (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
3617 calls specially.
3618 (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
3619 TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
3620 init GOT entries that have a reloc. Generate GOT relocs here..
3621 (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
3622 * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
3623
0cca5f05
AS
36242003-02-04 Andreas Schwab <schwab@suse.de>
3625
3626 * elf32-m68k.c (elf_m68k_hash_entry): Define.
3627 (elf_m68k_link_hash_traverse): Remove.
3628 (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
3629 elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
3630 reduce casting.
3631 (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
3632 casting.
3633 (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
3634 instead of elf_m68k_link_hash_traverse.
3635 (elf_m68k_discard_copies): Change first parameter to pointer to
3636 struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
3637 elf_m68k_link_hash_entry is needed.
3638
5cab59f6
AM
36392003-02-04 Alan Modra <amodra@bigpond.net.au>
3640
3641 * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
3642 (struct elf_link_hash_entry): Add "glist" and "plist" fields to
3643 "got" union, and declare as gotplt_union. Use gotplt_uinion for
3644 "plt" field.
3645 (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
3646 Add "init_offset" field.
3647 (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
3648 (elf_local_got_ents): Declare.
3649 * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
3650 and "plt".
3651 (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
3652 (_bfd_elf_link_hash_table_init): Set "init_offset".
3653 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
3654 from init_offset.
3655 (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
3656
3657 * elf.c (bfd_elf_local_sym_name): Split out from..
3658 (group_signature): ..here.
3659 * elf-bfd.h (bfd_elf_local_sym_name): Declare.
3660
68bfbfcc
AM
36612003-02-04 Alan Modra <amodra@bigpond.net.au>
3662
3663 * elf-bfd.h (enum elf_link_info_type): Remove.
3664 (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
3665 to struct sec. Remove linkonce_p field.
3666 (elf_linkonce_p): Delete.
3667 (elf_discarded_section): Update for sec_info_type change.
3668 * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
3669 flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
3670 (ELF_INFO_TYPE_NONE): Define.
3671 (ELF_INFO_TYPE_STABS): Define.
3672 (ELF_INFO_TYPE_MERGE): Define.
3673 (ELF_INFO_TYPE_EH_FRAME): Define.
3674 (ELF_INFO_TYPE_JUST_SYMS): Define.
3675 (STD_SECTION): Update struct sec initializer.
3676 * ecoff.c (bfd_debug_section): Likewise.
3677 * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
3678 * elflink.h: Likewise.
3679 * elf-eh-frame.c: Likewise.
3680 * elf64-alpha.c: Likewise.
3681 * elfxx-ia64.c: Likewise.
3682 * elfxx-mips.c: Likewise.
3683 * bfd-in2.h: Regenerate.
3684
3685 * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
3686 referring to used_by_bfd.
3687 * elf64-sparc.c (sec_do_relax): Likewise.
3688 * elf64-mmix.c (mmix_elf_section_data): Likewise.
3689 * elfxx-mips.c (mips_elf_section_data): Likewise.
3690 * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
3691 (ieee_get_section_contents): Likewise.
3692 (ieee_new_section_hook): Formatting.
3693 (ieee_canonicalize_reloc): Remove commented out code.
3694 * mmo.c (mmo_section_data): Define. Use throughout file.
3695 * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
3696
31f7ba04
NC
36972003-01-31 Graydon Hoare <graydon@redhat.com>
3698
3699 * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
3700 * Makefile.in: Regenerate.
3701 * opncls.c (calc_crc32, get_debug_link_info,
3702 seperate_debug_file_exists, find_seperate_debug_file): New
3703 internal functions.
3704 (bfd_follow_gnu_debuglink): New function. Follow the pointer
3705 contained inside a .gnu_debuglink section.
3706 * bfd-in2.h: Regenerate.
3707
38985a1c
AO
37082003-01-29 Alexandre Oliva <aoliva@redhat.com>
3709
3710 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
3711 entry->abfd when it's NULL.
3712
4bb9a95f
AO
37132003-01-27 Alexandre Oliva <aoliva@redhat.com>
3714
3715 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
3716 _bfd_elf_section_offset returning -2 the same way as -1.
3717
f4416af6
AO
3718 * elfxx-mips.c (mips_elf_multi_got): New function.
3719 (struct mips_got_entry): Make symndx and gotidx signed. Moved
3720 addend into union along with address and link hash entry.
3721 (struct mips_got_info): Added bfd2got and next.
3722 (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
3723 (mips_elf_got_section, mips_elf_create_got_section): Use
3724 SEC_EXCLUDE bit to tell whether we really need the got
3725 section. Take boolean arguments to disregard an excluded
3726 section, or to create it as excluded. Adjust all callers.
3727 Use mips_elf_got_section all over.
3728 (mips_elf_local_got_index, mips_elf_got_page,
3729 mips_elf_got16_entry): Take input bfd as argument, and pass it
3730 on to mips_elf_create_local_got_entry.
3731 (mips_elf_global_got_index, mips_elf_create_local_got_entry):
3732 Take input bfd as argument, and manage entries in the
3733 appropriate GOT.
3734 (mips_elf_got_offset_from_index): Take input bfd as argument,
3735 and use it to adjust the GP offset of the bfd.
3736 (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
3737 unreferenced GOT entries of global symbols to the end.
3738 (mips_elf_record_global_got_symbol): Take input bfd as
3739 argument. Add entries to the master GOT hash table.
3740 (struct mips_elf_bfd2got_hash): New.
3741 (struct mips_elf_got_per_bfd_arg): New.
3742 (struct mips_elf_set_global_got_offset_arg): New.
3743 (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
3744 mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
3745 mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
3746 mips_elf_merge_gots, mips_elf_set_global_got_offset,
3747 mips_elf_resolve_final_got_entry,
3748 mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
3749 mips_elf_got_for_ibfd): New functions.
3750 (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
3751 (MIPS_ELF_GOT_MAX_SIZE): New macro.
3752 (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
3753 (mips_elf_got_entry_hash): Take new fields into account. Use
3754 mips_elf_hash_bfd_vma.
3755 (mips_elf_got_entry_eq): Take new fields into account.
3756 (mips_elf_create_got_section): Initialize new fields.
3757 (mips_elf_calculate_relocation): Pass input_bfd to functions
3758 that now take it. Adjust gp for the input_bfd.
3759 (mips_elf_allocate_dynamic_relocation,
3760 mips_elf_create_dynamic_relocation,
3761 _bfd_mips_elf_create_dynamic_sections): Use...
3762 (mips_elf_rel_dyn_section): New function. Borrow code from...
3763 (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
3764 now take it. Create the got section if needed, even if
3765 excluded, before recording a global got symbol. Move some
3766 code to...
3767 (mips_elf_record_local_got_symbol): New fn.
3768 (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
3769 Compute multi-got global entries offsets. Move GOT code to...
3770 (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
3771 if the GOT is too big.
3772 (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
3773 undefweak symbol to zero. Generate dynamic relocations for
3774 non-primary GOT entries for global symbols.
3775 (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
3776 case. Generate dynamic relocations for local got entries.
3777 Sort dynamic relocations on N64 too, using...
3778 (sort_dynamic_relocs_64): New fns.
3779 (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
3780 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
3781
52b69c9e
AO
37822003-01-27 Alexandre Oliva <aoliva@redhat.com>
3783
3784 * bfd.c (struct _bfd): Added id field.
3785 * opncls.c (_bfd_id_counter): New static variable.
3786 (_bfd_new_bfd): Use it.
3787 * bfd-in2.h: Rebuilt.
3788
71e5db1c
AM
37892003-01-25 Alan Modra <amodra@bigpond.net.au>
3790
3791 * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
3792
b9734f35
JJ
37932003-01-25 Jakub Jelinek <jakub@redhat.com>
3794
3795 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
3796 (elf32_sparc_rev32_howto): New variable.
3797 (sparc_reloc_map): Add TLS relocs.
3798 (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
3799 Handle REV32.
3800 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
3801 New functions.
3802 (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
3803 struct elf32_sparc_link_hash_table):
3804 New structures.
3805 (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
3806 elf32_sparc_hash_table): Define.
3807 (link_hash_newfunc, elf32_sparc_link_hash_table_create,
3808 create_got_section, elf32_sparc_create_dynamic_sections,
3809 elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
3810 functions.
3811 (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
3812 reference counting.
3813 (elf32_sparc_gc_sweep_hook): Likewise.
3814 (elf32_sparc_adjust_dynamic_symbol): Likewise.
3815 (elf32_sparc_size_dynamic_sections): Likewise.
3816 (elf32_sparc_relocate_section): Likewise.
3817 (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
3818 New functions.
3819 (elf32_sparc_object_p): Allocate backend private object data.
3820 (bfd_elf32_bfd_link_hash_table_create,
3821 elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
3822 elf_backend_can_refcount): Define.
3823 (elf_backend_create_dynamic_sections): Define to
3824 elf32_sparc_create_dynamic_sections.
3825 * reloc.c: Add SPARC TLS relocs.
3826 * bfd-in2.h, libbfd.h: Rebuilt.
3827 * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
3828 (sparc_reloc_map): Likewise.
3829
69fc87f1
MS
38302003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
3831
3832 * bfd-in2.h: Regenerate.
3833 * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
3834 s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
3835 (elf_howto_table): Add TLS relocs.
3836 (elf_s390_reloc_type_lookup): Likewise.
3837 (elf_s390_link_hash_entry): Add tls_type.
3838 (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
3839 New macros.
3840 (elf_s390_link_hash_table): Add tls_ldm_got.
3841 (link_hash_newfunc): Initialize tls_type.
3842 (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
3843 (elf_s390_copy_indirect_symbol): Copy tls_type information.
3844 (elf_s390_check_relocs): Support TLS relocs.
3845 (elf_s390_gc_sweep_hook): Likewise.
3846 (allocate_dynrelocs): Likewise.
3847 (elf_s390_size_dynamic_sections): Likewise.
3848 (elf_s390_relocate_section): Likewise.
3849 (elf_s390_finish_dynamic_symbol): Likewise.
3850 (bfd_elf32_mkobject): Define for TLS.
3851 * elf64-s390.c: Same changes as for elf32-s390.c.
3852 * libbfd.h: Regenerate.
3853 * reloc.c: Add s390 TLS relocations.
3854
c5d1701e 38552003-01-24 Charles Lepple <clepple@ghz.cc>
9aa4e505
NC
3856
3857 * aclocal.m4: Fix name of --enable-install-libbfd switch.
3858
5177500f
NC
38592003-01-23 Nick Clifton <nickc@redhat.com>
3860
3861 * Add sh2e support:
5177500f 3862 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
9b5ecbd0
AM
3863 * archures.c (bfd_mach_sh2e): Added.
3864 * bfd-in2.h: Rebuilt.
3865 * cpu-sh.c (arch_info_struct): Added SH2e.
3866 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
5177500f 3867
f0abc2a1
AM
38682003-01-23 Alan Modra <amodra@bigpond.net.au>
3869
3870 * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
3871 dynindx to an int. Rearrange for better packing.
3872 * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
3873 * elf32-mips.c (bfd_elf32_new_section_hook): Define.
3874 * elf32-sh64.h: New. Split out from include/elf/sh.h.
3875 (struct _sh64_elf_section_data): New struct.
3876 (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
3877 * elf32-sh64-com.c: Include elf32-sh64.h.
3878 * elf32-sh64.c: Likewise.
3879 (sh64_elf_new_section_hook): New function.
3880 (bfd_elf32_new_section_hook): Define.
3881 (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
3882 (sh64_bfd_elf_copy_private_section_data): Likewise.
3883 (sh64_elf_final_write_processing): Likewise.
3884 * elf32-sparc.c (struct elf32_sparc_section_data): New.
3885 (elf32_sparc_new_section_hook): New function.
3886 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3887 (sec_do_relax): Define.
3888 (elf32_sparc_relax_section): Adjust to use sec_do_relax.
3889 (elf32_sparc_relocate_section): Likewise.
3890 * elf64-mips.c (bfd_elf64_new_section_hook): Define.
3891 * elf64-mmix.c (struct _mmix_elf_section_data): New.
3892 (mmix_elf_section_data): Define. Use throughout file.
3893 (mmix_elf_new_section_hook): New function.
3894 (bfd_elf64_new_section_hook): Define.
3895 * elf64-ppc.c (struct _ppc64_elf_section_data): New.
3896 (ppc64_elf_section_data): Define. Use throughout.
3897 (ppc64_elf_new_section_hook): New function.
3898 (bfd_elf64_new_section_hook): Define.
3899 * elf64-sparc.c (struct sparc64_elf_section_data): New.
3900 (sparc64_elf_new_section_hook): New function.
3901 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3902 (sec_do_relax): Define.
3903 (sparc64_elf_relax_section): Adjust to use sec_do_relax.
3904 (sparc64_elf_relocate_section): Likewise.
3905 (bfd_elf64_new_section_hook): Define.
3906 * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
3907 * elfxx-mips.c (struct _mips_elf_section_data): New.
3908 (mips_elf_section_data): Define. Use throughout.
3909 (_bfd_mips_elf_new_section_hook): New function.
3910 (mips_elf_create_got_section): Don't alloc used_by_bfd.
3911 * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
3912 * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
3913 * Makefile.am: Run "make dep-am".
3914 * Makefile.in: Regenerate.
3915
cc03ec80
RH
39162003-01-21 Richard Henderson <rth@redhat.com>
3917
3918 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
3919 (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
3920 (elf64_alpha_adjust_dynamic_symbol): Set them.
3921 (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
3922 (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
3923 symbol index when relaxing LDM to TPREL.
3924 (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
3925 relocs, even if the target isn't locally defined.
3926 (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
3927 (elf64_alpha_relocate_section): Likewise. Force TP-relative
3928 relocs vs symndx 0 to the tp base.
3929
da896d3f
NC
39302003-01-21 Fabio Alemagna <falemagn@aros.org>
3931
3932 * config.bfd: Handle i[3456]86-*-aros*.
3933
7fce784e
AS
39342003-01-21 Andreas Schwab <schwab@suse.de>
3935
3936 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
3937 (struct ppc_elf_link_hash_entry): Define.
3938 (ppc_elf_hash_entry): New function.
3939 (struct ppc_elf_link_hash_table): Define.
3940 (ppc_elf_hash_table): New function.
3941 (ppc_elf_link_hash_newfunc): New function.
3942 (ppc_elf_link_hash_table_create): New function.
3943 (ppc_elf_copy_indirect_symbol): New function.
3944 (allocate_dynrelocs): New function.
3945 (readonly_dynrelocs): New function.
3946 (ppc_elf_size_dynamic_sections): Allocate space for dynamic
3947 relocs and determine DT_TEXTREL.
3948 (ppc_elf_check_relocs): Don't do that here, just count the
3949 dynamic relocs.
3950 (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
3951 removed section.
3952 (bfd_elf32_bfd_link_hash_table_create): Define.
3953 (elf_backend_copy_indirect_symbol): Define.
3954
1bbc9cec
RH
39552003-01-21 Richard Henderson <rth@redhat.com>
3956
3957 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
3958 TPREL also get a reloc if shared. Remove SREL support.
3959 (elf64_alpha_emit_dynrel): New.
acc990f2 3960 (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
1bbc9cec
RH
3961 and GOTTPREL relocs to local symbols against the tp base.
3962 (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
3963
3964 * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
3965 use count before clobbering r_type.
3966 (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
3967 ordering would mean dataflow inspection is necessary.
3968
0da35f8b
SS
39692003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
3970
3971 * coffcode.h (coff_set_flags): Added get/set arch hooks.
acc990f2 3972
571fe01f
NC
39732003-01-20 Fabio Alemagna <falemagn@aros.org>
3974
3975 * elf32-sh.c: Treat elfNN_bed like other macros defined in
3976 elfxx-target.h and #undef it before #define'ing it.
3977 * elf32-i386.c: Likewise.
acc990f2
AM
3978 * elf32-sh64.c: Likewise.
3979 * elf64-alpha.c: Likewise.
3980 * elf64-sh64.c: Likewise.
571fe01f 3981
5236c819
MS
39822003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
3983
3984 * bfd-in2.h: Regenerate.
3985 * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
3986 (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
3987 R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
3988 R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
3989 R_390_PLTOFF32 and R_390_PLTOFF64.
3990 (elf_s390_reloc_type_lookup): Likewise.
3991 (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
3992 of GOTPLT references to a function.
3993 (link_hash_newfunc): Initialize gotplt_refcount.
3994 (elf_s390_check_relocs): Move allocation of local_got_refcounts array
3995 and creation of the got section out of the main switch. Add support
3996 for the gotoff, gotplt and pltoff relocations.
3997 (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
3998 and pltoff.
3999 (elf_s390_adjust_gotplt): New function.
4000 (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
4001 plt entries.
4002 (allocate_dynrelocs): Add comment.
4003 (elf_s390_relocate_section): Change r_type to unsigned. Add support
4004 for gotoff, gotplt and pltoff relocations.
4005 * elf64-s390.c: Same changes as for elf32-s390.c.
4006 * libbfd.h: Regenerate.
4007 * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
4008 BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
4009 BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
4010 and BFD_RELOC_390_PLTOFF64.
4011
a823975a
JJ
40122003-01-18 Jakub Jelinek <jakub@redhat.com>
4013
4014 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
4015 R_IA64_TPREL64[LM]SB against non-global symbol properly.
4016
b3dfd7fe
JJ
40172003-01-16 Jakub Jelinek <jakub@redhat.com>
4018
4019 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
4020 self_dtpmod_done and self_dtpmod_offset.
4021 (allocate_global_data_got): Only use one got entry for all
4022 dtpmod relocs against local symbols.
4023 (allocate_dynrel_entries): Only need .rela.got entry for
4024 dtpmod against global symbol.
4025 (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
4026 Reserve space in .rela.got for the local dtpmod entry.
4027 (set_got_entry): Initialize the common local dtpmod .got entry.
4028 (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
4029 and R_IA_64_DTPREL64MSB.
4030
04c9666a
AM
40312003-01-16 Alan Modra <amodra@bigpond.net.au>
4032
4033 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
4034 (R_PPC_*): Rename all occurrences to R_PPC64_*.
4035 (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
4036 (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
4037 (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
4038 relative relocs, not with absolute ones.
4039 * Makefile.am: Run "make dep-am".
4040 * Makefile.in: Regenerate.
4041 * po/SRC-POTFILES.in: Regenerate.
4042
c87f1ff7
AS
40432003-01-15 Andreas Schwab <schwab@suse.de>
4044
4045 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
4046 relocation against a non-allocated readonly section.
4047
86bbe32f
AM
40482003-01-10 Alan Modra <amodra@bigpond.net.au>
4049
4050 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
4051 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
4052
32d95f29
KD
40532002-01-08 Klee Dienes <kdienes@apple.com>
4054
4055 * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
4056 (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
4057 * Makefile.in: Regenerate.
acc990f2 4058
ab7d0aa0
AO
40592003-01-08 Alexandre Oliva <aoliva@redhat.com>
4060
4061 * elfn32-mips.c (prev_reloc_section): New.
4062 (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
4063 (SET_RELOC_ADDEND): Parenthesize macro argument.
4064
95d0f04a
DA
40652003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
4066
4067 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
4068 adjust addil instructions if the symbol has no section.
4069
5c9e189c
DD
40702003-01-07 DJ Delorie <dj@redhat.com>
4071
4072 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
4073 partial_inplace.
4074
3e829b4a
AS
40752003-01-07 Andreas Schwab <schwab@suse.de>
4076
4077 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
4078 PC relative relocations.
4079 (elf_m68k_discard_copies): Set it here instead.
4080
a75473eb
SC
40812002-01-02 Ben Elliston <bje@redhat.com>
4082 Jeff Johnston <jjohnstn@redhat.com>
4083
4084 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
4085 (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
4086 (BFD32_BACKENDS): Add elf32-iq2000.lo.
4087 (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
4088 (cpu-iq2000.lo): New target.
4089 * Makefile.in: Regenerate.
4090 * config.bfd: Handle iq2000-*-elf.
4091 * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
4092 (bfd_archures_list): Add bfd_iq2000_arch.
4093 * configure.in: Handle bfd_elf32_iq2000_vec.
4094 * configure: Regenerate.
acc990f2 4095 * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
a75473eb
SC
4096 and BFD_RELOC_IQ2000_UHI16.
4097 * targets.c (bfd_elf32_iq2000_vec): Declare.
4098 (bfd_target_vector): Add bfd_elf32_iq2000_vec.
4099 * elf.c (prep_headers): Set e_machine to EM_IQ2000.
4100 * cpu-iq2000.c: New file.
4101 * elf32-iq2000.c: Likewise.
4102 * libbfd.h: Regenerate.
4103 * bfd-in2.h: Likewise.
4104
64543e1a
RS
41052003-01-02 Richard Sandiford <rsandifo@redhat.com>
4106
4107 * elfxx-mips.c: Include libiberty.h.
4108 (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
4109 (mips_set_isa_flags): New function, split out from...
4110 (_bfd_mips_elf_final_write_processing): ...here. Only call
4111 mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
4112 (mips_mach_extensions): New array.
4113 (mips_32bit_flags_p): New function.
4114 (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
4115 Use mips_32bit_flags_p to check if one binary is 32-bit and the
4116 other is 64-bit. When adopting IBFD's architecture, adopt the
4117 bfd_mach as well as the flags.
4118
4852a44e
NC
41192003-01-02 Nick Kelsey <nickk@ubicom.com>
4120
4121 * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
4122 fix internal errors, fix bad code generation, fix incorrect stabs
4123 information, and improve ability to eliminate redundant page
4124 instructions. Added code to ip2k_final_link_relocate to self-verify
4125 the linker relaxation. Fix formatting problems.
4126
af7ee8bf
CD
41272002-12-30 Chris Demetriou <cgd@broadcom.com>
4128
4129 * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
4130 * archures.c (bfd_mach_mipsisa32r2): New define.
4131 * bfd-in2.h: Regenerate.
4132 * cpu-mips.c (I_mipsisa32r2): New enum value.
4133 (arch_info_struct): Add entry for I_mipsisa32r2.
4134 * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
4135 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
4136 (_bfd_mips_elf_final_write_processing): Add
4137 bfd_mach_mipsisa32r2 case.
4138 (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
4139 binaries marked as using MIPS32 Release 2.
4140
2469cfa2
NC
41412002-12-30 Dmitry Diky <diwil@mail.ru>
4142
4143 * Makefile.am: Add msp430 target.
4144 * configure.in: Likewise.
4145 * Makefile.in: Regenerate.
4146 * configure: Regenerate.
4147 * archures.c: Add msp430 architecture vector.
4148 * config.bfd: Likewise.
4149 * reloc.c: Add msp430 relocs.
4150 * targets.c: Add msp320 target.
4151 * cpu-msp430.c: New file: msp430 cpu detection.
4152 * elf32-msp430.c: New file: msp430 reloc processing.
4153 * bfd-in2.h: Regenerate.
4154 * libbfd.h: Regenerate.
4155
eecdbe52
JJ
41562002-12-28 Jakub Jelinek <jakub@redhat.com>
4157
4158 * elf.c (elf_sort_sections): Don't reorder .tbss.
4159 (assign_file_positions_for_segments): Only adjust off/voff
4160 for increased alignment in PT_LOAD or PT_NOTE segment,
4161 but adjust p_filesz for .tbss too. in PT_LOAD consider
4162 .tbss to have zero memory size.
4163 (copy_private_bfd_data) [SECTION_SIZE]: Define.
4164 [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
4165 [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
4166 into PT_TLS segment. Never put SHF_TLS sections in
4167 segments other than PT_TLS or PT_LOAD.
4168
4169 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
4170 sh_entsize.
4171
213e90f4
DD
41722002-12-23 DJ Delorie <dj@redhat.com>
4173
4174 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
4175
75828352
AM
41762002-12-23 Alan Modra <amodra@bigpond.net.au>
4177
4178 * elflink.h (elf_link_output_extsym): Heed strip_discarded.
4179
312b768e
NC
41802002-12-23 Nick Clifton <nickc@redhat.com>
4181
4182 * archures.c (bfd_arch_get_compatible): Add third parameter
4183 'accept_unknowns'. Only accept unknown format BFDs if
4184 accept_unknowns is true, or if the format is "binary".
acc990f2 4185 * bfd-in2.h: Regenerate.
312b768e 4186
63222ec9
NC
41872002-12-21 Nick Clifton <nickc@redhat.com>
4188
4189 * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
4190 that subtracted 8 from pc relative relocations.
4191
19852a2a
KH
41922002-12-20 Kazu Hirata <kazu@cs.umass.edu>
4193
4194 * coff-h8300.c: Fix comment typos.
4195 * coffcode.h: Likewise.
4196 * cpu-cris.c: Likewise.
4197 * elf32-vax.c: Likewise.
4198 * genlink.h: Likewise.
4199 * linker.c: Likewise.
4200 * som.c: Likewise.
4201 * tekhex.c: Likewise.
4202 * vms-misc.c: Likewise.
4203
5fd63999
DD
42042002-12-20 DJ Delorie <dj@redhat.com>
4205
4206 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
4207 * libbfd.h: Regenerate.
4208 * bfd-in2.h: Regenerate.
4209 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
4210 (xstormy16_reloc_map): Add R_XSTORMY16_12.
acc990f2 4211
4ee79850
KH
42122002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4213
4214 * doc/bfdint.texi: Fix typos.
4215
66e25bab
AM
42162002-12-20 Paul Eggert <eggert@twinsun.com>
4217
4218 Port to POSIX 1003.1-2001.
4219 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
4220 * configure.in (build-warnings): Likewise.
4221 (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
4222 * aclocal.m4: Regenerate.
4223 * config.in: Regenerate.
4224 * configure: Regenerate.
4225
7dc77aaa
AM
42262002-12-19 Alan Modra <amodra@bigpond.net.au>
4227
0171ee92
AM
4228 * coff-h8300.c: Include libiberty.h.
4229 (h8300_reloc16_extra_cases): Check the hash table creator before
4230 referencing h8300 specific fields. Stash the hash table pointer
4231 in a local var. Comment typo fixes.
4232 (h8300_bfd_link_add_symbols): Likewise.
4233
1049f94e 4234 * reloc.c (struct reloc_howto_struct): Revise src_mask and
7dc77aaa
AM
4235 dst_mask comments.
4236 * bfd-in2.h: Regenerate.
4237
47388f4c
AM
42382002-12-18 Alan Modra <amodra@bigpond.net.au>
4239
4240 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
4241 code a little. Comment on dynamic relocs against section symbols.
4242
1b3e3744
AM
42432002-12-17 Roger Sayle <roger@eyesopen.com>
4244
4245 * configure.host (ia64-*-hpux*): Support 64 bit targets using
4246 the HP compiler's "long long".
4247
46f2b541
DD
42482002-12-16 Andrew MacLeod <amacleod@redhat.com>
4249
4250 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
4251 and R_XSTORMY16_HI16) howto entries.
4252 (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
1b3e3744 4253 (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
46f2b541
DD
4254 determine the start of the second reloc table.
4255
af738ea7
NC
42562002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
4257
4258 * ecofflink.c: Fix the reading of the debugging information
4259 of Tru64/Alpha binaries that are produced by recent Compaq
4260 compilers.
4261 (mk_fdrtab): Fix error in creating the FDR (file descriptor)
4262 table.
4263 (lookup_line): Because of the strange information sometimes
4264 generated by Compaq's recent compilers, change how the FDR
4265 table is searched so that PDRs (procedure descriptors) are
4266 correctly found. Note that this change is really more of a hack;
4267 however, I have included extensive documentation as to why
4268 this is the best solution short of an extensive rewrite or
4269 another hack.
4270 (fdrtab_lookup): Add comments to explain the algorithm.
4271
5354b572
AO
42722002-12-12 Alexandre Oliva <aoliva@redhat.com>
4273
4274 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
4275 initializers to match struct declaration.
4276
ab3acfbe
AM
42772002-12-12 Alan Modra <amodra@bigpond.net.au>
4278
4279 * dwarf2.c (comp_unit_contains_address): Comment typo fix.
4280 * elf.c (get_program_header_size): Likewise.
4281 * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
4282 (m32r_elf_generic_reloc): Likewise.
4283 * elf32-ppc.c (ppc_elf_howto_init): Likewise.
4284 * elflink.h (elf_bfd_discard_info): Likewise.
4285
6348e046
AM
42862002-12-12 Alan Modra <amodra@bigpond.net.au>
4287
4288 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
4289 to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
4290 DT_RELSZ adjustment, not output section. Avoid writing tags when
4291 unchanged. Don't assume linker script is sane, adjust DT_REL too.
4292 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
4293 size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
4294 DT_RELASZ adjustment, not output section. Avoid writing tags when
4295 unchanged. Adjust DT_RELA.
4296 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
4297 formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
4298
2e7a68a8
AO
42992002-12-12 Alexandre Oliva <aoliva@redhat.com>
4300
4301 * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
4302 addend by 4.
4303
b15e6682
AO
43042002-12-12 Alexandre Oliva <aoliva@redhat.com>
4305
4306 * elfxx-mips.c (struct mips_got_entry): New.
4307 (struct mips_got_info): Added got_entries field.
4308 (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
4309 (mips_elf_local_got_index, mips_elf_got_page,
4310 mips_elf_got16_entry): Re-implement in terms of new...
4311 (mips_elf_create_local_got_entry): Rewrite to use got_entries.
4312 Change return type.
4313 (mips_elf_highest): Warning clean-up.
4314 (mips_elf_create_got_section): Initialize got_entries.
4315 (_bfd_mips_elf_check_relocs): Use got_entries to estimate
4316 local got size.
4317 (_bfd_mips_elf_size_dynamic_sections): Do not account for
4318 GOT_PAGE entries, since we now reuse GOT16 entries.
4319
e6af3a53
NC
43202002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
4321
4322 * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
4323 read-only section that lies after .text and before .data to be
4324 written into the output file and included in a_text.
4325 (translate_to_native_sym_flags): If an otherwise unrepresentable
4326 section was merged with .text, convert its symbols to N_TEXT
4327 symbols.
4328 * libaout.h (aout_section_merge_with_text_p): New macro.
4329
cf3d882d
AM
43302002-12-08 Alan Modra <amodra@bigpond.net.au>
4331
4332 * bfd-in.h: Comment typo fix. Formatting.
4333 * bfd-in2.h: Regenerate.
4334 * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
4335 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
4336 * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
4337
2f9bd3f6
RH
43382002-12-05 Richard Henderson <rth@redhat.com>
4339
4340 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
4341 Only send PCREL21B though the plt. Fix installed reloc type.
4342 (elfNN_ia64_relocate_section): Give error for dynamic reloc
4343 against PCREL22 or PCREL64I; clean up error messages for
4344 branch relocs.
4345
d0112f73
KB
43462002-12-04 Kevin Buettner <kevinb@redhat.com>
4347
4348 * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
4349 New functions.
4350 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
4351
c10d9d8f
JW
43522002-12-04 David Mosberger <davidm@hpl.hp.com>
4353
4354 * cpu-ia64-opc.c: Add operand constant "ar.csd".
4355
d48770d4
L
43562002-12-04 H.J. Lu <hjl@gnu.org>
4357
4358 * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
4359 BFD address when constructing local name.
4360
b6152c34
AS
43612002-12-04 Andreas Schwab <schwab@suse.de>
4362
4363 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
4364 member.
4365 (elf_m68k_link_hash_table_create): Initialize it.
4366 (elf_m68k_check_relocs): Handle symbols that are forced to be
4367 local due to visibility changes.
4368 (elf_m68k_adjust_dynamic_symbol): Likewise.
4369 (elf_m68k_size_dynamic_sections): Likewise.
4370 (elf_m68k_discard_copies): Likewise.
4371 (elf_m68k_relocate_section): Likewise.
4372
73374ef1
AM
43732002-12-04 Alan Modra <amodra@bigpond.net.au>
4374
4375 * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
4376
c5c1944d
AM
43772002-12-04 Alan Modra <amodra@bigpond.net.au>
4378
4379 * srec.c (srec_write_symbols): Restore '$' prefix to address
4380 accidentally removed in 2002-04-04 change.
4381 (srec_get_symtab): Use 0 instead of `(long) FALSE'.
4382
e1a9cb8e
NC
43832002-12-03 Nick Clifton <nickc@redhat.com>
4384
4385 * elf32-ppc.c (apuinfo_list_init): New function.
73374ef1
AM
4386 (apuinfo_list_add): New function: Add a value to the list.
4387 (apuinfo_list_length): New function: Return the number of
4388 values on the list.
4389 (apuinfo_list_element): New function: Return a value on the
4390 list.
4391 (apuinfo_list_finish): New function: Free the resources used
4392 by the list.
4393 (ppc_elf_begin_write_processing): New function. Scan the
4394 input bfds for apuinfo sections.
4395 (ppc_elf_write_section): New function: Delay the creation of
4396 the contents of an apuinfo section in an output bfd.
4397 (ppc_elf_final_write_processing): New function. Create the
4398 contents of an apuinfo section in an output bfd.
4399 (elf_backend_begin_write_processing): Define.
4400 (elf_backend_final_write_processing): Define.
4401 (elf_backend_write_section): Define.
e1a9cb8e 4402
a823923b
RH
44032002-12-03 Richard Henderson <rth@redhat.com>
4404
4405 * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
4406
30491647
SC
44072002-12-01 Stephane Carrez <stcarrez@nerim.fr>
4408
4409 Fix PR savannah/1417:
4410 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
4411 branch if it goes to the start of the deleted region.
4412
bc7c6a90
SC
44132002-12-01 Stephane Carrez <stcarrez@nerim.fr>
4414
4415 * bfd-in2.h (bfd_mach_m6812): Rebuild.
4416 * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
4417 bfd_mach_m6812s): Declare.
4418
4419 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
4420 (_bfd_m68hc12_elf_set_private_flags): Call it.
4421 (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
4422 (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
4423 report microcontroller incompatibilities (HC12 vs HCS12).
4424 (elf_backend_object_p): Update.
4425
b34976b6
AM
44262002-11-30 Alan Modra <amodra@bigpond.net.au>
4427
4428 * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
4429 (enum bfd_boolean, boolean): Delete.
4430 (bfd_boolean): Typedef to an int.
4431 (FALSE, TRUE): Define.
4432 * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
4433 aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
4434 aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
4435 binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
4436 coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
4437 coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
4438 coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
4439 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
4440 coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
4441 coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
4442 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
4443 cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
4444 cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
4445 cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
4446 cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
4447 cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
4448 cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
4449 cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
4450 cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
4451 cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
4452 dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
4453 elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
4454 elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
4455 elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
4456 elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
4457 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4458 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4459 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4460 elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
4461 elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
4462 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4463 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
4464 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
4465 elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
4466 elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
4467 elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
4468 hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
4469 i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
4470 libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
4471 libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
4472 m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
4473 mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
4474 nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
4475 pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
4476 pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
4477 pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
4478 reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
4479 som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
73374ef1 4480 syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
b34976b6
AM
4481 vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
4482 xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
4483 bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
4484 of bfd_boolean vars with TRUE/FALSE. Formatting.
4485 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
4486
947216bf
AM
44872002-11-28 Alan Modra <amodra@bigpond.net.au>
4488
4489 * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
4490 Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
4491 with Elf_Internal_Rela.
4492 * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
4493 elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
4494 elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
4495 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4496 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4497 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4498 elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
4499 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4500 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4501 elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
4502 elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
4503 * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
4504 throughout instead.
4505 * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
4506 * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
4507 Remove INLINE keyword.
4508 (elf_swap_reloc_in): Likewise. Also clear r_addend.
4509 (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
4510 as a bfd_byte *.
4511 (elf_write_relocs): Consolidate REL and RELA code.
4512 (elf_slurp_reloc_table_from_section): Simplify REL code.
4513 (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
4514 * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
4515 * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
4516 RELA code.
4517 (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
4518 reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
4519 (elf_link_output_relocs): Likewise.
4520 (elf_reloc_link_order): Likewise.
4521 (elf_finish_pointer_linker_section): Likewise.
4522 (struct elf_link_sort_rela): Remove union.
4523 (elf_link_sort_cmp1): Update to suit.
4524 (elf_link_sort_cmp2): Here too.
4525 (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
4526 over-allocation for int_rels_per_ext_rel != 1 case.
4527 * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
4528 * elf32-i386.c: Likewise.
4529 * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
4530 * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
4531 elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
4532 * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
4533 * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4534 elf64-sparc.c, elf64-x86-64.c: Likewise.
4535 * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
4536 * elfxx-mips.c (sort_dynamic_relocs): Likewise for
4537 bfd_elf32_swap_reloc_in.
4538
4539 * elf32-arm.h: Update elf32_arm_info_to_howto calls.
4540 * elf32-mips.c: Likewise for mips_info_to_howto_rel.
4541 (mips_elf64_swap_reloc_in): Zero r_addend.
4542 (mips_elf64_be_swap_reloc_in): Likewise.
4543 (mips_elf64_slurp_one_reloc_table): Simplify.
4544
4545 * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
4546 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
4547 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
4548
1448fa32
KK
45492002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4550
4551 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
73374ef1 4552 unresolved debugging relocs in dynamic applications.
1448fa32
KK
4553 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4554
73722af0
AM
45552002-11-26 Alan Modra <amodra@bigpond.net.au>
4556
4557 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
4558 (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
4559 on a relocatable link. Comment typos.
4560 * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
4561 in the order they are declared. Clear elf_hash_value too.
4562 (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
4563 eh_info and tls_segment.
4564 * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
4565 sorted when discarding relocs by turning them into R_*_NONE.
4566
4567 * libbfd.c (warn_deprecated): Comment spelling.
4568 * po/SRC-POTFILES.in: Regenerate.
4569
7c25b72c
RH
45702002-11-21 Richard Henderson <rth@redhat.com>
4571
4572 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
4573 arch's st_other bits when merging visibilities.
4574 (elf_link_output_extsym): Tidy clearing of visibility field.
4575
dc12c51f
AM
45762002-11-21 Alan Modra <amodra@bigpond.net.au>
4577
4578 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
4579 (SWAP_OUT_RELOC_OFFSET): Define.
4580
963f13ec
AO
45812002-11-20 Alexandre Oliva <aoliva@redhat.com>
4582
4583 * elf.c (_bfd_elf_link_hash_table_init): Make sure
4584 can_refcount is properly extended to the type of
4585 init_refcount.
4586
ee6423ed
AO
45872002-11-19 Alexandre Oliva <aoliva@redhat.com>
4588
4ffba85c
AO
4589 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
4590 (_bfd_mips_elf_relocate_section): Use it.
4591
ee6423ed
AO
4592 * elfxx-mips.c (MNAME): New macro.
4593 (_bfd_mips_elf_check_relocs): Use it.
4594 (_bfd_mips_elf_discard_info): Likewise.
4595 (_bfd_mips_elf_final_link): Likewise.
4596
cdcf6e38
AM
45972002-11-19 Alan Modra <amodra@bigpond.net.au>
4598
4599 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
4600 rel_hdr.sh_size too.
4601
93509525
KD
46022002-11-18 Klee Dienes <kdienes@apple.com>
4603
4604 * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
4605 (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
4606 (BFD_H_FILES): Add bfdwin.c, bfdio.c.
4607 (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
4608 Add dependencies for bfdwin.c, bfdio.c.
4609 * bfd.c: Remove bfd_get_mtime, bfd_get_size.
4610 * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
4611 bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
4612 bfd_tell, bfd_flush, bfd_stat, bfd_seek.
4613 * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
4614 bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
4615 bfd_get_size (moved from libbfd.c and bfd.c).
4616 * bfdwin.c New file. Contains _bfd_window_internal,
4617 bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
4618 libbfd.c and bfd.c).
4619 * po/SRC-POTFILES.in: Regenerate.
4620 * po/bfd.pot: Regenerate.
4621 * libbfd.h: Regenerate.
4622 * bfd-in2.h: Regenerate.
4623 * aclocal.m4: Regenerate.
4624 * Makefile.in: Regenerate.
4625 * configure: Regenerate.
4626
3ae41454
AM
46272002-11-18 Klee Dienes <kdienes@apple.com>
4628
4629 * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
4630
e514ac71
NC
46312002-11-15 Kazu Hirata <kazu@cs.umass.edu>
4632
4633 * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
4634 jsr after a short jump.
4635 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
4636
eddc4f81
KD
46372002-11-15 Klee Dienes <kdienes@apple.com>
4638
4639 * pef.c (bfd_pef_convert_architecture): Move declaration of
4640 ARCH_POWERPC and ARCH_M68K to the start of the function.
4641
51908eee
SS
46422002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
4643
4644 * coff-tic4x.c (tic4x_howto_table): Formatting fixup
4645
3416d2e7
HPN
46462002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
4647
4648 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
4649 For bpo_gregs_section->contents, allocate _raw_size, not
4650 _cooked_size.
4651
b1c58715
AM
46522002-11-13 Klee Dienes <kdienes@apple.com>
4653
4654 * config.bfd: Add entries for powerpc-*-darwin and cousins.
4655
077ca68b
L
46562002-11-13 H.J. Lu <hjl@gnu.org>
4657
4658 * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
4659
e84d6fca
AM
46602002-11-13 Klee Dienes <kdienes@apple.com>
4661 Alan Modra <amodra@bigpond.net.au>
4662
4663 * bfd.c (struct bfd_preserve): New.
4664 (bfd_preserve_save): New function.
4665 (bfd_preserve_restore): Ditto.
4666 (bfd_preserve_finish): Ditto.
4667 * bfd-in2.h: Regenerate.
4668 * mach-o.c: Formatting.
4669 (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
4670 (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
4671 (bfd_mach_o_core_p): Ditto.
4672 (bfd_mach_o_scan): Pass in mdata.
4673 * mach-o.h (bfd_mach_o_scan): Update prototype.
4674 * pef.c: Formatting.
4675 (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
4676 (bfd_pef_xlib_object_p): Ditto.
4677 (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
4678 * pef.h (bfd_pef_scan): Update prototype.
4679 * xsym.c: Formatting, K&R fixes.
4680 (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
4681 (bfd_sym_scan): New function split out from bfd_sym_object_p.
4682 * xsym.h (bfd_sym_scan): Declare.
4683 * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
a7f84125 4684 * elfcore.h (elf_core_file_p): Likewise.
e84d6fca
AM
4685 * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
4686
cd24c222
NC
46872002-11-12 Nick Clifton <nickc@redhat.com>
4688
4689 * po/da.po: Updated Danish translation.
4690
99eb2ac8
AM
46912002-11-12 Alan Modra <amodra@bigpond.net.au>
4692
d6fe2dc1
AM
4693 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
4694 relocatable link too.
4695 (elf_link_input_bfd): When emitting relocs, adjust offsets for
4696 eh_frame and stab sections. Zap deleted relocs.
4697 (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
4698 (elf_bfd_discard_info): Run for relocatable link too.
4699 * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
4700 Handle ld -r case.
4701 (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
4702 * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
4703
126495ed
AM
4704 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
4705 (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
4706 (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
4707 (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
4708 (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
4709 (struct elf_link_hash_table): Add eh_info.
4710 (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
4711 (_bfd_elf_discard_section_eh_frame): Update prototype.
4712 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
4713 (_bfd_elf_write_section_eh_frame): Likewise.
4714 (_bfd_elf_write_section_eh_frame_hdr): Likewise.
4715 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
4716 param. Get "hdr_info" from link hash table.
4717 (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
4718 header section from link hash table. Save header section to elf_tdata.
4719 (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
4720 header section from link hash table. Don't alloc hdr_info. Clear
4721 hdr_sec instead of setting "strip".
4722 (_bfd_elf_eh_frame_section_offset): Formatting.
4723 (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
4724 Get header section from link hash table.
4725 (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
4726 Get header section from link hash table.
4727 * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
4728 (get_program_header_size): Likewise.
4729 (_bfd_elf_section_offset): Formatting.
4730 * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
4731 section pointer in link hash table.
4732 (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
4733 and _bfd_elf_write_section_eh_frame calls. Update comment about
4734 eh_frame entries.
4735 (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
4736 _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
4737
4738 * po/SRC-POTFILES.in: Regenerate.
4739
99eb2ac8
AM
4740 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
4741 relocs for discarded FDEs. Remove dead code.
4742 (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
4743 * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
4744 Tidy conditions under which stabs are edited. Formatting.
4745 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4746 from discarded relocs.
4747 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
4748 section adjustments after testing magic values.
4749
7c319a27
AM
47502002-11-12 Thomas Moestl <tmm@FreeBSD.org>
4751
4752 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
4753 references to large plt symbols.
4754
a95a4550
AM
47552002-11-12 Klee Dienes <kdienes@apple.com>
4756
4757 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
4758 looking for an unused section name.
4759
bc7eab72
KH
47602002-11-11 Kazu Hirata <kazu@cs.umass.edu>
4761
4762 * coff-h8300.c: Fix formatting.
4763 * elf32-h8300.c: Likewise.
4764 * reloc16.c: Likewise.
4765
52585bb8
AM
47662002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4767
4768 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
4769 section when dynamic section unused; _bfd_strip_section_from_output
4770 instead.
4771
9f632188
AM
47722002-11-08 Alan Modra <amodra@bigpond.net.au>
4773
207b304b
AM
4774 * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
4775 and sym_vec.
3b029f65 4776
9f632188
AM
4777 * dwarf2.c: Revert last change.
4778
ec4530b5
NC
47792002-11-07 Michal Ludvig <mludvig@suse.cz>
4780
9b5ecbd0 4781 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
ec4530b5
NC
4782 _bfd_dwarf2_find_nearest_line): Use
4783 bfd_simple_get_relocated_section_contents() instead of
4784 bfd_get_section_contents().
4785 * reloc.c (bfd_perform_relocation): Add sanity check.
4786 * simple.c (simple_get_relocated_section_contents): If the section
4787 does not have any relocs associated with it, just return the
4788 unadjusted contents.
4789
205cfeb0
HPN
47902002-11-07 Hans-Peter Nilsson <hp@axis.com>
4791
4792 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
4793 case R_CRIS_32_GOT>: Correct test for filling in constant .got
4794 contents, enabling for a non-DSO, for symbols defined in the
4795 program with --export-dynamic.
4796
87e226ce
AM
47972002-11-07 Alan Modra <amodra@bigpond.net.au>
4798
4799 * elf64-ppc.c: Comment typo fixes.
4800 (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
4801
235c4794
NC
48022002-11-07 Nick Clifton <nickc@redhat.com>
4803
4804 * po/da.po: Updated Danish translation.
4805
49179469
AO
48062002-11-06 Alexandre Oliva <aoliva@redhat.com>
4807
4808 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
4809 exactly three internal relocs per external reloc. Set reloc_count
4810 to the external reloc count.
4811
246178f2
NC
48122002-11-06 Klee Dienes <kdienes@apple.com>
4813
3ae41454 4814 * coff-stgo32.c (stub_bytes): Mark as const.
246178f2
NC
4815 Fix comment formatting.
4816
3af9a47b
NC
48172002-11-06 Klee Dienes <kdienes@apple.com>
4818
3ae41454 4819 * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
3af9a47b
NC
4820 xsym.lo.
4821 (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
4822 (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
4823 * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
4824 * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
4825 * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
4826 sym.
3ae41454 4827 (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
3af9a47b
NC
4828 * Makefile.in: Regenerate.
4829 * doc/Makefile.in: Regenerate.
3ae41454 4830 * bfd-in2.h: Regenerate.
3af9a47b
NC
4831 * xsym.c: New file. Contains support for the Apple/Metrowerks
4832 xSYM debugging format.
4833 * xsym.h: New file.
4834 * pef.c: New file. Contains support for the Apple Code Fragment
4835 Manager Preferred Executable Format
4836 * pef.h: New file.
4837 * pef-traceback.h: New file. Contains support for parsing PowerPC
4838 traceback tables as used by PEF executables (and perhaps other
4839 systems as well).
3ae41454 4840 * mach-o.c: New file. Contains support for the Mach-O object file
3af9a47b
NC
4841 format.
4842 * mach-o.h: New file.
4843 * mach-o-target.c: New file. Declares the mach-o targets
4844 themselves. Included three times by mach-o.c; each time with a
4845 different set of macros set.
3ae41454 4846
b6821651 48472002-11-06 Graeme Peterson <gp@qnx.com>
911b232a
AM
4848
4849 * Makefile.am: Remove entries for elf32-qnx.[ch].
4850 * Makefile.in: Regenerate.
4851 * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
4852 ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
4853 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4854 * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
4855 bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
4856 and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
4857 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4858 * configure: Regenerate.
4859 * elf32-qnx.c: Remove.
4860 * elf32-qnx.h: Remove.
4861 * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
4862 is_contained_by_filepos, and copy_private_bfd_data_p.
ad12c1c5
AM
4863 * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
4864 is_contained_by_filepos, and copy_private_bfd_data_p.
911b232a
AM
4865 * elf32-i386.c: Remove QNX extended bfd support.
4866 * elf32-ppc.c: Remove QNX extended bfd support.
4867 * elf32-sh.c: Remove QNX extended bfd support.
4868 * elfarm-nabi.c: Remove QNX extended bfd support.
4869 * targets.c: Remove qnx vectors.
4870 * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
4871 (elf_backend_is_contained_by_filepos): Remove.
4872 (elf_backend_copy_private_bfd_data_p): Remove.
4873 * po/SRC-POTFILES.in: Regenerate.
4874
b6821651
AM
48752002-11-06 David O'Brien <obrien@FreeBSD.org>
4876 Alan Modra <amodra@bigpond.net.au>
4877
4878 * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
4879 dynamic relocs against section symbols for the output section vma.
4880
48812002-11-05 Alan Modra <amodra@bigpond.net.au>
4882
4883 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
4884 t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
4885
08f74004
AM
48862002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4887 Alan Modra <amodra@bigpond.net.au>
4888
4889 * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
4890 vectors in target_selvecs.
4891 (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
4892 in target_selvecs.
4893 (sh-*-netbsdelf*): Likewise.
4894 * configure.in (assocvecs): New variable. Handle assocvecs like
4895 selvecs.
4896 * configure: Regenerate.
4897 * format.c (bfd_check_format_matches): Store bfd_target pointers
4898 in matching_vector instead of target names. Select first target
4899 from bfd_associated_vector that matches a list of ambiguous targets.
4900 * targets.c (_bfd_associated_vector): New array.
4901 (bfd_associated_vector): New variable.
4902 (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
4903 * libbfd-in.h (bfd_associated_vector): Declare.
4904 * libbfd.h: Regenerate.
4905
89117aab
AM
49062002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
4907
4908 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
4909 non-NULL before dereferencing.
4910
5e9aae3e
KK
49112002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4912
4913 * vms.c (vms_object_p): Restore the start address when returning
4914 NULL.
4915
c97e73dd
AM
49162002-11-04 Alan Modra <amodra@bigpond.net.au>
4917 Hans-Peter Nilsson <hp@axis.com>
4918
4919 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
4920 (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
4921 Set up a larger symshndxbuf, and write it out. Free it on
4922 exit rather than freeing symbuf twice. Correct section index
4923 on output section symbol loop.
4924 (elf_link_output_sym): Accumulate symbol extension section
4925 indices, reallocating symshndxbuf rather than writing it out.
4926 (elf_link_flush_output_syms): Don't flush symshndxbuf.
4927 * elf.c (assign_section_numbers): Init i_shdrp to all zero.
4928 Use bfd_zalloc to clear i_shdrp[0] too.
4929
3463048e
SC
49302002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
4931
4932 * elf32-sh64-com.c (sh64_address_in_cranges): Use
4933 _raw_size of cranges section if _cooked_size not yet set.
4934
63a23799
HPN
49352002-11-03 Hans-Peter Nilsson <hp@axis.com>
4936
4937 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
4938 for bfd_elf32_swap_symbol_out.
4939
e68cc12e
DB
49402002-10-31 David O'Brien <obrien@FreeBSD.org>
4941
4942 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
4943 signed and unsigned in comparison.
4944
db4b6d01
DJ
49452002-10-30 Daniel Jacobowitz <drow@mvista.com>
4946
4947 * coffcode.h: Remove extraneous '\'.
4948
840f0243
L
49492002-10-28 H.J. Lu <hjl@gnu.org>
4950
4951 * Makefile.am (targets.lo): Depend on Makefile instead of
4952 config.status.
4953 (archures.lo): Likewise.
4954 * Makefile.in: Regenerated.
4955
05a7e2db
JT
49562002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
4957
4958 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
4959 bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
4960 targ_selvecs.
4961
a0087177
JW
49622002-10-25 Jim Wilson <wilson@redhat.com>
4963
4964 * elf64-sh64.c (sh_elf64_relocate_section): Call
4965 _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
4966 of SHF_MERGE section.
4967
8718ac9c
HPN
49682002-10-25 Hans-Peter Nilsson <hp@axis.com>
4969
4970 * simple.c: Correct placement of ATTRIBUTE_UNUSED.
4971
d45913a0
DA
49722002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
4973
4974 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
4975 unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
4976 unsigned int.
4977 (NAME(aout,final_link)): Cast enum used in assignment.
4978 (aout_link_write_symbols): Cast enums in comparisons, int values to
4979 boolean, enums in assignments to int.
4980 (aout_link_input_section_std): Cast rel->r_index to unsigned int.
3dab13f6
AM
4981 (aout_link_input_section_ext): Likewise. Cast enums used in
4982 comparisons with unsigned ints.
d45913a0
DA
4983 (aout_link_reloc_link_order): Cast enum to int in assignment.
4984 * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
4985 calls to char *.
4986 * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
4987 assignment.
4988 * bfd-in2.h (bfd_set_section_vma): Likewise.
4989 * bfd.c (bfd_record_phdr): Cast enums in assignments.
4990 * binary.c (bfd_alloc): Cast enum to long.
4991 * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
4992 * dwarf2.c (read_abbrevs): Add casts to enum types.
4993 (read_attribute_value): Likewise.
4994 (arange_add): Cast result of bfd_zalloc call.
4995 (comp_unit_contains_address): Return true and false.
4996 (comp_unit_find_nearest_line): Cast return to boolean.
4997 * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
4998 * gen-aout.c: define macro '_' if not defined.
4999 * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
5000 (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
5001 (bfd_write_bigendian_4byte_int): Cast return to boolean.
5002 (bfd_seek): Cast bfd_realloc to bfd_byte *.
5003 (bfd_generic_is_local_label_name): Cast return to boolean.
5004 * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
5005 * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
5006 struct bfd_hash_entry *.
5007 (_bfd_generic_link_hash_newfunc): likewise.
5008 (_bfd_generic_final_link): Cast enum to unsigned int.
5009 * merge.c (sec_merge_emit): Cast return to boolean.
5010 (merge_strings): Add casts to const unsigned char *.
5011 * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
5012 (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
3dab13f6
AM
5013 * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
5014 to struct bfd_hash_entry *.
d45913a0
DA
5015 (bfd_set_section_content): Add cast to PTR in comparison.
5016 * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
5017 simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
5018 simple_dummy_unattached_reloc,
5019 bfd_simple_get_relocated_section_contents): Add K&R declarations and
5020 function definitions.
5021 * srec.c (S3Forced): Initialize to false.
5022 (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
5023 * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
5024 (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
5025 * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
5026 (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
5027 comparisons.
5028
475c2a7e
JJ
50292002-10-23 Jakub Jelinek <jakub@redhat.com>
5030
5031 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
5032 relocs into shared lib non-allocated reloc sections.
5033
e82ce529
AM
50342002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
5035
5036 * dwarf2.c (add_line_info): Ensure that the line_info_table is
5037 sorted even when given an out-of-order line sequence.
5038 (lookup_address_in_line_info_table): When an exact VMA match is
5039 not found, return line information with the closest VMA.
5040
f2482cb2
NC
50412002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
5042
5043 * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
5044 HPUX 11.00 patch PHSS_26559.
5045
c1fd6598
AO
50462002-10-22 Alexandre Oliva <aoliva@redhat.com>
5047
5048 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
5049 the options section into a separate section unless IRIX 6
5050 compatibility is enabled.
5051
033fd5f9
AO
50522002-10-22 Alexandre Oliva <aoliva@redhat.com>
5053
5054 * elflink.h (struct elf_link_sort_rela): Turn rel and rela
5055 into arrays.
5056 (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
5057 (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
5058 into account.
5059 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
5060 R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
5061
ef485c01
AM
50622002-10-21 Graeme Peterson <gp@qnx.com>
5063
5064 * targets.c (_bfd_target_vector): Add missing qnx vectors.
5065
b50afec9
AM
50662002-10-21 Alan Modra <amodra@bigpond.net.au>
5067
5068 * targets.c (bfd_target_list): Don't return the default target twice.
5069
5fe39cae
AM
50702002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
5071
5072 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
5073 perror with bfd_perror.
5074
5d603aa9
L
50752002-10-19 H.J. Lu <hjl@gnu.org>
5076
5077 * elflink.h (elf_link_add_object_symbols): Correctly handle
5078 DT_RPATH and DT_RUNPATH.
5079
e377ab71
MK
50802002-10-19 Mark Kettenis <kettenis@gnu.org>
5081
5082 * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
5083
0d09fec6
DC
50842002-10-17 Denis Chertykov <denisc@overta.ru>
5085
5086 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
5087 for ip2k port.
5088
acf8aed4
AM
50892002-10-17 Alan Modra <amodra@bigpond.net.au>
5090
5091 * elfxx-target.h (USE_REL): Don't define as 1.
5092 * elf32-arm.h (USE_REL): Provide a default define of 0.
5093 Use #if rather than #ifdef when testing USE_REL.
5094 * elf32-m32r.c: Likewise.
5095
5096 * elf32-arc.c (USE_REL): Define as 1.
5097 * elf32-d10v.c (USE_REL): Likewise.
5098 * elf32-m32r.c (USE_REL): Likewise.
5099 * elf32-m68hc11.c (USE_REL): Likewise.
5100 * elf32-m68hc12.c (USE_REL): Likewise.
5101 * elf32-or32.c (USE_REL): Likewise.
5102 * elfarm-nabi.c (USE_REL): Likewise.
5103
f52d1d64
JJ
51042002-10-16 Jakub Jelinek <jakub@redhat.com>
5105
5106 * config.bfd (s390-*-linux*): Add targ64_selvecs.
5107 (s390x-*-linux*): Add targ_selvecs.
5108
2bc3c89a
AM
51092002-10-16 Alan Modra <amodra@bigpond.net.au>
5110
5111 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
5fe39cae 5112 elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
2bc3c89a
AM
5113 elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
5114 elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
5115 (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
5116 (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
5117 (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
5118 (SOURCE_HFILES): Add elf32-qnx.h.
5119 (BUILD_HFILES): Add bfdver.h.
5120 Run "make dep-am".
5121 * Makefile.in: Regenerate.
5122 * configure.in Update bfd vector dependencies.
5123 * configure: Regenerate.
5124 * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
5125 * elf32-i386qnx.c: Likewise.
5126 * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
5127 * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
5128 * elf32-sh-lin.c: Likewise.
5129 * elf32-shqnx.c: Likewise.
5130 * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
5131 * elf32-sh64-nbsd.c: Likewise.
5132 * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
5133 * elf64-sh64-nbsd.c: Likewise.
5134 * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
5135 * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
5136 * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
5137 * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
5138 * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
5139 (elf_backend_is_contained_by_filepos): Likewise.
5140 (elf_backend_copy_private_bfd_data_p): Likewise.
5141 Globalize and move functions to..
5142 * elf32-qnx.c: ..here. New file.
5143 * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
5144 emit target vectors when INCLUDE_SHMEDIA.
5145 * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
5146 end of file.
5147 * elf64-sh64.c: Remove ELF_ARCH test.
5148 * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
5149 * po/BLD-POTFILES.in: Regenerate.
5150 * po/SRC-POTFILES.in: Regenerate.
5151
90c9df85
AM
51522002-10-16 Alan Modra <amodra@bigpond.net.au>
5153
366f2964
AM
5154 * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
5155 loaded with --just-symbols.
5156
90c9df85
AM
5157 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
5158 * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5159 * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5160 * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5161
2238051f
RH
51622002-10-15 Richard Henderson <rth@redhat.com>
5163
5164 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
5165 (BFD64_BACKENDS_CFILES): Likewise.
5166 * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
5167 * elf64-alpha-fbsd.c: Remove file, move code ...
5168 * elf64-alpha.c: ... here.
5169 * Makefile.in, configure: Rebuild.
5170
64e04ecd
RH
51712002-10-14 Richard Henderson <rth@redhat.com>
5172
5173 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
5174 VALUE, not ADDEND.
5175
396a6083
SC
51762002-10-14 Stephen Clarke <stephen.clarke@superh.com>
5177
5178 * elf32-sh.c (elf_sh_link_hash_entry): Replace
5179 datalabel_got_offset with union of datalabel_got
5180 offset and refcount.
5181 (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
5182 (allocate_dynrelocs): Delete unnecessary code for
5183 STT_DATALABEL type. Create entry in got for
5184 datalabel version of symbol if datalabel_got.refcount > 0.
5185 (sh_elf_relocate_section): Use datalabel_got union.
5186 (sh_elf_gc_sweep_hook): Pull common code to initialize
5187 h and eh out of switch statement. Declare seen_stt_datalabel.
5188 Initialize it. Decrement datalabel_got.refcount for
5189 got relocs when seen_stt_datalabel is true.
5190 Decrement local_got_refcounts entry for datalabel got relocs
5191 of local symbols.
5192 (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
5193 (sh_elf_check_relocs): Declare seen_stt_datalabel.
5194 Initialize it. When seen_stt_datalabel is true, increment
5195 datalabel_got refcount rather than got.refcount.
5196 (sh_elf_finish_dynamic_symbol): Create relocs to
5197 initialize got entry for datalabel version of symbol.
5198
6a0735ef
AM
51992002-10-14 Alan Modra <amodra@bigpond.net.au>
5200
5201 * Makefile.am: Run "make dep-am".
5202 (BFD_H_FILES): Remove version.h.
5203 * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
5204 * version.h: ..to here.
5205 * configure.in (bfd_version_date): Remove.
5206 (AC_OUTPUT): Make bfdver.h from version.h.
5207 * bfd.c: #include "bfdver.h".
5208 * vms-hdr.c: Likewise.
5209 * Makefile.in: Regenerate.
5210 * bfd-in2.h: Regenerate.
5211 * configure: Regenerate.
5212 * po/SRC-POTFILES.in: Regenerate.
5213
686e4055
AM
52142002-10-14 Alan Modra <amodra@bigpond.net.au>
5215
5216 * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
5217 bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
5218 bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
5219 bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
5220 bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
5221 bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
5222 bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
5223 bfd_mach_ip2022, bfd_mach_ip2022ext,
5224 bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
5225 * bfd-in2.h: Regenerate.
5226
019dca2b
KK
52272002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5228
5229 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
5230 endian vector to targ_selvecs.
5231
bce03d3d
AO
52322002-10-13 Alexandre Oliva <aoliva@redhat.com>
5233
5234 * elfxx-mips.c (mips_elf_calculate_relocation): Take
5235 save_addend argument. Don't apply the 32-bit mask to a
5236 GPREL32 value if it's to be used in another relocation. Don't
5237 use forced-check computation of local_p to decide whether to
5238 add gp0 to GPREL16 value. Don't use only the lowest 16 bits
5239 of the addend of a non-in-place GPREL16 relocation.
5240 (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
5241 mips_elf_calculate_relocation().
5242
9b691193
SC
52432002-10-12 Stephane Carrez <stcarrez@nerim.fr>
5244
5245 * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
5246 with symbols in other sections if we relaxed something; the sections
5247 output offsets must be re-computed before.
5248
1f4c5b47
SC
52492002-10-12 Stephane Carrez <stcarrez@nerim.fr>
5250
5251 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
5252 handling to use Elf_Internal_Sym.
5253 (m68hc11_elf_relax_delete_bytes): Likewise.
5254
5dc97655
KK
52552002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5256
5257 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
5258 sh_elf_object_p, dtpoff_base): New functions.
5259 (sh_elf_howto_table): Add TLS relocs.
5260 (sh_reloc_map): Likewise.
5261 (sh_elf_info_to_howto): Support TLS relocs.
5262 (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
5263 (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
5264 New macros.
5265 (sh_elf_obj_tdata): New.
5266 (elf_sh_link_hash_table): Add tls_ldm_got.
5267 (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
5268 (allocate_dynrelocs): Support TLS relocs.
5269 (sh_elf_size_dynamic_sections): Likewise.
5270 (sh_elf_relocate_section): Support TLS relocs. Don't try to find
5271 .rela.got section when found already. Return false after printing
5272 error about unresolvable relocation.
5273 (sh_elf_gc_sweep_hook): Support TLS relocs.
5274 (sh_elf_check_relocs): Likewise.
5275 (sh_elf_finish_dynamic_symbol): Likewise.
5276 (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
5277 * reloc.c: Add SH TLS relocs.
5278 * bfd-in2.h, libbfd.h: Regenerate.
5279
6a0735ef
AM
52802002-10-11 Daniel Jacobowitz <drow@mvista.com>
5281
5282 * Makefile.in: Regenerated.
5283
af39267e
DJ
52842002-10-11 Daniel Jacobowitz <drow@mvista.com>
5285
5286 * Makefile.am: Run dep-am.
6a0735ef 5287 (BFD_H_DEP): Add simple.c and linker.c.
af39267e
DJ
5288 (BFD32_LIBS): Add simple.lo.
5289 (BFD32_LIBS_CFILES): Add simple.c.
5290 * Makefile.in: Regenerated.
5291 * bfd-in2.h: Regenerated.
5292 * simple.c: New file.
5293
0be617ce
AM
52942002-10-11 Alan Modra <amodra@bigpond.net.au>
5295
14a793b2
AM
5296 * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
5297 (record_thumb_to_arm_glue): Likewise.
5298 * ecoff.c (ecoff_link_add_externals): Likewise.
5299 * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
5300 (record_thumb_to_arm_glue): Likewise.
5301 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
5302 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
5303 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
5304 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
5305 * elf64-ppc.c (func_desc_adjust): Likewise.
5306 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
5307 (sh64_elf64_create_dynamic_sections): Likewise.
5308 * elflink.c (_bfd_elf_create_got_section): Likewise.
5309 (_bfd_elf_create_dynamic_sections): Likewise.
5310 (_bfd_elf_create_linker_section): Likewise.
5311 * elflink.h (elf_add_default_symbol): Likewise.
5312 (elf_link_create_dynamic_sections): Likewise.
5313 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
5314 * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
5315 * elfxx-mips.c (mips_elf_create_got_section): Likewise.
5316 (_bfd_mips_elf_add_symbol_hook): Likewise.
5317 (_bfd_mips_elf_create_dynamic_sections): Likewise.
5318 * linker.c (generic_link_add_symbol_list): Likewise.
5319 * xcofflink.c (xcoff_link_add_symbols): Likewise.
5320
5321 * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
5322
0be617ce 5323 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
7f6a7663 5324 completely removed. Correct local sym adjustment.
0be617ce 5325
0a4ef3f4
SC
53262002-10-10 Stephen Clarke <stephen.clarke@superh.com>
5327
5328 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
5329 Correct mistake in calculation of address of .got.
5330 * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
5331 elf_sh64_pic_plt_entry_le): Likewise.
5332
efacd36e
SC
53332002-10-09 Richard Shann <richard.shann@superh.com>
5334 Stephen Clarke <stephen.clarke@superh.com>
5335
5336 * Makefile.am: Add entries for elf32-sh64-lin.c and
5337 elf64-sh64-lin.c. Regenerate.
5338 * Makefile.in: Regenerate.
9b5ecbd0 5339 * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
efacd36e
SC
5340 to use sh64 vectors rather than sh vectors.
5341 * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5342 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5343 * configure: Regenerate.
5344 * elf32-sh64-lin.c: New file.
5345 * elf64-sh64-lin.c: New file.
5346 * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5fe39cae
AM
5347 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5348
299bf759
L
53492002-10-08 H.J. Lu <hjl@gnu.org>
5350
5351 * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
5352 IE->LE transition for R_386_TLS_IE.
5353
51020317
AM
53542002-10-08 Alan Modra <amodra@bigpond.net.au>
5355
5356 * elf64-ppc.c (edit_opd): Correct test for discarded sections.
5357
a8fcf378
NC
53582002-10-07 Mark Elbrecht <snowball3@softhome.net>
5359
51020317
AM
5360 * cofflink.c (mark_relocs): Don't mark relocations in excluded
5361 sections.
a8fcf378 5362
a16d5acb
AM
53632002-10-07 Alan Modra <amodra@bigpond.net.au>
5364
a6b511bd
AM
5365 * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
5366 code.
5367
a16d5acb
AM
5368 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
5369
7c4a37eb
AM
53702002-10-06 Alan Modra <amodra@bigpond.net.au>
5371
5372 * opncls.c: Formatting.
5373 (_bfd_new_bfd): Use a smaller section hash table.
5374
7c4ca42d
AO
53752002-10-05 Alexandre Oliva <aoliva@redhat.com>
5376
5377 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
5378 of the other two relocations packed with a REL32 to NONE.
5379
4989d792
SC
53802002-10-02 Stephen Clarke <stephen.clarke@superh.com>
5381
5382 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
5383 (sh_elf_link_hash_newfunc): Initialize it.
5384 (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
5385 to got.refcount for symbols that are forced local or when
5386 we have direct got refs.
5387 (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
5388 to correctly adjust got.refcount and plt.refcount.
5389 (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
5390 (sh_elf_check_relocs): Increment gotplt_refcount.
51020317 5391
7c445aa3
JJ
53922002-10-01 Jakub Jelinek <jakub@redhat.com>
5393
5394 * elf32-i386.c (elf_i386_relocate_section): Fix
5395 movl foo@indntpoff, %eax IE->LE transition.
5396
abcf1d52
JJ
53972002-10-01 Jakub Jelinek <jakub@redhat.com>
5398
5399 * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
5400 sequence and its transitions.
5401
a45bb67d
JJ
54022002-10-01 Jakub Jelinek <jakub@redhat.com>
5403
5404 * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
5405 to st_value + addend in non-code sections.
5406 * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
5407 R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
5408
00707a0e 54092002-09-30 Gavin Romig-Koch <gavin@redhat.com>
51020317
AM
5410 Ken Raeburn <raeburn@cygnus.com>
5411 Aldy Hernandez <aldyh@redhat.com>
5412 Eric Christopher <echristo@redhat.com>
5413 Richard Sandiford <rsandifo@redhat.com>
00707a0e
RS
5414
5415 * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
5416 (bfd_mach_mips5500): New.
5417 * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
5418 (arch_info_struct): Add corresponding entries here.
5419 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
5420 E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
5421 (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
5422 bfd_mach_mips5400 and bfd_mach_mips5500.
5423 (_bfd_mips_elf_mach_extends_p): New function.
5424 (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
5425 the EF_MIPS_MACH flags.
5426 * bfd-in2.h: Regenerate.
5427
624f0b25
JT
54282002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
5429
5430 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
5431 .got sections.
5432
b89fe0ee
AM
54332002-09-28 Alan Modra <amodra@bigpond.net.au>
5434
5435 * elf.c (map_sections_to_segments): Correct test for start of
5436 writable section in the same page as end of read-only section.
5437
b29635ba
JT
54382002-09-27 Matt Thomas <matt@3am-software.com>
5439
5440 * elf32-vax.c (elf_vax_check_relocs): Remove unused
5441 local_got_refcounts usage. Remove allocation of got slot.
5442 (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
5443 Remove de-allocation of got slot.
5444 (elf_vax_size_dynamic_section): Fix some indentation. Add hash
5445 traversal for elf_vax_instantiate_got_entries. Allow empty .got
5446 sections to be GC'ed.
5447 (elf_vax_instantiate_got_entries): New function.
5448 (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
5449 tests that are now handled by elf_vax_instantiate_got_entries.
5450 Assert GOT entry falls within .got section size. Remove redundant
5451 comparisions. Fix comments.
5452
bffbf940
JJ
54532002-09-27 Jakub Jelinek <jakub@redhat.com>
5454
5455 * reloc.c: Add x86-64 TLS relocs.
5456 * bfd-in2.h, libbfd.h: Rebuilt.
5457 * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
5458 relocs. Add TLS relocs.
5459 (x86_64_reloc_map): Add TLS relocs.
5460 (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
5461 (struct elf64_x86_64_link_hash_entry): Add tls_type field.
5462 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
5463 (elf64_x86_64_hash_entry): Define.
5464 (struct elf64_x86_64_obj_tdata): New.
5465 (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
5466 (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
5467 (link_hash_newfunc): Initialize tls_type.
5468 (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
5469 (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
5470 (elf64_x86_64_mkobject): New.
5471 (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
5472 (elf64_x86_64_tls_transition): New.
5473 (elf64_x86_64_check_relocs): Add r_type variable and use it.
5474 Handle TLS relocs.
5475 (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
5476 (allocate_dynrelocs): Allocate GOT space for TLS relocs.
5477 (elf64_x86_64_size_dynamic_sections): Likewise.
5478 (dtpoff_base, tpoff): New.
5479 (elf64_x86_64_relocate_section): Handle TLS relocs.
5480 (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
5481 entries.
5482 (bfd_elf64_mkobject): Define.
5483
5484 * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
5485 DF_STATIC_TLS if shared.
5486
14366460
TS
54872002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5488
5489 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
5490 empty relocation sections.
5491
9f951329
AM
54922002-09-26 Alan Modra <amodra@bigpond.net.au>
5493
5494 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
5495 (ppc64_elf_build_stubs): Build them here instead.
5496
6b3ac709
JJ
54972002-09-24 Jakub Jelinek <jakub@redhat.com>
5498
5499 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
5500 addend into r_addend, not *r_offset.
5501 (elf32_sparc_finish_dynamic_symbol): Likewise.
5502 * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
5503 R_SPARC_RELATIVE's r_offset.
5504
e2f6d277
NC
55052002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
5506
5507 * dwarf2.c (decode_line_info): Update to correctly decode
5508 the (non-standard DWARF2) out-of-order address sequences
5509 generated by the Intel C++ 6.0 compiler for ia64-Linux.
5510
f3961b2b
DD
55112002-09-23 Mark Elbrecht <snowball3@softhome.net>
5512
5513 * config.bfd: For DJGPP targets, match with any cpu and any machine.
5514
ad34bc37
AM
55152002-09-23 Alan Modra <amodra@bigpond.net.au>
5516
5517 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
5518 for discarded FDEs. Remove redundant assignment.
5519 * elflink.h (elf_bfd_discard_info): Save edited relocs.
5520
82988bff
L
55212002-09-22 H.J. Lu <hjl@gnu.org>
5522
5523 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
5524 the relocation count between different .reloc sections.
5525
5ad8645c
AM
55262002-09-21 Alan Modra <amodra@bigpond.net.au>
5527
5f819128
AM
5528 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
5529 ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
5530 R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
5531 R_PPC_EMB_RELSDA.
5532
5ad8645c
AM
5533 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
5534 unsigned. Move "symcount" assignment out of loop.
5535 * Makefile.am: Run "make dep-am".
5536 * Makefile.in: Regenerate.
5537 * configure: Regenerate.
5538 * po/SRC-POTFILES.in: Regnerate.
5539
75936555
NC
55402002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
5541
5542 * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
5543 zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
5544 (e.g. IRIX64).
5545
2243deae
L
55462002-09-19 Jakub Jelinek <jakub@redhat.com>
5547
5548 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
5549 even if generating R_PPC_RELATIVE reloc.
5550 (ppc_elf_relocate_section): Make sure relocation is performed
5551 if skip == -2. Clear memory at r_offset when creating dynamic
5552 relocation.
5553
37e55690
JJ
55542002-09-19 Jakub Jelinek <jakub@redhat.com>
5555
5556 * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
5557 BFD_RELOC_386_TLS_GOTIE): Add.
5558 * bfd-in2.h, libbfd.h: Rebuilt.
5559 * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
5560 and R_386_TLS_GOTIE.
5561 (elf_i386_reloc_type_lookup): Handle it.
5562 (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
5563 char instead of enum, change GOT_* into defines.
5564 (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
5565 (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5566 (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
5567 accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
5568 R_386_PLT32 cases so that R_386_TLS_IE can fall through.
5569 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5570 (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5571 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5572 (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
5573 tls_type is GOT_TLS_IE_BOTH.
5574 (elf_i386_size_dynamic_sections): Likewise.
5575 (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5576 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5577 (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
5578 all 4 GOT_TLS_* TLS types.
5579
8e67855b
NC
55802002-09-19 Nick Clifton <nickc@redhat.com>
5581
5582 * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
5583 follow indirect links.
5584
1c59ba3f
NC
55852002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
5586
5587 * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
5588 correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
5589 on 64 bit machines.
5590 (ecoff_swap_sym_in) <iss>: Likewise.
0e327d91
NC
5591 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
5592 ECOFF information: 'ioptMax' refers to the actual *size*
5593 of the optimization symtab, not the number of entries.
1c59ba3f 5594
9d7404b7
NC
55952002-09-19 Daniel Jacobowitz <drow@mvista.com>
5596
5597 * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
5598 ELF_LINK_HASH_NEEDS_PLT logic.
5599
05a487dc
DJ
56002002-09-18 Daniel Jacobowitz <drow@mvista.com>
5601
5602 * elfcode.h (elf_slurp_reloc_table_from_section): Check
5603 correct relocation count.
5604
1f70368c
DJ
56052002-09-17 Daniel Jacobowitz <drow@mvista.com>
5606
5607 * bfd-in.h (bfd_get_dynamic_symcount): Define.
5608 * bfd.c (struct _bfd): Add dynsymcount.
5609 * bfd-in2.h: Regenerated.
5610 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
5611 abfd->dynsymcount.
5612 * elfcode.h (elf_slurp_reloc_table_from_section): Check
5613 for overflow.
5614
51020317 56152002-09-17 Stan Cox <scox@redhat.com>
a902ee94
SC
5616
5617 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
5618 (mips_elf64_final_gp): Don't make up gp value.
5619 * elfn32-mips.c (mips_elf_final_gp): Likewise.
5620 * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
5621 .MIPS.options/.options section.
5622
290062cc
DB
56232002-09-17 David O'Brien <obrien@FreeBSD.org>
5624
5625 * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
5626 It is benign for FreeBSD < 4.1. Minor reformatting.
5627 * elf64-alpha-fbsd.c: Likewise.
5628
c5c1f40c
JJ
56292002-09-17 Jakub Jelinek <jakub@redhat.com>
5630
ca1eb0ba
JJ
5631 * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
5632 addend.
c5c1f40c 5633
562ace6b
AM
56342002-09-17 Alan Modra <amodra@bigpond.net.au>
5635
5636 * elf64-alpha.c (alpha_elf_size_info): Make static.
5637
5af6ead6
AM
56382002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
5639
5640 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
5641 * cpu-tic4x.c: Ditto.
5642
cb9512fc
TS
56432002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5644
5645 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
5646 duplicate define.
5647
4ada7262
DB
56482002-09-16 Bruno Haible <bruno@clisp.org>
5649
5650 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
5651 by a target variant implementation.
5652 * elf64-alpha.c: Likewise.
5653 * elf32-i386-fbsd.c: New file.
5654 * elf64-alpha-fbsd.c: New file.
5655 * targets.c: Support bfd_elf32_i386_freebsd_vec and
5656 bfd_elf64_alpha_freebsd_vec.
5657 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
5658 bfd_elf64_alpha_freebsd_vec.
5659 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
5660 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
5661 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
5662 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
5663 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
5664 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
5665 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
5666
6a30718d
JJ
56672002-09-12 Jakub Jelinek <jakub@redhat.com>
5668
5669 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
5670 NULL.
5671 (elf_i386_relocate_section): Return false after printing error about
5672 unresolvable relocation.
5673
6cf9e9fe
NC
56742002-09-12 Nick Clifton <nickc@redhat.com>
5675
5676 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
5677 R_ARM_THM_PC11.
5678
10f469bf
DJ
56792002-09-11 Jeffrey Law <law@redhat.com>
5680
5681 * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
5682
dc43ada5
NC
56832002-09-11 Andrew Haley <aph@cambridge.redhat.com>
5684
5685 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
5686 line_ptr before deciding we've found a symbol.
5687
e09f4395
NC
56882002-09-11 Nick Clifton <nickc@redhat.com>
5689
5690 * po/da.po: New Danish translation file.
5691 * configure.in (LINGUAS): Add 'da'.
5692 * configure: Regenerate.
5693
b3018b5f
NC
56942002-09-10 Michael Snyder <msnyder@redhat.com>
5695
5696 * irix-core.c (do_sections, do_sections64): New functions.
51020317 5697 (irix_core_core_file_p): Call new functions do_sections,
b3018b5f
NC
5698 do_sections64, depending on corefile (32-bit or 64-bit).
5699
2f21f25e
RH
57002002-09-09 Richard Henderson <rth@redhat.com>
5701
5702 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
5703 and PCREL21F like PCREL21B.
5704
28b94e7c
KB
57052002-09-04 Kevin Buettner <kevinb@redhat.com>
5706
51020317
AM
5707 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
5708 vector.
28b94e7c 5709
5cec6941
NC
57102002-09-02 Nick Clifton <nickc@redhat.com>
5711
5712 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
5713 names instead of cryptically overloaded bfd_reloc error
5714 codes.
5715 (v850_elf_relocate_section): Likewise.
5716 (v850_elf_relax_section): Replace caching of external symbols
5717 with caching of internal symbols obtained from calling
5718 bfd_elf_get_elf_syms().
51020317 5719 Fixup problems with freeing cached allocated memory blocks.
5cec6941 5720
3b77b1d5
AM
57212002-09-02 Alan Modra <amodra@bigpond.net.au>
5722
638524b5
AM
5723 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
5724 (bfd_pj_arch): Use bfd_default_scan.
5725 * cpu-v850.c (scan): Remove.
5726 (N): Use bfd_default_scan.
5727 * cpu-z8k.c (scan_mach): Remove.
5728 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
5729 first. Use bfd_default_scan.
5730
250d94fd
AM
5731 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
5732 bfd_mach constants.
5733 (ecoff_get_magic): Likewise.
5734 * elf32-v850.c (v850_elf_object_p): Likewise.
5735 (v850_elf_final_write_processing): Likewise.
5736 * mipsbsd.c (MY(set_arch_mach)): Likewise.
5737 (MY(write_object_contents)): Likewise.
5738 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
5739 * coffcode.h (coff_write_object_contents): Likewise.
5740 (coff_set_arch_mach_hook): Add comment describing machine == 0.
5741 Remove unnecessary "machine" assignments.
5742 (coff_write_relocs): Test for the absolute section sym by testing
5743 section and flags.
5744
3b77b1d5
AM
5745 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
5746 and bfd_mach_i386_i386_intel_syntax.
250d94fd 5747 * pdp11.c (NAME(aout,machine_type)): Likewise.
3b77b1d5 5748
e5b45b83
DA
57492002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5750
5751 * bfd-in.h (align_power): Cast constants to bfd_vma type.
5752 * bfd-in2.h (align_power): Likewise.
5753
37f45cf8
AM
57542002-08-30 Alan Modra <amodra@bigpond.net.au>
5755
5756 * Makefile.am: Run "make dep-am".
5757 * Makefile.in: Regenerate.
5758
5759 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
5760 * cpu-powerpc.c (powerpc_compatible): Likewise.
5761 * cpu-rs6000.c (rs6000_compatible): Likewise.
5762
86aba9db
NC
57632002-08-28 Catherine Moore <clm@redhat.com>
5764
9b5ecbd0 5765 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
86aba9db
NC
5766 (v850-elf-reloc): Don't resolve pc relative relocs.
5767 (v850_elf_ignore_reloc): New routine.
5768 (v850_elf_final_link_relocate): Handle new relocs.
5769 (v850_elf_relax_delete_bytes ): New routine.
5770 (v850_elf_relax_section): New routine.
5771 (bfd_elf32_bfd_relax_section): Define.
5772 (HOWTO): New entries for new relocs.
5773 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
5774 (BFD_RELOC_V850_LONGJUMP): New reloc.
5775 (BFD_RELOC_V850_ALIGN): New reloc.
5776 * archures.c: Remove redundant v850ea architecture.
5777 * cpu-v850.c: Remove redundant v850ea support.
5778 * libbfd.h: Regenerate.
5779 * bfd-in2.h: Regenerated.
5780
026df7c5
NC
57812002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
5782
5783 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
5784 * configure.in: Add tic4x_coff vector files.
5785 * configure: Regenerate.
5786 * Makefile.am: Add tic4x target.
5787 * Makefile.in: Regenerate.
5788
57892002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5790
5791 * archures.c: Add the BFD arch type tic4x.
5792 * bfd-in.h: Add BFD_IN_MEMORY flag.
5793 * coff-tic4x.c: New file.
5794 * coffswap.h (coff_swap_sym_out): Add preadjuster.
5795 * cpu-tic4x.c: New file.
5796 * targets.c: Added tic4x- in list of xvecs.
5797 * ticoff.h: New file.
5798 * bfd-in2.h: Regenerate.
5799
88f7bcd5
NC
58002002-08-27 Adam Nemet <anemet@lnxw.com>
5801
5802 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
5803 bit of DT_INIT and DT_FINI for Thumb functions.
5804
c8e48751
AM
58052002-08-26 Alan Modra <amodra@bigpond.net.au>
5806
5807 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
5808
2846975a
AM
58092002-08-26 Alan Modra <amodra@bigpond.net.au>
5810
5811 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
5812
067653c5
AM
58132002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5814
5815 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
5816 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
5817 Likewise.
5818 (struct elf_sh_pcrel_relocs_copied): Removed.
5819 (struct elf_sh_dyn_relocs): New.
5820 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
5821 field with dyn_relocs.
5822 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
5823 sections and sym_sec.
5824 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
5825 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
5826 (sh_elf_create_dynamic_sections): Use create_got_section instead
5827 of _bfd_elf_create_got_section.
5828 (sh_elf_check_relocs): Likewise.
5829 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
5830 sections.
5831 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
5832 sh_elf_relocate_section, sh_elf_check_relocs,
5833 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
5834 Likewise.
5835 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
5836 dynamic relocations and avoiding the copy relocation when we
5837 didn't find any dynamic relocations in the section which has
5838 contents or is read-only.
5839 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5840 (sh_elf_size_dynamic_sections): Don't reset the size of
5841 .rela.got section even if dynamic_sections_created flag is off.
5842 Don't use sh_elf_discard_copies. Scan all input bfd and use
5843 allocate_dynrelocs. Call readonly_dynrelocs to determine
5844 whether we need DT_TEXTREL.
5845 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
5846 whether the symbol was never referred to.
5847 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
5848 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
5849 (sh_elf_check_relocs): Call create_got_section if the short-cut
5850 to .got is null. Increment reference counters only instead of
5851 allocating space on dynamic sections here. Don't conditionalize
5852 uninitialized got.offset value when marking the symbol as a
5853 global offset table entry. Keep relocations for symbols satisfied
5854 by a dynamic library to avoid copy relocations for the symbol.
5855 Set dynobj field of an elf hash table if needed.
5856 (sh_elf_finish_dynamic_sections): Handle null section pointer
5857 correctly.
5858 (elf_backend_copy_indirect_symbol): Defined.
5859 (elf_backend_can_refcount): Defined.
5860
7e326afc
NC
58612002-08-23 Nick Clifton <nickc@redhat.com>
5862
5863 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
5864 previous change. Add comment explaining why.
5865
c8614e8e
AM
58662002-08-23 Stephen Clarke <stephen.clarke@superh.com>
5867
5868 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
5869 contents of .got.plt[2] to tr0, not address of .got.plt.
5870 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
5871 patching absolute plt entry. For shmedia plt entry, set bottom bit
5872 of branch to plt0 as this is a branch to an shmedia instruction.
5873 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
5874 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
5875 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
5876 branch to plt0.
5877 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
5878 patching absolute plt entry. For shmedia plt entry, branch to
5879 plt0 is now ptrel, so use relative offset. Set bottom bit of
5880 branch target as it is a branch to an shmedia instruction.
5881
3b587c71
AM
58822002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
5883 Richard Shann <richard.shann@superh.com>
5884
5885 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
5886 value if .init is an SHmedia function. Similarly for DT_FINI.
5887 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
51020317 5888
957dcaa8
AM
58892002-08-23 Stephen Clarke <stephen.clarke@superh.com>
5890
3b587c71 5891 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
957dcaa8 5892 dynamic section.
3b587c71 5893 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
957dcaa8 5894
a4263c47
NC
58952002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5896
5897 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
51020317 5898 byte read when reading the return address register column.
a4263c47 5899
db4ed121
NC
59002002-08-22 Nick Clifton <nickc@redhat.com>
5901
5902 * config.bfd: Add powepc64-*-*bsd* target.
5903
ed71e111
NC
59042002-08-22 Graeme Peterson <gp@qnx.com>
5905
5906 * Makefile.am: Add entries for elf32-shqnx.c
5907 * Makefile.in: Regenerate.
5908 * config.bfd: Add support sh-*-nto* target.
5909 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
5910 * configure: Regenerate.
5911 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
5912 * elf32-sh.c: Do not include elf32-target.h if
5913 ELF32_SH_C_INCLUDED is defined.
5914 * elf32-shqnx.c: New file: Support for QNX.
5915 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
5916
0ab72ee2
NC
59172002-08-22 Nick Clifton <nickc@redhat.com>
5918
75c83283
NC
5919 * po/tr.po: Updated Turkish translation.
5920
0ab72ee2
NC
5921 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
5922 symbols are not read.
5923
56780f18
AM
59242002-08-22 Alan Modra <amodra@bigpond.net.au>
5925
5926 * elf32-m68hc11.c: Formatting fixes.
5927 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
5928 * elf32-m68hc12.c: Formatting fixes.
5929 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
5930
b48fa14c
AM
59312002-08-22 Alan Modra <amodra@bigpond.net.au>
5932
a7c71b0c
AM
5933 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
5934 SEC_DATA.
5935 (pmac_xcoff_vec): Likewise.
5936 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5937 (aix5coff64_vec): Likewise.
5938
56780f18
AM
59392002-08-22 Alan Modra <amodra@bigpond.net.au>
5940
b48fa14c
AM
5941 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
5942 param to elf_backend_copy_indirect_symbol.
5943 (_bfd_elf_link_hash_copy_indirect): Likewise.
5944 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
5945 calls to copy_indirect_symbol.
5946 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
5947 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
5948 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5949 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
5950 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5951 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
5952 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
5953 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5954 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5955 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
5956 test refcounts for "used" values.
5957
8c2ab17d
AM
59582002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
5959
5960 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
5961 argument declaration.
5962
d62b1198 59632002-08-19 Elena Zannoni <ezannoni@redhat.com>
51020317
AM
5964
5965 * archures.c (bfd_mach_ppc_e500): Added.
5966 * bfd-in2.h: Rebuilt.
d62b1198
EZ
5967 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
5968
9f88ba09
AM
59692002-08-19 Alan Modra <amodra@bigpond.net.au>
5970
5971 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
5972
df622259
AC
59732002-08-17 Andrew Cagney <ac131313@redhat.com>
5974
5975 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
51020317 5976 `bfd_byte'.
df622259 5977
44c410de
SC
59782002-08-17 Stan Cox <scox@redhat.com>
5979
5980 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
5981 IRIX 6 segment layout for NEWABI.
5982
4972a8e9
SC
59832002-08-16 Stephen Clarke <stephen.clarke@superh.com>
5984
1049f94e 5985 * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
4972a8e9 5986 symbols when looking for section referred to by a relocation.
1049f94e 5987 * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
51020317 5988
c5cd6d62
AM
59892002-08-15 Alan Modra <amodra@bigpond.net.au>
5990
5991 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
5992
0741c7be
HPN
59932002-08-15 Hans-Peter Nilsson <hp@axis.com>
5994
5995 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
5996 missing check for whether the symbol is referenced by DSO before
5997 unexporting it as an unneeded dynamic symbol.
5998
e8d5d179
L
59992002-08-14 H.J. Lu <hjl@gnu.org>
6000
6001 * libbfd.h: Regenerate.
6002
e9229007
L
60032002-08-14 H.J. Lu <hjl@gnu.org>
6004
6005 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
6006
1fd03b5a
SC
60072002-08-14 Stephane Carrez <stcarrez@nerim.fr>
6008
6009 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
6010 instructions.
6011 (m68hc11_direct_relax): New to define table of relaxable instructions.
6012 (find_relaxable_insn): New, find a relaxable insn.
6013 (compare_reloc): New to compare two relocs.
6014 (m68hc11_elf_relax_section): New, relax text sections.
6015 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
6016 (elf32_m68hc11_check_relocs): New function for GC support.
6017 (elf32_m68hc11_relocate_section): New function for GC support.
6018 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
6019 (elf_backend_check_relocs): Likewise.
6020 (elf_backend_relocate_section): Likewise.
6021
c828c771
L
60222002-08-13 H.J. Lu <hjl@gnu.org>
6023
6024 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
6025 definitions in shared objects when checking symbol with
6026 undefined version.
6027
9b701e44
SC
60282002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6029
6030 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
6031 (elf32_m68hc11_gc_sweep_hook): Likewise.
6032 (elf_backend_gc_mark_hook): Define for GC section support.
6033 (elf_backend_gc_sweep_hook): Likewise.
6034 (elf_backend_can_gc_sections): Likewise.
6035
6036 * elf32-m68hc12.c: Likewise.
6037
96405e3c
SC
60382002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6039
6040 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
6041 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
6042 (_bfd_m68hc11_elf_set_private_flags): New function.
6043 Use them to set/check/print ELF flags specific to 68HC11.
6044
6045 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
6046 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
6047 (_bfd_m68hc12_elf_set_private_flags): New function.
6048 Use them to set/check/print ELF flags specific to 68HC12.
6049
dae78fb0
SC
60502002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6051
6052 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
6053 fix masks for PC-rel relocs.
6054 (m68hc11_elf_ignore_reloc): New function.
6055
6056 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
6057 68HC12 banked addressing relocs.
6058 (m68hc12_phys_addr): New to compute physical address of banked memory.
6059 (m68hc12_phys_page): Likewise for page.
6060 (m68hc12_addr_is_banked): New to see if address is in banked area.
6061 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
6062
3dbfec86
SC
60632002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6064
6065 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
6066 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
6067 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
6068 * bfd-in2.h: Regenerate.
6069
871da94f
L
60702002-08-12 H.J. Lu <hjl@gnu.org>
6071
6072 * elflink.h (elf_add_default_symbol): Preserve section across
6073 elf_merge_symbol.
6074
59bc061d
NC
60752002-08-09 Graeme Peterson <gp@qnx.com>
6076
51020317 6077 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
59bc061d
NC
6078 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
6079 * Makefile.in: Regenerate.
6080 * config.bfd: Add support for powerpc{le}-*-nto targets.
6081 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
6082 * configure: Regenerate.
6083 * elf32-i386qnx.c: Moved backend functions into a QNX specific
6084 common file "elf32-qnx.h", and now include that file.
6085 * elf32-qnx.h: New file: QNX specific common elf backend.
6086 * elf32-ppc.c: Do not include elf32-target.h if
6087 ELF32_PPC_C_INCLUDED is defined.
6088 * elf32-ppcqnx.c: New file: Support for QNX.
6089 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
6090 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
6091
2b692c59
NC
60922002-08-09 Nick Clifton <nickc@redhat.com>
6093
6094 * po/sv.po: Updated Swedish translation.
6095
d0c7ff07
TS
60962002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6097
6098 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
6099 g->global_gotsym is NULL.
6100
d8bbe778
L
61012002-08-08 H.J. Lu <hjl@gnu.org>
6102
c5cd6d62 6103 * elflink.h (elf_add_default_symbol): Don't warn if a definition
d8bbe778
L
6104 overrides an indirect versioned symbol.
6105
c366c25e
JJ
61062002-08-08 Jakub Jelinek <jakub@redhat.com>
6107
6108 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
6109 for R_386_TLS_TPOFF32 relocs against symndx 0.
6110
31941635
L
61112002-08-07 H.J. Lu <hjl@gnu.org>
6112
6113 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
6114 with undefined version if needed.
6115 (elf_link_assign_sym_version): Match a default symbol with a
6116 version without definition. No need to hide the default
6117 definition separately.
6118
0f3bd64f
AM
61192002-08-08 Alan Modra <amodra@bigpond.net.au>
6120
7330fb86
AM
6121 * elflink.h (elf_link_output_extsym): Don't output symbols from
6122 SEC_EXCLUDE sections.
6123
0f3bd64f
AM
6124 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
6125
a4aa0fb7
AM
61262002-08-07 Alan Modra <amodra@bigpond.net.au>
6127
6128 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
6129 entries.
6130
34ea4a36
TS
61312002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6132
6133 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
6134 mismatch.
6135
141ff970
TS
61362002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6137
6138 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
6139
28458e7e
TS
61402002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6141
6142 * elf32-mips.c (mips_reloc_map): Fix typo.
6143
0121a3da
AM
61442002-08-06 Alan Modra <amodra@bigpond.net.au>
6145
6146 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
6147
d006db6c
AM
61482002-08-06 Alan Modra <amodra@bigpond.net.au>
6149
6150 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
6151
8ea80f08
AM
61522002-08-06 Alan Modra <amodra@bigpond.net.au>
6153
2a52da53
AM
6154 * libxcoff.h: Use PARAMS on function declarations.
6155 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
6156 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
6157
8ea80f08
AM
6158 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
6159 addend.
6160 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
6161
cf9ab45b
AM
61622002-08-06 Alan Modra <amodra@bigpond.net.au>
6163
6164 * coff-rs6000.c: Formatting fixes.
6165 (xcoff_calculate_relocation): Use PARAMS in declaration.
6166 (xcoff_complain_overflow): Likewise.
6167 (xcoff_ppc_relocate_section): Use old-style function pointer call.
6168 (bfd_xcoff_backend_data): Remove useless comments.
6169 (rs6000coff_vec): Likewise.
6170 (bfd_pmac_xcoff_backend_data): Likewise.
6171 (pmac_xcoff_vec): Likewise.
8ea80f08 6172
cf9ab45b
AM
6173 * coff64-rs6000.c: Formatting fixes.
6174 (xcoff64_calculate_relocation): Use PARAMS in declaration.
6175 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
6176 (bfd_xcoff_backend_data): Remove useless comments.
6177 (rs6000coff64_vec): Likewise.
6178 (bfd_xcoff_aix5_backend_data): Likewise.
6179 (aix5coff64_vec): Likewise.
6180
48bfecdd
AM
61812002-08-06 Alan Modra <amodra@bigpond.net.au>
6182
a78eab4e
AM
6183 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
6184 mask entries. Use complain_overflow_dont for R_REF.
6185 (xcoff_reloc_type_ba): Revert last change.
6186 (xcoff_reloc_type_br): Likewise.
6187 (xcoff_reloc_type_crel): Likewise.
6188 (xcoff_ppc_relocate_section): Likewise.
6189 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
6190 (xcoff64_ppc_relocate_section): Likewise.
6191 (xcoff64_howto_table): Revert some of last change to mask entries.
6192 Use complain_overflow_dont for R_REF.
6193
48bfecdd
AM
6194 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
6195 relocs with bitsize == 16 have size = 1.
6196 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
6197 (xcoff_reloc_type_br): Likewise.
6198 (xcoff_reloc_type_crel): Likewise.
6199 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
6200 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
6201 dst_mask adjustment.
6202 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
6203 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
6204 bitsize == 16 have size = 1.
6205
fd13ed0c
DC
62062002-08-01 Denis Chertykov <denisc@overta.ru>
6207
6208 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
6209 (struct misc): New field isymbuf. All free_* fields removed.
6210 (symbol_value): Pass in internal syms. No need to swap syms in.
6211 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
6212 possibly cached info.
6213 (tidyup_after_error): Removed.
6214 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
6215 misc. Use new field.
6216 (adjust_all_relocations): Use internal syms. No need to swap syms
6217 in and out.
6218 (add_page_insn): Don't use removed fields of struct misc.
6219
24a1ba0f
NC
62202002-08-01 Nick Clifton <nickc@redhat.com>
6221
6222 * elf32-arm.h: Revert previous delta.
6223
a6903459
NC
62242002-08-01 Nick Clifton <nickc@redhat.com>
6225
6226 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
6227 * configure: Regenerate.
6228
39a2a3eb
L
62292002-07-31 H.J. Lu <hjl@gnu.org>
6230
6231 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
6232 selected.
6233
a0dfa6a8
L
62342002-07-31 H.J. Lu <hjl@gnu.org>
6235
6236 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
6237 is selected.
6238
cd67d266
JJ
62392002-07-31 Jakub Jelinek <jakub@redhat.com>
6240
6241 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
6242 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
6243
4eb6b71c
NC
62442002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6245
6246 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
6247 There is no 8 byte relocation type for this architecture.
6248 (do_ns32k_reloc): Use bfd_vma instead of native types.
6249 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
6250 returns void.
6251 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
6252 rely on generic code to do that.
6253 * aout-ns32k.c (howto_table): Add appropriate overflow detection
6254 to all table entries.
6255 (_bfd_ns32k_relocate_contents): put_data returns void.
6256 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
6257 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
6258 return void.
6259
f7c33884
NC
62602002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6261
6262 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
6263 archive object is target dependant.
6264
8f64befb
NC
62652002-07-31 Adam Nemet <anemet@lnxw.com>
6266
6267 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
6268 (THUMB_PLT_ENTRY_SIZE): New macro.
6269 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
6270 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
6271 ARM_PLT_ENTRY_SIZE.
6272 (elf32_arm_plt_entry): Likewise.
6273 (elf_backend_plt_header_size): Likewise.
6274 (elf32_thumb_plt0_entry): New global.
6275 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
6276 into .plt.thumb.
6277 (elf32_thumb_plt_entry): New global.
6278 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
6279 Thumb entries. Set the bottom bit of the corresponding GOT entry
6280 for a Thumb PLT entry.
6281 (struct elf32_arm_plt_entry_info): New structure.
6282 (struct elf32_arm_link_hash_entry, plt_info): New member of this
6283 type.
6284 (elf32_arm_link_hash_newfunc): Initialize new member.
6285 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
6286 relocations against the PLT.
6287 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
6288 first_rel_type if this is the first time we encounter the symbol.
6289 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
6290 Determine if relocation needs a PLT entry. Set first_rel_type if
6291 this is the first time we encounter the symbol
6292 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
6293 functions as well.
6294 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
6295 (elf32_arm_create_dynamic_sections): New function. Create the
6296 .plt.thumb section.
6297 (elf_backend_create_dynamic_sections): Call it.
6298
47badb7b
NC
62992002-07-31 Nick Clifton <nickc@redhat.com>
6300
6301 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
6302 'alternative' in order to avoid shadowing global symbol of the
6303 same name.
6304 * bfd-in2.h: Regenerate.
6305 * libbfd.h: Regenerate.
6306 * libcoff.h: Regenerate.
6307
8a397dad
TS
63082002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6309
6310 * Makefile.am: Add n32 ABI support.
6311 * Makefile.in: Regenerate.
6312 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
6313 bit vectors for mips*-*-linux targets as optional.
6314 * configure.in: Add n32 ABI vectors.
6315 * configure: Regenerate.
6316 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
6317 * elfn32-mips.c: New file, n32 ABI support.
6318 * targets.c: Add n32 ABI vectors.
6319
7e392df6 63202002-07-30 Graeme Peterson <gp@qnx.com>
83e1617e 6321
7e392df6
NC
6322 * elfarmqnx-nabi.c: New file: Support for QNX.
6323 * config.bfd: Add support for arm-*-nto target.
6324 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
6325 * configure: Regenerate.
6326 * Makefile.am: Add entries for elfarmqnx-nabi.c.
6327 * Makefile.in: Regenerate.
6328 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
6329 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
6330 * elfarm-nabi.c: Do not include elf32-arm.h if
6331 ELFARM_NABI_C_INCLUDED is defined.
6332 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7330fb86 6333
7e392df6 63342002-07-30 Nick Clifton <nickc@redhat.com>
7330fb86 6335
83e1617e
NC
6336 * po/sv.po: Updated Swedish translation.
6337
704afa60
JJ
63382002-07-30 Jakub Jelinek <jakub@redhat.com>
6339
6340 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
6341
487e54f2
AM
63422002-07-30 Alan Modra <amodra@bigpond.net.au>
6343
6344 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
6345 * archive.c (bfd_generic_archive_p): Likewise.
6346 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
6347 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
6348 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
6349 (xcoff64_archive_p): Likewise.
6350 (xcoff64_openr_next_archived_file): Likewise.
6351 (xcoff64_archive_p): Clean up tdata properly on error.
6352 * coffgen.c (coff_real_object_p): Likewise.
6353 (coff_object_p): Release filehdr and opthdr.
6354 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
6355 * ieee.c (ieee_archive_p): Likewise.
6356 * ihex.c (ihex_object_p): Likewise.
6357 (ihex_mkobject): Always allocate tdata.
6358 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
6359 * srec.c (srec_mkobject): Always allocate tdata.
6360 (srec_object_p): Clean up tdata properly on error.
6361 (symbolsrec_object_p): Likewise.
6362 * versados.c (versados_object_p): Likewise.
6363 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
6364 and bfd_realloc instead of realloc.
6365 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
6366 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
6367 place of bfd_malloc, simplifying error freeing. Free hash table too.
6368 (vms_object_p): Clean up tdata on error.
6369 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
6370 (vms_close_and_cleanup): Adjust for bfd_alloc use.
6371
9d46020e
AM
63722002-07-30 Alan Modra <amodra@bigpond.net.au>
6373
6374 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
6375
fb39dac1
RS
63762002-07-26 Chris Demetriou <cgd@broadcom.com>
6377
6378 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
6379 flags into resulting BFD.
6380
7a624474
AM
63812002-07-26 Alan Modra <amodra@bigpond.net.au>
6382
6383 From John Reiser <jreiser@BitWagon.com>
6384 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
6385 tls_ldm_got.refcount.
6386
a4382ec6
TS
63872002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6388
6389 * elf64-mips.c: Update TODO comment.
6390 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
6391 mips_elf64_gprel16_reloca): Remove prototypes.
6392 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
6393 (UNUSED_RELOC): Replace by EMPTY_RELOC.
6394 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
6395 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
6396 R_MIPS_HIGHEST.
6397 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
6398 R_MIPS_GOT16. Remove wrong comments.
6399 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
6400 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
6401 from elf32-mips.c.
6402 (mips_elf64_hi16_reloc): Fix formatting.
6403 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
6404 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
6405 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
6406 (mips_elf64_gprel16_reloc): Make static. Add check for
6407 partial_inplace.
6408 (mips_elf64_gprel16_reloca): Remove.
6409 (mips_elf64_literal_reloc): New function.
6410 (mips_elf64_gprel32_reloc): Fix formatting.
6411 (mips_elf64_shift6_reloc): Fix comment. Make static.
6412 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
6413 elf32-mips.c.
6414 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
6415 elf32-mips.c
6416 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
6417 specific relocations.
6418 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
6419 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
6420 (ELF_MAXPAGESIZE): Add comment.
6421
219576a4
NC
64222002-07-25 Nick Clifton <nickc@redhat.com>
6423
6424 * po/sv.po: Updated Swedish translation.
6425 * po/es.po: Updated Spanish translation.
6426 * po/fr.po: Updated French translation.
6427
8c58d23b
AM
64282002-07-25 Alan Modra <amodra@bigpond.net.au>
6429
6430 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
6431 as elf_link_record_local_dynamic_symbol.
6432 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
6433 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
6434 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
6435 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
6436 attempt is made to record a symbol in a discarded section, and
6437 return `2' in that case.
6438
ff3063f5
NC
64392002-07-24 Nick Clifton <nickc@redhat.com>
6440
6441 * po/sv.po: Updated Swedish translation.
6442 * po/es.po: Updated Spanish translation.
6443
f0fe0e16
AM
64442002-07-23 Alan Modra <amodra@bigpond.net.au>
6445
c1fb5f8a
AM
6446 * po/SRC-POTFILES.in: Regenerate.
6447
f0fe0e16
AM
6448 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
6449 immediately. Remove code handling relocatable linking.
6450 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
6451 * elf32-cris.c (cris_elf_relocate_section): Likewise.
6452 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
de2d743e 6453 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
6454 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
6455 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
6456 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6457 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6458 * elf32-v850.c (v850_elf_relocate_section): Likewise.
6459 * elf32-vax.c (elf_vax_relocate_section): Likewise.
6460 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6461 * elf32-avr.c (elf_backend_rela_normal): Define.
6462 * elf32-cris.c: Likewise.
6463 * elf32-fr30.c: Likewise.
de2d743e 6464 * elf32-frv.c: Likewise.
f0fe0e16
AM
6465 * elf32-h8300.c: Likewise.
6466 * elf32-hppa.c: Likewise.
6467 * elf32-ip2k.c: Likewise.
6468 * elf32-sparc.c: Likewise.
6469 * elf32-v850.c: Likewise.
6470 * elf32-vax.c: Likewise.
6471 * elf64-hppa.c: Likewise.
6472 * elf64-sparc.c: Likewise.
6473 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
de2d743e 6474 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
6475 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
6476 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6477 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6478 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
6479 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
6480 * elf-m10200.c (USE_RELA): Don't define.
6481 * elf-m10300.c: Likewise.
de2d743e 6482 * elfarm-oabi.c: Likewise.
f0fe0e16
AM
6483 * elf32-i370.c: Likewise.
6484 * elf32-ip2k.c: Likewise.
6485 * elf32-m68k.c: Likewise.
6486 * elf32-mcore.c: Likewise.
6487 * elf32-ppc.c: Likewise.
6488 * elf32-s390.c: Likewise.
6489 * elf32-vax.c: Likewise.
6490 * elf64-ppc.c: Likewise.
6491 * elf64-s390.c: Likewise.
6492 * elf64-x86-64.c: Likewise.
6493 * elfxx-ia64.c: Likewise.
6494 * elf32-avr.c (USE_REL): Don't undef.
6495 * elf32-ip2k.c: Likewise.
6496
5e8d7549
NC
64972002-07-23 Nick Clifton <nickc@redhat.com>
6498
6499 * elf-bfd.h (struct elf_backend_data): Add new bitfield
6500 'want_p_paddr_set_to_zero'.
6501 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
6502 to false;
6503 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
6504 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
6505
9e12c7db
NC
65062002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
6507
6508 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
6509 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
6510 show the Copyright string.
6511 Minor formatting tidy ups.
6512
0461a601
NC
65132002-07-23 Nick Clifton <nickc@redhat.com>
6514
ff3063f5
NC
6515 * po/fr.po: Updated French translation.
6516 * po/sv.po: Updated Swedish translation.
0461a601 6517
fad2542d
AM
65182002-07-23 Alan Modra <amodra@bigpond.net.au>
6519
6520 * elflink.h (elf_link_input_bfd): Don't change internal symbols
6521 when outputting relocs.
6522
c0647bfc
JT
65232002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
6524
6525 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
6526 DT_PLTGOT into the dynamic section if there is a PLT.
6527
d01414a5
TS
65282002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6529
6530 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
6531 elf32-mips.c.
6532 (_bfd_mips_elf_write_section): Likewise.
6533 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
6534 (_bfd_mips_elf_write_section): Likewise.
6535 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
6536 (elf32_mips_write_section): Likewise.
6537 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
6538 (_bfd_mips_elf_write_section): Likewise.
6539
40c97fc6
AM
65402002-07-19 Alan Modra <amodra@bigpond.net.au>
6541
6542 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
6543 PT_IA_64_UNWIND segments for a given section.
6544
58378160
L
65452002-07-17 H.J. Lu <hjl@gnu.org>
6546
6547 * Makefile.am: Fix a typo.
6548 * Makefile.in: Regenerate.
6549
cf88bb9f
NC
65502002-07-15 Denis Chertykov <denisc@overta.ru>
6551 Frank Ch. Eigler <fche@redhat.com>
6552 Ben Elliston <bje@redhat.com>
6553 Alan Lehotsky <alehotsky@cygnus.com>
6554 John Healy <jhealy@redhat.com>
6555 Graham Stott <grahams@redhat.com>
6556 Jeff Johnston <jjohnstn@redhat.com>
6557
6558 * Makefile.am: Add support for ip2k.
6559 * Makefile.in: Regenerate.
6560 * doc/Makefile.in: Regenerate.
6561 * archures.c: Add support for ip2k.
6562 * config.bfd: Add support for ip2k.
6563 * configure.in: Add support for ip2k.
6564 * configure: Regenerate.
6565 * reloc.c: Add support for ip2k.
6566 * targets.c: Add support for ip2k.
6567 * bfd-in2.h: Regenerate.
6568 * libbfd.h: Regenerate.
6569 * cpu-ip2k.c: New file.
6570 * elf32-ip2k.c: New file.
6571
0dafd5f6
RE
65722002-07-17 Ian Rickards <irickard@arm.com>
6573
40c97fc6 6574 * dwarf2.c (concat_filename): If we can't establish the directory
0dafd5f6
RE
6575 just return the filename.
6576
36b08f12
AM
65772002-07-16 Moritz Jodeit <moritz@jodeit.org>
6578
6579 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
6580
58821868
AM
65812002-07-16 Alan Modra <amodra@bigpond.net.au>
6582
6583 * elflink.h: Formatting fixes, tidy prototypes.
6584 (elf_link_assign_sym_version): Move common code out of loop.
6585
c89583f8
AM
65862002-07-16 Alan Modra <amodra@bigpond.net.au>
6587
6588 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
6589 reloc section size is zero. Correct reloc output location.
6590
ba94744e
AM
65912002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6592
6593 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
6594 the final type for the e_fsel selector when generating PA2.0W code.
6595 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
6596 relocations.
6597
96a94295
L
65982002-07-14 H.J. Lu <hjl@gnu.org>
6599
6600 * elflink.h (elf_link_assign_sym_version): Hide the default
6601 definition if there is a hidden versioned definition.
6602
6849c52f
HPN
66032002-07-12 Hans-Peter Nilsson <hp@axis.com>
6604
6605 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
6606 dynamic reference test in assertion when initializing GOT with
6607 static contents. Just assert that there are either no dynamic
6608 sections, the symbol is defined in the regular objects or that the
6609 symbol is undef weak. Tweak comment.
6610 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
6611 only if the symbol isn't defined in the program and isn't undef
6612 weak.
6613 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
6614 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
6615 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
6616 (elf_cris_discard_excess_program_dynamics): Don't consider
6617 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
6618
239e1f3a
AM
66192002-07-11 Alan Modra <amodra@bigpond.net.au>
6620
6621 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
6622 unresolved debugging relocs in dynamic applications.
6623 * elf32-s390.c (elf_s390_relocate_section): Likewise.
6624 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6625 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
6626 * elf64-s390.c (elf_s390_relocate_section): Likewise.
6627 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6628 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
6629
2f6d9989
AM
66302002-07-10 Alan Modra <amodra@bigpond.net.au>
6631
f5e87a1d
AM
6632 * elf64-ppc.c (ONES): Define.
6633 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
6634 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
6635 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
6636
2f6d9989
AM
6637 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
6638 (ppc64_elf_set_private_flags): Delete.
6639 (ppc64_elf_section_from_shdr): Delete.
6640 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
6641 (ppc64_elf_fake_sections): Delete.
6642 (bfd_elf64_bfd_set_private_flags): Don't define.
6643 (bfd_elf64_get_symbol_info): Likewise.
6644 (elf_backend_section_from_shdr): Likewise.
6645 (elf_backend_fake_sections): Likewise.
6646
0594c12d
AM
66472002-07-10 Marco Walther <Marco.Walther@sun.com>
6648
6649 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
6650 when not already set.
6651 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
6652 (elf_backend_fake_sections): Define.
6653
699cb9b8
AM
66542002-07-10 Alan Modra <amodra@bigpond.net.au>
6655
6656 * merge.c (_bfd_merge_section): Remove redundant output_section check.
6657 Formatting.
6658 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
6659
0a4787a0
HPN
66602002-07-09 Hans-Peter Nilsson <hp@axis.com>
6661
6662 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
6663 NULL sym_hashes to just before use.
6664 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
6665 symbol with non-default visibility.
6666 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
6667 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
6668 Ditto.
6669 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
6670 symbol with non-default visibility.
6671 (cris_elf_check_relocs): At tests for local symbol before
6672 increasing h->plt.refcount, also check for non-default
6673 visibility. Ditto when checking for local symbol to eliminate
6674 pc-relative runtime relocs.
6675
aecc8f8a
AM
66762002-07-08 Alan Modra <amodra@bigpond.net.au>
6677
6678 * elf.c: Formatting.
6679 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
6680 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
6681 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
6682 segments.
6683
e9168c1e
MM
66842002-07-07 Mark Mitchell <mark@codesourcery.com>
6685 Alan Modra <amodra@bigpond.net.au>
6686
6687 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
6688 account the impact of relocation count overflow when computing
6689 section offsets.
6690 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
6691 or not to apply the PE COFF reloc overflow handling. Fix a
6692 fencepost error in deciding whether or not to use that technique.
6693
6cdc0ccc
AM
66942002-07-07 Alan Modra <amodra@bigpond.net.au>
6695
6696 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
6697 change type of locsyms.
6698 (bfd_elf_get_elf_syms): Declare.
6699 * elf.c (bfd_elf_get_elf_syms): New function.
6700 (group_signature): Use bfd_elf_get_elf_syms.
6701 (bfd_section_from_r_symndx): Likewise.
6702 * elfcode.h (elf_slurp_symbol_table): Likewise.
6703 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6704 (elf_link_add_object_symbols): Likewise. Reorganise to increase
6705 locality of various data structures. Properly free internal relocs.
6706 (elf_bfd_final_link): Properly free internal relocs.
6707 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
6708 (elf_link_input_bfd): Likewise.
6709 (elf_gc_mark): Likewise. Properly free internal relocs.
6710 (elf_gc_sweep): Properly free internal relocs.
6711 (elf_reloc_symbol_deleted_p): No need to swap syms in.
6712 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
6713 internal relocs.
6714 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
6715 Properly free possibly cached info.
6716 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
6717 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
6718 symbol swapping code.
6719 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
6720 Properly free possibly cached info.
6721 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
6722 (mn10300_elf_relax_delete_bytes): Likewise.
6723 (mn10300_elf_symbol_address_p): Likewise.
6724 (mn10300_elf_get_relocated_section_contents): Likewise.
6725 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
6726 (elf32_h8_relax_delete_bytes): Likewise.
6727 (elf32_h8_symbol_address_p): Likewise.
6728 (elf32_h8_get_relocated_section_contents): Likewise.
6729 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
6730 (m32r_elf_relax_delete_bytes): Likewise.
6731 (m32r_elf_get_relocated_section_contents): Likewise.
6732 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
6733 elf_section_data to determine whether cached.
6734 (sh_elf_relax_section): As above for elf-m10200.c.
6735 (sh_elf_relax_delete_bytes): Likewise.
6736 (sh_elf_get_relocated_section_contents): Likewise.
6737 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
6738 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
6739 reading of local syms.
6740 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6741 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
6742 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
6743 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
6744 relocs.
6745 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
6746 free internal relocs and section contents. Don't read symbols.
6747 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
6748 (elf32_hppa_size_stubs): Don't free local syms.
6749 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
6750 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
6751 possibly cached info.
6752 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6753 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
6754 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
6755 all_local_syms.
6756 (get_local_syms): Delete function.
6757 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
6758 on exit.
6759 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
6760
b3212001
JW
67612002-07-05 Jim Wilson <wilson@redhat.com>
6762
6763 * syms.c (decode_section_type): New.
6764 (bfd_decode_symclass): Call decode_section_type.
6765
894bb1ee
JJ
67662002-07-04 Jakub Jelinek <jakub@redhat.com>
6767
6768 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
6769 section content start.
6770 Reported by Michael Schumacher <mike@hightec-rt.com>.
6771
bc0ba537
AM
67722002-07-04 Alan Modra <amodra@bigpond.net.au>
6773
9b5ecbd0 6774 * section.c (_bfd_strip_section_from_output): Remove unnecessary
bc0ba537
AM
6775 link order code. Don't actually remove the output section here;
6776 Just set a flag for the linker to do so.
6777 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
6778 sections when setting up output section dynsyms.
6779
797fc050
AM
67802002-07-04 Alan Modra <amodra@bigpond.net.au>
6781
6782 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
6783 fudge.
6784 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
6785 libs here instead.
6786
99881371
MS
67872002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
6788
6789 * elf64-s390.c (create_got_section): Set .got section alignment to
6790 8 bytes.
6791 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
6792
47d9a591
AM
67932002-07-02 Alan Modra <amodra@bigpond.net.au>
6794
6795 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
6796
179d3252
JT
67972002-07-01 Matt Thomas <matt@3am-software.com>
6798
6799 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
6800 to EF_VAX_*.
6801
4a14403c
TS
68022002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6803
6804 * elfxx-mips.c (ABI_64_P): Fix comment.
6805 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
6806 new section names for N64 ABI.
6807 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
6808 (mips_elf_calculate_relocation): Code formatting.
6809 (mips_elf_create_dynamic_relocation): Likewise.
6810 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
6811 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
6812 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
6813 in any NewABI.
6814 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
6815 for NewABI.
6816 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
6817 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
6818 here, too.
6819
607c0e09
AS
68202002-07-01 Andreas Schwab <schwab@suse.de>
6821
6822 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
6823 R_X86_64_64 to R_X86_64_RELATIVE.
6824
ba26fd96
AM
68252002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
6826
6827 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
6828 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
6829 Run "make dep-am".
6830 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
6831 host_aout_vec.
6832 * configure.in (vaxbsd_vec): Add.
6833 * targets.c (vaxbsd_vec): Add.
6834 * Makefile.in: Rebuild.
6835 * configure: Rebuild.
6836 * po/SRC-POTFILES.in: Rebuild.
6837
1e2f5b6e
AM
68382002-07-01 Alan Modra <amodra@bigpond.net.au>
6839
6840 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
6841 examining to gc_mark_hook, rather than the bfd.
6842 (elf_gc_sections): Adjust.
6843 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
6844 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
6845 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
6846 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
6847 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
6848 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
6849 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
6850 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
6851 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
6852 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
6853 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
6854 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
6855 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
6856 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
6857 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
6858 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
6859 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
6860 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
6861 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
6862 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
6863 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
6864 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
6865 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
6866 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
6867 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
6868 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
6869 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
6870 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
6871 redundant local sym tests.
6872 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
6873 (link_hash_newfunc): Init is_entry.
6874 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
6875 (ppc64_elf_link_hash_table_create): Init all_local_syms.
6876 (create_linkage_sections): Use bfd_make_section_anyway rather than
6877 bfd_make_section.
6878 (ppc64_elf_mark_entry_syms): New function.
6879 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
6880 up opd entry to function section map.
6881 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
6882 relocs that reference the opd section.
6883 (edit_opd): New function.
6884 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
6885 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
6886 (get_local_syms): Do so here. Exit if we already have local syms.
6887 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
6888 read local syms on non-ELF input.
6889 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
6890 than duplicating it's function here. Adjust free of internal
6891 relocs to suit.
6892 (ppc64_elf_relocate_section): Adjust local syms in opd section.
6893 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
6894 * elf32-hppa.c (elf32_hppa_size_stubs): Call
6895 _bfd_elf32_link_read_relocs rather than duplicating it's function
6896 here. Adjust free of internal relocs to suit.
6897
1b71fb54
AJ
68982002-07-01 Andreas Jaeger <aj@suse.de>
6899
6900 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
6901 are not allowed in shared libs code, enforce -fPIC.
6902
8d28f606
HPN
69032002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
6904
6905 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
6906 trailing zero-sequences when there's previous left-over data.
6907
5ac81c74
JL
69082002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
6909
6910 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
6911 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
6912 and opd_rel_sec in order for starting rela section. Check _raw_size.
6913 (elf_backend_reloc_type_class): Define.
6914
91a4d569
AM
69152002-06-27 Kevin Buettner <kevinb@redhat.com>
6916
6917 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
6918 DWARF2 formats.
6919
feee612b
AM
69202002-06-27 Alan Modra <amodra@bigpond.net.au>
6921
6922 * cpu-powerpc.c: Comment on ordering of arch_info.
6923 * elf32-ppc.c (ppc_elf_object_p): New function.
6924 (elf_backend_object_p): Define.
6925 * elf64-ppc.c (ppc64_elf_object_p): New function.
6926 (elf_backend_object_p): Define.
6927
a4e6cefc
JT
69282002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
6929
6930 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
6931 * configure: Regenerate.
6932
dae2dd0d
NC
69332002-06-25 Jason Eckhardt <jle@rice.edu>
6934
6935 * dwarf2.c (decode_line_info): Check unit->addr_size
6936 to read in the proper number of prologue bytes.
6937
680f9d5c
NC
69382002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
6939
6940 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
6941 aix5coff64_vec if 64-bit bfd support has been enabled.
91a4d569
AM
6942 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
6943 been enabled.
dae2dd0d 6944
680f9d5c
NC
6945 * targets.c (_bfd_target_vector[]): Only include
6946 aix5coff64_vec if 64-bit bfd support has been enabled.
6947
d4c88bbb
AM
69482002-06-25 Alan Modra <amodra@bigpond.net.au>
6949
6950 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
6951 * elf32-hppa.c (hppa_add_stub): Likewise.
6952 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
6953 * elflink.h (elf_add_default_symbol): Fix comment typo.
6954 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
6955 (elf_link_add_object_symbols): Likewise.
6956 (elf_link_assign_sym_version): Likewise.
6957 * hash.c (bfd_hash_lookup): Likewise.
6958 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
6959 * section.c (bfd_get_unique_section_name): Likewise.
6960 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
6961 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
6962 (assign_section_numbers): Likewise.
6963 (_bfd_elfcore_make_pseudosection): Likewise.
6964 (elfcore_grok_lwpstatus): Likewise.
6965 (elfcore_grok_win32pstatus): Likewise.
6966 (elfcore_write_note): Constify input params. Use PTR instead of
6967 void *. Include terminating NUL in namesz. Correct padding.
6968 Support NULL "name" param. Use memcpy instead of strcpy.
6969 (elfcore_write_prpsinfo): Constify input params.
6970 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
6971 (elfcore_write_lwpstatus): Likewise.
6972 (elfcore_write_pstatus): Likewise.
6973 (elfcore_write_prfpreg): Likewise.
6974 (elfcore_write_prxfpreg): Likewise.
6975 * elf-bfd.h (elfcore_write_note): Update declaration.
6976 (elfcore_write_prpsinfo): Likewise.
6977 (elfcore_write_prstatus): Likewise.
6978 (elfcore_write_pstatus): Likewise.
6979 (elfcore_write_prfpreg): Likewise.
6980 (elfcore_write_prxfpreg): Likewise.
6981 (elfcore_write_lwpstatus): Likewise.
6982
b0ac09d2
NC
69832002-06-25 Jason Eckhardt <jle@rice.edu>
6984
6985 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
6986 symbols of type stProc and stStaticProc.
6987
69882002-06-25 Nick Clifton <nickc@redhat.com>
6989
6990 * ecoff.c: VArious formatting fixes.
6991
021d6096
AM
69922002-06-25 Alan Modra <amodra@bigpond.net.au>
6993
6994 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
6995
82e51918
AM
69962002-06-25 Alan Modra <amodra@bigpond.net.au>
6997
6998 * aout-adobe.c: Don't compare against "true" or "false.
6999 * aout-target.h: Likewise.
7000 * aoutx.h: Likewise.
7001 * archive.c: Likewise.
7002 * bout.c: Likewise.
7003 * cache.c: Likewise.
7004 * coff-a29k.c: Likewise.
7005 * coff-alpha.c: Likewise.
7006 * coff-i386.c: Likewise.
7007 * coff-mips.c: Likewise.
7008 * coff-or32.c: Likewise.
7009 * coff64-rs6000.c: Likewise.
7010 * coffcode.h: Likewise.
7011 * coffgen.c: Likewise.
7012 * cpu-ns32k.c: Likewise.
7013 * ecoff.c: Likewise.
7014 * ecofflink.c: Likewise.
7015 * elf.c: Likewise.
7016 * elf32-arm.h: Likewise.
7017 * elf32-cris.c: Likewise.
7018 * elf32-d30v.c: Likewise.
7019 * elf32-i386.c: Likewise.
7020 * elf32-mcore.c: Likewise.
7021 * elf32-ppc.c: Likewise.
7022 * elf32-sh.c: Likewise.
7023 * elf32-sh64.c: Likewise.
7024 * elf32-v850.c: Likewise.
7025 * elf64-alpha.c: Likewise.
7026 * elf64-sh64.c: Likewise.
7027 * elfcode.h: Likewise.
7028 * elfcore.h: Likewise.
7029 * elflink.h: Likewise.
7030 * elfxx-mips.c: Likewise.
7031 * i386os9k.c: Likewise.
7032 * ieee.c: Likewise.
7033 * libbfd.c: Likewise.
7034 * linker.c: Likewise.
7035 * mmo.c: Likewise.
7036 * nlm32-alpha.c: Likewise.
7037 * nlm32-i386.c: Likewise.
7038 * nlm32-ppc.c: Likewise.
7039 * nlm32-sparc.c: Likewise.
7040 * nlmcode.h: Likewise.
7041 * oasys.c: Likewise.
7042 * pdp11.c: Likewise.
7043 * peicode.h: Likewise.
7044 * reloc.c: Likewise.
7045 * som.c: Likewise.
7046 * srec.c: Likewise.
7047 * tekhex.c: Likewise.
7048 * vms.c: Likewise.
7049 * xcofflink.c: Likewise.
7050 * elf64-sparc.c: Edit comment to not use "== false".
7051
7052 * aoutf1.h: Don't use "? true : false".
7053 * ecoff.c: Likewise.
7054 * format.c: Likewise.
7055 * ieee.c: Likewise.
7056 * linker.c: Likewise.
7057 * mmo.c: Likewise.
7058 * oasys.c: Likewise.
7059
48fc70a2
AM
70602002-06-23 H.J. Lu <hjl@gnu.org>
7061
7062 * elflink.h (elf_link_add_archive_symbols): For the default
7063 version, check references with only one `@' first.
7064
47b7c2db
AM
70652002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
7066
7067 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
7068 function.
9b5ecbd0 7069 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
47b7c2db
AM
7070 symbol table.
7071 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
7072 (elf64_hppa_size_dynamic_sections): Revise to use
7073 elf64_hppa_mark_milli_and_exported_functions.
7074 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
7075 symbols out of dynamic symbol table.
7076
f5d44ba0
AM
70772002-06-23 Alan Modra <amodra@bigpond.net.au>
7078
bb3fff1e
AM
7079 * Makefile.in: Regenerate.
7080 * libbfd.h: Regenerate.
7081 * bfd-in2.h: Regenerate.
7082 * configure: Regenerate.
7083 * po/SRC-POTFILES.in: Regenerate.
7084
f5d44ba0
AM
7085 * elflink.h: Comment typo fixes.
7086
70872002-06-23 H.J. Lu <hjl@gnu.org>
7088
7089 * elf-bfd.h (elf_link_loaded_list): New structure.
7090 (elf_link_hash_table): Add "loaded".
7091 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
7092 * elflink.h (elf_link_check_versioned_symbol): New function.
7093 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
7094
cc36acdf
NC
70952002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
7096
7097 * elflink.h (size_dynamic_sections): If the target does not
f5d44ba0 7098 support an ELF style hash table, return true, indicating that
cc36acdf
NC
7099 nothing needed to be done, rather than false, indicating that the
7100 section's size could not be computed.
7101
4e5ba5b7
DB
71022002-06-18 Dave Brolley <brolley@redhat.com>
7103
7104 From Catherine Moore, Michael Meissner, Dave Brolley:
7105 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
7106 * targets.c: Support bfd_elf32_frv_vec.
7107 * reloc.c: Add FRV relocs.
7108 * configure.in: Add support for bfd-elf32-frv-vec.
7109 * config.bfd (targ_cpu): Add support for frv-*-elf.
7110 * archures.c: Add frv arch and machines.
7111 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
7112 (ALL_MACHINES_CFILES): Add cpu-frv.c.
7113 (BFD32_BACKENDS): Add elf32-frv.lo.
7114 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
7115 (cpu-frv.lo): New target.
7116 (elf32-frv.lo): New target.
7117 * cpu-frv.c: New file.
7118 * elf32-frv.c: New file.
7119
7ece0d85
JJ
71202002-06-18 Jakub Jelinek <jakub@redhat.com>
7121
7122 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
7123 e_shnum == 0.
7124 Only read the first section header if e_shoff is non-zero.
7125 Don't consider e_shstrndx if there are no sections.
7126
57fb03ac
TR
71272002-06-17 Tom Rix <trix@redhat.com>
7128
7129 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
f5d44ba0 7130 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
57fb03ac
TR
7131 complain_overflow_bitfield.
7132
341ca622
AM
71332002-06-17 Alan Modra <amodra@bigpond.net.au>
7134
767e34d1
AM
7135 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
7136 (bfd_fdopenr): Likewise.
7137 (bfd_openstreamr): Likewise.
7138 (bfd_openw): Likewise.
7139
341ca622
AM
7140 * targets.c: Sort target vecs.
7141 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
7142 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
7143 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
7144 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
7145 * configure.in: Sort target vecs. Add m88kmach3_vec.
7146 * configure: Regenerate.
7147
dfbbae4c
HPN
71482002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
7149
7150 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
7151 bpo_reloc_no to break sort order ties, not address of items.
7152
d663e1cd
JL
71532002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
7154
7155 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
7156 Skip excluded sections in determing __gp value.
7157 (elf_hppa_final_link_relocate): Use the symbol's address in
7158 R_PARISC_FPTR64 relocations that don't need an opd entry.
7159 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
7160 (elf64_hppa_finalize_dynreloc): Likewise.
7161 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
7162 (elf64_hppa_finish_dynamic_symbol): Break up assert.
7163
a8295218
NC
71642002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
7165
7166 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
7167 alignment for .bss, .data and .text sections so that sse and sse2
7168 code will work.
7169 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
7170
71712002-06013 J"orn Rennecke <joern.rennecke@superh.com>
5d9b5481
JR
7172
7173 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
7174 sh[1234]*-elf*.
7175
3db4b612
JL
71762002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
7177
2cb69dd3
JL
7178 * elflink.h (elf_bfd_final_link): Improve error handling for missing
7179 dynamic sections.
7180
3db4b612
JL
7181 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
7182 for a symbol that has no output section.
7183 (allocate_dynrel_entries): Correct comment.
7184 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
7185 unless we want one.
7186 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
7187 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
7188 with no section. Remove unnecessary parentheses.
7189
f3813499
TR
71902002-06-11 Tom Rix <trix@redhat.com>
7191
7192 * coffcode.h (coff_compute_section_file_positions): Add data
7193 section to AIX loader alignment check.
7194
f5d44ba0 7195 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
f3813499
TR
7196 alignment to 4 bytes.
7197 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
7198 power accessor macro.
7199 (do_shared_object_padding): Remove invalid assertion.
7200
0ebaf185
RS
72012002-06-10 Richard Sandiford <rsandifo@redhat.com>
7202
7203 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
7204 for removed output sections.
7205
ebe3e2d1
NC
72062002-06-10 Geoffrey Keating <geoffk@redhat.com>
7207
7208 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
7209 htab_alloc.
7210 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
7211
0b14c2aa
L
72122002-06-08 H.J. Lu <hjl@gnu.org>
7213
7214 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
7215 work around a long long bug in gcc 2.96 on mips.
7216
3c2bfad6
JT
72172002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7218
7219 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
7220 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
7221 Regenerate dependency lists.
7222 * Makefile.in: Regenerate.
7223 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
7224 vax1knetbsd_vec to targ_selvecs.
7225 * configure.in: Add vax1knetbsd_vec.
7226 * configure: Regenerate.
7227 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
7228 * vax1knetbsd.c: New file.
7229 * vaxnetbsd.c: Update copyright years.
7230 (TARGET_PAGE_SIZE): Set to 0x1000.
7231 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
7232
91149be3
JT
72332002-06-08 Matt Thomas <matt@3am-software.com>
7234
7235 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
7236
21e15248
AM
72372002-06-08 Alan Modra <amodra@bigpond.net.au>
7238
7239 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
7240
986b7daa
AM
72412002-06-08 Alan Modra <amodra@bigpond.net.au>
7242
e90b95f6
AM
7243 * Makefile.am: Run "make dep-am".
7244 * Makefile.in: Regenerate.
7245
3f9c735e
AM
7246 * armnetbsd.c: Replace CONST with const.
7247 * corefile.c: Likewise.
7248 * elf32-dlx.c: Likewise.
7249 * elf64-mips.c: Likewise.
7250 * mmo.c: Likewise.
7251 * ns32knetbsd.c: Likewise.
7252
986b7daa
AM
7253 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
7254 table is elf64-sparc.
7255
5a659663
TS
72562002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7257
7258 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
7259 Fix RELA addends to get not shifted in the result. Don't do special
7260 handling of R_MIPS_64 for NewABI.
7261
9bab7074
AM
72622002-06-07 Alan Modra <amodra@bigpond.net.au>
7263
7264 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7265 (NAME(aout,slurp_reloc_table)): Likewise.
7266 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
7267 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
7268 (xcoff_write_archive_contents_big): Likewise.
7269 (xcoff_generate_rtinit): Likewise.
7270 (xcoff_generate_rtinit): Likewise, and check error return.
7271 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7272 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
7273 (coff_get_normalized_symtab): Likewise.
7274 (coff_make_empty_symbol): Likewise.
7275 (bfd_coff_set_symbol_class): Likewise.
7276 * cofflink.c (coff_link_add_symbols): Likewise.
7277 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
7278 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
7279 (bfd_ecoff_write_accumulated_debug): Likewise.
7280 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
7281 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
7282 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
7283 * ieee.c (do_with_relocs): Use bfd_zalloc.
7284 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
7285 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7286 (NAME(aout,slurp_reloc_table)): Likewise.
7287 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
7288 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
7289 * som.c (som_build_and_write_symbol_table): Likewise.
7290 (som_slurp_string_table): Likewise.
7291 (som_slurp_symbol_table): Likewise.
7292 (som_bfd_ar_write_symbol_stuff): Likewise.
7293 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
7294 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
7295 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
7296 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
7297 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
7298
1126897b
AM
72992002-06-07 Alan Modra <amodra@bigpond.net.au>
7300
7301 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
7302 "group" union.
7303 (elf_group_name): Update.
7304 (elf_group_id): Define.
7305 (bfd_elf_set_group_contents): Declare.
7306 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
7307 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
7308 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
7309 that sym for the signature.
7310 (_bfd_elf_compute_section_file_positions): Don't call
7311 set_group_contents for "ld -r" case.
7312 (swap_out_syms): Use bfd_zalloc.
7313 * elflink.h (elf_link_add_archive_symbols): Likewise.
7314 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
7315 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
7316
3fad3c7c
AM
73172002-06-07 Alan Modra <amodra@bigpond.net.au>
7318
7319 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
7320 relocs in opd for non-shared too.
7321
10f469bf 73222002-06-06 Jeffrey Law <law@redhat.com>
76f99c63
JL
7323
7324 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
7325 relocations.
7326
7217313c
NC
73272002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
7328
7329 * merge.c: Include libiberty.h.
7330 * elf-strtab.c: Include libiberty.h.
7331
6cb22815
AM
73322002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
7333
7334 * peXXigen.c (pe_print_idata): Remove unused variable.
7335
1ed89aa9
NC
73362002-06-06 David Heine <dlheine@tensilica.com>
7337
7338 * elf.c (assign_file_positions_for_segments): Remove unallocated
7339 sections from the section to segment mapping for PT_LOAD segments.
7340 Update comment about empty loadable segments.
7341
644c4c80
RS
73422002-06-06 Richard Sandiford <rsandifo@redhat.com>
7343
7344 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
7345 is within the .stabstr section.
7346
f8ecb12b
AM
73472002-06-06 Alan Modra <amodra@bigpond.net.au>
7348
7349 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
7350 are "const PTR", not "const PTR *".
7351 (bfd_elf32_swap_symbol_in): Likewise.
7352 (bfd_elf64_swap_symbol_in): Likewise.
7353 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
7354 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7355 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7356 (elf_link_add_object_symbols): Likewise.
7357 (elf_link_record_local_dynamic_symbol): Likewise.
7358 (elf_link_input_bfd): Likewise.
7359 (elf_gc_mark): Likewise.
7360 (elf_reloc_symbol_deleted_p): Likewise.
7361 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7362 (mn10200_elf_relax_delete_bytes): Likewise.
7363 (mn10200_elf_symbol_address_p): Likewise.
7364 (mn10200_elf_get_relocated_section_contents): Likewise.
7365 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7366 (mn10300_elf_relax_section): Likewise.
7367 (mn10300_elf_relax_delete_bytes): Likewise.
7368 (mn10300_elf_symbol_address_p): Likewise.
7369 (mn10300_elf_get_relocated_section_contents): Likewise.
7370 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7371 (elf32_h8_relax_delete_bytes): Likewise.
7372 (elf32_h8_symbol_address_p): Likewise.
7373 (elf32_h8_get_relocated_section_contents): Likewise.
7374 * elf32-hppa.c (get_local_syms): Likewise.
7375 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7376 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7377 * elf32-sh.c (sh_elf_relax_section): Likewise.
7378 (sh_elf_relax_delete_bytes): Likewise.
7379 (sh_elf_get_relocated_section_contents): Likewise.
7380 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7381 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7382 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7383 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7384 * elf64-ppc.c (get_local_syms): Likewise.
7385 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7386 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7387
1ed89aa9 73882002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
7a33bc10
JR
7389
7390 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
7391
73ff0d56
AM
73922002-06-05 Alan Modra <amodra@bigpond.net.au>
7393
9dce4196
AM
7394 * elf.c (group_signature): Swap in the whole symbol, and handle
7395 extracting section symbol names.
7396 (setup_group): Add comment.
7397 (set_group_contents): When called from objcopy or ld, arrange for
7398 section contents to be written. Write group member output section
7399 indices to allow objcopy to reorganize sections.
7400 (_bfd_elf_copy_private_section_data): Copy group info.
7401
73ff0d56
AM
7402 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
7403 (bfd_elf32_swap_symbol_in): Update prototype.
7404 (bfd_elf64_swap_symbol_in): Likewise.
7405 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
7406 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7407 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7408 (elf_link_add_object_symbols): Likewise.
7409 (elf_link_record_local_dynamic_symbol): Likewise.
7410 (elf_link_input_bfd): Likewise.
7411 (elf_gc_mark): Likewise.
7412 (elf_reloc_symbol_deleted_p): Likewise.
7413 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7414 (mn10200_elf_relax_delete_bytes): Likewise.
7415 (mn10200_elf_symbol_address_p): Likewise.
7416 (mn10200_elf_get_relocated_section_contents): Likewise.
7417 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7418 (mn10300_elf_relax_section): Likewise.
7419 (mn10300_elf_relax_delete_bytes): Likewise.
7420 (mn10300_elf_symbol_address_p): Likewise.
7421 (mn10300_elf_get_relocated_section_contents): Likewise.
7422 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7423 (elf32_h8_relax_delete_bytes): Likewise.
7424 (elf32_h8_symbol_address_p): Likewise.
7425 (elf32_h8_get_relocated_section_contents): Likewise.
7426 * elf32-hppa.c (get_local_syms): Likewise.
7427 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7428 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7429 * elf32-sh.c (sh_elf_relax_section): Likewise.
7430 (sh_elf_relax_delete_bytes): Likewise.
7431 (sh_elf_get_relocated_section_contents): Likewise.
7432 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7433 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7434 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7435 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7436 * elf64-ppc.c (get_local_syms): Likewise.
7437 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7438 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7439 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
7440 * elf64-alpha.c (alpha_elf_size_info): Likewise.
7441 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
7442 * elf64-mips.c (mips_elf64_size_info): Likewise.
7443 * elf64-s390.c (s390_elf64_size_info): Likewise.
7444 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
7445
53bfd6b4
MR
74462002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7447
7448 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
7449 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
7450 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
7451 _bfd_mips_elf_ignore_discarded_relocs.
7452 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
7453
d4df96e6
L
74542002-06-05 H.J. Lu <hjl@gnu.org>
7455
7456 * elfxx-mips.c (mips_elf_calculate_relocation): Call
7457 _bfd_elf_rel_local_sym for STT_SECTION relocations against
7458 the SEC_MERGE section.
7459
e61463e1
AM
74602002-06-05 Alan Modra <amodra@bigpond.net.au>
7461
3cac74d0
AM
7462 * coff-alpha.c: Update copyright date.
7463 * coff-mips.c: Likewise.
7464 * xcoff-target.h: Likewise.
7465
e61463e1
AM
7466 * bfd-in.h: Remove "taken from the source" comment.
7467 * libbfd-in.h: Likewise.
7468 * libcoff-in.h: Likewise.
7469 * bfd-in2.h: Regenerate.
7470 * libbfd.h: Regenerate.
7471 * libcoff.h: Regenerate.
7472
7473 * elf.c (bfd_elf_discard_group): Return true.
7474 * elf-bfd.h (bfd_elf_discard_group): Declare.
7475 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
7476 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
7477 * bfd.c (bfd_discard_group): Define.
7478 * targets.c (struct bfd_target): Add _bfd_discard_group.
7479 (BFD_JUMP_TABLE_LINK): Here too.
7480 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
7481 * aout-adobe.c (aout_32_bfd_discard_group): Define.
7482 * aout-target.h (MY_bfd_discard_group): Define.
7483 * aout-tic30.c (MY_bfd_discard_group): Define.
7484 * binary.c (binary_bfd_discard_group): Define.
7485 * bout.c (b_out_bfd_discard_group): Define.
7486 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
7487 * coffcode.h (coff_bfd_discard_group): Define.
7488 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
7489 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
7490 * i386msdos.c (msdos_bfd_discard_group): Define.
7491 * i386os9k.c (os9k_bfd_discard_group): Define.
7492 * ieee.c (ieee_bfd_discard_group): Define.
7493 * ihex.c (ihex_bfd_discard_group): Define.
7494 * mmo.c (mmo_bfd_discard_group): Define.
7495 * nlm-target.h (nlm_bfd_discard_group): Define.
7496 * oasys.c (oasys_bfd_discard_group): Define.
7497 * ppcboot.c (ppcboot_bfd_discard_group): Define.
7498 * som.c (som_bfd_discard_group): Define.
7499 * srec.c (srec_bfd_discard_group): Define.
7500 * tekhex.c (tekhex_bfd_discard_group): Define.
7501 * versados.c (versados_bfd_discard_group): Define.
7502 * vms.c (vms_bfd_discard_group): Define.
7503 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
7504 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
7505 (aix5coff64_vec): Likewise.
7506 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
7507
9cba27b2
JT
75082002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
7509
7510 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
7511 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
7512 (elf32-sh64-com.lo): New dependency list.
7513 * Makefile.in: Regenerate.
7514 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
7515 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
7516 elf32-sh64-com.lo.
7517 * configure: Regenerate.
7518 * elf32-sh64.c (sh64_address_in_cranges)
7519 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
7520 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
7521 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
7522 * elf32-sh64-com.c: ...here. New file.
7523
8d2c33be
AM
75242002-06-04 Alan Modra <amodra@bigpond.net.au>
7525
7526 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
7527 ATTRIBUTE_UNUSED on used params.
7528 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
7529 before calling bfd_section_from_elf_index on local syms.
7530 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7531
5b0e55b6
JT
75322002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
7533
7534 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
7535 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
7536 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
7537 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
7538 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
7539 * Makefile.in: Regenerate.
7540 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
7541 (sh64-*-netbsd*): New targets.
7542 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
7543 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
7544 * configure: Regenerate.
7545 * elf32-sh64-nbsd.c: New file.
7546 * elf64-sh64-nbsd.c: New file.
7547 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
7548 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
7549 bfd_elf64_sh64lnbsd_vec.
7550
b885599b
AM
75512002-06-04 Alan Modra <amodra@bigpond.net.au>
7552
7553 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
7554 (bfd_section_from_shdr): Likewise. Set section name of group
7555 sections from signature.
7556 (group_signature): Split out from setup_group. Ensure symbol table
7557 is available.
7558 (bfd_elf_discard_group): New function.
7559 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
7560 .gnu.linkonce* sections if they are members of a group.
7561 (set_group_contents): Set GRP_COMDAT flag.
7562 * section.c (bfd_discard_group): New function.
7563 * bfd-in.h (bfd_elf_discard_group): Declare.
7564 * bfd-in2.h: Regenerate.
7565 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
7566 (elf_linkonce_p): Define.
7567
90937f86
AM
75682002-06-04 Alan Modra <amodra@bigpond.net.au>
7569
7570 * elf.c (bfd_section_from_shdr): Make "name" const.
7571 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
7572 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
7573 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
7574 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
7575 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
7576 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
7577 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
7578 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
7579 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
7580 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
7581 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
7582
cf6fb9ce
MR
75832002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7584
7585 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
7586 ABI.
7587
cedb70c5
KH
75882002-06-02 Kazu Hirata <kazu@cs.umass.edu>
7589
7590 * elf32-arc.c: Fix formatting.
7591 * elf32-arm.h: Likewise.
7592 * elf32-cris.c: Likewise.
7593 * elf32-dlx.c: Likewise.
7594 * elf32-hppa.c: Likewise.
7595 * elf32-i386.c: Likewise.
7596 * elf32-i386qnx.c: Likewise.
7597 * elf32-or32.c: Likewise.
7598 * elf32-s390.c: Likewise.
7599 * elf32-sh64.c: Likewise.
7600 * elf32-vax.c: Likewise.
7601 * elf32-xstormy16.c: Likewise.
7602 * elf64-alpha.c: Likewise.
7603 * elf64-mmix.c: Likewise.
7604 * elf64-ppc.c: Likewise.
7605 * elf64-s390.c: Likewise.
7606 * elf64-sh64.c: Likewise.
7607 * elf64-x86-64.c: Likewise.
7608
048d873d
RH
76092002-06-02 Richard Henderson <rth@redhat.com>
7610
7611 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
7612 null when there are no got entries for a symbol.
7613 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
7614 uninitialized variable warning.
7615
4a67a098
RH
76162002-06-01 Richard Henderson <rth@redhat.com>
7617
7618 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
7619 undefined symbols here.
7620 (elf64_alpha_relax_section): Do it here. Also test for not
7621 defined in the current module.
7622 (elf64_alpha_relocate_section_r): Split out of ...
7623 (elf64_alpha_relocate_section): ... here. Don't dereference
7624 NULL when looking up local got entries.
7625
f44f99a5
RH
76262002-06-01 Richard Henderson <rth@redhat.com>
7627
7628 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
7629 symbols from JSR relaxation.
7630 (elf64_alpha_size_plt_section_1): New.
7631 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
7632 (elf64_alpha_size_rela_got_1): ... here.
7633 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
7634 (elf64_alpha_size_rela_got_section): ... here.
7635 (elf64_alpha_size_plt_section): New.
7636 (elf64_alpha_relax_section): Call them.
7637 (elf64_alpha_size_got_sections): Remove output_bfd arg.
7638 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
7639
9e756d64
RH
76402002-06-01 Richard Henderson <rth@redhat.com>
7641
7642 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
7643 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
7644 in shared libraries. Fix DTPRELHI and TPRELHI value.
7645 (INSN_ADDQ, INSN_RDUNIQ): New.
7646 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
7647 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
7648 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
7649 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
7650 Handle GOTDTPREL and GOTTPREL relocations.
7651 (elf64_alpha_relax_gprelhilo): New.
7652 (elf64_alpha_relax_tls_get_addr): New.
7653 (elf64_alpha_relax_find_tls_segment): New.
7654 (elf64_alpha_relax_section): Handle TLS relocations.
7655 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
7656 (elf64_alpha_check_relocs): Set it.
7657
c853d7f6
RH
76582002-06-01 Richard Henderson <rth@redhat.com>
7659
b646261c
RH
7660 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
7661
c853d7f6
RH
7662 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
7663 check; don't suppress dynamic relocs for non-allocated sections.
7664
d7e41a96
RH
7665 * elf64-alpha.c: Remove dead code.
7666
5f333394
AM
76672002-05-31 Alan Modra <amodra@bigpond.net.au>
7668
08e0ee05
AM
7669 * bfd-in2.h: Regenerate.
7670 * libbfd.h: Regenerate.
7671 * po/SRC-POTFILES.in: Regenerate.
7672
5f333394
AM
7673 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
7674 space for bss .plt.
7675
caf47ea6
AM
76762002-05-31 Graeme Peterson <gp@qnx.com>
7677
7678 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
7679 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
7680 Run "make dep-am".
7681 * Makefile.in: Regenerate.
7682 * config.bfd: Add i[3456]86-*-nto-qnx* support.
7683 * configure.in: Add bfd_elf32_i386qnx_vec support.
7684 * configure: Regenerate.
7685 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
7686 is_contained_by_filepos, and copy_private_bfd_data_p.
7687 * elf.c (assign_file_positions_for_segments): Call backend
7688 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
7689 (IS_CONTAINED_BY_FILEPOS): Define.
7690 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
7691 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
7692 Fix non-K&R call to _bfd_error_handler.
7693 (_bfd_elf_copy_private_section_data): Use backend
7694 copy_private_bfd_data_p.
7695 * elf32-i386.c: Don't include elfxx-target.h when
7696 ELF32_I386_C_INCLUDED is defined.
7697 * elf32-i386qnx.c: New QNX elf backend file.
7698 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
7699 elf_backend_is_contained_by_filepos, and
7700 elf_backend_do_copy_private_bfd_data.
7701 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
7702
5bc56484
AM
77032002-05-31 Alan Modra <amodra@bigpond.net.au>
7704
7705 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
7706 Move other similar defines to start of file.
7707
1b164155
TR
77082002-05-30 Tom Rix <trix@redhat.com>
7709
7710 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
7711 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
7712
3765b1be
RH
77132002-05-30 Richard Henderson <rth@redhat.com>
7714
7715 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
7716 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
7717 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
7718 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
7719 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
7720 (struct alpha_elf_obj_tdata): Rename total_got_entries and
7721 n_local_got_entries to total_got_size and local_got_size.
7722 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
7723 (alpha_got_entry_size): New.
7724 (elf64_alpha_relax_with_lituse): Use it.
7725 (elf64_alpha_relax_without_lituse): Likewise.
7726 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
7727 (get_got_entry): New.
7728 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
7729 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
7730 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
7731 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
7732 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
7733 (elf64_alpha_calc_got_offsets): Likewise.
7734 (alpha_dynamic_entries_for_reloc): New.
7735 (elf64_alpha_calc_dynrel_sizes): Use it.
7736 (elf64_alpha_size_dynamic_sections): Likewise.
7737 (elf64_alpha_relocate_section): Handle TLS relocations.
7738 * reloc.c: Add Alpha TLS relocations.
7739 * bfd-in2.h, libbfd.h: Rebuild.
7740
5e226794
NC
77412002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7742
7743 * peXXigen.c (pe_print_idata): Remove double printed
7744 import table lines; add Bound-To comment.
7745
90ace9e9
JT
77462002-05-29 Matt Thomas <matt@3am-software.com>
7747
7748 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
7749 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
7750 (elf32-vax.lo): New rule.
7751 * Makefile.in: Regenerate.
7752 * configure.in (bfd_elf32_vax_vec)
7753 (vaxnetbsd_vec): New vectors.
7754 * configure: Regenerate.
7755 * config.bfd (vax-*-netbsdelf*)
7756 (vax-*-netbsdaout*)
7757 (vax-*-netbsd*): New targets.
7758 * elf32-vax.c: New file.
7759 * reloc.c: Add VAX relocations.
7760 * bfd-in2.h: Regenerate.
7761 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
7762
4a253e81
JT
77632002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7764
7765 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
7766 and bfd_elf32_bigarm_vec to targ_selvecs.
7767
6e7c73dd
CF
77682002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7769
7770 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
7771 with auto-imported symbols.
7772
8afb0e02
NC
77732002-05-29 Adam Nemet <anemet@lnxw.com>
7774
7775 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
7776 sections only record bfd.
9bab7074 7777 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8afb0e02 7778 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
9bab7074 7779 * bfd-in2.h: Regenerate.
8afb0e02 7780
a95653f5
NC
77812002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
7782
7783 * syms.c (_bfd_stab_section_find_nearest_line): Move
7784 declaration and initialisation of saw_line and saw_func out of
7785 for loop.
7786
7cdc5bba
AM
77872002-05-29 Alan Modra <amodra@bigpond.net.au>
7788
7789 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
7790 (bfd_elf64_get_symbol_info): Define.
7791 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
7792
4c7aad1c
AM
77932002-05-29 Andrey Volkov <avolkov@transas.com>
7794
7795 * cpu-h8300.c: Make default h8300 machine first in machine list.
7796
d172d4ba
NC
77972002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
7798
7799 * config.bfd: Added DLX configuraton.
7800 * Makefile.am: Added DLX configuraton.
7801 * configure.in: Added DLX configuraton.
7802 * archures.c: Add DLX architecure.
7803 * reloc.c: Add DLX relocs.
7804 * targets.c: Added DLX target vector.
7805 * configure: Regenerate.
7806 * Makefile.in: Regenreate.
7807 * bfd-in2.h: Regenreate.
7808 * elf32-dlx.c: New file: Support DLX target.
7809 * cpu-dlx.c: New file: Support DLX target.
7810
d1329ca3
AM
78112002-05-25 Alan Modra <amodra@bigpond.net.au>
7812
428d0de3
AM
7813 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
7814
d1329ca3
AM
7815 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
7816 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
7817 strings to point inside function code sym string.
7818 (func_desc_adjust): Likewise.
7819 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
7820
3bab7989
ML
78212002-05-24 Michal Ludvig <mludvig@suse.cz>
7822
7823 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
7824 (elf64_x86_64_grok_psinfo): Added.
7825
436e8db0
NC
78262002-05-24 TAMURA Kent <kent@netbsd.org>
7827
7828 * config.bfd: Add a target for i386-netbsdpe.
7829
ea1e4b0d
AM
78302002-05-24 Alan Modra <amodra@bigpond.net.au>
7831
7832 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
7833 and is_func_descriptor.
7834 (func_desc_adjust): Hide function code sym in shared libs unless
7835 there is a matching exported function descriptor sym.
7836
13ae64f3
JJ
78372002-05-23 Jakub Jelinek <jakub@redhat.com>
7838
7839 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
7840 for symbols from SHF_TLS section.
7841 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
7842 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
7843 (map_sections_to_segments): Build PT_TLS segment if necessary.
7844 (assign_file_positions_for_segments): Likewise.
7845 (get_program_header_size): Account for PT_TLS segment.
7846 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
7847 SEC_THREAD_LOCAL sections to STT_TLS.
7848 * reloc.c: Add 386 and IA-64 TLS relocs.
7849 * section.c (SEC_THREAD_LOCAL): Define.
7850 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
7851 Remove.
7852 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
7853 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
7854 unconditionally.
7855 (struct elf_final_link_info): Add first_tls_sec.
7856 (elf_bfd_final_link): Set first_tls_sec.
7857 Compute elf_hash_table (info)->tls_segment.
7858 (elf_link_output_extsym): Handle STT_TLS symbols.
7859 (elf_link_input_bfd): Likewise.
7860 * syms.c (BSF_THREAD_LOCAL): Define.
7861 * bfd-in2.h: Rebuilt.
7862 * libbfd.h: Rebuilt.
7863 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
7864 elf_i386_mkobject, elf_i386_object_p): New functions.
7865 (elf_howto_table): Add TLS relocs.
7866 (elf_i386_reloc_type_lookup): Support TLS relocs.
7867 (elf_i386_info_to_howto_rel): Likewise.
7868 (struct elf_i386_link_hash_entry): Add tls_type.
7869 (struct elf_i386_obj_tdata): New.
7870 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
7871 New macros.
7872 (struct elf_i386_link_hash_table): Add tls_ldm_got.
7873 (link_hash_newfunc): Clear tls_type.
7874 (elf_i386_check_relocs): Support TLS relocs.
7875 (elf_i386_gc_sweep_hook): Likewise.
7876 (allocate_dynrelocs): Likewise.
7877 (elf_i386_size_dynamic_sections): Likewise.
7878 (elf_i386_relocate_section): Likewise.
7879 (elf_i386_finish_dynamic_symbol): Likewise.
7880 (bfd_elf32_mkobject, elf_backend_object_p): Define.
7881 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
7882 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
7883 want_tprel, want_dtpmod, want_dtprel.
7884 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
7885 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
7886 R_IA64_LTOFF_TPREL22.
7887 (elf_code_to_howto_index): Add TLS relocs.
7888 (elfNN_ia64_check_relocs): Support TLS relocs.
7889 (allocate_global_data_got): Account for TLS .got data.
7890 (allocate_dynrel_entries): Account for TLS dynamic relocations.
7891 (elfNN_ia64_install_value): Supprt TLS relocs.
7892 (set_got_entry): Support TLS relocs.
7893 (elfNN_ia64_relocate_section): Likewise.
7894
c62e1cc3
NC
78952002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
7896
7897 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
7898 BLX reloc round the relocation up rather than down.
7899 * coff-arm.c (coff_arm_relocate_section): Likewise.
7900
c5a43a5d
L
79012002-05-21 H.J. Lu (hjl@gnu.org)
7902
7903 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
7904 definition.
7905
afbe61cf
AM
79062002-05-22 Alan Modra <amodra@bigpond.net.au>
7907
7908 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
7909 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
7910
9c07fe7c
AM
79112002-05-22 Alan Modra <amodra@bigpond.net.au>
7912
7913 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
7914 unresolved relocs.
7915 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
7916
21611032
TS
79172002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7918
c5cd6d62 7919 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
21611032
TS
7920 non-ELF targets.
7921
41241523
TS
79222002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7923
7924 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
7925 an error value.
7926 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
7927 return with false on error.
7928 (elf_link_input_bfd): Check reloc_emitter return value.
7929
658f2588
JT
79302002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
7931
7932 * config.bfd (armeb-*-netbsdelf*): New target.
7933
c862ae31
AM
79342002-05-20 Alan Modra <amodra@bigpond.net.au>
7935
7936 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
7937 at the plt call stub.
7938
6dd14845
TS
79392002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7940
7941 * cpu-mips.c (mips_compatible): Don't try to check machine
7942 compatibility.
7943
a58d9c34
TR
79442002-05-18 Tom Rix <trix@redhat.com>
7945
9b5ecbd0 7946 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
a58d9c34 7947
ef60b7ff
AM
79482002-05-17 Alan Modra <amodra@bigpond.net.au>
7949
7950 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
7951 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
7952 we've already warned about an undefined symbol. Report more
7953 detail on reloc errors.
7954
a703a6ea
AM
79552002-05-17 Alan Modra <amodra@bigpond.net.au>
7956
7957 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
7958 * configure.in: Invoke AM_INSTALL_LIBBFD.
7959 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
7960 (install_libbfd): .. New target.
7961 (uninstall_libbfd): Likewise.
7962 (install-bfdlibLTLIBRARIES): Likewise.
7963 (uninstall-bfdlibLTLIBRARIES): Likewise.
7964 (bfdlibdir): New.
7965 (bfdincludedir): New.
7966 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
7967 * aclocal.m4: Regenerate.
7968 * configure: Regenerate.
7969 * Makefile.in: Regenerate.
7970
2c13d98b
NC
79712002-05-17 Stuart Balfour <sbalfour@cisco.com>
7972
7973 * hash.c (bfd_hash_lookup): Remove computation of len from inside
7974 hash loop.
7975
629936c5
NC
79762002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
7977
7978 * config.bfd: Add targets for sh64-linux (little endian and
7979 big endian).
7980
e4cf60a8
NC
79812002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
7982
7983 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
7984 is located in the same section as the import table. Instead
7985 check, and if necessary load the section containing the thunk.
7986
d1e66cd4
NC
79872002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
7988
7989 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
ea1e4b0d
AM
7990 bfd_bread.
7991 (xcoff64_core_file_matches_executable_p): Replace bfd_read
7992 with bfd_bread.
d1e66cd4 7993
2d653fc7
AM
79942002-05-15 Alan Modra <amodra@bigpond.net.au>
7995
7996 * aix5ppc-core.c: Warning fixes.
7997 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
7998 * aout-target.h (MY_bfd_link_just_syms): Define.
7999 * aout-tic30.c (MY_bfd_link_just_syms): Define.
8000 * bfd.c (bfd_link_just_syms): Define.
8001 * binary.c (binary_bfd_link_just_syms): Define.
8002 * bout.c (b_out_bfd_link_just_syms): Define.
8003 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
8004 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
8005 * coffcode.h (coff_bfd_link_just_syms): Define.
8006 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
8007 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
8008 (_bfd_elf_link_just_syms): Declare.
8009 * elf.c (_bfd_elf_link_just_syms): New function.
8010 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
8011 sections haven't already been discarded by the linker.
8012 * elflink.h (elf_link_add_object_symbols): Likewise for stab
8013 sections and SEC_MERGE sections.
8014 (elf_bfd_discard_info): Similarly here.
8015 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
8016 * i386msdos.c (msdos_bfd_link_just_syms): Define.
8017 * i386os9k.c (os9k_bfd_link_just_syms): Define.
8018 * ieee.c (ieee_bfd_link_just_syms): Define.
8019 * ihex.c (ihex_bfd_link_just_syms): Define.
8020 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
8021 (_bfd_generic_link_just_syms): Declare.
8022 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
8023 * linker.c (_bfd_generic_link_just_syms): New function.
8024 * mmo.c (mmo_bfd_link_just_syms): Define.
8025 * nlm-target.h (nlm_bfd_link_just_syms): Define.
8026 * oasys.c (oasys_bfd_link_just_syms): Define.
8027 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
8028 * som.c (som_bfd_link_just_syms): Define.
8029 * srec.c (srec_bfd_link_just_syms): Define.
8030 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
8031 (BFD_JUMP_TABLE_LINK): And here.
8032 * tekhex.c (tekhex_bfd_link_just_syms): Define.
8033 * versados.c (versados_bfd_link_just_syms): Define.
8034 * vms.c (vms_bfd_link_just_syms): Define.
8035 * libbfd.h: Regenerate.
8036 * bfd-in2.h: Regenerate.
8037
cb7394f2
TS
80382002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8039
8040 * elf32-mips.c: Remove superfluous definitions copied from
8041 elfxx-mips.c.
8042 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
8043 SGIish vectors to check the special case.
8044 (mips_elf_hi16_reloc): Fix comment.
8045 (mips_elf_got16_reloc): Likewise.
8046 (_bfd_mips_elf32_gprel16_reloc): Likewise.
8047 (elf_reloc_map): Code cleanup.
8048 (mips_reloc_map): Add comment.
8049 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
8050 (mips_elf32_rtype_to_howto): Likewise.
8051 (mips_elf32_discard_info): Likewise.
8052 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
8053 lead to IRIX compatibility now.
8054
8dc1a139
TS
80552002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8056
8057 * elfxx-mips.c: Call it IRIX, not Irix in comments.
8058
2051e1b5
JT
80592002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
8060
8061 * config.bfd (shle-*-netbsdelf*): Add target which includes
8062 sh64 support.
8063
83954261
AM
80642002-05-13 David Edelsohn <edelsohn@gnu.org>
8065
8066 * configure.in: Revert 2002-04-07. Instead, auto-configure
8067 HAVE_ST_C_IMPL.
8068 * configure: Regenerate.
8069 * config.in: Regenerate.
8070 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
8071 or AIX_5_CORE.
8072
a9bf1154
NC
80732002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
8074
8075 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
8076 corefiles as well.2
8077 * configure: Regenerate.
8078
3129eb7a
AM
80792002-05-13 Alan Modra <amodra@bigpond.net.au>
8080
8081 * Makefile.am (install-data-local): Install headers to
8082 $(exec_prefix)/include.
8083 * Makefile.in: Regenerate.
8084
a9a32010
DJ
80852002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8086 Daniel Jacobowitz <drow@mvista.com>
8087
8088 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
8089 map BFD_RELOC_RVA.
8090
80912002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
690cc98b
NC
8092
8093 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
8094 hppa*-*-openbsd*): New targets.
8095 * configure.in (alpha*-*-openbsd*): Set COREFILE.
8096 * configure: Regenerate.
8097
f1f0d9ab
TR
80982002-05-10 Tom Rix <trix@redhat.com>
8099
ea1e4b0d 8100 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
f1f0d9ab
TR
8101 xcoff64_ppc_relocate_section.
8102 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
8103 * libxcoff.h: Common xcoff_reloc_type function declaration.
8104
c432ba1a
AM
81052002-05-10 Alan Modra <amodra@bigpond.net.au>
8106
16a10388 8107 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
90937f86 8108 added in 2002-05-09 commit.
16a10388 8109
c432ba1a
AM
8110 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
8111 don't look for stubs on all undefined syms.
8112
4a335f3d
AM
81132002-05-09 Alan Modra <amodra@bigpond.net.au>
8114
8fc39d5d
AM
8115 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
8116 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
8117 pcrel_offset.
8118
4a335f3d
AM
8119 * elf32-i386.c (elf_howto_table): Comments.
8120 (elf_i386_relocate_section): Handle more relocs for relocatable
8121 linking and against SEC_MERGE sections.
8122
41fcb14e
AM
81232002-05-08 Alan Modra <amodra@bigpond.net.au>
8124
8125 * elf32-ppc.c (ppc_elf_create_got): New function.
8126 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
ea1e4b0d 8127 _bfd_elf_create_dynamic_sections. Correct .plt flags.
41fcb14e
AM
8128 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
8129 _bfd_elf_create_got_section.
8130
b491616a
AM
81312002-05-07 Alan Modra <amodra@bigpond.net.au>
8132
8133 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
8134 * elfxx-target.h (elf_backend_rela_normal): Define.
8135 (elfNN_bed): Init rela_normal.
8136 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
8137 for section symbols here if rela_normal. Simplify abs section test.
8138 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
8139 return immediately. Remove code handling relocatable linking.
8140 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
8141 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
8142 * elf32-i370.c (i370_elf_relocate_section): Likewise.
8143 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
8144 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
8145 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
8146 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
8147 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
8148 * elf32-s390.c (elf_s390_relocate_section): Likewise.
8149 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
8150 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
8151 * elf64-s390.c (elf_s390_relocate_section): Likewise.
8152 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8153 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
8154 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
8155 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
8156 * elf-m10200.c (elf_backend_rela_normal): Define.
8157 * elf-m10300.c (elf_backend_rela_normal): Define.
8158 * elf32-fr30.c (elf_backend_rela_normal): Define.
8159 * elf32-i370.c (elf_backend_rela_normal): Define.
8160 * elf32-i860.c (elf_backend_rela_normal): Define.
8161 * elf32-m68k.c (elf_backend_rela_normal): Define.
8162 * elf32-mcore.c (elf_backend_rela_normal): Define.
8163 * elf32-openrisc.c (elf_backend_rela_normal): Define.
8164 * elf32-ppc.c (elf_backend_rela_normal): Define.
8165 * elf32-s390.c (elf_backend_rela_normal): Define.
8166 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
8167 * elf64-ppc.c (elf_backend_rela_normal): Define.
8168 * elf64-s390.c (elf_backend_rela_normal): Define.
8169 * elf64-x86-64.c (elf_backend_rela_normal): Define.
8170 * elfxx-ia64.c (elf_backend_rela_normal): Define.
8171 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
8172 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
8173
df212a7e
NC
81742002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
8175
8176 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
8177 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
8178
3decf53c
AM
81792002-05-06 Alan Modra <amodra@bigpond.net.au>
8180
8181 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
8182 when not relocatable. Fix reloc_emitter call for K&R.
8183
f46c2da6
AM
81842002-05-04 Alan Modra <amodra@bigpond.net.au>
8185
8186 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
8187 reloading local sym addend mistakenly removed in 2002-05-01 change.
8188
8189 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
8190 (read_abbrevs): Change "offset" param to bfd_vma.
8191 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
8192 Change "abbrev_offset" to bfd_vma.
8193 (read_indirect_string): Use correct conversion chars in error
8194 message format string, cast bfd_vma's to unsigned long.
8195 (read_abbrevs): Likewise.
8196 (read_attribute_value): Likewise.
8197 (decode_line_info): Likewise.
8198 (scan_unit_for_functions): Likewise.
8199 (parse_comp_unit): Likewise.
8200
59862849
TR
82012002-05-04 Tom Rix <trix@redhat.com>
8202
8203 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
8204 (coff_swap_reloc_out): Same.
8205 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
8206 (xcoff_swap_reloc_out): Same.
8207 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
8208 case some 16 bit relocs. Add reloc value to output.
8209 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
ea1e4b0d 8210 R_RBR. Improve names.
59862849
TR
8211 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
8212 (bfd_xcoff_backend_data): Update with new reloc swap names.
8213 (bfd_pmac_xcoff_backend_data) : Same.
8214 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
8215 (xcoff64_swap_reloc_out): Same.
ea1e4b0d 8216 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
59862849 8217 R_POS. Add reloc value to output.
ea1e4b0d
AM
8218 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
8219 bit R_RBR. Improve names, masks.
59862849
TR
8220 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
8221 (bfd_xcoff_backend_data): Update with new reloc swap names.
8222 (bfd_xcoff_aix5_backend_data) : Same.
8223
b4655ea9
AM
82242002-05-04 Alan Modra <amodra@bigpond.net.au>
8225
8226 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
8227 bfd_count top_index, input_list, all_local_syms.
8228 (elf32_hppa_setup_section_lists): New function, split from
8229 elf32_hppa_size_stubs.
8230 (elf32_hppa_next_input_section): Likewise.
8231 (group_sections): Likewise.
8232 (get_local_syms): Likewise.
8233 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
8234 stubs on undefined syms too.
8235 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8fc39d5d 8236 Only access htab elf fields when we have an elf hash table.
b4655ea9
AM
8237 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
8238 (elf32_hppa_next_input_section): Declare.
8239
301e3139
AM
82402002-05-04 Bob Byrnes <byrnes@curl.com>
8241
8242 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
8243 _bfd_new_bfd.
8244
7c5fcef7
L
82452002-05-03 H.J. Lu (hjl@gnu.org)
8246
8247 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
8248 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
8249 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
8250 to hide a global symbol.
8251 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
ea1e4b0d 8252 forced_local to true.
7c5fcef7 8253
84de6048
RH
82542002-05-02 Richard Henderson <rth@redhat.com>
8255
8256 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
8257 vs SHN_UNDEF to zero.
8258
805fc799
AM
82592002-05-02 Alan Modra <amodra@bigpond.net.au>
8260
c061c2d8
AM
8261 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
8262 16 bit reloc.
8263 <R_PPC64_SECTOFF_DS>: Likewise.
8264 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8265 SECTOFF reloc.
8266 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
8267 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8268 SECTOFF reloc.
8269
805fc799
AM
8270 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
8271 (ppc64_elf_ha_reloc): New function.
8272 (ppc64_elf_brtaken_reloc): New function.
8273 (ppc64_elf_sectoff_reloc): New function.
8274 (ppc64_elf_sectoff_ha_reloc): New function.
8275 (ppc64_elf_toc_reloc): New function.
8276 (ppc64_elf_toc_ha_reloc): New function.
8277 (ppc64_elf_toc64_reloc): New function.
8278 (ppc64_elf_unhandled_reloc): New function.
8279 (ppc64_elf_howto_raw): Use the above.
8280 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
8281 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
8282 <R_PPC64_SECTOFF_DS>: Likewise.
8283 (IS_ABSOLUTE_RELOC): Update.
8284 (struct ppc_link_hash_table): Add have_undefweak.
8285 (ppc64_elf_link_hash_table_create): Init.
8286 (func_desc_adjust): Set have_undefweak.
8287 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
8288 add the .sfpr blr when have_undefweak.
8289 (ppc64_elf_setup_section_lists): Check hash table flavour.
8290 (ppc64_elf_next_input_section): Move output_section->owner test to
8291 ppc64elf.em.
8292 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
8293 and relocatable test. Return TOCstart and don't set elf_gp.
8294 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
8295 offset calculation. Add assert on weak sym branch tweaks.
8296 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
8297 (ppc64_elf_toc): Declare.
8298 (ppc64_elf_next_input_section): Update.
ea1e4b0d 8299
818c39a3
AM
83002002-05-01 Alan Modra <amodra@bigpond.net.au>
8301
8302 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
8303 file_name.
8304
721956f4
AM
83052002-05-01 Alan Modra <amodra@bigpond.net.au>
8306
8307 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
8308 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
8309 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
8310 call branches. Correct undefined weak destination.
8311 (ppc64_elf_func_desc_adjust): Always create at least one blr in
8312 .sfpr, and correct case where either only savef* or restf* is
8313 needed.
8314
8315 Long branch stubs, multiple stub sections.
8316 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
8317 (ppc64_elf_next_input_section): Declare.
8318 * elf64-ppc.c: Move linker-only prototypes.
8319 (STUB_SUFFIX): Define.
8320 (enum ppc_stub_type): New.
8321 (struct ppc_stub_hash_entry): New.
8322 (struct ppc_branch_hash_entry): New.
8323 (struct ppc_link_hash_entry): Add stub_cache, oh.
8324 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
8325 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
8326 Rename plt_overflow to stub_error.
8327 (ppc_stub_hash_lookup): Define.
8328 (ppc_branch_hash_lookup): Define.
8329 (stub_hash_newfunc): New function.
8330 (branch_hash_newfunc): New function.
8331 (link_hash_newfunc): Init new fields.
8332 (ppc64_elf_link_hash_table_create): Likewise.
8333 (ppc64_elf_link_hash_table_free): New function.
8334 (ppc_stub_name): New function.
8335 (ppc_get_stub_entry): New function.
8336 (ppc_add_stub): New function.
8337 (create_linkage_sections): Use bfd_make_section_anyway. Create
8338 .branch_lt and .rela.branch_lt sections. Don't create .stub.
8339 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
8340 and set up for plt call stubs. Link func and func desc syms.
8341 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
8342 (func_desc_adjust): Avoid hash lookup when func desc sym available
8343 via shortcut, and set links when processing.
8344 (ppc64_elf_hide_symbol): Likewise.
8345 (allocate_dynrelocs): Don't allocate stub section here.
8346 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
8347 Remove sstub code.
8348 (ppc_type_of_stub): New function.
8349 (build_one_stub): Delete.
8350 (ppc_build_one_stub): New function.
8351 (ppc_size_one_stub): New function.
8352 (ppc64_elf_setup_section_lists): New function.
8353 (ppc64_elf_next_input_section): New function.
8354 (group_sections): New function.
8355 (get_local_syms): New function.
8356 (ppc64_elf_size_stubs): Rewrite.
8357 (ppc64_elf_build_stubs): Rewrite.
8358 (ppc64_elf_relocate_section): Look up stub entry for REL24
8359 relocs. Don't propagate REL14* to dynamic objects. Look for long
8360 branch stubs if REL14* or REL24 relocs won't reach.
8361 (bfd_elf64_bfd_link_hash_table_free): Define.
8362
09c2219b
MM
83632002-04-30 Mark Mitchell <mark@codesourcery.com>
8364
c5cd6d62 8365 * config.bfd: Add support for powerpc-*-windiss.
09c2219b 8366
07b678c0
TR
83672002-04-30 Tom Rix <trix@redhat.com>
8368
8369 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
8370 symbol names into the hash table.
8371
dbe341c6
TR
83722002-04-28 Tom Rix <trix@redhat.com>
8373
8374 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
ea1e4b0d 8375 calulating relocations.
dbe341c6 8376 (xcoff_complain_overflow) : Function table for relocation errors.
ea1e4b0d
AM
8377 (xcoff_ppc_relocate_section): Use relocation and complain function
8378 tables.
8379 (xcoff_complain_overflow_unsigned_func): New complain function.
dbe341c6
TR
8380 (xcoff_complain_overflow_signed_func): Same.
8381 (xcoff_complain_overflow_bitfield_func): Same.
8382 (xcoff_complain_overflow_dont_func): Same.
8383 (xcoff_reloc_type_crel): New recot function.
8384 (xcoff_reloc_type_br): Same.
8385 (xcoff_reloc_type_ba): Same.
8386 (xcoff_reloc_type_toc): Same.
8387 (xcoff_reloc_type_rel): Same.
8388 (xcoff_reloc_type_neg): Same.
8389 (xcoff_reloc_type_pos): Same.
8390 (xcoff_reloc_type_fail): Same.
8391 (xcoff_reloc_type_noop): Same.
8392 * libxcoff.h : Declare common parts for xcoff64.
8393 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
ea1e4b0d 8394 and complain function tables.
dbe341c6 8395
985142a4
AM
83962002-04-28 Alan Modra <amodra@bigpond.net.au>
8397
8398 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
8399 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
8400
eba91044
AM
84012002-04-26 Alan Modra <amodra@bigpond.net.au>
8402
e54fdaa5
AM
8403 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
8404 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
8405
a50c1845
AM
8406 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
8407 same as the output before calling elf_link_input_bfd.
8408
eba91044
AM
8409 * coffcode.h (coff_compute_section_file_positions): Set
8410 section_tail after shuffling section list.
8411
3c25c5f6
NC
84122002-04-24 Christian Groessler <chris@groessler.org>
8413
8414 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
8415 addresses are 23bit with a special layout, not plain 32bit
8416 values. Prevent relocation of immediate values.
8417
40d32fc6
CD
84182002-04-24 Chris G. Demetriou <cgd@broadcom.com>
8419
8420 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
8421 MIPS-16 ASE flags are set, print something to indicate that.
8422
067fa4a6
AM
84232002-04-23 Alan Modra <amodra@bigpond.net.au>
8424
8425 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
8426 under which a plt call stub is used.
8427 (final_link_relocate): Similarly.
8428 (allocate_plt_static): Clear h-plabel except when plt entry is
8429 exclusively used for a plabel.
8430 (allocate_dynrelocs): Use the above to simplify plt sizing.
8431 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
8432 (elf32_hppa_link_hash_table_create): Init.
8433 (BL22_RP): Define.
8434 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
8435 (elf32_hppa_check_relocs): Set has_22bit_branch.
8436
8437 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
8438 (final_link_relocate): Likewise.
8439
af40ce3c
JJ
84402002-04-22 Jakub Jelinek <jakub@redhat.com>
8441
8442 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
8443 search table if some FDE is DW_EH_PE_aligned encoded either.
8444 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
8445
09ae86c2
JJ
84462002-04-22 Richard Smith <richard@ex-parrot.com>
8447 Jakub Jelinek <jakub@redhat.com>
8448
8449 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
8450 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
8451 encoded personality.
8452 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
8453 for CIE/FDE removal.
8454
deeb2cd7
TR
84552002-04-20 Tom Rix <trix@redhat.com>
8456
8457 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
8458
99dc0092
AM
84592002-04-20 Alan Modra <amodra@bigpond.net.au>
8460
aa3d5824
AM
8461 * archures.c (bfd_lookup_arch): Move the list order comment..
8462 (struct bfd_arch_info): ..to where it belongs.
8463 * bfd-in2.h: Regenerate.
8464
99dc0092
AM
8465 * archures.c (bfd_lookup_arch): Add comment on list order.
8466 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
8467 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
8468 is always at head of list.
8469
7831a775
NC
84702002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
8471
8472 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
8473 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
8474 definition of these functions for ARM_WINCE builds as they are
8475 not used.
ea1e4b0d 8476 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
7831a775
NC
8477 for ARM_WINCE builds.
8478
84792002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
8480
ea1e4b0d 8481 * coff-arm.c (bfd_arm_process_before_allocation):
7831a775
NC
8482
84832002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
a44d7f9c
JR
8484
8485 * cpu-sh.c (scan_mach): Delete.
8486 (arch_info_struct): Replace scan_mach with bfd_default_scan.
8487 (bfd_sh_arch): Likewise.
8488
3d8dbe36
NC
84892002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
8490
8491 * ihex.c (ihex_write_object_contents): Fix check for records
8492 crossing 64K boundaries.
8493
4ab82700
AM
84942002-04-16 Alan Modra <amodra@bigpond.net.au>
8495
8496 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
8497 type rather than just assuming entries are ELF.
8498 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
8499 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
8500 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
8501 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
8502 rather than elf_link_hash_entry.
8503
036fe0fe
RH
85042002-04-15 Richard Henderson <rth@redhat.com>
8505
8506 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
8507 n32 binaries.
8508
c4f3d130
NC
85092002-04-15 Michael Snyder <msnyder@redhat.com>
8510
8511 * opncls.c (bfd_close): Write contents if writeable.
8512 Minor formatting tidy-ups.
8513
4ab82700 85142002-04-15 Alan Modra <amodra@bigpond.net.au>
27242387
AM
8515
8516 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
8517
0c04d169
MS
85182002-04-12 Michael Snyder <msnyder@redhat.com>
8519
8520 * bfd-in.h (bfd_get_section_lma): New access macro.
8521 Minor white-space fix-up.
8522
89d4966f
AM
85232002-04-12 Alan Modra <amodra@bigpond.net.au>
8524
8525 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
8526 header pad.
8527
8d0da3c2
DD
85282002-04-09 DJ Delorie <dj@redhat.com>
8529
8530 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
8531
05793179
NC
85322002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
8533
8534 * coffcode.h (coff_read_word): New.
8535 (coff_compute_checksum): New.
8536 (coff_apply_checksum): New.
8537 (coff_write_object_contents): Call coff_apply_checksum () to
8538 apply checksum to PE image.
8539
46fe4e66
AM
85402002-04-08 Randolph Chung <tausq@debian.org>
8541
8542 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
8543 (elf32_hppa_final_link): Split out sorting logic to..
8544 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
8545 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
8546
3b5b409c
AC
85472002-04-07 Andrew Cagney <ac131313@redhat.com>
8548
8549 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
8550 pattern.
8551 * configure: Re-generate.
8552
ac7b6ceb
AC
85532002-04-07 Andrew Cagney <ac131313@redhat.com>
8554
8555 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
8556 is greater or equal to 4.3.3.
8557 * configure: Regenerate.
8558 Fix PR gdb/344.
8559
44aa49bb
HPN
85602002-04-05 Hans-Peter Nilsson <hp@axis.com>
8561
8562 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
8563 R_CRIS_32_PCREL>: Fix typo in name.
8564 (cris_elf_check_relocs): Always create .rela.got here when
8565 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
8566 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
8567 assume it's created.
8568
e2d34d7d
DJ
85692002-04-04 Daniel Jacobowitz <drow@mvista.com>
8570
8571 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
8572 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
8573 define.
8574 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
8575 * bfd.c (bfd_link_hash_table_free): Define.
8576 * binary.c (binary_bfd_link_hash_table_free): Define.
8577 * bout.c (b_out_bfd_link_hash_table_free): Define.
8578 * coff-rs6000.c (rs6000coff_vec): Include
8579 _bfd_generic_link_hash_table_free.
8580 (pmac_xcoff_vec): Likewise.
8581 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
8582 (aix5coff64_vec): Likewise.
8583 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
8584 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
8585 (bfd_elf32_bfd_link_hash_table_free): Define.
8586 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
8587 (bfd_elf32_bfd_link_hash_table_free): Define.
8588 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
8589 define.
8590 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
8591 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
8592 * ieee.c (ieee_bfd_link_hash_table_free): Define.
8593 * ihex.c (ihex_bfd_link_hash_table_free): Define.
8594 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
8595 (_bfd_generic_link_hash_table_free): Add prototype.
8596 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
8597 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
8598 * linker.c (_bfd_generic_link_hash_table_free): New function.
8599 * mmo.c (mmo_bfd_link_hash_table_free): Define.
8600 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
8601 * oasys.c (oasys_bfd_link_hash_table_free): Define.
8602 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
8603 * som.c (som_bfd_link_hash_table_free): Define.
8604 * srec.c (srec_bfd_link_hash_table_free): Define.
8605 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
8606 * versados.c (versados_bfd_link_hash_table_free): Define.
8607 * vms.c (vms_bfd_link_hash_table_free): New function.
8608 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
8609
8610 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
8611 instead of bfd_alloc.
8612 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
8613 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
8614 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
8615 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
8616 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
8617 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
8618 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
8619 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
8620 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
8621 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
8622 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
8623 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
8624 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
8625 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
8626 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
8627 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
8628 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
8629 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
8630 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
8631 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
8632 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
8633 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
8634 * m68klinux.c (linux_link_hash_table_create): Likewise.
8635 * sparclinux.c (linux_link_hash_table_create): Likewise.
8636 * sunos.c (sunos_link_hash_table_create): Likewise.
8637 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
8638
8639 * targets.c: Add _bfd_link_hash_table_free to xvec.
8640
8641 * bfd-in2.h: Regenerate.
8642 * libbfd.h: Regenerate.
8643 * libcoff.h: Regenerate.
8644
830629ab
AM
86452002-04-04 Alan Modra <amodra@bigpond.net.au>
8646
8647 * dep-in.sed: Cope with absolute paths.
8648 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
8649 Run "make dep-am".
8650 * Makefile.in: Regenerate.
8651 * coff-arm.c: Fix copyright date.
8652 * cpu-h8300.c: Likewise.
8653 * cpu-i370.c: Likewise.
8654 * cpu-s390.c: Likewise.
8655 * cpu-mips.c: Likewise.
8656 * po/SRC-POTFILES.in: Regenerate.
8657
c6e90b02
TS
86582002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8659
8660 * Makefile.am: Add elfxx-mips.c to the known backends.
8661 (elf32-mips.lo): remove dependency to coff/external.h.
8662 * Makefile.in: Regenerate.
8663 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
8664 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
8665 accordingly.
8666 * configure: Regenerate.
8667 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
8668 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
8669 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
8670 MIPS specific backend functions.
8671 * elf32-mips.c: Moved most code to elfxx-mips.c.
8672 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
8673 static.
8674 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
8675 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
8676 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
8677 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
8678 interface to allow selection of the right REL or RELA howto table.
8679 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
8680 static. Let it refuse n32 objects.
8681 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
8682 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
8683 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
8684 (elf32_mips_ignore_discarded_relocs): Rename from
8685 _bfd_elf32_mips_ignore_discarded_relocs.
8686 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
8687 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
8688 (elf_mips_howto_table_rela): Remove.
8689 * elf64-mips.c: Moved most code to elfxx-mips.c.
8690 (bfd_elf64_bfd_reloc_type_lookup): Make static.
8691 (mips_elf64_rtype_to_howto): New function.
8692 (mips_elf64_object_p): Likewise.
8693 (elf64_mips_irix_compat): Likewise.
8694 * elfxx-mips.c: New file containing common code merged together from
8695 elf32-mips.c and elf64-mips.c.
8696 * elfxx-mips.h: New file containing MIPS specific prototypes from
8697 elf-bfd.h.
8698 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
8699 elf_backend_mips_rtype_to_howto.
8700
d8dce692
AM
87012002-04-04 Alan Modra <amodra@bigpond.net.au>
8702
8703 * srec.c (MAXCHUNK, Chunk): Revise comments.
8704 (srec_write_record): Correct buffer size.
8705 (srec_write_header): Do without intermediate buffer.
8706 (srec_write_section): Validate Chunk.
8707 (srec_write_terminator): Pass NULL instead of dummy buffer.
8708 (srec_write_symbols): Pass file and symbol names directly to
8709 bfd_bwrite so sprintf won't overflow buffer.
8710
b88a866a
JJ
87112002-04-03 Jakub Jelinek <jakub@redhat.com>
8712
8713 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
8714 PC relative relocs against hidden symbols.
8715 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8716
d7866f04
AM
87172002-04-03 Alan Modra <amodra@bigpond.net.au>
8718
8719 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
8720 LMAs, loop over segments until p_vaddr and p_memsz specify an
8721 extent enclosing the section.
8722
9e81ee67
NC
87232002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
8724
8725 * ihex.c (ihex_write_object_contents): Do not allow records to
8726 cross a 64K boundary - wrap if necessary.
8727
d2b64500
JT
87282002-04-01 Nathan Williams <nathanw@wasabisystems.com>
8729
8730 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
8731 which caused the returned LWP ID to always be 0.
8732
e36f7d53
RH
87332002-04-01 Richard Henderson <rth@redhat.com>
8734
8735 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8736 (elf32_sparc_relocate_section): Use it to figure out when to
8737 initialize .got entries.
8738 * elf64-sparc.c: Similarly.
8739
e92d460e
AM
87402002-03-28 Alan Modra <amodra@bigpond.net.au>
8741
8742 * linker.c (link_action): Ignore duplicate warning syms.
8743 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
8744 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
8745 (elf_adjust_dynamic_symbol): Likewise.
8746 (elf_export_symbol): Likewise.
8747 (elf_link_find_version_dependencies): Likewise.
8748 (elf_link_assign_sym_version): Likewise.
8749 (elf_link_sec_merge_syms): Likewise.
8750 (elf_link_output_extsym): Likewise.
8751 (elf_gc_sweep_symbol): Likewise.
8752 (elf_gc_propagate_vtable_entries_used): Likewise.
8753 (elf_gc_smash_unused_vtentry_relocs): Likewise.
8754 (elf_gc_allocate_got_offsets): Likewise.
8755 (elf_collect_hash_codes): Likewise.
8756 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
8757 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
8758 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8759 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
8760 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
8761 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
8762 (elf_cris_discard_excess_dso_dynamics): Likewise.
8763 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
8764 (mark_PIC_calls): Likewise.
8765 (allocate_plt_static): Likewise.
8766 (allocate_dynrelocs): Likewise.
8767 (readonly_dynrelocs): Likewise.
8768 * elf32-i386.c (allocate_dynrelocs): Likewise.
8769 (readonly_dynrelocs): Likewise.
8770 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
8771 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
8772 * elf32-mips.c (mips_elf_output_extsym): Likewise.
8773 (mips_elf_sort_hash_table_f): Likewise.
8774 (mips_elf_check_mips16_stubs): Likewise.
8775 * elf32-s390.c (allocate_dynrelocs): Likewise.
8776 (readonly_dynrelocs): Likewise.
8777 * elf32-sh.c (sh_elf_discard_copies): Likewise.
8778 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
8779 (xstormy16_relax_plt_realloc): Likewise.
8780 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
8781 (elf64_alpha_output_extsym): Likewise.
8782 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
8783 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
8784 (mips_elf64_check_mips16_stubs): Likewise.
8785 (mips_elf64_output_extsym): Likewise.
8786 * elf64-ppc.c (func_desc_adjust): Likewise.
8787 (allocate_dynrelocs): Likewise.
8788 (readonly_dynrelocs): Likewise.
8789 * elf64-s390.c (allocate_dynrelocs): Likewise.
8790 (readonly_dynrelocs): Likewise.
8791 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
8792 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
8793 (readonly_dynrelocs): Likewise.
8794 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
8795 * aoutx.h (aout_link_write_other_symbol): Likewise.
8796 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
8797 (_bfd_coff_write_global_sym): Likewise.
8798 * i386linux.c (linux_tally_symbols): Likewise.
8799 * m68klinux.c (linux_tally_symbols): Likewise.
8800 * sparclinux.c (linux_tally_symbols): Likewise.
8801 * pdp11.c (aout_link_write_other_symbol): Likewise.
8802 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
8803 * xcofflink.c (xcoff_build_ldsyms): Likewise.
8804 (xcoff_write_global_symbol): Likewise.
8805
8806 * cofflink.c (_bfd_coff_final_link): Formatting.
8807 * cpu-mips.c (mips_compatible): Make static, prototype.
8808 * elf32-i386.c (elf_i386_check_relocs): Formatting.
8809 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
8810 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
8811 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
8812 (mips_elf64_final_link): Likewise.
8813 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
8814 prototype.
8815
2106126f
NC
88162002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
8817
8818 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
8819 (SWAP_OUT_RELOC_OFFSET): Define.
8820
b99d1833
AM
88212002-03-27 Gregory Steuck <greg@nest.cx>
8822
8823 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
8824 terminating NULL if empty symbol table.
8825 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
8826
ad43ed4c
L
88272002-03-26 H.J. Lu (hjl@gnu.org)
8828
8829 * elflink.h (elf_link_input_bfd): Revert the last change since
8830 the gcc exception handling isn't fixed yet.
8831
3851fca4
L
88322002-03-26 H.J. Lu (hjl@gnu.org)
8833
8834 * elflink.h (elf_link_input_bfd): Complain about relocations
8835 against local symbols in discarded sections.
8836
b91afed7
AM
88372002-03-26 Alan Modra <amodra@bigpond.net.au>
8838
8839 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
8840
dba143ef
AM
88412002-03-23 Alan Modra <amodra@bigpond.net.au>
8842
8843 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
8844 section file offset for !SEC_LOAD sections.
8845
ee29b9fb
RE
88462002-03-21 Richard Earnshaw <rearnsha@arm.com>
8847
830629ab
AM
8848 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
8849 <case R_ARM_GOT>): Handle relocations to Thumb functions.
ee29b9fb 8850
54327882
AM
88512002-03-21 Alan Modra <amodra@bigpond.net.au>
8852
8853 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
8854 Whitespace changes.
8855 * archive.c: Update copyright date.
8856 * bfd-in2.h: Regenerate.
8857 * libbfd.h: Regenerate.
8858 * Makefile.am: Run "make dep-am"
8859 * Makefile.in: Regenerate.
8860 * po/SRC-POTFILES.in: Regenerate.
8861
1ee24f27
DJ
88622002-03-20 Daniel Jacobowitz <drow@mvista.com>
8863
8864 * dwarf2.c (struct funcinfo): Move up.
8865 (lookup_address_in_function_table): New argument function_ptr.
8866 Set it.
8867 (lookup_address_in_line_table): New argument function. If function
8868 is non-NULL, use it to handle ``addr'' before the first line note of
8869 the function.
8870 (comp_unit_find_nearest_line): Update and swap calls to
8871 lookup_address_in_function_table and lookup_address_in_line_table.
8872 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
8873 N_SLINE encountered if we see an N_FUN before any N_SLINE.
8874
51b9608c
TR
88752002-03-20 Tom Rix <trix@redhat.com>
8876
ea1e4b0d 8877 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
51b9608c 8878 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
9b5ecbd0 8879 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
51b9608c 8880
789c90aa
TR
88812002-03-19 Tom Rix <trix@redhat.com>
8882
ea1e4b0d 8883 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
789c90aa
TR
8884 dynamic objects in archives.
8885
1da54d81
HPN
88862002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
8887
8888 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
8889 STT_NOTYPE symbols to STT_OBJECT.
8890
7831a775 88912002-03-18 Jan Hubicka <jh@suse.cz>
beb43bb9
JH
8892
8893 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
8894
eb1e0e80
NC
88952002-03-18 Tom Rix <trix@redhat.com>
8896
8897 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
8898 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
8899 * coff-rs6000 (do_pad) : New function for archive padding.
8900 (do_copy) : New function for object file copying in archives.
8901 (do_shared_object_padding) : New function for padding shared
8902 objects to their text section alignment in archives.
8903 (bfd_xcoff_ar_achive_set_magic) : Stub.
8904 (xcoff_write_armap_big) : Use do_copy and do_pad.
8905 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
8906 do_copy and do_pad.
8907 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
ea1e4b0d 8908 bfd_xcoff_magic_number.
eb1e0e80
NC
8909 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
8910 fop.
8911 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
8912 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
8913 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
8914 * rs6000-core.c : Update copyright date.
ea1e4b0d 8915 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
eb1e0e80
NC
8916 csectpp.
8917 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
8918 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
8919 (coff_set_flags) : Use bfd_xcoff_magic_number.
8920 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
8921 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
8922 * Makefile.am : Same.
8923 * config.bfd : Same.
8924 * targets.c : Same.
8925 * configure : Regnerate.
8926 * Makefile.in : Same.
8927 * bfd-in2.h : Same.
8928
a1c259a1
NC
89292002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
8930
8931 * po/fr.po: Updated version.
8932
4dae1ae7
AM
89332002-03-18 Alan Modra <amodra@bigpond.net.au>
8934
8935 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
8936 * libbfd.h: Regenerate.
8937 * archive.c (coff_write_armap): Pass on failures from
8938 bfd_write_bigendian_4byte_int.
8939
36b4f6e7
L
89402002-03-14 H.J. Lu <hjl@gnu.org>
8941
8942 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
8943 error to bfd_error_nonrepresentable_section for reinit_array
8944 section in DSO.
8945
a1aefc76
NC
89462002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
8947
a181be0a
NC
8948 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
8949 OR it in rather than replacing previously selected flags.
8950
a1aefc76
NC
8951 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
8952 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
8953
c119f9b8
AM
89542002-03-14 Alan Modra <amodra@bigpond.net.au>
8955
8956 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
8957 (N): Use the above.
8958 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
8959 ensure reloc size matches before calling elf_link_input_bfd.
8960 Add an assert to check reloc size when counting output relocs.
8961
c295a511
NC
89622002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
8963
8964 * mmo.c (mmo_get_loc): Return NULL rather than false.
8965
9ce88e60
NC
89662002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
8967
8968 * po/fr.po: Updated version.
8969
4ddafab0
AM
89702002-03-13 Alan Modra <amodra@bigpond.net.au>
8971
b74fa2cd
AM
8972 * archures.c (bfd_default_compatible): Test bits_per_word.
8973 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
8974 bfd_default_compatible.
8975 * cpu-i370.c (i370_compatible): Likewise.
8976 * cpu-sparc.c (sparc_compatible): Likewise.
8977 * cpu-h8300.c (compatible): Test in->arch == out->arch.
8978
40b829d4
AM
8979 * elflink.h: Formatting fixes.
8980 (elf_link_output_extsym): Merge undefined and undef weak cases.
8981
4ddafab0
AM
8982 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
8983 when word size of input matches output word size.
8984
dd53c801
AJ
89852002-03-12 Andreas Jaeger <aj@suse.de>
8986
8987 * cpu-i386.c (i386_compatible): New. Use it instead of
8988 bfd_default_compatible.
8989
aa066ac8
L
89902002-03-07 H.J. Lu (hjl@gnu.org)
8991
8992 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
8993 as the type for bfd_reloc_val.
8994
1bf42538
JL
89952002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
8996
8997 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
8998 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
8999 (elf_hppa_final_link_relocate): Correct relocations for indirect
9000 references to local data through the DLT. Fix .opd creation for
9001 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
9002 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
9003 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
9004 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9005 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
9006 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
9007 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9008
86eaf01e
JJ
90092002-03-05 Jakub Jelinek <jakub@redhat.com>
9010
9011 * merge.c (_bfd_merge_sections): Don't segfault if there
9012 is nothing to merge due to GC.
9013
c44233aa
AM
90142002-03-05 Alan Modra <amodra@bigpond.net.au>
9015
039cc25f
AM
9016 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
9017 symbols that have been forced local.
9018
c44233aa
AM
9019 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
9020 to output forced local syms for non-shared link.
9021 (elf_link_output_extsym): Tweak condition for calling backend
9022 adjust_dynamic_symbol so that previous behaviour is kept.
9023 Whitespace changes throughout file.
9024
25e27870
L
90252002-03-04 H.J. Lu <hjl@gnu.org>
9026
9027 * elf.c (bfd_section_from_shdr): Handle special sections,
9028 .init_array, .fini_array and .preinit_array.
9029 (elf_fake_sections): Likewise.
9030
9031 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
9032 DT entry only if the section is in output for .init_array,
9033 .fini_array and .preinit_array. Complain about .preinit_array
9034 section in DSO.
9035 (elf_bfd_final_link): Warn zero size for .init_array,
9036 .fini_array and .preinit_array sections.
9037
9038 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
9039 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
9040 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
9041 .preinit_array.
9042
bb2a49f2
AM
90432002-03-04 Alan Modra <amodra@bigpond.net.au>
9044
9045 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
9046 * configure: Regenerate.
9047
38487e5e
TR
90482002-03-02 Tom Rix <trix@redhat.com>
9049
c44233aa
AM
9050 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
9051 symbolic equiv.
38487e5e
TR
9052 * coff-rs6000.c (xcoff_howto_table): Same.
9053
30831527
RH
90542002-03-01 David Mosberger <davidm@hpl.hp.com>
9055
9056 * elflink.h (size_dynamic_sections): If section named
9057 ".preinit_array" exists, create DT_PREINIT_ARRAY and
9058 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
9059 ".init_array" and ".fini_array".
9060 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
9061 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
9062 DT_FINI_ARRAY.
9063
c8e5ddc8
AM
90642002-02-26 Andrew Macleod <amacleod@cygnus.com>
9065
9066 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
9067 dynsyms.
9068
96e0dda4
AM
90692002-02-25 Alan Modra <amodra@bigpond.net.au>
9070
1c5b6bf8
AM
9071 * elf64-hppa.h: Update copyright date.
9072
96e0dda4
AM
9073 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
9074 (ppc64_elf_relocate_section): Don't generate power4 style branch
9075 hints for *_BRTAKEN and *_BRNTAKEN relocs.
9076
0fb19cbc
JJ
90772002-02-22 Jakub Jelinek <jakub@redhat.com>
9078
9079 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
9080 last patch.
9081 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9082
c434dee6
AJ
90832002-02-21 Andreas Jaeger <aj@suse.de>
9084
9085 * elf64-x86-64.c: Major rework that introduces all recent changes
9086 to the x86-64 backend. Get a closer match to elf32-i386.
9087 (struct elf64_x86_64_dyn_relocs): Rename from
9088 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
9089 all users.
9090 (struct elf64_x86_64_link_hash_table): Add short cuts to some
9091 sections.
9092 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
9093 remove casts, initialize new hash members.
9094 (create_got_section): New.
9095 (elf64_x86_64_create_dynamic_sections): New.
9096 (elf64_x86_64_copy_indirect_symbol): New.
9097 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
9098 relocs, .got or .relgot here but do it in allocate_dynrelocs.
9099 Reference count possible .plt and .got entries. Don't test input
9100 section SEC_READONLY here to try to avoid copy relocs, and keep
9101 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
9102 DF_TEXTREL here. Delay setting of variables until needed. Cache
9103 pointer to "sreloc" section in elf_section_data. Tweak condition
9104 under which .got created. Report files with bad relocation
9105 section names.
9106 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
9107 Reference count possible .plt entries. Don't deallocate .got and
9108 .relgot space here.
9109 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
9110 do copy reloc processing for weakdefs. Remove redundant casts and
9111 aborts. Delay setting of vars until needed. Move creation of
9112 dynamic symbols and allocation of .plt and .rela.plt to
9113 allocate_dynrelocs. Replace BFD_ASSERT with abort.
9114 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
9115 (allocate_dynrelocs): New.
9116 (readonly_dynrelocs): New.
9117 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
9118 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
9119 Zero out the dynamic allocated content space.
9120 (elf64_x86_64_discard_copies): Removed.
9121 (elf64_x86_64_relocate_section): Make use of dynamic section
9122 short-cuts. Localise vars, and delay setting. Better error
9123 reporting, replace BFD_ASSERT with abort. Check
9124 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
9125 regular object file and tread the weak definition as the normal
9126 one. Don't discard relocs for undefweak or undefined symbols and
9127 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
9128 relocs.
9129 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
9130 symbols that have been forced local. Use same test to decide if
9131 we can use a relative reloc for got as relocate_section. Expand
9132 SHN_UNDEF comment. Move expressions out of function calls.
9133 Replace BFD_ASSERT with abort.
9134 (bfd_elf64_bfd_final_link): Removed.
9135 (elf_backend_copy_indirect_symbol): Define.
9136
ff3a6ee3
TR
91372002-02-20 Tom Rix <trix@redhat.com>
9138
9139 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
9140 (_bfd_xcoff_reloc_type_lookup): Use it.
9141 * coff64-rs6000.c (xcoff64_howto_table): Same.
9142 (xcoff64_reloc_type_lookup): Same.
c434dee6 9143
a68d41fb
AM
91442002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
9145
9b5ecbd0 9146 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
a68d41fb
AM
9147 little endian.
9148
befc3abb
MS
91492002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
9150
9151 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
9152 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
9153 * bfd-in2.h: Regenerate.
9154 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
9155 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
9156 with "s390:64-bit".
9157 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
9158 (elf_s390_reloc_type_lookup): Likewise.
9159 (elf_s390_check_relocs): Likewise.
9160 (elf_s390_gc_sweep_hook): Likewise.
9161 (elf_s390_relocate_section): Likewise.
9162 (elf_s390_object_p): Use renamed architecture define.
9163 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
9164
6eeeec9b
FCE
91652002-02-19 Frank Ch. Eigler <fche@redhat.com>
9166
9167 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
9168
0bb2d96a
JJ
91692002-02-19 Jakub Jelinek <jakub@redhat.com>
9170
9171 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
9172 absptr -> pcrel optimization for shared libs.
9173 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
9174 library cannot be converted to pcrel.
9175 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
9176 relative.
9177 * elf32-i386.c (elf_i386_relocate_section): If
9178 _bfd_elf_section_offset returned -2, skip, but make sure the
9179 relocation is installed.
9180 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
9181 * elf32-cris.c (cris_elf_relocate_section): Likewise.
9182 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
9183 * elf32-i370.c (i370_elf_relocate_section): Likewise.
9184 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
9185 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
9186 * elf32-s390.c (elf_s390_relocate_section): Likewise.
9187 * elf32-sh.c (sh_elf_relocate_section): Likewise.
9188 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
9189 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
9190 * elf64-s390.c (elf_s390_relocate_section): Likewise.
9191 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
9b5ecbd0 9192 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
0bb2d96a
JJ
9193 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9194 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
9195 _bfd_elf_section_offset returning -2 the same way as -1.
9196 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
9197 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
9198 and BFD_ASSERT.
9199 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
9200
69f284c7
TR
92012002-02-18 Tom Rix <trix@redhat.com>
9202
9203 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
9204 (bfd_xcoff_size_dynamic_sections): Same.
9205 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
9206 (bfd_xcoff_size_dynamic_sections): Same.
9207 * coff-rs6000.c (xcoff_generate_rtinit): Same.
9208 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
9209 * libxcoff.h (struct xcoff_backend_data_rec): Same.
9210 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
9211 * bfd-in2.h: Regenerate.
9212
82bd7b59
AM
92132002-02-18 Alan Modra <amodra@bigpond.net.au>
9214
9215 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
9216 (struct ppc_link_hash_table): Add sfpr.
9217 (ppc64_elf_link_hash_table_create): Init it.
9218 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
9219 .glink out to..
9220 (create_linkage_sections): ..here. Make .sfpr too.
9221 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
9222 dynobj early.
9223 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
9224 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
9225 ._restf* functions, and create as needed.
9226 (func_desc_adjust): Only force_local for shared libs.
9227
ef1355e8
NC
92282002-02-18 David O'Brien <obrien@FreeBSD.org>
9229
9230 * configure.in: Bump version number post 2.12 branching.
9231 * configure: Regenerate.
9232
dfa36a69
HPN
92332002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
9234
9235 * mmo.c: Correct and improve comments.
9236 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
9237 zero-pad. Use input to fill up non-empty bfd buffer.
9238 (mmo_flush_chunk): New function.
9239 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
9240 changed. Don't emit location specifier if VMA is same as
9241 *LAST_VMAP after omitting leading zero contents. Call
9242 mmo_flush_chunk before emitting location specifier.
9243 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
9244 with mmo_write_loc_chunk calls.
9245 (mmo_internal_write_section): Call mmo_flush_chunk after
9246 mmo_write_chunk.
9247 (mmo_write_symbols_and_terminator): Move :Main to first position
9248 in symbol array. Add faked one if it does not exist if there are
9249 other symbols. Don't add it if there are no symbols at all. Move
9250 out test for value of :Main from symbol loop. Rename table
9251 fakemain to maintable and variable mainsym to fakemain.
9252
ccf00ab6
RH
92532002-02-15 Richard Henderson <rth@redhat.com>
9254
9255 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
9256 section with no got matches any got. Simplify error generaion.
9257
88eaccc2
AM
92582002-02-15 Alan Modra <amodra@bigpond.net.au>
9259
fd96f80f
AM
9260 Support arbitrary length fill patterns.
9261 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
9262 (_bfd_default_link_order): Remove bfd_fill_link_order code.
9263 Call default_data_link_order.
9264 (default_fill_link_order): Delete.
9265 (default_data_link_order): New function.
9266 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
9267 of bfd_fill_link_order with bfd_data_link_order.
9268 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
9269 * elf64-mips.c (mips_elf64_final_link): Likewise.
9270
88eaccc2
AM
9271 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
9272 Correct value returned in "end" for "0x<non-hex>".
9273
e2fd756b
NC
92742002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
9275
9276 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
9277 (scan): Test against 'mach' field in info structure.
9278
edd29cf9
AM
92792002-02-14 Alan Modra <amodra@bigpond.net.au>
9280
9281 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
9282
1e30956e 92832002-02-14 Matt Fredette <fredette@netbsd.org>
76f57f3a
JT
9284
9285 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
9286 EF_M68000.
9287
bf36db18
NC
92882002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
9289
9290 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
edd29cf9
AM
9291 non-zero physical addresses when adjusting the LMAs of new
9292 sections.
bf36db18 9293
189c6563
AM
92942002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
9295
9296 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
9297 from _bfd_elf_hppa_gen_reloc_type.
9298 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
9299 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
9300 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
9301 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
9302
e948afaf
AO
93032002-02-12 Alexandre Oliva <aoliva@redhat.com>
9304
9305 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
9306 loading its contents if there's nothing to do in it.
9307
19397422
AM
93082002-02-12 Alan Modra <amodra@bigpond.net.au>
9309
0ad3a73b
AM
9310 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
9311 64k boundary.
9312
19397422
AM
9313 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
9314 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
9315 (ppc64_elf_finish_dynamic_sections): Set values for them.
9316
51316059
MS
93172002-02-11 Michael Snyder <msnyder@redhat.com>
9318
9319 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
9320 * elf.c (elfcore_grok_pstatus): Add prototype.
9321 (elfcore_grok_lwpstatus): Add prototype.
9322 (elfcore_write_lwpstatus): New function.
9323 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
9324
518313c3
AO
93252002-02-11 Alexandre Oliva <aoliva@redhat.com>
9326
9327 * elf32-sh.c: Added missing prototypes.
9328 * elf32-sh64.c: Likewise.
9329 (sh_elf_align_loads): Mark unused args as such.
9330 * elf64-sh64.c: Added missing prototypes.
9331 (struct elf_sh64_link_hash_entry): Fix typo.
9332 (sh_elf64_relocate_section): Fix info argument passed to
9333 _bfd_elf_section_offset.
9334
2c73f9d8
AM
93352002-02-11 Alan Modra <amodra@bigpond.net.au>
9336
9337 * Makefile.am: "make dep-am".
9338 * Makefile.in: Regenerate.
9339 * aclocal.m4: Regenerate.
9340 * config.in: Regenerate.
9341 * configure: Regenerate.
9342
d426c6b0
DJ
93432002-02-10 Daniel Jacobowitz <drow@mvista.com>
9344
9345 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
9346 variable warnings.
9347 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
9348 comparison warning.
9349 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
9350 cast warnings for the common case.
9351
e58ee0cd
HPN
93522002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
9353
9354 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
9355 vectors.
9356 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
9357 vectors.
9358
7793f4d0
RH
93592002-02-09 Richard Henderson <rth@redhat.com>
9360
9361 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
9362 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
9363 (elf64_alpha_relocate_section): Likewise.
9364 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
9365 * bfd-in2.h, libbfd.h: Rebuild.
9366
7e799044
HPN
93672002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
9368
9369 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
9370 that base-plus-offset reloc accounting is consistent.
9371 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
9372 up to date for undefined symbols.
9373
027d73eb
EC
93742002-02-08 Eric Christopher <echristo@redhat.com>
9375
9376 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9377
9378 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
9379 sections for the O32 ABI.
9380
517662d4
CD
93812002-02-08 Chris Demetriou <cgd@broadcom.com>
9382
9383 * elf32-arm.h: Fix formatting of _("...").
9384 * elf32-d10v.c: Likewise.
9385 * elf32-m68k.c: Likewise.
9386 * elf32-mips.c: Likewise.
9387
5e37cc46
NC
93882002-02-08 Ivan Guzvinec <ivang@opencores.org>
9389
9390 * coff-or32.c: Fix compile time warning messages.
9391
fbca6ad9
AO
93922002-02-08 Alexandre Oliva <aoliva@redhat.com>
9393
9394 Contribute sh64-elf.
9395 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
9396 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
9397 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
9398 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
9399 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
9400 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
9401 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
9402 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
9403 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
9404 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
9405 New relocs.
9406 * libbfd.h, bfd-in2.h: Rebuilt.
9407 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
9408 (sh_reloc_map): Map them.
9409 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
9410 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
9411 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
9412 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
9413 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
9414 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
9415 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
9416 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
9417 datalabel_got_offset.
9418 (sh_elf_link_hash_newfunc): Initialize it.
9419 (sh_elf_relocate_section): Augment the scope of
9b5ecbd0 9420 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
fbca6ad9
AO
9421 GOT and GOTOFF handling to new SHmedia relocation types. Support
9422 GOT_BIAS.
9423 (sh_elf_check_relocs): Likewise.
9424 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
9425 PLT entries using movi_shori_putval. Support GOT_BIAS.
9426 (sh_elf_finish_dynamic_sections): Likewise.
9427 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
9428 relocation, it's now done by the caller.
9429 (GOT_BIAS): New.
9430 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
9431 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
9432 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
9433 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
9434 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
9435 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
9436 sh64_elf64_hash_table): New.
9437 (sh_elf64_howto_table): Introduce new relocs.
9438 (sh_elf64_info_to_howto): Accept new PIC relocs.
9439 (sh_elf64_relocate_section): Augment the scope of
9440 seen_stt_datalabel. Support new PIC relocs.
9441 (sh_elf64_check_relocs): Support new PIC relocs.
9442 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
9443 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
9444 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
9445 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
9446 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
9447 movi_shori_putval, movi_3shori_putval,
9448 sh64_elf64_create_dynamic_sections,
9449 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
9450 sh64_elf64_size_dynamic_sections,
9451 sh64_elf64_finish_dynamic_symbol,
9452 sh64_elf64_finish_dynamic_sections): New.
9453 (elf_backend_create_dynamic-sections,
9454 bfd_elf64_bfd_link_hash_table_create,
9455 elf_backend_adjust_dynamic_symbol,
9456 elf_backend_size_dynamic_sections,
9457 elf_backend_finish_dynamic_symbol,
9458 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
9459 elf_backend_plt_readonly, elf_backend_want_plt_sym,
9460 elf_backend_got_header_size, elf_backend_plt_header_size):
9461 Define.
9462 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
9463 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
9464 match official numbers and names; moved unmaching ones to the
9465 range 0xf2-0xff.
9466 * elf32-sh64.c, elf64-sh64.c: Likewise.
9b5ecbd0 9467 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
9468 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
9469 sections.
9b5ecbd0 9470 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
9471 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
9472 be aligned.
9473 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
9b5ecbd0 9474 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9475 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
9476 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
9477 .cranges section with SEC_SORT_ENTRIES set.
9478 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
9479 incoming sorted .cranges section.
9480 (sh64_bfd_elf_copy_private_section_data): New.
9481 (sh64_elf_final_write_processing): Only sort .cranges and modify
9482 start address if called by linker.
9483 2001-01-08 Ben Elliston <bje@redhat.com>
9484 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
9b5ecbd0 9485 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
fbca6ad9 9486 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
9b5ecbd0 9487 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9488 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
9489 line. Add comments before all entries.
9490 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
9491 comment.
9492 (sh_elf64_reloc): Correct head comment.
9493 (sh_elf64_relocate_section): Correct spacing.
9494 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
9495 instead call reloc_dangerous callback.
9496 <case R_SH_SHMEDIA_CODE>: New case.
9497 (sh_elf64_gc_mark_hook): Correct spacing.
9498 (sh_elf64_check_relocs): Ditto.
9499 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
9500 New case.
9501 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
9502 functions.
9503 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
9504 clarify describing comment. Add comments before all entries.
9505 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
9506 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
9b5ecbd0 9507 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9508 Sort .cranges section in final link. Prepare to set bit 0 on
9509 entry address.
9510 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
9511 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
9512 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
9513 .cranges section.
9514 (sh64_backend_section_from_shdr): New, to recognize
9515 SHT_SH5_CR_SORTED on incoming .cranges section.
9516 (elf_backend_section_from_shdr): Define.
9517 (sh64_elf_final_write_processing): Sort outgoing .cranges
9518 section. (New, temporarily disabled:) Set bit 0 on entry address
9519 according to ISA type.
9520 (sh64_find_section_for_address): New.
9521 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
9522 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
9523 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
9524 bfd_malloc, not xmalloc.
9525 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
9526 global.
9527 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
9528 temporarily disabled) setting bit 0 on entry address.
9529 (elf_backend_final_write_processing): Define.
9b5ecbd0 9530 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9531 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
9532 be a proper relocation for PTA and PTB rather than a marker.
9533 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
9534 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
9535 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
9536 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
9537 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
9538 Zero src_mask.
9539 * elf64-sh64.c: Ditto.
9540 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
9541 * elf32-sh64.c: Include opcodes/sh64-opc.h
9542 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
9543 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
9544 parameters. No unused parameters. Caller changed.
9545 <case R_SH_PT_16>: New case.
9546 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
9547 * Makefile.in: Regenerate.
9b5ecbd0 9548 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9549 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
9550 all code sections.
9551 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9552 (sh64_elf_merge_private_data): Ditto.
9553 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
9554 to access stored section flags.
9555 (sh64_elf_final_write_processing): Return immediately unless
9556 called by linker. Use sh64_elf_section_data (cranges) to get size
9557 of linker-generated cranges entries.
9558 (sh64_elf_copy_private_data): Add missing "return true".
9559 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9560 (sh_elf64_merge_private_data): Ditto.
9b5ecbd0 9561 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9562 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
9563 elf64-sh64.c:sh64_elf_fake_sections.
9564 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
9b5ecbd0 9565 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9566 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
9567 (sh64_elf_final_write_processing): New.
9568 (elf_backend_final_write_processing): Define.
9569 (sh64_elf_fake_sections): Get header flags from tdata field.
9570 (sh64_elf_copy_private_data): Do not call
9571 sh64_elf_copy_private_data_internal, just copy e_flags field.
9572 (sh64_elf_merge_private_data): Do not call
9573 sh64_elf_copy_private_data_internal.
9b5ecbd0 9574 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9575 Remove EF_SH64_ABI64, let ELF size make difference.
9576 Remove SH64-specific BFD section flag.
9577 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
9578 containing SHmedia through elf_section_data (asect)->tdata
9579 non-zero, not using a BFD section flag.
9580 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
9581 (sh64_elf_merge_private_data): Similar.
9582 (elf_backend_section_flags): Don't define.
9583 (sh64_elf_backend_section_flags): Delete.
9584 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
9585 not EF_SH64_ABI64.
9586 (sh_elf64_merge_private_data): Similar.
9587 * section.c (Section flags definitions): Don't define
9588 SEC_SH_ISA_SHMEDIA.
9589 (bfd-in2.h): Regenerate.
9b5ecbd0 9590 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9591 Make DataLabel references work with partial linking.
9592 * elf32-sh64.c: Fix formatting.
9593 (sh64_elf_link_output_symbol_hook): New.
9594 (elf_backend_link_output_symbol_hook): Define to
9595 sh64_elf_link_output_symbol_hook.
9596 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
9597 undefined if partial linking. Adjust sanity check.
9598 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
9599 (elf_backend_link_output_symbol_hook): Define to
9600 sh64_elf64_link_output_symbol_hook.
9601 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
9602 undefined if partial linking. Adjust sanity check.
9b5ecbd0 9603 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9604 Implement semantics for inter-file DataLabel references.
9605 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
9606 (sh64_elf64_add_symbol_hook): New.
9607 (sh_elf64_relocate_section): If passing an indirect symbol with
9608 st_type STT_DATALABEL on the way to a symbol with st_other
9609 STO_SH5_ISA32, do not bitor 1 to the relocation.
9610 (elf_backend_add_symbol_hook): Define to
9611 sh64_elf64_add_symbol_hook.
9612 * elf64-sh32.c: Tweak comments.
9613 (DATALABEL_SUFFIX): Define.
9614 (sh64_elf_add_symbol_hook): New.
9615 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
9616 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
9617 symbol with st_type STT_DATALABEL on the way to a symbol with
9618 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
9b5ecbd0 9619 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9620 Pass through STT_DATALABEL.
9621 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
9622 (elf_backend_get_symbol_type): Define.
9623 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
9624 (elf_backend_get_symbol_type): Define.
9b5ecbd0 9625 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9626 * elf32-sh64.c: Tweak comments.
9627 (sh64_elf_copy_private_data_internal): Add prototype.
9628 (bfd_elf32_bfd_set_private_flags): Define.
9629 (sh64_elf_copy_private_data_internal): Compare machine name, not
9630 textual BFD target name, to check whether to copy section flag
9631 SHF_SH5_ISA32.
9632 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
9633 Tweak section-contents-type-mismatch message.
9634 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
9635 Validize reloc-types.
9636 * elf64-sh64.c: New file.
9637 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
9638 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
9639 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
9640 Regenerate dependencies.
9641 * Makefile.in: Regenerate.
9642 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
9643 bfd_elf64_sh64l_vec.
9644 * configure.in: Handle bfd_elf64_sh64_vec and
9645 bfd_elf64_sh64l_vec.
9646 * configure: Regenerate.
9647 * po/POTFILES.in: Regenerate.
9648 * po/bfd.pot: Regenerate.
9b5ecbd0 9649 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9650 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
9651 anything else but EF_SH64 and EF_SH64_ABI64.
9652 (sh64_elf_merge_private_data): Emit error for anything else but
9653 EF_SH64 and EF_SH64_ABI64.
9654 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
9655 from targ_selvecs.
9656 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
9657 bfd_elf32_sh64l_vec as a temporary measure.
9658 * configure: Regenerate.
9b5ecbd0 9659 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9660 * cpu-sh.c (arch_info_struct): Include sh5 item
9661 unconditionalized.
9662 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
9663 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
9664 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
9665 * elf32-sh64.c: Tweak comments.
9666 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
9667 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
9668 (sh64_elf_copy_private_data_internal): Wrap long line.
9669 (sh64_elf_merge_private_data): Rewrite to allow objects from
9670 SH64 subsets to be linked together.
9671 (INCLUDE_SHMEDIA): Define.
9672 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
9673 Parenthesize plus-expression inside or-expression.
9674 <global symbol>: Ditto.
9675 (sh_elf_set_mach_from_flags): Remove code refusing
9676 deleted EF_SH64_32BIT_ABI flag.
9b5ecbd0 9677 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9678 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
9679 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
9680 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
9681 (sh_elf_relocate_section) <local symbol>: Or 1 in
9682 calculation of relocation if sym->st_other & STO_SH5_ISA32.
9683 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
9684 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
9685 relocation.
9b5ecbd0 9686 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9687 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
9688 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
9689 Regenerate dependencies.
9690 * Makefile.in: Regenerate.
9691 * archures.c: Add bfd_mach_sh5.
9692 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
9693 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
9694 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
9695 * configure: Regenerate.
9696 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
9697 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
9698 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
9699 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
9700 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
9701 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
9702 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
9703 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
9704 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
9705 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
9706 in item for SH5.
9707 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
9708 for SHmedia relocs.
9709 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
9710 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
9711 shmedia_prepare_reloc, goto final_link_relocate if it returns
9712 non-zero, else fail as before.
9713 (sh_elf_set_mach_from_flags): Provide function only if not defined
9714 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
9715 (sh_elf_set_private_flags): Provide function only if not defined
9716 as a macro.
9717 (sh_elf_copy_private_data): Similar.
9718 (sh_elf_merge_private_data): Similar.
9719 * section.c (SEC_SH_ISA_SHMEDIA): New.
9720 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
9721 * elf32-sh64.c: New file.
9722 * libbfd.h: Regenerate.
9723 * bfd-in2.h: Regenerate.
9724 * po/POTFILES.in: Regenerate.
9725 * po/bfd.pot: Regenerate.
9726 * bfd-in2.h: Regenerate.
9727 * libbfd.h: Regenerate.
9728
e108f470
DJ
97292002-02-07 Daniel Jacobowitz <drow@mvista.com>
9730
9731 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
9732 been included, not drag it in.
9733 * bfd-in2.h: Regenerate.
9734
259d18a3
L
97352002-02-06 H.J. Lu (hjl@gnu.org)
9736
9737 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
9738 the mach and ISA fields if necessary.
9739
f13b834e
NC
97402002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
9741
9742 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
9743 ARM architecture when an F_ARM_5 flag is detected, since we cannot
9744 be sure exactly which architecture this represents.
9745
82f6addb
NC
97462002-02-05 Nick Clifton <nickc@redhat.com>
9747
9748 * po/tr.po: Updated translation.
9749
899f54f5
AM
97502002-02-05 Alan Modra <amodra@bigpond.net.au>
9751
9752 From Jimi X <jimix@watson.ibm.com>
9753 * archures (bfd_mach_ppc64): Define.
9754 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
9755 (bfd_powerpc_arch): Define.
9756 * bfd-in2.h: Regenerate.
9757 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
9758 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
9759 (bfd_powerpc_archs): Add default powerpc64 arch.
9760
248866a8
AM
97612002-02-05 Alan Modra <amodra@bigpond.net.au>
9762
9763 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
9764 against section syms in readonly sections. Don't do the global
9765 sym check if we find one.
9766 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
9767 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
0a6958db 9768 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
248866a8
AM
9769 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
9770 (elf_s390_grok_prstatus): Add missing prototype.
9771
4fa5c2a8
HPN
97722002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
9773
9774 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
9775 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
9776 Call bfd_get_section_by_name only once. Initialize
9777 bpodata->n_bpo_relocs_this_section.
9778 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
9779 referring to DSOs.
9780 (bpo_reloc_request_sort_fn): Don't use difference of values as
9781 return-value.
9782
537c972e
DB
97832002-02-02 David O'Brien <obrien@FreeBSD>
9784
9785 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
9786 version 4.5 and later the same as 5-CURRENT.
9787 * configure: Re-generate.
9788
006336b8
JT
97892002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
9790
9791 * config.bfd (hppa*-*-netbsd*): New target.
9792
6c571f00
PT
97932002-01-31 Philipp Thomas <pthomas@suse.de>
9794
19397422
AM
9795 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
9796 to front of message. Unify messages with elf32-arm.h. Use
9797 commas where neccessary.
9798 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
9799 ERROR in messages. Unify messages with coff-arm.c. Correct
9800 VFP/FPA error message.
9801 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
9802 APCS-32 for translation.
6c571f00 9803
930b4cb2
HPN
98042002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
9805
9806 Perform on-demand global register allocation from
9807 R_MMIX_BASE_PLUS_OFFSET relocs.
9808 * elf64-mmix.c (struct bpo_reloc_section_info, struct
9809 bpo_reloc_request, struct bpo_greg_section_info): New.
9810 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
9811 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
9812 _bfd_mmix_check_all_relocs,
9813 _bfd_mmix_prepare_linker_allocated_gregs,
9814 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
9815 (elf_mmix_howto_table): Correct src_mask for most relocs.
9816 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
9817 case.
9818 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
9819 case. Fix typo in comment. New label do_mmix_reloc.
9820 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
9821 store first object file with a base-plus-offset reloc. Call
9822 mmix_elf_check_common_relocs for the part common with mmo.
9823 (mmix_elf_final_link): Write out linker-allocated register
9824 contents section.
9825 (elf_backend_gc_sweep_hook): Define.
9826 (bfd_elf64_bfd_relax_section): Define.
9827
9828 * mmo.c: Don't include <ctype.h>
9829 (mmo_init): Correct init-once logic.
9830
3e36d993
TR
98312002-02-01 Tom Rix <trix@redhat.com>
9832
9833 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
9834
ba323545
AM
98352002-02-01 Alan Modra <amodra@bigpond.net.au>
9836
9837 * Makefile.am: Run "make dep-am"
9838 * Makefile.in: Regenerate.
9839
012884d6
DB
98402002-01-31 David O'Brien <obrien@FreeBSD>
9841
9842 * configure.in: Recognize the differences in core files from FreeBSD
9843 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
9844 5-CURRENT.
9845 * configure: Regenerate.
9846
3b16e843
NC
98472002-01-31 Ivan Guzvinec <ivang@opencores.org>
9848
9849 * coff-or32.c: New file.
9850 * cpu-or32.c: New file.
9851 * elf32-or32.c: New file.
9852 * archures.c: Add support for or32.
9853 * targets.c: Add support for or32.
9854 * bfd-in2.h: Regenerate.
7dc0ab31 9855 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
3b16e843
NC
9856 coff_write_object_contents): Add support for or32.
9857 * config.bfd: Add target.
9858 * configure.in: Add support for or32.
9859 * configure: Regenerate.
9860 * Makefile.am: Add support for or32.
9861 * Makefile.in: Regenerate.
3b16e843
NC
9862 * po/SRC-POTFILES.in: Add or32 files.
9863 * po/bfd.pot: Regenerate.
7dc0ab31 9864
caf8ca8e
NC
98652002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
9866 Don Lindsay <lindsayd@cisco.com>
9867
9868 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
9869 false' with a return of a bfd_reloc_ error code.
9870
e5dfef09
HPN
98712002-01-31 Hans-Peter Nilsson <hp@axis.com>
9872
9873 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
9874 unexport unreferenced symbols when --export-dynamic. Call
9875 _bfd_elf_strtab_delref when unexporting.
9876
4e4770d0
DJ
98772002-01-30 Daniel Jacobowitz <drow@mvista.com>
9878
9879 * bfd-in.h: Include <stdbool.h> if it is available.
9880 * bfd-in2.h: Regenerated.
9881
e1fa50e7
AM
98822002-01-31 Alan Modra <amodra@bigpond.net.au>
9883
9884 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
9885 not go via the plt.
9886
b5f79c76
NC
98872002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
9888
b5f79c76
NC
9889 * archures.c: Tidy up formatting of embedded comments.
9890 * bfd.c: Tidy up formatting of embedded comments.
7dc0ab31 9891 * bfd-in.h: Fix formatting of comments.
b5f79c76
NC
9892 * reloc.c: Tidy up formatting of ordinary & embedded comments.
9893 * section.c: Tidy up formatting of embedded comments.
9894 * syms.c: Tidy up formatting of embedded comments.
9895 * targets.c: Tidy up formatting of embedded comments.
9896
9897 * bfd-in2.h: Regenerate.
9898
ca09e32b
NC
98992002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
9900
9901 * vms-tir.c (cmd_name): New function.
9902 (tir_cmd_name): New function.
9903 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
9904 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
9905 Fix formatting.
7dc0ab31 9906
ca09e32b
NC
9907 * peXXigen.c (pe_print_idata): Rearrange message to aid in
9908 translation.
9b5ecbd0 9909 (pe_print_pdata): Rearrange message to aid in translation.
ca09e32b
NC
9910
9911 * libbfd.c (warn_deprecated): Rearrange error message to aid in
9912 translation.
9913
9914 * ihex.c (ihex_write_object_contents): Fix spelling typo.
9915
9916 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
9917
9918 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
9919 message to aid in translation.
9920
9921 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
9922 to aid in translation.
9923
9924 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
9925
7dc0ab31 99262002-01-30 Philipp Thomas <pthomas@suse.de>
ae1a89b7
PT
9927
9928 * coff-arm.c, elf32-elf.h: Unify messages.
9929
05f64ac6
NC
99302002-01-30 Nick Clifton <nickc@redhat.com>
9931
9932 * po/sv.po: Updated translation.
9933
f5a3e38a
NC
99342002-01-30 Philipp Thomas <pthomas@suse.de>
9935
9936 * dwarf2.c (read_abbrev): Use full section name in error message.
9937 (decode_line_info): Likewise.
661a3fd4
NC
9938
9939 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
9940 message.
9941
d926e03d
AM
99422002-01-30 Alan Modra <amodra@bigpond.net.au>
9943
9944 * elf64-ppc.c (func_desc_adjust): Only provide missing function
9945 descriptor symbols for undefined function code syms. Clear
9946 ELF_LINK_NON_ELF so that they can stay weak.
9947
030d18fb 99482002-01-29 Chris Demetriou <cgd@broadcom.com>
7dc0ab31 9949 Mitch Lichtenberg <mpl@broadcom.com>
030d18fb
CD
9950
9951 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
9952 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
9953 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
9954 generation.
9955 * bfd-in2.h: Regenerate.
9956
fcc76bea
CD
99572002-01-29 Chris Demetriou <cgd@broadcom.com>
9958
9959 * elf32-mips.c: Add additional comments about HI16 relocation
9960 processing.
9961 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
9962 pc-relative relocations. (Reverts change made on 2001-10-31.)
9963 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
9964 for pc-relative relocations.
9965 (mips_elf_calculate_relocation): Add a comment about a kludge
9966 in the R_MIPS_GNU_REL_HI16 handling.
9967 (_bfd_mips_elf_relocate_section): Implement that kludge;
9968 adjust pc-relative HI16 relocation for difference in HI16 and
9969 LO16 addresses, since it can't easily be done in
9970 mips_elf_calculate_relocation.
9971
f9cd9119
MS
99722002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
9973
9974 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
9975 relocations with PC32 relocations for undefined or weak symbols.
9976 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
9977 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
9978
702248bb
JT
99792002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
9980
9981 * elfcore.h (elf_core_file_p): Improve comment for last change.
9982
4867be41
DJ
99832002-01-27 Daniel Jacobowitz <drow@mvista.com>
9984
9985 * configure: Regenerated.
9986
a94cef6a
JT
99872002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
9988
9989 * elfcore.h (elf_core_file_p): Set the machine architecture
9990 before processing the program headers.
9991
7562a296
HPN
99922002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
9993
966abd70
HPN
9994 * configure.in <64-bit configuration>: If using gcc, check and
9995 emit error for egcs-1.1.2.
9996 * configure: Regenerate.
9997
e8eab623
NC
99982002-01-26 Egor Duda <deo@logos-m.ru>
9999
10000 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
10001 as possible to avoid stack corruption.
10002
73896efb
RH
100032002-01-26 Richard Henderson <rth@redhat.com>
10004
10005 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
10006 for non-allocated sections.
10007
100082002-01-25 Mark Kettenis <kettenis@gnu.org>
c106e334
MK
10009
10010 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
10011 prstat.pr_reg even if it is a struct.
10012
73896efb 100132002-01-25 Steve Ellcey <sje@cup.hp.com>
254ed743 10014
c5cd6d62 10015 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
254ed743 10016
3d66c4f7
NC
100172002-01-25 Philipp Thomas <pthomas@suse.de>
10018
10019 * coffgen.c (coff_print_symbol): Don't mark info message
10020 for translation.
10021
9460ecda
NC
100222002-01-25 Nick Clifton <nickc@redhat.com>
10023
10024 * po/fr.po: Updated translation.
10025 * po/es.po: Updated translation.
10026
cc9ff76a
AM
100272002-01-25 Philipp Thomas <pthomas@suse.de>
10028
10029 * coff-alpha.c (alpha_relocate_section): Unify warning message
10030 for GP relative relocations without GP defined.
10031 * coff-mips.c (mips_relocate_section): Likewise.
10032
c68836a9
AM
100332002-01-25 Alan Modra <amodra@bigpond.net.au>
10034
10035 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
10036 unsigned overflow when new_offset < old_offset.
10037
e8eab623 100382002-01-24 Philipp Thomas <pthomas@suse.de>
391154e9
NC
10039
10040 * bfd.c (_bfd_abort): Fix typo.
10041
8ba89f17
RH
100422002-01-23 Richard Henderson <rth@redhat.com>
10043
10044 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
10045 plt entries for undefweak symbols.
10046
c6953948
NC
100472002-01-23 Steve Ellcey <sje@cup.hp.com>
10048
c5cd6d62 10049 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
c6953948
NC
10050 (bfd_elf64_ia64_hpux_big_vec): Ditto.
10051 (bfd_elf32_h8300_vec): Ditto.
10052
41bd81ab
AM
100532002-01-23 Alan Modra <amodra@bigpond.net.au>
10054
10055 * elf64-ppc.c: Remove stale part of ABI comment.
10056 (NO_OPD_RELOCS): Define.
10057 (ppc64_elf_check_relocs): Use it.
10058 (ppc64_elf_relocate_section): Here too.
10059 (build_one_stub): Don't point function syms at the stub. Instead,
10060 hijack plt.offset.
10061 (ppc64_elf_relocate_section): Check whether REL24 relocs should
10062 really go to the stub. Make all dynamic relocs in opd against
10063 locals.
10064 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
10065 plt.offset.
10066
f304919d
RH
100672002-01-22 Richard Henderson <rth@redhat.com>
10068
10069 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
10070
c0ef99a7
AM
100712002-01-22 Alan Modra <amodra@bigpond.net.au>
10072
60ee0d4a
AM
10073 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
10074 TOC_BASE_OFF adjustment.
10075
c0ef99a7
AM
10076 * Makefile.am: Run "make dep-am".
10077 * Makefile.in: Regenerate.
10078 * po/SRC-POTFILES.in: Regenerate.
10079
64328b46
AM
100802002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
10081
10082 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
10083 host defines.
10084
59953665 100852002-01-21 Hans-Peter Nilsson <hp@axis.com>
58255df3
HPN
10086
10087 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
10088 Check for and emit error if sgot is NULL at this point.
10089
9596feea
JT
100902002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
10091
10092 * config.bfd (ia64*-*-netbsd*): New target.
10093
7b45c6e1
AM
100942002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
10095
10096 * som.c (som_write_space_strings): Comment typo fix.
10097
e5094212
AM
100982002-01-21 Alan Modra <amodra@bigpond.net.au>
10099
e86ce104
AM
10100 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
10101 is_func_descriptor fields.
10102 (link_hash_newfunc): Init them.
10103 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
10104 dot are candidates for plt entries. When processing .opd relocs,
10105 set function descriptor strings to point inside function code
10106 string, and set new ppc_link_hash_entry fields.
10107 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
10108 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
10109 function descriptors. It's now done in..
10110 (func_desc_adjust): New.
10111 (ppc64_elf_func_desc_adjust): New.
10112 (define elf_backend_always_size_sections): Define.
10113 (ppc64_elf_hide_symbol): New.
10114 (define elf_backend_hide_symbol): Define.
10115 (allocate_dynrelocs): Remove code looking up function descriptors
10116 as that has been done earlier.
10117 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
10118 table.
10119 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
10120 up function descriptor.
10121 (build_one_stub): Look up the function code sym. Check for
10122 invalid plt offsets.
10123 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
10124 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
10125
e5094212
AM
10126 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
10127 boolean param.
10128 (_bfd_elf_link_hash_hide_symbol): Likewise.
10129 * elflink.h (elf_link_add_object_symbols): Adjust call to
10130 elf_backend_hide_symbol.
10131 (elf_fix_symbol_flags): Likewise.
10132 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
10133 than bfd_alloc.
10134 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
10135 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
10136 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
10137 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
10138 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
10139 and adjust to suit.
10140 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
10141 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
10142 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
10143
40b8271b
AM
101442002-01-18 Alan Modra <amodra@bigpond.net.au>
10145
10146 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
10147 dynamic function descriptor symbol, not the associated function
10148 symbol.
10149
55baa95b
EC
101502002-01-17 Eric Christopher <echristo@redhat.com>
10151
10152 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
10153
328577ad
NC
101542002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
10155
10156 * po/bfd.pot: Regenerate.
10157 * po/fr.po: Regenerate.
10158
af746e92
AM
101592002-01-17 Alan Modra <amodra@bigpond.net.au>
10160
10161 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
10162 Remove "Elf_Internal_Shdr *" param.
10163 (_bfd_mips_elf_section_from_bfd_section): Ditto.
10164 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
10165 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
10166 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
10167 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
10168 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
10169 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
10170 function to override special sections. Remove hdr arg from
10171 backend call, and don't loop.
10172
175e9962
EC
101732002-01-16 Eric Christopher <echristo@redhat.com>
10174
10175 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
10176 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
10177 relocations requiring gp0 and gp.
10178
96a846ea
RE
101792002-01-16 Richard Earnshaw <rearnsha@arm.com>
10180
175e9962 10181 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
96a846ea
RE
10182 EF_ARM_VFP_FLOAT.
10183 (elf32_arm_print_private_bfd_data): Likewise.
10184
af3ae48d
NC
101852002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
10186
10187 * po/tr.po: Import new version.
10188
10ed1bba
AM
101892002-01-16 Alan Modra <amodra@bigpond.net.au>
10190
10191 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
10192 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
10193 (ORI_R0_R0_0): Correct.
10194
5d1634d7
AM
101952002-01-16 Alan Modra <amodra@bigpond.net.au>
10196
10197 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
10198 when plt_not_loaded.
10199 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
10200 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
10201 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
10202 (ppc64_elf_glink_code): Delete.
10203 (PPC64_ELF_GLINK_SIZE): Delete.
10204 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
10205 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
10206 ORI_R0_R0_0): Define.
10207 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
10208 (struct ppc_link_hash_table): Add sstub and plt_overflow.
10209 (ppc64_elf_link_hash_table_create): Init them.
10210 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
10211 Don't copy to shared lib.
10212 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
10213 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
10214 (allocate_dynrelocs <plt>): Don't change function sym here. Make
10215 room for .stub and .glink code.
10216 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
10217 DT_PPC64_GLINK.
10218 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
10219 bfd_elf64_bfd_final_link.
10220 (bfd_elf64_bfd_final_link): Don't define.
10221 (ppc64_elf_size_stubs): New.
10222 (build_plt_stub): New.
10223 (build_one_stub): New.
10224 (ppc64_elf_build_stubs): New.
10225 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
10226 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
10227 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
10228 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
10229 case output sections not separate. Adjust DT_RELASZ to not
10230 include plt relocs. Set reserved got entry. Set got and plt
10231 entry size.
10232 (elf_backend_got_header_size): Set to 8.
10233 * elf64-ppc.h: New file.
10234
c601ffdb
AM
102352002-01-16 Alan Modra <amodra@bigpond.net.au>
10236
10237 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
10238 sections, use bfd_section_list_remove.
10239 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
10240 * elflink.h (elf_link_add_object_symbols): When removing all
10241 sections, use bfd_section_list_clear.
10242
8fb4cb7f
NC
102432002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
10244
10245 * po/sv.po: New file: Swedish translation.
10246 * configure.in (ALL_LINGUAS): Add sv.
10247 * configure: Regenerate.
10248
d3c456e9
JJ
102492002-01-15 Jakub Jelinek <jakub@redhat.com>
10250
10251 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
10252 * elf.c (merge_sections_remove_hook): New function.
10253 (_bfd_elf_merge_sections): Pass it as 3rd argument to
10254 _bfd_merge_sections.
10255 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
10256 * libbfd.h: Rebuilt.
10257 * merge.c (_bfd_merge_sections): Add remove_hook argument.
10258 Call remove_hook if a SEC_EXCLUDE section is encountered.
10259
1f7fd478
NC
102602002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
10261
10262 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
10263 (xstormy16_reloc_map): Initialise new field with correct howto
10264 table.
10265 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
10266 howto entry.
10267
b87011e9
MS
102682002-01-10 Michael Snyder <msnyder@redhat.com>
10269
10270 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
10271 (elfcore_write_pstatus): Use long instead of pid_t;
10272 * elf-bfd.h: Change prototypes to use long instead of pid_t;
10273
175e9962 102742002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
b4db1224
JT
10275
10276 * elf.c: Update copyright years.
10277 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
10278 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
10279
7c76fa91
MS
102802002-01-08 Michael Snyder <msnyder@redhat.com>
10281
10282 Add capability to write corefile note sections, for gdb.
10283 * elf.c (elfcore_write_note): New function.
10284 (elfcore_write_prpsinfo): New function.
10285 (elfcore_write_prstatus): New function.
10286 (elfcore_write_pstatus): New function.
10287 (elfcore_write_prfpreg): New function.
10288 (elfcore_write_prxfpreg): New function.
97996af6 10289 * elf-bfd.h: Add prototypes for above functions.
7c76fa91 10290
e1fddb6b
AO
102912002-01-08 Alexandre Oliva <aoliva@redhat.com>
10292
10293 * elf.c (elf_fake_sections): Propagate errors from
10294 elf_backend_fake_section.
10295
8d05742f
JT
102962002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
10297
10298 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
10299 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
10300 (elf32-sh-nbsd.lo): New rule.
10301 * Makefile.in: Regenerate.
10302 * config.bfd (sh*le-*-netbsdelf*): New target.
10303 (sh*-*-netbsdelf*): New target.
10304 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
10305 (bfd_elf32_shnbsd_vec): New vector.
10306 (bfd_elf32_shlnbsd_vec): New vector.
10307 * configure: Regenerate.
10308 * elf32-sh-nbsd.c: New file.
10309 * targets.c: Update copyright years.
175e9962 10310 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
8d05742f
JT
10311 bfd_elf32_shnbsd_vec.
10312
1dba4cb4
AH
103132002-01-07 Aldy Hernandez <aldyh@redhat.com>
10314
10315 * coff-rs6000.c (READ20): Use bfd_scan_vma.
10316
47b22aef
GK
103172002-01-07 Geoffrey Keating <geoffk@redhat.com>
10318
10319 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
10320 of a symbol in a section that will be deleted.
10321
be2d1673
NC
103222002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
10323
10324 * po/es.po: New file: Spanish translation.
10325 * configure.in (ALL_LINGUAS): Add es.
10326 * configure: Regenerate.
10327
d9cf1b54
AM
103282002-01-06 Steve Ellcey <sje@cup.hp.com>
10329
10330 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
10331 argument so we can handle HP-UX specially.
10332 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
10333 (elfNN_hpux_backend_section_from_bfd_section): New for support
10334 of SHN_IA_64_ANSI_COMMON.
10335 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
10336 (is_unwind_section_name): Add special HP-UX support.
10337 (elfNN_ia64_section_from_shdr): Add support for more sections.
10338 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
10339 add support for more sections.
10340 (elfNN_ia64_additional_program_headers): Modify
10341 is_unwind_section_name call.
10342 (elfNN_ia64_modify_segment_map): Remove assumption that there is
10343 only one unwind section in segment.
10344
3f3c5c34
AM
103452002-01-06 Alan Modra <amodra@bigpond.net.au>
10346
10347 * syms.c (_bfd_generic_make_empty_symbol): New function.
10348 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
10349 _bfd_generic_make_empty_symbol.
10350 * libbfd.h: Regenerate.
10351 * bfd-in2.h: Regenerate.
10352 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
10353 (hppabsd_core_get_symtab_upper_bound): Don't define.
10354 (hppabsd_core_get_symtab): Likewise.
10355 (hppabsd_core_print_symbol): Likewise.
10356 (hppabsd_core_get_symbol_info): Likewise.
10357 (hppabsd_core_bfd_is_local_label_name): Likewise.
10358 (hppabsd_core_get_lineno): Likewise.
10359 (hppabsd_core_find_nearest_line): Likewise.
10360 (hppabsd_core_bfd_make_debug_symbol): Likewise.
10361 (hppabsd_core_read_minisymbols): Likewise.
10362 (hppabsd_core_minisymbol_to_symbol): Likewise.
10363 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
10364 Formatting fixes.
10365 * hpux-core.c: Similarly.
10366 * irix-core.c: Similarly.
10367 * osf-core.c: Similarly.
10368 * sco5-core.c: Similarly.
10369 * binary.c (binary_make_empty_symbol): Remove function, define as
10370 _bfd_generic_make_empty_symbol.
10371 * ihex.c (ihex_make_empty_symbol): Likewise.
10372 * mmo.c (mmo_make_empty_symbol): Likewise.
10373 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
10374 * srec.c (srec_make_empty_symbol): Likewise.
10375 * versados.c (versados_make_empty_symbol): Likewise.
10376 * vms.c (_bfd_vms_make_empty_symbol): Remove.
10377 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
10378 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
10379 rather than _bfd_vms_make_empty_symbol.
10380 * vms-misc.c (new_symbol): Likewise.
10381
3f0a7f7f
AM
103822002-01-05 Alan Modra <amodra@bigpond.net.au>
10383
9e7b37b3
AM
10384 * section.c (bfd_section_init): Remove unnecessary initialisations.
10385 (bfd_section_list_clear): New function.
10386 (bfd_section_list_remove, bfd_section_list_insert): New macros.
10387 (_bfd_strip_section_from_output): Use them.
10388 * coffcode.h (coff_set_alignment_hook): Likewise.
10389 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
10390 * elf64-mips.c (mips_elf64_final_link): Likewise.
10391 * elf64-mmix.c (mmix_elf_final_link): Likewise.
10392 * sunos.c (sunos_add_dynamic_symbols): Likewise.
10393 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
10394 * bfd-in2.h: Regenerate.
10395
10396 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
10397 rather than doing our own section handling. Clean up after errors
10398 with bfd_release and bfd_section_list_clear. Handle unexpected
10399 flags.
10400 * aoutf1.h (sunos4_core_file_p): Likewise.
10401 * aix386-core.c (aix386_core_file_p): Likewise.
10402 * cisco-core.c (cisco_core_file_validate): Likewise.
10403 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
10404 * trad-core.c (trad_unix_core_file_p): Likewise.
10405
9b5ecbd0 10406 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
9e7b37b3
AM
10407 with bfd_release and bfd_section_list_clear.
10408 * hpux-core.c (hpux_core_core_file_p): Likewise.
10409 * irix-core.c (irix_core_core_file_p): Likewise.
10410 * lynx-core.c (lynx_core_file_p): Likewise.
10411 * osf-core.c (osf_core_core_file_p): Likewise.
10412 * rs6000-core.c (rs6000coff_core_p): Likewise.
10413 * sco5-core.c (sco5_core_file_p): Likewise.
10414
3f0a7f7f
AM
10415 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
10416 sign extension adjustments without conditionals.
10417
a3aa38ee
JJ
104182002-01-04 Jakub Jelinek <jakub@redhat.com>
10419
10420 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
10421 CIE at .eh_frame start is removed due to no FDEs referencing it.
10422
8a8b2d4b
AJ
104232002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
10424
10425 * config.bfd (x86_64-*-netbsd*): New target.
10426 * configure.in (x86_64-*-netbsd*): Set COREFILE
10427 to netbsd-core.lo.
10428 * configure: Regenerated.
10429
04b5af89
TR
104302002-01-03 Tom Rix <trix@redhat.com>
10431
10432 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
10433 for recent bfd_make_section_anyway change.
10434
51c5503b
NC
104352002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
10436
10437 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
10438 R_ARM_THM_PC11 reloc.
10439
07f7c046
NC
104402002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
10441
10442 * configure.in (LINGUAS): Add ja.
10443 * configure: Regenerate.
10444 * po/ja.po: Import from translation project's web site.
10445
5eefb65f
NC
104462002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
10447
10448 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
10449 messages to ease translation into other languages.
10450
39e90f10 10451For older changes see ChangeLog-0001
56882138
AM
10452\f
10453Local Variables:
10454mode: change-log
10455left-margin: 8
10456fill-column: 74
10457version-control: never
10458End:
This page took 0.675483 seconds and 4 git commands to generate.