2003-10-29 Daniel Jacobowitz <drow@mvista.com>
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
5e681ec4
PB
12003-10-29 Daniel Jacobowitz <drow@mvista.com>
2
3 * elf32-arm.h (elf32_arm_final_link_relocate): Move check for
4 SEC_ALLOC.
5
62003-10-29 Philip Blundell <philb@gnu.org>
7
8 * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
9 code sequence.
10 (PLT_HEADER_SIZE): New.
11 (struct elf32_arm_pcrel_relocs_copied): Rename to ...
12 (struct elf32_arm_relocs_copied): ... this. Count both
13 pcrel and non-pcrel relocs. All uses updated.
14 (struct elf32_arm_link_hash_table): Add pointers to dynamic linker
15 sections and symbol/section mapping cache.
16 (create_got_section): New.
17 (elf32_arm_create_dynamic_sections): New.
18 (elf_backend_create_dynamic_sections): Use it.
19 (elf32_arm_final_link_relocate): Support garbage collection of relocs.
20 (elf32_arm_check_relocs): Likewise.
21 (elf32_arm_adjust_dynamic_symbol): Likewise.
22 (elf32_arm_copy_indirect_symbol): New.
23 (elf32_arm_link_hash_table_create): Initialise new fields.
24 (elf32_arm_gc_sweep_hook): Implement.
25 (elf32_arm_discard_copies): Delete.
26 (elf32_arm_finish_dynamic_symbol): Use new PLT code.
27 (elf32_arm_finish_dynamic_sections): Likewise.
28 (elf_backend_can_refcount): Define.
29 (elf_backend_copy_indirect_symbol): Likewise.
30 (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
31
62f3bb11
AM
322003-10-29 Alan Modra <amodra@bigpond.net.au>
33
d37c89e5
AM
34 * elf64-ppc.c (elf_backend_grok_prstatus): Define.
35 (elf_backend_grok_psinfo): Define.
36 (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
37
62f3bb11
AM
38 * elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
39 sections with the same name.
40 (elfcore_grok_lwpstatus): Likewise.
41 (elfcore_grok_win32pstatus): Likewise.
42 (elfcore_grok_note): Likewise.
43 (elfcore_grok_nto_status): Likewise.
44 (elfcore_grok_nto_gregs): Likewise.
45
35a0f415
DJ
462003-10-27 Daniel Jacobowitz <drow@mvista.com>
47
48 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
49 objects.
50
e3d54347
RS
512003-10-14 Richard Sandiford <rsandifo@redhat.com>
52
53 * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
54
5e35cbc2
L
552003-10-24 H.J. Lu <hongjiu.lu@intel.com>
56
57 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
58 hash table for real symbols.
59
9c3ed942
MS
602003-10-23 Michael Snyder <msnyder@redhat.com>
61
62 * section.c (asection): Fix typo in comment.
63
0d4792f7
AM
642003-10-23 Alan Modra <amodra@bigpond.net.au>
65
66 * elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
67 reloc symbol index to it. Don't allow gd syms in shared libs
68 to be optimized.
69 (ppc64_elf_tls_optimize): Adjust get_tls_mask call.
70 (ppc64_elf_size_stubs): Likewise.
71 (ppc64_elf_relocate_section): Check that tls relocs are only used
72 with tls syms, and similarly for non-tls. Correct symbol used
73 when optimizing toc tls code.
74
c9ac8978
NC
752003-10-22 Nick Clifton <nickc@redhat.com>
76
77 * peicode.h (coff_swap_scnhdr_in): Only remove padding when
78 processing an executable.
79
108ba305
JJ
802003-10-22 Jakub Jelinek <jakub@redhat.com>
81
82 * elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
83 field changes.
84 (_bfd_elf_link_assign_sym_version): Likewise.
85 * elflink.h (size_dynamic_sections): Likewise.
86
af9ba621
CV
872003-10-21 Alexandre Oliva <aoliva@redhat.com>,
88 Michael Snyder <msnyder@redhat.com>
89
90 * archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
91 bfd_mach_sh4a_nofpu): New machine types.
92 * bfd-in2.h: Rebuilt.
93 * cpu-sh.c (compatible): Remove unused function.
94 (SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
95 (arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
96 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
97
5a21e886
NC
982003-10-21 Wouter van Heyst <wouter@vidicode.nl>
99
100 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
101 describing mismatched formats involving the Maverick FP type.
102
b749473b
NC
1032003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
104
105 * binary.c (binary_object_p): Pass machine flag along with
106 architecture.
107
3e602632
NC
1082003-10-21 Thorsten Brehm <brehm@gmx.net>
109
110 * archures.c (bfd_default_scan): Add support for mcf528x.
111 * ieee.c (ieee_write_processor): Likewise.
112
1132003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
62f3bb11 114 Bernardo Innocenti <bernie@develer.com>
3e602632
NC
115
116 * archures.c: Add MCF528x (MCFv4) support.
117 * bfd/cpu-m68k.c (arch_info_struct): Likewise.
118 * bfd-in2.h: Regenerate.
119
198beae2
AC
1202003-10-20 Andrew Cagney <cagney@redhat.com>
121
122 * targets.c: Replace "struct sec" with "struct bfd_section"
123 * syms.c, sparclynx.c, section.c, opncls.c: Ditto.
124 * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
125 * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
126 * aout-tic30.c, aout-target.h:
127 * bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
62f3bb11 128
4e2147ff
HPN
1292003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
130
f60ebe14
HPN
131 Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
132 * elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
133 (struct _mmix_elf_section_data): New member pjs.
134 (mmix_set_relaxable_size, mmix_elf_get_section_contents): New
135 functions.
136 (elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
137 (mmix_reloc_map): Ditto.
138 (mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
139 (mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
140 (mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
141 unused.
142 (mmix_elf_check_relocs): Move early return to after
143 mmix_elf_check_common_relocs call.
144 (mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
145 (_bfd_mmix_before_linker_allocation): Rename from
146 _bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
147 Arrange to set the initial relaxable size of sections.
148 (_bfd_mmix_after_linker_allocation): Rename from
149 _bfd_mmix_finalize_linker_allocated_gregs.
150 (mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
151 (bfd_elf64_get_section_contents): Define.
152 * reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
153 * libbfd.h, bfd-in2.h: Regenerate.
154
4e2147ff
HPN
155 * reloc.c (bfd_generic_relax_section): Default-set
156 section->_cooked_size here.
157 (bfd_generic_get_relocated_section_contents): Don't set it here.
158 Explain why.
159
4b71bec0
DA
1602003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
161
162 * elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
163 output section has been discarded.
164
d4e2de6b 1652003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
62f3bb11 166
d4e2de6b
NC
167 * coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
168 (h8300_reloc16_extra_cases): Likewise.
169 (h8300_bfd_link_add_symbols): Likewise.
170
1712003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
172
173 * cpu-h8300.c (h8300sxn_info_struct): Correct address size.
174 (h8300sn_info_struct): Likewise.
175 (h8300hn_info_struct): Likewise.
176
98a96df7
CF
1772003-10-16 Pavel Roskin <proski@gnu.org>
178
179 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
180 for sections which lack size info.
181
2cefff79
DS
1822003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
183
184 * configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
185 mingw32.
186
3e0e1ef1
L
1872003-10-16 H.J. Lu <hongjiu.lu@intel.com>
188
189 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
190 undefined patterns with '*'.
191
9da84788
L
1922003-10-16 H.J. Lu <hongjiu.lu@intel.com>
193
194 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
195 use the last CIE from a different section.
196 (_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
197 size of the output section.
198
ac393995
RM
1992003-10-07 Roland McGrath <roland@redhat.com>
200
201 * elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
202 new section from p_align header field.
203
7aaa0689
L
2042003-10-16 H.J. Lu <hongjiu.lu@intel.com>
205
206 * elf32-xtensa.c (xtensa_read_table_entries): The external size
207 of entry is 8 bytes.
208
6cee3f79
AC
2092003-10-15 Andrew Cagney <cagney@redhat.com>
210
211 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
212 with NAME##_canonicalize_symtab.
213 * libcoff-in.h (coff_canonicalize_symtab): Update.
214 * xsym.h (bfd_sym_canonicalize_symtab): Update.
215 * elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
216 * coffgen.c (coff_canonicalize_symtab): Update.
217 * libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
218 * libnlm.h (nlmNAME(canonicalize_symtab)): Update.
219 * ieee.c (ieee_vec): Update comment.
220 * libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
221 * mmo.c (mmo_canonicalize_symtab): Update.
222 * nlm-target.h (nlm_canonicalize_symtab): Update.
223 * nlmcode.h (nlm_canonicalize_symtab): Update.
224 * i386msdos.c (msdos_canonicalize_symtab): Update.
225 * hp300hpux.c (MY (canonicalize_symtab)): Update.
226 * oasys.c (oasys_canonicalize_symtab): Update.
227 * som.c (som_canonicalize_symtab): Update.
228 * pef.c (bfd_pef_canonicalize_symtab): Update.
229 * nlmcode.h (nlm_canonicalize_symtab): Update.
230 * xsym.c (bfd_sym_canonicalize_symtab): Update.
231 * vms.c (vms_canonicalize_symtab): Update.
232 * versados.c (versados_canonicalize_symtab): Update.
233 * mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
234 * ieee.c (ieee_canonicalize_symtab): Update.
235 * pdp11.c (NAME(aout,canonicalize_symtab)): Update.
236 * reloc.c: Update comment.
237 * libaout.h (NAME(aout,canonicalize_symtab)): Update.
238 * coff64-rs6000.c (aix5coff64_vec): Update.
239 * coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
240 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
241 * aoutx.h (NAME(aout,canonicalize_symtab)): Update.
242 * elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
243 * hp300hpux.c (MY_canonicalize_symtab): Update.
244 * ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
245 * aout-tic30.c (MY_canonicalize_symtab): Update.
246 * aout-target.h (MY_canonicalize_symtab): Update.
247 * ppcboot.c (ppcboot_canonicalize_symtab): Update.
248 * elf.c (_bfd_elf_canonicalize_symtab): Update.
249 * elfcode.h (elf_canonicalize_symtab): Update.
250 * ihex.c (ihex_canonicalize_symtab): Update.
251 * tekhex.c (tekhex_canonicalize_symtab): Update.
252 * binary.c (binary_canonicalize_symtab): Update.
253 * srec.c (srec_canonicalize_symtab): Update.
254
6288878d
KH
2552003-10-15 Kazu Hirata <kazu@cs.umass.edu>
256
257 * elf32-h8300.c (elf_reloc_map): Fix a comment typo.
258
46e993b9
KK
2592003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
260
261 * elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
262 relocations.
263 (sh_elf_check_relocs): Likewise.
264
265 * elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
266 (sh64_elf_merge_symbol_attribute): New.
267 * elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
268 (sh64_elf64_merge_symbol_attribute): New.
269
9bf7216d
KK
2702003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
271
272 * elf-bfd.h (struct elf_backend_data): New function pointer member
273 elf_backend_merge_symbol_attribute.
274 * elflink.h (elf_link_add_object_symbols): Adjust call to
275 elf_backend_merge_symbol_attribute if the backend defined it.
62f3bb11
AM
276 * elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
277 (elfNN_bed): Add that to the initializer.
9bf7216d 278
b614a702
BW
2792003-10-14 Bob Wilson <bob.wilson@acm.org>
280
281 * elf32-xtensa.c (get_is_linkonce_section): Delete.
282 (xtensa_is_property_section, xtensa_is_littable_section): Use
283 XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
284 linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
285 (xtensa_get_property_section_name): Check section name instead of
286 calling get_is_linkonce_section. Remove unused bfd parameter. Use
287 XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
288 linkonce section names by appending ".xt.insn" or ".xt.lit".
289 (xtensa_read_table_entries): Remove bfd argument in call to
290 xtensa_get_property_section_name. Free section name when done.
291 (elf_xtensa_combine_prop_entries): Free leaking table.
292
98a8deaf
RS
2932003-10-13 Richard Sandiford <rsandifo@redht.com>
294
295 * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
296 DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
297 (_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
298 handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
299 that were needed.
300 (_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
301 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
302
3f7deb8a
L
3032003-10-13 H.J. Lu <hongjiu.lu@intel.com>
304
305 * bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
306 (bfd_elf64_ia64_after_parse): Likewise.
307 * bfd-in2.h: Regenerated.
308
309 * elfxx-ia64.c (oor_ip): New.
310 (oor_branch_size): Likewise.
311 (bfd_elfNN_ia64_after_parse): Likewise.
312 (elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
313 equals sizeof (oor_ip).
314
0c72ffe0
KK
3152003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
316
317 * elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
318 renumbering of some relocation numbers.
319
8d6ad26e
AM
3202003-10-11 Alan Modra <amodra@bigpond.net.au>
321
322 * coff-sh.c: Move definition of MAP and guard more code with
323 COFF_IMAGE_WITH_PE.
a7f49d81
AM
324
325 * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
16b79bec 326 * bfd-in2.h: Regenerate.
a7f49d81 327
ede6aaf3
L
3282003-10-10 H.J. Lu <hongjiu.lu@intel.com>
329
330 * Makefile.am: Run "make dep-am".
331 * Makefile.in: Regenerate.
332 * doc/Makefile.in: Likewise.
333
a3aa4448
L
3342003-10-09 H.J. Lu <hongjiu.lu@intel.com>
335
336 * cofflink.c: Include "safe-ctype.h".
337 (coff_link_add_symbols): Use ISDIGIT instead of isdigit.
338
9c8ee639
DB
3392003-10-08 Dave Brolley <brolley@redhat.com>
340 On behalf of Michael Snyder <msnyder@redhat.com>
341
342 * archures.c: Add FRV fr550 machine.
343 * cpu-frv.c: Ditto.
344 * elf32-frv.c: Ditto.
345 * bfd-in2.h: Regenerate.
346
6a691779
TS
3472003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
348
349 * elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
350 for non-SGI N64 ABI. Improve code consitency.
351
b15b52ef
AO
3522003-10-07 Alexandre Oliva <aoliva@redhat.com>
353
354 * elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
355 rightshift to 2.
356
cd339148
NS
3572003-10-07 Nathan Sidwell <nathan@codesourcery.com>
358
29ca8dc5
NS
359 * libbfd-in.h (_bfd_link_section_stabs): Add string offset
360 parameter.
361 * cofflink.c (coff_link_add_symbols): Deal with split stab
362 sections.
363 * elflink.h (elf_link_add_object_symbols): Deal with split stab
364 sections.
365 * stabs.c (_bfd_link_section_stabs): Add string offset parameter.
366 * libbfd.h: Regenerated.
367
cd339148
NS
368 * coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
369 overflow, set reloc start position to after the count
370 reloc. Subtract one from num relocs. Give error on 0xffff relocs
371 and no overflow.
372 * cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
373 overflow.
374 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
375 0xffff.
376
10cf14ea
L
3772003-10-06 H.J. Lu <hongjiu.lu@intel.com>
378
379 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
380 last CIE/FDE if needed.
381
afa105f8
NC
3822003-10-06 Nick Clifton <nickc@redhat.com>
383
384 * targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
385 BFD64 is enabled.
386
85cf2a8a
NC
3872003-10-06 Matt Thomas <matt@3am-software.com>
388
8d6ad26e 389 * config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
85cf2a8a 390
4615568e
NC
3912003-10-06 Robert Millan <robertmh@gnu.org>
392
393 * configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
394 * config.bfd: Likewise.
395 * configure: Regenerate.
396
8b7cf393
CG
3972003-10-04 Christian Groessler <chris@groessler.org>
398
399 * coff-z8k.c (extra_case): Fix displacement length check for R_JR
400 and R_CALLR.
401
0a6a3ebe
SC
4022003-10-04 Stephane Carrez <stcarrez@nerim.fr>
403
404 * elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
405 * elf32-m68hc11.c: Likewise.
406 * elf32-m68hc12.c: Likewise.
407 * elf32-m68hc1x.h: Likewise.
408
17e58af0
SC
4092003-10-04 Stephane Carrez <stcarrez@nerim.fr>
410
411 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
412 of flags between HC12 and HCS12.
413
27c630ba
NC
4142003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
415
416 * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
417 which become empty after merging.
418
1fc0d173
JJ
4192003-09-30 Jakub Jelinek <jakub@redhat.com>
420
421 * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
422 R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
423
5f74bc13
CD
4242003-09-30 Chris Demetriou <cgd@broadcom.com>
425
426 * archures.c (bfd_mach_mipsisa64r2): New define.
427 * bfd-in2.h: Regenerate.
428 * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
429 * cpu-mips.c (I_mipsisa64r2): New enum value.
430 (arch_info_struct): Add entry for I_mipsisa64r2.
431 * elfxx-mips.c (_bfd_elf_mips_mach)
432 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
433 (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
434 (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
435
b59dd4a5
L
4362003-09-29 H.J. Lu <hongjiu.lu@intel.com>
437
438 * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
439 Handle SHN_IA_64_ANSI_COMMON.
440 (elf_backend_section_from_bfd_section): Defined.
441
243ef1e0
L
4422003-09-26 H.J. Lu <hongjiu.lu@intel.com>
443
444 * elflink.c (elf_link_read_relocs_from_section): Add an argument
445 of a pointer to section. Check bad symbol index.
446 (_bfd_elf_link_read_relocs): Modify calls to
447 elf_link_read_relocs_from_section.
448
d38eb334
DD
4492003-09-23 DJ Delorie <dj@redhat.com>
450
451 * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
452 R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
453 R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
454 R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
455 R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
456 R_SH_PSHA, R_SH_PSHL added.
457 (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
458 (sh_elf_relocate_section): Support new relocs.
459
f0578e28
BW
4602003-09-23 Bob Wilson <bob.wilson@acm.org>
461
462 * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
463 dynamic relocation offsets.
464
62f3bb11 4652003-09-23 Alan Modra <amodra@bigpond.net.au>
010b84c1
AM
466
467 * simple.c (bfd_simple_get_relocated_section_contents): Free the
468 hash table using _bfd_generic_link_hash_table_free.
469
62f3bb11 4702003-09-23 Alan Modra <amodra@bigpond.net.au>
7dcb9820
AM
471
472 * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
473 type of prefix_length and suffix_length to int. Rename "attributes"
474 to "attr". Comment.
475 (_bfd_elf_get_sec_type_attr): Update prototype.
476 * elf.c (get_special_section): Rewrite.
477 (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
478 attr and type pointers.
479 (_bfd_elf_new_section_hook): Adjust for above.
480 (special_sections): Merge suffix with prefix. Set
481 prefix_length for all entries. Set suffix_length appropriately.
482 * elf32-m32r.c (m32r_elf_special_sections): Likewise.
483 * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
484 * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
485 * elf32-mcore.c (mcore_elf_special_sections): Likewise.
486 * elf32-sh64.c (sh64_elf_special_sections): Likewise.
487 * elf32-v850.c (v850_elf_special_sections): Likewise.
488 * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
489 * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
490 * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
491 * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
492 * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
493 * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
494 * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
495 * elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
496
61bcf373
DJ
4972003-09-21 Daniel Jacobowitz <drow@mvista.com>
498
499 * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
500 ->got if the section already exists.
501
8bfd78b3
NS
5022003-09-19 Nathan Sidwell <nathan@codesourcery.com>
503
504 * dwarf2.c (decode_line_info): Cope with an initially empty
505 filename table.
506
6726e1ea
L
5072003-09-18 H.J. Lu <hongjiu.lu@intel.com>
508
509 * acinclude.m4: Include ../config/accross.m4.
510 * aclocal.m4: Regenerated.
511
512 * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
513 or long long.
514 (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
515 (host64): Remove if HOST_64BIT_TYPE is set to long.
516
517 * configure.in (HOST_64BIT_TYPE): Set according to the size of
518 long and long long.
519 (HOST_U_64BIT_TYPE): Likewise.
520 (host64): Likewise.
521 * configure: Regenerated.
522
5de3bf90
AM
5232003-09-19 Alan Modra <amodra@bigpond.net.au>
524
525 * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
526 since some ABIs round up the size of the struct.
527
9e4d8df3
L
5282003-09-18 H.J. Lu <hongjiu.lu@intel.com>
529
530 * elflink.c (_bfd_elf_merge_symbol): Allow type change if
531 the old symbol is undefined and the new symbol is defined.
532
228ce064
AS
5332003-09-18 Andreas Schwab <schwab@suse.de>
534
535 * simple.c (bfd_simple_get_relocated_section_contents): Use
536 _bfd_generic_link_hash_table_create instead of
537 bfd_link_hash_table_create.
538
fdbdabdd
L
5392003-09-10 H.J. Lu <hongjiu.lu@intel.com>
540
541 * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
542 started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
543
a252afa4
DA
5442003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
545 Randolph Chung <randolph@tausq.org>
546
547 * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
548 hppa_link_hash_newfunc, hppa_build_one_stub,
549 elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
550 allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
551 elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
552 for generating import stubs for calls to statically linked PIC
553 functions.
554 (hppa_type_of_stub): Don't generate an import stub for calls to
555 statically linked pic functions. Generate import stubs for calls
556 in a shared object, to functions not in a regular file, and to
557 defined weak functions. Add new argument INFO.
558 (hppa_build_one_stub): Don't undef ADDIL_DP.
559 (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
560 (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
561 (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
562 non-shared link. Convert instructions that use the the linkage table
563 pointer, or a facsimile thereof, to use the global data pointer when
564 the reloc has been changed.
565
42acdc7c
JB
5662003-09-08 Joel Brobecker <brobecker@gnat.com>
567
568 * archures.c: Add new machine names for hppa.
569 * bfd-in2.h: Regenerate.
570 * cpu-hppa.c: Use the new machine names.
571
2a0e29b4
SC
5722003-09-06 Stephane Carrez <stcarrez@nerim.fr>
573
574 * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
575 all_local_syms member.
576 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
577 to get the local symbols.
578
3f533aa9
SC
5792003-09-06 Stephane Carrez <stcarrez@nerim.fr>
580
581 * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
582 (elf_backend_special_sections): Define.a
583
584 PR savannah/4950:
585 * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
586 section is read-only.
587
8ad30312
NC
5882003-09-04 Nick Clifton <nickc@redhat.com>
589
590 * archures.c (bfd_mach_v850e1): Define.
591 * bfd-in2.h: Regenerate.
592 * cpu-v850.h (scan): Accept bfd_mach_v850e1.
593 (arch_info_struct): Include an entry for bfd_mach_v850e1.
594 * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
595 (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
596 (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
597 (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
598 linked with v850e binaries. Mark the output as v850e.
5de3bf90 599
3922a8c1
NC
6002003-09-03 Nick Clifton <nickc@redhat.com>
601
5de3bf90 602 * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
3922a8c1
NC
603 symbols that are used in relocs.
604
13dfd2d0
NC
6052003-08-30 Robert Millan <robertmh@gnu.org>
606
607 * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
608 * config.bfd: Likewise.
609 * configure: Regenerate.
610
1c0881dd
CG
6112003-08-31 Christian Groessler <chris@groessler.org>
612
613 * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
614 instead of returning bfd_reloc_continue.
615
ac0e732e
AJ
6162003-08-31 Andreas Jaeger <aj@suse.de>
617
618 * merge.c: Update to ISO C90.
619
ec317fb1
ILT
6202003-08-27 Ian Lance Taylor <ian@airs.com>
621
49c97a80
ILT
622 * configure.in: Check for strtoull.
623 * bfd.c (bfd_scan_vma): Use strtoull when available.
624 * configure, config.in: Regenerate.
625
ec317fb1
ILT
626 * configure.in: Define and substitute BFD_HOST_LONG_LONG.
627 * bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
628 __GNUC__ when deciding whether to use long long for
629 BFD_HOST_64_BIT.
630 * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
631
d539b3aa
CG
6322003-08-27 Christian Groessler <chris@groessler.org>
633
634 * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
635 i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
636 functions.
637 (elf32_i860_howto_table): Insert the new functions as
638 'special_function's in the proper reloc type entries.
639
73052b5e
RS
6402003-08-27 Richard Sandiford <rsandifo@redhat.com>
641
642 * elf32-frv.c (elf32_frv_relocate_section): Use
643 _bfd_elf_rela_local_sym.
644
2c848f79
MS
6452003-08-26 Michael Snyder <msnyder@redhat.com>
646
647 * cpu-frv.c: Remove unused enum.
648
980491e6
MR
6492003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
650
651 * reloc.c: Fix documentation for MIPS ELF relocations.
652 libbfd.h: Regenerate.
653 bfd-in2.h: Regenerate.
654
6d1227b8
JE
6552003-08-24 Jason Eckhardt <jle@rice.edu>
656
5de3bf90 657 * coff-i860.c (CALC_ADDEND): Define to be a no-op.
6d1227b8 658
f680ea79
JE
6592003-08-24 Jason Eckhardt <jle@rice.edu>
660
661 * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
662 shift by 2 before storing the relocated value.
663
c28b1c28
JE
6642003-08-23 Jason Eckhardt <jle@rice.edu>
665
5de3bf90 666 * coff-i860.c (coff_i860_reloc_nyi): New function.
c28b1c28
JE
667 (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
668 LOWn, SPLITn, and BRADDR.
669 (RTYPE2HOWTO): Check that the r_type is within the howto_table
670 before trying to access the entry.
671 (coff_i860_rtype_to_howto): Likewise.
672 (coff_i860_reloc_type_lookup): New function.
673 (i860_reloc_processing): New function.
674 (coff_bfd_reloc_type_lookup): Define macro.
675 (RELOC_PROCESSING): Define macro.
676 Minor formatting adjustments.
677
40a0491a
AM
6782003-08-23 Alan Modra <amodra@bigpond.net.au>
679
680 * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
681
69bbc4c0
L
6822003-08-22 H.J. Lu <hongjiu.lu@intel.com>
683
684 * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
685 .got section at 8 bytes.
686
8b956130
NC
6872003-08-21 Nick Clifton <nickc@redhat.com>
688
85db1db4 689 * cofflink.c: Update to ISO C90 and tidy up formatting.
8b956130 690
6c21aa76
NC
6912003-08-21 Randolph Chung <tausq@debian.org>
692
693 * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
694 can have OSABI=Linux or OSABI=SysV. Check for both.
695 * elf64-hppa.c (elf64_hppa_object_p): Likewise.
696
3673a93e
NC
6972003-08-21 Nick Clifton <nickc@redhat.com>
698
699 * po/sv.po: Updated Swedish translation.
700
427b80f4
RS
7012003-08-20 Richard Sandiford <rsandifo@redhat.com>
702
703 * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
704
560e09e9
NC
7052003-08-20 Nick Clifton <nickc@redhat.com>
706
707 * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
708 replace some duplicated code in most elfxx-xxxx.c files. This
709 version uses the new fields in bfd_link_info.
710
40a0491a
AM
711 * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
712 * elf32-arm.h (elf32_arm_relocate_section): Likewise.
713 * elf32-cris.c (cris_elf_relocate_section): Likewise.
560e09e9
NC
714 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
715 * elf32-i386.c (elf_i386_relocate_section): Likewise.
716 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
717 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
718 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
719 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
720 * elf32-s390.c (elf_s390_relocate_section): Likewise.
721 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
722 * elf32-vax.c (elf_vax_relocate_section): Likewise.
723 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
724 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
725 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
726 * elf64-s390.c (elf_s390_relocate_section): Likewise.
727 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
728 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
729 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
40a0491a
AM
730
731 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
560e09e9
NC
732 elf_hppa_remark_useless_dynamic_symbols,
733 elf_hppa_relocate_section): Use the new fields in
734 bfd_link_info structure.
735 * elf32-sh.c (sh_elf_relocate_section): Likewise.
736 * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
737 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
738 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
739 * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
740 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
741
742 * elflink.h (elf_link_output_extsym): Fix test for reporting
40a0491a
AM
743 undefined symbols in shared libraries. Remove redundant test
744 of shlib_undefined when reporting references to forced local
745 symbols.
560e09e9 746
4091ea4e
L
7472003-08-18 Andreas Schwab <schwab@suse.de>
748
749 * libpei.h (bfd_pe_executable_p): Also recognize efi-app
750 executables.
751
b0cdc7bc
HPN
7522003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
753
754 * simple.c (bfd_simple_get_relocated_section_contents): Move
755 reloc_done hack to before first bfd_section_size call. Change all
756 returns to use new wrapper macro RETURN, restoring sec->reloc_done.
757
c1993d04
AM
7582003-08-16 Alan Modra <amodra@bigpond.net.au>
759
760 * elf64-ppc.c: Don't include elf/ppc.h.
761
792b4a53
RS
7622003-08-14 Richard Sandiford <rsandifo@redhat.com>
763
764 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
765 code to work with 64-bit bfds.
766
fdc09da8
AM
7672003-08-14 Alan Modra <amodra@bigpond.net.au>
768
769 * dep-in.sed: Remove libintl.h.
770 * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
771 (POTFILES.in): Remove target.
772 * Makefile.in: Regenerate.
773
ee87f2da
AM
7742003-08-12 Alan Modra <amodra@bigpond.net.au>
775
776 * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
777 (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
778 use the function sym from the previous reloc.
779
15f40dfc
JJ
7802003-08-11 Jakub Jelinek <jakub@redhat.com>
781
782 * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
783 fatal if -pie.
784 * elf32-s390.c (elf_s390_relocate_section): Likewise.
785 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
786 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
787 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
788 * elf64-s390.c (elf_s390_relocate_section): Likewise.
789 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
790 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
791 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
792 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
793 (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
794 on undefined symbols if -pie.
795 * elf32-sh.c (sh_elf_relocate_section): Likewise.
796
6ab189d5
AM
7972003-08-11 Alan Modra <amodra@bigpond.net.au>
798
799 * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
800 branch to __libc_start_main.
801
3b260895
NC
8022003-08-08 Dmitry Diky <diwil@mail.ru>
803
6ab189d5
AM
804 * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
805 gcc order.
3b260895
NC
806 * cpu-msp430.c: Likewise.
807 * elf32-msp430.c: Likewise.
808 * bfd-in2.h: Regenerate.
809
c39a58e6
AM
8102003-08-07 Alan Modra <amodra@bigpond.net.au>
811
9c5bfbb7
AM
812 * elfxx-target.h: Remove PTR cast.
813 * targets.c (bfd_target): Make backend_data const void *.
814 * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
815 * elf-m10300.c: Likewise.
816 * elf.c: Likewise.
817 * elf32-hppa.c: Likewise.
818 * elf32-i386.c: Likewise.
819 * elf32-m68hc1x.c: Likewise.
820 * elf32-ppc.c: Likewise.
821 * elf32-s390.c: Likewise.
822 * elf32-sh.c: Likewise.
823 * elf32-sh64.c: Likewise.
824 * elf32-sparc.c: Likewise.
825 * elf32-xtensa.c: Likewise.
826 * elf64-mips.c: Likewise.
827 * elf64-ppc.c: Likewise.
828 * elf64-s390.c: Likewise.
829 * elf64-sh64.c: Likewise.
830 * elf64-sparc.c: Likewise.
831 * elf64-x86-64.c: Likewise.
832 * elfcode.h: Likewise.
833 * elfcore.h: Likewise.
834 * elflink.c: Likewise.
835 * elflink.h: Likewise.
836 * elfxx-ia64.c: Likewise.
837 * elfxx-mips.c: Likewise.
838 * elfxx-mips.h: Likewise.
839 * elf.c (prep_headers): Remove useless check for null backend_data.
840 * bfd-in2.h: Regenerate.
841
c39a58e6
AM
842 * elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
843 (NAME): Use ## rather than CONCAT4 macro.
844 * elfcode.h: Remove one remaining PARAMS macro.
845 * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
846 * elf-strtab.c: Likewise.
847 * elf-hppa.h: Likewise.
848 * elf32-hppa.h: Likewise.
849 * elf32-hppa.c: Likewise.
850 (elf32_hppa_add_symbol_hook): Delete.
851 (elf_backend_add_symbol_hook): Don't define.
852 * libhppa.h: Convert to C90. Replace INLINE with inline.
853
97b639ba
AM
8542003-08-06 Alan Modra <amodra@bigpond.net.au>
855
856 * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
857 (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
858 function descriptors, but warn.
859 (ppc_build_one_stub): Remove a couple of vars. Move code creating
860 stub syms so that we can avoid a stub sym if we already have a
861 plt sym. Do not redefine an existing symbol.
862 (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
863 glink.
864
9e7d479d
NC
8652003-08-06 Nick Clifton <nickc@redhat.com>
866
867 * po/fr.po: Updated French translation.
868
77f3d027
AM
8692003-08-06 Alan Modra <amodra@bigpond.net.au>
870
871 * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
872 SEC_LINKER_CREATED.
873
50d6c878
DJ
8742003-08-05 Daniel Jacobowitz <drow@mvista.com>
875
876 * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
877 (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
878
14abcef9
NC
8792003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
880
4a21a492 881 * coffcode.h (coff_slurp_line_table): Return with a warning
14abcef9
NC
882 message if the line number table could not be read.
883
8c675694
NC
8842003-08-04 Nick Clifton <nickc@redhat.com>
885
886 * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
887 to messages produced for .gnu.warning.SYMBOL sections.
888
268b6b39
AM
8892003-08-04 Alan Modra <amodra@bigpond.net.au>
890
891 * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
892 * elfcore.h: Likewise.
893 * elflink.c: Likewise.
894 * elflink.h: Likewise.
895 * elf.c (sym_is_global): Remove INLINE.
896 (align_file_position): Replace INLINE with inline.
897 * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
898 (elf_file_p): Replace INLINE with inline.
899
866f48b7
KK
9002003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
901
902 * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
903
8651fcf9
L
9042003-08-01 H.J. Lu <hongjiu.lu@intel.com>
905
906 * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
907
37cd2629
L
9082003-08-01 H.J. Lu <hongjiu.lu@intel.com>
909
910 * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
911 ElfNN_External_Rela instead of Elf64_External_Rela.
912
91fb2a9d
NC
9132003-08-01 Nick Clifton <nickc@redhat.com>
914
915 * config.bfd: Add code to catch obsolete configurations and warn
916 about them unless --enable-obsolete is used. Use this to mark
917 vax-vms port as obsolete.
918
e656e369
AM
9192003-07-30 Alan Modra <amodra@bigpond.net.au>
920
921 * elf32-ppc.c (ppc_elf_install_value): Tidy.
922 (ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
923 Formatting.
924 * elfxx-target.h: Remove PARAMS macro. Formatting.
925
50bc7936
AM
9262003-07-30 Alan Modra <amodra@bigpond.net.au>
927
928 * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
929 * elf64-ppc.c (get_fdh): New function, split out from
930 ppc64_elf_edit_opd.
931 (ppc64_elf_check_relocs): Use get_fdh.
932 (func_desc_adjust): Likewise. Tidy.
933 (ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
934 exit. Use get_fdh. Account for superfluous dynamic relocs.
935 (ppc64_elf_relocate_section): Warning fix.
936
a62d170c
JE
9372003-07-30 Jason Eckhardt <jle@rice.edu>
938
939 * coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
940
7734b6e9
JE
9412003-07-30 Jason Eckhardt <jle@rice.edu>
942
943 * elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
944
37f4508b
AM
9452003-07-30 Randolph Chung <tausq@debian.org>
946
947 * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
948 * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
949
217aa764
AM
9502003-07-30 Alan Modra <amodra@bigpond.net.au>
951
952 * elf.c: Convert to C90, remove unnecessary prototypes and casts.
953 Replace PTR with void *. Formatting.
954 (_bfd_elf_assign_file_position_for_section): Remove INLINE.
955 (make_mapping): Likewise.
956
494dac0c
AM
9572003-07-29 Alan Modra <amodra@bigpond.net.au>
958
959 * elf64-ppc.c (func_desc_adjust): Give linker created function
960 descriptor symbols a size and type.
961 (ppc64_elf_relocate_section): Correct lq insn test.
962
deaaf2f3
EC
9632003-07-28 Eric Christopher <echristo@redhat.com>
964
965 * elf32-ppc.c (R_PPC_RELAX32): New relocation.
966 (ppc_elf_install_value): New function.
967 (ppc_elf_sort_rela): Remove.
968 (ppc_elf_relax_section): Rewrite. Remove old relaxation
969 and replace with out of range branch stubs.
970 (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
971
709e685d
AO
9722003-07-29 Alexandre Oliva <aoliva@redhat.com>
973
974 * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
975 from input_bfd.
976
36c506c5
AM
9772003-07-28 Alan Modra <amodra@bigpond.net.au>
978
979 * elf.c (special_sections): Set attributes for .got and .plt.
980
5d35169e
AM
9812003-07-27 Alan Modra <amodra@bigpond.net.au>
982
983 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
984 on function descriptors.
985 (ELIMINATE_COPY_RELOCS): Expand comment.
986 (ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
987 Do include ".toc1".
988
3cddba1e
L
9892003-07-25 H.J. Lu <hongjiu.lu@intel.com>
990
991 * elf.c (_bfd_elf_new_section_hook): Set the default section
992 type to SHT_NULL.
993 (elf_fake_sections): Set the section type based on asect->flags
994 if it is SHT_NULL. Don't abort on processor specific section
995 types.
996
d622ef4b
L
9972003-07-25 H.J. Lu <hongjiu.lu@intel.com>
998
999 * bfd-in2.h: Regenerated.
1000
2f89ff8d
L
10012003-07-25 H.J. Lu <hongjiu.lu@intel.com>
1002
1003 * elf-bfd.h (bfd_elf_special_section): New.
1004 (elf_backend_data): Add special_sections, a pointer to
1005 bfd_elf_special_section.
1006 (elf_section_type). New.
1007 (elf_section_flags): New.
1008 (_bfd_elf_get_sec_type_attr): New.
1009
1010 * elf.c (_bfd_elf_make_section_from_shdr): Always use the
1011 real section type/flags.
1012 (special_sections): New.
1013 (get_special_section): New.
1014 (_bfd_elf_get_sec_type_attr): New.
1015 (_bfd_elf_new_section_hook): Check special_section to set
1016 elf_section_type and elf_section_flags.
1017 (elf_fake_sections): Don't use section name to set ELF section
1018 data.
1019
1020 * elf32-m32r.c (m32r_elf_special_sections): New.
1021 (elf_backend_special_sections): Defined.
1022
1023 * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
1024 (elf_backend_special_sections): Defined.
1025
1026 * elf32-mcore.c (mcore_elf_special_sections): New.
1027 (elf_backend_special_sections): Defined.
1028
1029 * elf32-ppc.c (ppc_elf_special_sections): New.
1030 (elf_backend_special_sections): Defined.
1031
1032 * elf32-sh64.c (sh64_elf_special_sections): New.
1033 (elf_backend_special_sections): Defined.
1034
1035 * elf32-v850.c (v850_elf_special_sections): New.
1036 (elf_backend_special_sections): Defined.
1037
1038 * elf32-xtensa.c (elf_xtensa_special_sections): New.
1039 (elf_backend_special_sections): Defined.
1040
1041 * elf64-alpha.c (elf64_alpha_special_sections): New.
1042 (elf_backend_special_sections): Defined.
1043
1044 * elf64-hppa.c (elf64_hppa_special_sections): New.
1045 (elf_backend_special_sections): Defined.
1046
1047 * elf64-ppc.c (ppc64_elf_special_sections): New.
1048 (elf_backend_special_sections): Defined.
1049
1050 * elf64-sh64.c (sh64_elf64_special_sections): New.
1051 (elf_backend_special_sections): Defined.
1052
1053 * elfxx-ia64.c (elfNN_ia64_special_sections): New.
1054 (elf_backend_special_sections): Defined.
1055
1056 * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
1057
1058 * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
1059 (elf_backend_special_sections): Defined.
1060
1061 * elfxx-target.h (elf_backend_special_sections): New. Default
1062 to NULL.
1063 (elfNN_bed): Initialize special_sections.
1064
1065 * section.c (bfd_abs_section): Remove const.
1066 (bfd_und_section): Likewise.
1067 (bfd_com_section): Likewise.
1068 (bfd_ind_section): Likewise.
1069
20650579
NC
10702003-07-24 Nick Clifton <nickc@redhat.com>
1071
1072 * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
1073 sections are assigned the LOAD attribute.
1074
deaaf2f3 10752003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
09fd220b
KK
1076
1077 * elf32-sh.c: Convert to C90. Replace PTR with void *.
1078 * elf32-sh64-com.c: Likewise.
1079 * elf32-sh64.c: Likewise.
1080 * elf32-sh64.h: Likewise.
1081 * elf64-sh64.c: Likewise.
1082
3d85aebe
KK
10832003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1084
1085 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
1086 (allocate_dynrelocs): Likewise.
1087 (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
1088 (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
1089
834d807b
NC
10902003-07-24 Nick Clifton <nickc@redhat.com>
1091
1092 * po/fr.po: Updated French translation.
1093
571b5725
BW
10942003-07-23 Bob Wilson <bob.wilson@acm.org>
1095
1096 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
1097 near the beginning of the file. Swap order of arguments. Call
1098 _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
1099 (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
1100 (elf_xtensa_relocate_section): Likewise.
1101 (shrink_dynamic_reloc_sections): Likewise.
1102
b536dc1e
BW
11032003-07-23 Bob Wilson <bob.wilson@acm.org>
1104
1105 * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
1106 (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
1107 (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
1108 first printing an error message.
1109 (elf_xtensa_finish_dynamic_sections): Likewise.
1110 (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
1111 discarding literal table entries.
1112 (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
1113 (elf_xtensa_do_asm_simplify): Likewise.
1114
7f888330
SC
11152003-07-23 Stephane Carrez <stcarrez@nerim.fr>
1116
1117 * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
1118 we have a local symbol in common section.
1119
ecc27c31
L
11202003-07-22 H.J. Lu <hongjiu.lu@intel.com>
1121
1122 * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
1123 weak symbols.
1124
f9f3cf65
NC
11252003-07-22 Nick Clifton <nickc@redhat.com>
1126
1127 * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
1128 expected RS6000 storage classes.
1129
bb32e54f
L
11302003-07-21 H.J. Lu <hongjiu.lu@intel.com>
1131
1132 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
1133 output_bfd unused to silence gcc.
1134
796f2a93
NC
11352003-07-21 Nick Clifton <nickc@redhat.com>
1136
1137 * po/sv.po: Updated Swedish translation.
1138
f6c52c13
AM
11392003-07-21 Alan Modra <amodra@bigpond.net.au>
1140
1141 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
1142 (_bfd_elf_symbol_refs_local_p): ..this. Declare.
1143 * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
1144 * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
1145 now done in _bfd_elf_symbol_refs_local_p.
1146 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1147 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1148 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1149
aa37626c
L
11502003-07-18 H.J. Lu <hongjiu.lu@intel.com>
1151
1152 * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
1153
1e364ec9
L
11542003-07-18 H.J. Lu <hongjiu.lu@intel.com>
1155
1156 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
1157 (SYMBOL_CALLS_LOCAL): Likewise.
1158
1159 * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
1160 immediately if symbol isn't defined locally.
1161
986a241f
RH
11622003-07-18 Richard Henderson <rth@redhat.com>
1163
1164 * elflink.c (_bfd_elf_dynamic_symbol_p): New.
1165 * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
1166 (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
1167 * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
1168 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
1169 * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
1170 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
1171 Update all callers to provide the relocation being resolved.
1172
ac4b3dd8
NC
11732003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
1174
1175 * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
1176 targ_cflags.
1177
6c37ac4d
NC
11782003-07-17 Nick Clifton <nickc@redhat.com>
1179
1180 * po/es.po: New Spanish translation.
1181 * po/sv.po: New Swedish translation.
1182 * po/opcodes.pot: Regenerate.
1183
02e6ad56
RH
11842003-07-16 Richard Henderson <rth@redhat.com>
1185
1186 * config.bfd, configure.host, configure.in: Remove ia64-aix support.
1187 * elfxx-ia64.c, targets.c: Likewise.
1188
5686517c
RH
11892003-07-16 Richard Henderson <rth@redhat.com>
1190
1191 * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
1192 for symbols defined locally plus -Bsymbolic. Tidy logic.
1193
5a7ea749
RS
11942003-07-15 Richard Sandiford <rsandifo@redhat.com>
1195
1196 * archures.c (bfd_mach_mips7000): New.
1197 * bfd-in2.h: Regenerated.
1198 * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
1199 * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
1200 (mips_mach_extensions): Add an entry for it.
1201
76bff705
NC
12022003-07-14 Nick Clifton <nickc@redhat.com>
1203
1204 * po/tr.po: Update with latest version.
1205 * po/SRC-POTFILES.in: Regenerate.
1206 * po/bfd.pot: Regenerate.
1207 * Makfile.in: Regenerate.
1208 * configure: Regenerate.
1209
d0facd1b
NC
12102003-07-12 Jeff Baker <jbaker@qnx.com>
1211
1212 * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
1213 * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1214 * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1215 * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
1216
bcb9b88d
NC
12172003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
1218
1219 * coffcode.h (coff_set_section_contents): Set the
1220 IMAGE_FILE_32BIT_MACHINE flag for PE targets.
1221
7a9823f1
RS
12222003-07-11 Richard Sandiford <rsandifo@redhat.com>
1223
1224 * bfd-in.h (bfd_h8300_pad_address): Declare.
1225 * bfd-in2.h: Regenerate.
1226 * cpu-h8300.c (bfd_h8300_pad_address): New function.
1227 * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
1228 addresses before checking whether they can be relaxed.
1229 (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
1230 Don't complain about overflows in general 8-bit relocations.
1231 * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
1232 Fix handling of R_H8_DIR24A8.
1233
c6baf75e
RS
12342003-07-11 Richard Sandiford <rsandifo@redhat.com>
1235
1236 * elf32-h8300.c: Convert function prototypes and definitions
1237 to C90 syntax.
1238 * coff-h8300.c: Likewise.
1239 * cpu-h8300.c: Likewise.
1240
fce00800
AM
12412003-07-11 Alan Modra <amodra@bigpond.net.au>
1242
1243 * po/SRC-POTFILES.in: Regenerate.
1244 * po/bfd.pot: Likewise.
1245
e901de89
BW
12462003-07-10 Bob Wilson <bob.wilson@acm.org>
1247
1248 * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
1249 .got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
1250 .xt.lit.plt section.
1251 (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
1252 and allocate memory for it.
1253 (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
1254 section to the .got.loc section.
1255 (elf_xtensa_finish_dynamic_sections): Fix up call to
1256 elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
1257 the address of .got.loc.
1258 (relax_property_section): Shrink .got.loc to match changes in any
1259 literal table section.
1260 (xtensa_is_property_section): Change to match
1261 xtensa_get_property_section_name.
1262 (xtensa_is_littable_section): New.
1263
eff26f78
L
12642003-07-10 H.J. Lu <hongjiu.lu@intel.com>
1265
1266 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
1267 -1LL.
1268
942e0f42
AM
12692003-07-10 Alan Modra <amodra@bigpond.net.au>
1270
1271 * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
1272 (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
1273 Run "make dep-am".
1274 * Makefile.in: Regenerate.
1275
73c3cd1c
AO
12762003-07-10 Alexandre Oliva <aoliva@redhat.com>
1277
1278 2001-09-12 Alexandre Oliva <aoliva@redhat.com>
1279 * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
1280 (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
1281 2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
1282 * elf32-am33lin.c: Rename global functions.
1283 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
1284 * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
1285 * configure.in (bfd_elf32_am33lin_vec): Added.
1286 * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
1287 (elf32-am33lin.lo): List dependencies.
1288 * aclocal.m4, configure, Makefile.in: Rebuilt.
1289 * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
1290 ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
1291 ELF_ARCH was not defined before.
1292 (elf_symbol_leading_char): Define if not defined.
1293 * elf32-am33lin.c: Override the definitions above.
1294 * targets.c (bfd_elf32_am33lin_vec): New.
1295
03a12831
AO
12962003-07-09 Alexandre Oliva <aoliva@redhat.com>
1297
1298 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
1299 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
1300 pcrel_relocs_copied.
1301 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
1302 * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
1303 ld-linux.so.2 to ld.so.1.
1304 2001-10-10 Alexandre Oliva <aoliva@redhat.com>
1305 * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
1306 (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
1307 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1308 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
1309 .rela.* section contents with bfd_zalloc.
1310 2001-09-25 Alexandre Oliva <aoliva@redhat.com>
1311 * elf-m10300.c: Added declarations for functions missing them.
1312 Merge some shared-library changes from the i386 back-end. Use
1313 R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
1314 R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
1315 (struct elf32_mn10300_link_hash_entry): Remove duplicates of
1316 members of elf_link_hash_entry. Adjusted references.
1317 (mn10300_elf_final_link_relocate): dynobj was already loaded
1318 into a local variable, use it.
1319 2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
1320 * elf-m10300.c: Add missing function prototypes.
1321 2001-08-24 Alexandre Oliva <aoliva@redhat.com>
1322 * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
1323 relocation for dynamic relocations.
1324 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
1325 * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
1326 * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
1327 PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
1328 (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
1329 (_bfd_mn10300_elf_create_got_section): ... here, so that its
1330 adress is already known at the time we compute relaxations.
1331 (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
1332 and PLT32 to narrower relocations.
1333 * libbfd.h, bfd-in2.h: Rebuilt.
1334 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
1335 * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
1336 BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
1337 BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
1338 BFD_RELOC_MN10300_RELATIVE): New relocs.
1339 * libbfd.h, bfd-in2.h: Rebuilt.
1340 * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
1341 (struct elf32_mn10300_link_hash_entry): Added DSO-related
1342 fields.
1343 (elf_mn10300_howto): Defined new relocation types.
1344 (mn10300_reloc_map): Map them.
1345 (_bfd_mn10300_elf_create_got_section): New fn.
1346 (mn10300_elf_check_relocs): Handle PIC relocs.
1347 (mn10300_elf_final_link_relocate): Likewise.
1348 (mn10300_elf_relocate_section): Handle DSOs.
1349 (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
1350 (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
1351 elf_mn10300_pic_plt_entry): New.
1352 (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
1353 elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
1354 elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
1355 elf_mn10300_plt_reloc_offset: New macros.
1356 (ELF_DYNAMIC_INTERPRETER): Likewise.
1357 (_bfd_mn10300_elf_create_dynamic_sections): New function.
1358 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
1359 (_bfd_mn10300_elf_discard_copies): Likewise.
1360 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
1361 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
1362 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
1363 (elf_backend_can_gc_sections,
1364 elf_backend_create_dynamic_sections,
1365 elf_backend_adjust_dynamic_sections,
1366 elf_backend_size_dynamic_sections,
1367 elf_backend_finish_dynamic_symbol,
1368 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
1369 elf_backend_plt_readonly, elf_backend_want_plt_sym,
1370 elf_backend_got_header_size, elf_backend_plt_header_size): New
1371 macros.
1372
b08fa4d3
AO
13732003-07-09 Alexandre Oliva <aoliva@redhat.com>
1374
1375 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
1376 * elf-m10300.c (compute_function_info): Account for AM33
1377 registers in `movm' when computing stack space for `call' when
1378 linking for AM33/2.0 link.
1379 2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
1380 * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
1381 * bfd-in2.h: Rebuilt.
1382 * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
1383 * elf-m10300.c: Updated.
1384 2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
1385 * archures.c (bfd_mach_am332): Defined.
1386 * bfd-in2.h: Rebuilt.
1387 * cpu-m10300.c (bfd_am332_arch): Defined.
1388 (bfd_am33_arch): Chained with am33-2.
1389 * elf-m10300.c (elf_mn10300_mach): Handle am332.
1390 (_bfd_mn10300_elf_final_write_processing): Likewise.
1391
201933ea
L
13922003-07-09 H.J. Lu <hongjiu.lu@intel.com>
1393
1394 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
1395
e717da7e
AM
13962003-07-10 Alan Modra <amodra@bigpond.net.au>
1397
1398 * elf64-ppc.c (bfd_elf64_mkobject): Define.
1399 (struct ppc64_elf_obj_tdata): New.
1400 (ppc64_elf_tdata, ppc64_tlsld_got): Define.
1401 (ppc64_elf_mkobject): New function.
1402 (struct got_entry): Add "owner". Move "tls_type".
1403 (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
1404 (ppc64_elf_init_stub_bfd): New function.
1405 (create_got_section): Create header .got in dynobj. Create .got
1406 and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
1407 (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
1408 Look for dynobj .got, and test it.
1409 (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
1410 (update_local_sym_info): Likewise.
1411 (ppc64_elf_check_relocs): Likewise.
1412 (ppc64_elf_gc_sweep_hook): Likewise.
1413 (ppc64_elf_tls_optimize): Likewise.
1414 (allocate_dynrelocs): Likewise.
1415 (ppc64_elf_size_dynamic_sections): Likewise.
1416 (ppc64_elf_relocate_section): Likewise.
1417 (ppc64_elf_next_toc_section): Update comment.
1418 (toc_adjusting_stub_needed): Remove unneeded cast.
1419 (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
1420 testing section flags.
1421 (ppc64_elf_build_stubs): Likewise.
1422 (ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
1423 (ppc64_elf_finish_dynamic_sections): Write out got sections.
1424 (func_desc_adjust): Copy over dynamic info for undef weaks.
1425 * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
1426 (ppc64_elf_size_stubs): Update prototype.
1427 * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
1428 input sections rather than scanning dynobj.
1429
18ad015f
RS
14302003-07-09 Richard Sandiford <rsandifo@redhat.com>
1431
1432 * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
1433 (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
1434 (mips_elf_create_msym_section): Delete.
1435 (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
1436 (_bfd_mips_elf_copy_indirect_symbol): Likewise.
1437 (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
1438 (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
1439 (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
1440 (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
1441 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1442
e10609d3
RS
14432003-07-09 Richard Sandiford <rsandifo@redhat.com>
1444
1445 * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
1446 symbols protected.
1447
0d591ff7
RS
14482003-07-09 Richard Sandiford <rsandifo@redhat.com>
1449
1450 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
1451 of relocations whose offset is -2.
1452
fdd07405
RS
14532003-07-09 Richard Sandiford <rsandifo@redhat.com>
1454
1455 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
1456 forced-local symbols like other locals. Don't create relocations
1457 against STN_UNDEF in irix objects.
1458
d2fba50d
RS
14592003-07-09 Richard Sandiford <rsandifo@redhat.com>
1460
1461 * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
1462 compatible objects, add the values of defined external symbols
1463 to the addend.
1464
6eaa6adc
RS
14652003-07-09 Richard Sandiford <rsandifo@redhat.com>
1466
1467 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
1468 initialize a GOT entry to the symbol's st_value.
1469
0c83546a
AM
14702003-07-08 Alan Modra <amodra@bigpond.net.au>
1471
43c40ab2
AM
1472 * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
1473 * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
1474 (ppc_elf_tdata): Define.
1475 (elf_local_ptr_offsets): Adjust.
1476 (ppc_elf_mkobject): New function.
1477 (bfd_elf32_mkobject): Define.
1478
0c83546a
AM
1479 * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
1480 * elfcore.h (elf_core_file_p): Likewise.
1481 * section.c (bfd_section_init): Remove prototype.
1482
58111eb7
AM
14832003-07-08 Alan Modra <amodra@bigpond.net.au>
1484
1485 * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
1486 field.
1487 (enum elf_linker_section_enum): Delete.
1488 (struct elf_linker_section): Delete.
1489 (struct elf_linker_section_pointers): Delete.
1490 (struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
1491 Make linker_section_pointers a void**.
1492 (elf_local_ptr_offsets, elf_linker_section): Don't define.
1493 * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
1494 of old item in elf-bfd.h.
1495 (struct elf_linker_section): Likewise.
1496 (struct elf_linker_section_pointers): Likewise.
1497 (elf_local_ptr_offsets): Define.
1498 (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
1499 (ppc_elf_link_hash_newfunc): Init it.
1500 (struct ppc_elf_link_hash_table): Add sbss.
1501 (ppc_elf_link_hash_table_create): zmalloc rather than clearing
1502 individual fields.
1503 (elf_create_linker_section): Fold into..
1504 (ppc_elf_create_linker_section): ..here. Remove hole_size code.
1505 Make rela section here if shared.
1506 (elf_find_pointer_linker_section): Pass lsect rather than enum.
1507 (elf_create_pointer_linker_section): Adjust. zalloc rather than
1508 clearing in a loop.
1509 (elf_finish_pointer_linker_section): Adjust. Don't make rela
1510 section here.
1511 (ppc_elf_check_relocs): Adjust.
1512 (ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
1513 creating .sbss by hand.
1514 * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
1515
15f8604d
JJ
15162003-07-04 Jakub Jelinek <jakub@redhat.com>
1517
1518 * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
1519 complain_overflow_bitfield.
1520 * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
1521 complain_overflow_bitfield.
1522
3368a7fb
JJ
15232003-07-04 Jakub Jelinek <jakub@redhat.com>
1524
1525 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
1526 true even if -pie.
1527
9203ba99
JJ
15282003-07-04 Jakub Jelinek <jakub@redhat.com>
1529
1530 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
1531 (elfNN_ia64_dynamic_symbol_p): Change info->shared into
1532 !info->executable.
1533 (get_fptr): For -pie create .opd as writable section and create
1534 .rela.opd as well.
1535 (elfNN_ia64_check_relocs): Change info->shared into
1536 !info->executable.
1537 (allocate_fptr): Likewise.
1538 (allocate_dynrel_entries): Account for a relative reloc for -pie
1539 @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
1540 for undefweak symbol. Account for an IPLT reloc in .rela.opd
1541 section if -pie.
1542 (set_got_entry): Don't create a relative reloc if -pie
1543 want_ltoff_fptr for undefweak symbol.
1544 (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
1545 (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
1546 @fptr().
1547
1548 * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
1549 even if -pie.
1550 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1551 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1552 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1553 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1554 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1555 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1556 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1557 * elf32-s390.c (elf_s390_relocate_section): Likewise.
1558 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1559
e0a868d1 15602003-07-04 Paul Clarke <paulc@senet.com.au>
8c17da6e
NC
1561
1562 * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
1563 (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
1564 <R_H8_DIR32A16>: Fix type of relocation.
1565
35cad4c4
KK
15662003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1567
1568 * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
1569 sections were created already. Remove unnecessary tests of
1570 the previous change.
1571
03151a5a
KK
15722003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1573
1574 * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
1575 bfd_make_section for existing sections.
1576
003d627e
AM
15772003-07-04 Alan Modra <amodra@bigpond.net.au>
1578
2293c499
AM
1579 * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
1580 create_got_section if we already have done so.
1581 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
1582 (sh_elf_check_relocs): Likewise.
1583 (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
1584 htab->root.dynobj instead.
1585 (sh_elf_check_relocs): Likewise.
1586 (sh_elf_finish_dynamic_sections): Likewise.
1587
003d627e
AM
1588 * section.c (bfd_make_section): Return NULL for existing section.
1589
fa681e5d
AM
15902003-07-04 Alan Modra <amodra@bigpond.net.au>
1591
1592 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
1593 ppc_elf_create_got if we've already done so.
3dab13f6
AM
1594
1595 * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
1596 (_bfd_elf_find_pointer_linker_section): Likewise.
1597 (bfd_elf32_create_pointer_linker_section): Likewise.
1598 (bfd_elf32_finish_pointer_linker_section): Likewise.
1599 (bfd_elf64_create_pointer_linker_section): Likewise.
1600 (bfd_elf64_finish_pointer_linker_section): Likewise.
1601 (_bfd_elf_make_linker_section_rela): Likewise.
1602 * elfcode.h (elf_create_pointer_linker_section): Don't define.
1603 (elf_finish_pointer_linker_section): Likewise.
1604 * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
1605 (_bfd_elf_create_linker_section): Move this function..
1606 (_bfd_elf_find_pointer_linker_section): ..and this..
1607 * elflink.h (elf_create_pointer_linker_section): ..and this..
1608 (elf_finish_pointer_linker_section): ..and this..
1609 * elf32-ppc.c: ..to here, renaming to the following, and adjusting
1610 calls.
1611 (elf_create_linker_section): Convert to C90, tidy.
1612 (elf_find_pointer_linker_section): Likewise.
1613 (elf_create_pointer_linker_section): Likewise.
1614 (elf_finish_pointer_linker_section): Likewise.
1615 * elf32-i370.c: Delete #if 0 code.
1616
772119ce
AM
16172003-07-02 Alan Modra <amodra@bigpond.net.au>
1618
1619 * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
1620 _restf* to be satisfied by shared libs, and always force them local.
1621 (toc_adjusting_stub_needed): Avoid scanning linker created sections.
1622 Correct test for "bl".
1623 (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
1624 primary opcode 31.
1625
bd1ea41b
MS
16262003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
1627
1628 * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
1629 (s390_tls_reloc): New function.
1630 (elf_howto_table): Add long displacement relocations R_390_20,
1631 R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
1632 (elf_s390_reloc_type_lookup): Likewise.
1633 (elf_s390_check_relocs): Likewise.
1634 (elf_s390_gc_sweep_hook): Likewise.
1635 (elf_s390_relocate_section): Likewise.
1636 * elf64-s390.c: Same changes as for elf32-s390.c.
1637 * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
43c40ab2 1638 BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
bd1ea41b
MS
1639 BFD_RELOC_390_TLS_GOTIE20.
1640 * bfd-in2.h: Regenerate.
1641 * libbfd.h: Likewise.
1642
113202d6
AM
16432003-06-30 Alan Modra <amodra@bigpond.net.au>
1644
1645 * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
1646 (ins_imms, ins_immsm1u4): Likewise. Warning fix.
1647
c58b9523
AM
16482003-06-29 Alan Modra <amodra@bigpond.net.au>
1649
1650 * archive.c: Convert to C90, remove unnecessary prototypes and casts.
1651 Replace PTR with void *. Formatting.
1652 * archive64.c: Likewise.
1653 * archures.c: Likewise.
1654 * bfd-in.h: Likewise.
1655 * bfd.c: Likewise.
1656 * bfdio.c: Likewise.
1657 * bfdwin.c: Likewise.
1658 * cache.c: Likewise.
1659 * corefile.c: Likewise.
1660 * format.c: Likewise.
1661 * init.c: Likewise.
1662 * libbfd-in.h: Likewise.
1663 * libbfd.c: Likewise.
1664 * linker.c: Likewise.
1665 * opncls.c: Likewise.
1666 * reloc.c: Likewise.
1667 * section.c: Likewise.
1668 * simple.c: Likewise.
1669 * syms.c: Likewise.
1670 * targets.c: Likewise.
1671 * bfd-in2.h: Regenerate.
1672 * libbfd.h: Regenerate.
1673
1674 * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
1675 * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
1676 * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
1677 (bfd_getb64): Rewrite without parens.
1678 (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
1679 * cache.c (insert, snip): Remove INLINE.
1680 * linker.c (bfd_link_add_undef): Likewise.
1681
27482721
AJ
16822003-06-29 Andreas Jaeger <aj@suse.de>
1683
1684 * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
1685 unnecessary prototypes. Replace PTR with void *.
58611256
AJ
1686 (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
1687 trim plt entries. Move undefweak non-default visibility test ...
1688 (allocate_dynrelocs): ... from here.
1689 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1690 Change all callers.
1691 (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
1692 SYMBOL_REFERENCES_LOCAL for dynreloc check.
1693 (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
1694 dynreloc and .got relocs.
1695 (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
1696 for .got relocs.
27482721 1697
2b86c02e
TS
16982003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1699
1700 * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
1701
e7c81c25
NC
17022003-06-27 Nick Clifton <nickc@redhat.com>
1703
1704 * opncls.c (bfd_add_gnu_debuglink_section): Rename to
1705 bfd_add_gnu_debuglink_section and only create the section, do not
1706 fill in its contents.
1707 (bfd_fill_in_gnu_debuglink_section): New function. Fill in the
1708 contents of a .gnu-debuglink section.
1709 * bfd-in2.h: Regenerate.
1710
72b4917c
TS
17112003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1712
1713 * elfxx-mips.c: Revert .got alignment to 2**4.
1714
91709090
TS
17152003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1716
1717 * elf32-mips.c: Fix addend for _gp_disp special symbol.
1718
7a79a000
TS
17192003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1720
1721 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
1722 relocation header setup.
1723
e47cd125
AM
17242003-06-25 Alan Modra <amodra@bigpond.net.au>
1725
1726 * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
1727 (ppc_elf_reloc_type_lookup): Modify comment.
1728 (ppc_elf_info_to_howto): Ditto.
1729 (ppc_elf_relocate_section): Ditto.
1730 (ppc_elf_check_relocs): Call ppc_elf_howto_init.
1731
1049f94e
AM
17322003-06-25 Alan Modra <amodra@bigpond.net.au>
1733
1734 * aout-ns32k.c: Correct spelling of "relocatable".
1735 * aoutx.h: Likewise.
1736 * bfd-in.h: Likewise.
1737 * bfd.c: Likewise.
1738 * bout.c: Likewise.
1739 * coff-a29k.c: Likewise.
1740 * coff-alpha.c: Likewise.
1741 * coff-arm.c: Likewise.
1742 * coff-i386.c: Likewise.
1743 * coff-i860.c: Likewise.
1744 * coff-i960.c: Likewise.
1745 * coff-m68k.c: Likewise.
1746 * coff-m88k.c: Likewise.
1747 * coff-mcore.c: Likewise.
1748 * coff-mips.c: Likewise.
1749 * coff-or32.c: Likewise.
1750 * coff-ppc.c: Likewise.
1751 * coff-rs6000.c: Likewise.
1752 * coff-sh.c: Likewise.
1753 * coff-tic80.c: Likewise.
1754 * coff64-rs6000.c: Likewise.
1755 * cofflink.c: Likewise.
1756 * cpu-ns32k.c: Likewise.
1757 * ecoff.c: Likewise.
1758 * ecofflink.c: Likewise.
1759 * elf-bfd.h: Likewise.
1760 * elf-eh-frame.c: Likewise.
1761 * elf-hppa.h: Likewise.
1762 * elf-m10200.c: Likewise.
1763 * elf-m10300.c: Likewise.
1764 * elf.c: Likewise.
1765 * elf32-arm.h: Likewise.
1766 * elf32-avr.c: Likewise.
1767 * elf32-cris.c: Likewise.
1768 * elf32-d10v.c: Likewise.
1769 * elf32-dlx.c: Likewise.
1770 * elf32-fr30.c: Likewise.
1771 * elf32-frv.c: Likewise.
1772 * elf32-h8300.c: Likewise.
1773 * elf32-hppa.c: Likewise.
1774 * elf32-i370.c: Likewise.
1775 * elf32-i386.c: Likewise.
1776 * elf32-i860.c: Likewise.
1777 * elf32-i960.c: Likewise.
1778 * elf32-ip2k.c: Likewise.
1779 * elf32-iq2000.c: Likewise.
1780 * elf32-m32r.c: Likewise.
1781 * elf32-m68hc11.c: Likewise.
1782 * elf32-m68hc1x.c: Likewise.
1783 * elf32-m68k.c: Likewise.
1784 * elf32-mcore.c: Likewise.
1785 * elf32-mips.c: Likewise.
1786 * elf32-msp430.c: Likewise.
1787 * elf32-openrisc.c: Likewise.
1788 * elf32-ppc.c: Likewise.
1789 * elf32-s390.c: Likewise.
1790 * elf32-sh.c: Likewise.
1791 * elf32-sh64.c: Likewise.
1792 * elf32-sparc.c: Likewise.
1793 * elf32-v850.c: Likewise.
1794 * elf32-vax.c: Likewise.
1795 * elf32-xstormy16.c: Likewise.
1796 * elf32-xtensa.c: Likewise.
1797 * elf64-alpha.c: Likewise.
1798 * elf64-hppa.c: Likewise.
1799 * elf64-mips.c: Likewise.
1800 * elf64-mmix.c: Likewise.
1801 * elf64-ppc.c: Likewise.
1802 * elf64-s390.c: Likewise.
1803 * elf64-sh64.c: Likewise.
1804 * elf64-sparc.c: Likewise.
1805 * elf64-x86-64.c: Likewise.
1806 * elfcode.h: Likewise.
1807 * elflink.h: Likewise.
1808 * elfn32-mips.c: Likewise.
1809 * elfxx-ia64.c: Likewise.
1810 * elfxx-mips.c: Likewise.
1811 * i386linux.c: Likewise.
1812 * ieee.c: Likewise.
1813 * libcoff-in.h: Likewise.
1814 * linker.c: Likewise.
1815 * m68klinux.c: Likewise.
1816 * pdp11.c: Likewise.
1817 * pe-mips.c: Likewise.
1818 * peXXigen.c: Likewise.
1819 * reloc.c: Likewise.
1820 * reloc16.c: Likewise.
1821 * sparclinux.c: Likewise.
1822 * sunos.c: Likewise.
1823 * syms.c: Likewise.
1824 * versados.c: Likewise.
1825 * vms.c: Likewise.
1826 * xcofflink.c: Likewise.
1827 * bfd-in2.h: Regenerate.
1828 * libcoff.h: Regenerate.
1829 * libbfd.h: Regenerate.
1830
55fd94b0
AM
18312003-06-24 Alan Modra <amodra@bigpond.net.au>
1832
d85f2c7d
AM
1833 * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
1834 local sym errors.
1835
55fd94b0
AM
1836 * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
1837 prototypes and casts. Replace PTR with void *. Formatting.
1838 * elf32-ppc.c: Likewise. Break long strings too.
1839 (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
1840 (ppc_elf_unhandled_reloc): Internationalize error message.
1841 * elf32-ppc.h: Remove PARAMS.
1842
88810f8c
MM
18432003-06-23 Mark Mitchell <mark@codesourcery.com>
1844
1845 * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
1846 APUinfo slots.
1847 (ppc_elf_final_write_processing): Likewise.
1848
6e35c4da
L
18492003-06-23 H.J. Lu <hongjiu.lu@intel.com>
1850
1851 * elflink.h (elf_link_input_bfd): Check raw size when using
1852 kept_section to preserve debug information discarded by
1853 linkonce.
1854
8f3bab57
AM
18552003-06-20 Alan Modra <amodra@bigpond.net.au>
1856
1857 * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
1858 (ppc64_elf_setup_section_lists): Set it.
1859 (ppc64_elf_relocate_section): Check sym section id against top_id.
1860 (ppc_build_one_stub): Comment on top_id.
1861
efbc813e
NC
18622003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1863
1864 * config.bfd: Add tic4x-*-rtems*.
1865
4ce794b7
AM
18662003-06-20 Alan Modra <amodra@bigpond.net.au>
1867
1868 * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
1869 prototypes and casts. Replace PTR with void *. Format copyright.
1870 Mention ABI links.
1871 (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
1872 sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
1873 (ppc_type_of_stub): Make r_type an enum.
1874 (ppc64_elf_size_stubs): Likewise.
1875 * elf64-ppc.h: Remove PARAMS macro.
1876
d2a300cf
AM
18772003-06-19 Alan Modra <amodra@bigpond.net.au>
1878
3254fd24
AM
1879 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
1880 elf hash tab fields.
1881
d2a300cf
AM
1882 * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
1883 (ppc64_elf_info_to_howto): Likewise.
1884 (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
1885 * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
1886
83615de0
AM
18872003-06-19 Alan Modra <amodra@bigpond.net.au>
1888
1889 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
1890 reloc overflow on discarded eh_frame entries.
1891
9b5ecbd0
AM
18922003-06-19 Alan Modra <amodra@bigpond.net.au>
1893
1894 * elf64-ppc.c (toc_adjusting_stub_needed): New function.
1895 (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
1896 Return error condition.
1897 (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
1898 that have has_gp_reloc set.
1899 (struct ppc_link_hash_table): Add stub_count.
1900 (ppc_build_one_stub): Increment it.
1901 (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
1902 individual fields.
1903 * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
1904
64c456e1
AM
19052003-06-18 Alan Modra <amodra@bigpond.net.au>
1906
1907 * elflink.h (elf_gc_record_vtentry): Revert last change. Correct
1908 size calculation from addend. Round size up.
1909
3dab95d3
HPN
19102003-06-18 Hans-Peter Nilsson <hp@axis.com>
1911
1912 * elf32-cris.c (cris_elf_relocate_section) <case
1913 R_CRIS_32_GOTREL>: When linking a program, don't complain about a
1914 symbol from a normal object or an undefined weak symbol.
1915
0b13192e
AM
19162003-06-18 Alan Modra <amodra@bigpond.net.au>
1917
1918 * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
1919 R_PPC64_TOC relocs.
1920
f97b9cb8
L
19212003-06-17 H.J. Lu <hongjiu.lu@intel.com>
1922
1923 * section.c (struct sec): Put back kept_section.
1924 (STD_SECTION): Put back kept_section initialization.
1925 * bfd-in2.h: Regenerate.
1926
1927 * elflink.h (elf_link_input_bfd): Also check discarded linkonce
1928 sections for relocateable output. Use kept_section to preserve
1929 debug information discarded by linkonce.
1930
9f1c3a0a
L
19312003-06-17 Roland McGrath <roland@redhat.com>
1932
1933 * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
1934 segment-relative relocation between different segments.
1935
734b6cf9
AM
19362003-06-17 Alan Modra <amodra@bigpond.net.au>
1937
1cf1f670
AM
1938 * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
1939 optimizations earlier.
1940
734b6cf9
AM
1941 * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
1942 Restore previous input_list type.
1943 (ppc64_elf_link_hash_table_create): Undo last change.
1944 (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
1945 per output section, but don't bother with bfd_abs_section marker.
1946 (ppc64_elf_next_input_section): Adjust for multiple input section
1947 lists.
1948 (group_sections): Likewise.
1949
23fbd6fa
JJ
19502003-06-17 Jakub Jelinek <jakub@redhat.com>
1951
1952 * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
1953 *r_offset == r_addend for RELATIVE relocs against .got.
1954
dad27d18
AM
19552003-06-17 Alan Modra <amodra@bigpond.net.au>
1956
1957 * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
1958
b613960a
NC
19592003-06-17 Nick Clifton <nickc@redhat.com>
1960
1961 * elflink.h (elf_gc_record_vtentry): Allocate an extra element
4ce794b7
AM
1962 in the vtable_entries_used array to allow for the accessing
1963 the largest element.
b613960a 1964
000732f7
AM
19652003-06-17 Alan Modra <amodra@bigpond.net.au>
1966
3d6f9012
AM
1967 * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
1968 input_list.
1969 (ppc64_elf_link_hash_table_create): Init input_list here.
1970 (ppc64_elf_setup_section_lists): Remove code setting up input lists
1971 per output section. Set toc_off for abs and other standard sections.
1972 (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
1973 (ppc64_elf_next_input_section): Adjust for single input section list.
1974 Don't set toc_curr from input bfds that haven't set elf_gp.
1975 (group_sections): Adjust for single input section list.
1976
000732f7
AM
1977 * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
1978
81407a69
AM
19792003-06-16 Alan Modra <amodra@bigpond.net.au>
1980
1981 * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
1982 tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
1983 dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
1984 got section for RELATIVE relocs. Fix wrong comment. Change condition
1985 under which dynamic relocs update the section contents.
1986
a06a29f2
NC
19872003-06-13 Robert Millan <zeratul2@wanadoo.es>
1988
1989 * config.bfd: Add i386-netbsd-gnu target.
1990
7d1ebfb2
NC
19912003-06-12 Nick Clifton <nickc@redhat.com>
1992
1993 * opncls.c (calc_crc32): Rename to
1994 bfd_calc_gnu_debuglink_crc32 and export.
81407a69 1995 (GNU_DEBUGLINK): Define and use to replace occurrences of
7d1ebfb2 1996 hard-coded ".gnu_debuglink" in the code.
81407a69 1997 (get_debug_link_info): Prevent aborts by replacing call to
7d1ebfb2 1998 xmalloc with a call to malloc.
81407a69 1999 (find_separate_debug_file): Prevent aborts by replacing calls
7d1ebfb2 2000 to xmalloc and xstrdup with calls to malloc and strdup.
81407a69 2001 (bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
7d1ebfb2
NC
2002 section to a bfd.
2003 * bfd-in2.h: Regenerate.
2004
20052003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 2006
7d1ebfb2
NC
2007 * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
2008 New target (was i[3-7]86-*-openbsd* before).
2009 (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
2010 (vax-*-openbsd*): New target.
2011
d80dcc6a
TS
20122003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2013
2014 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
2015 for n32, too.
2016 (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
2017 (mips_elf_rel_dyn_section): Use appropriate section alignment.
2018 (mips_elf_create_got_section): Likewise.
2019 (_bfd_mips_elf_create_dynamic_sections): Likewise.
2020
a7ebbfdf
TS
20212003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2022
2023 * elf32-mips.c (mips_elf_generic_reloc): New Function.
2024 (elf_mips_howto_table_rel): Use it.
2025 (gprel32_with_gp): Move prototype.
2026 (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2027 Use mips_elf_generic_reloc.
2028 (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
2029 Code cleanup.
2030 (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
2031 zero addend.
2032 (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
2033 as in the other *_gprel*_reloc functions.
2034 (gprel32_with_gp): Handle partial_inplace properly.
2035 (mips32_64bit_reloc): Use mips_elf_generic_reloc.
2036 (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
2037 Do addend handling directly instead of calling
2038 _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
2039 * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
2040 of zero addend. Handle partial_inplace properly.
2041 (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
2042 addend.
2043 (mips_elf64_gprel16_reloc): Likewise.
2044 (mips_elf64_literal_reloc): Likewise.
2045 (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
2046 logic as in the other *_gprel*_reloc functions. Handle
2047 partial_inplace properly.
2048 (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
2049 addend. Handle partial_inplace properly.
2050 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
2051 of calling _bfd_mips_elf_gprel16_with_gp.
2052 * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
2053 (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
2054 of zero addend.
2055 (mips_elf_shift6_reloc): Handle partial_inplace properly.
2056 (mips16_gprel_reloc): Likewise. Do addend handling directly instead
2057 of calling _bfd_mips_elf_gprel16_with_gp.
2058 * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
2059 partial_inplace properly. Fix wrong addend handling. Fix overflow
2060 check.
2061 (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
2062 exported.
2063 (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
2064 (_bfd_mips_elf_relocate_section): Likewise.
2065 (mips_elf_create_dynamic_relocation): Update sec_info_type access.
2066 * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
2067 (_bfd_mips_elf_sign_extend): New prototype.
2068
49ba19a4 20692003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
81407a69 2070
49ba19a4
NC
2071 * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
2072 New target (was sparc-*-openbsd* before).
2073 (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
81407a69 2074
de6e5e1a
NC
2075 * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
2076 * configure: Regenerate.
2077
3b443373
L
20782003-06-11 H.J. Lu <hongjiu.lu@intel.com>
2079
2080 * po/Make-in (DESTDIR): New.
2081 (install-data-yes): Support $(DESTDIR).
2082 (uninstall): Likewise.
2083
795bb480
AM
20842003-06-11 Alan Modra <amodra@bigpond.net.au>
2085
2086 * Makefile.am (config.status): Depend on version.h.
2087 Run "make dep-am".
2088 * Makefile.in: Regenerate.
2089 * po/SRC-POTFILES.in: Regenerate.
2090
adadcc0c
AM
20912003-06-10 Alan Modra <amodra@bigpond.net.au>
2092 Gary Hade <garyhade@us.ibm.com>
2093
2094 * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
2095
f4984206
RS
20962003-06-10 Richard Sandiford <rsandifo@redhat.com>
2097
2098 * archures.c (bfd_mach_h8300sxn): New architecture.
2099 * bfd-in2.h: Regenerate.
2100 * cpu-h8300.c (h8300_scan): Check for 'sxn'.
2101 (h8300sxn_info_struct): New.
2102 (h8300sx_info_struct): Link to it.
2103 * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
2104 (elf32_h8_final_write_processing): Likewise.
2105
ad8e1ba5
AM
21062003-06-08 Alan Modra <amodra@bigpond.net.au>
2107
2108 * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
2109 elfxx-target.h so that we can use elf_backend_got_header_size.
2110 (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
2111 (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
2112 associated macros.
2113 (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
2114 dst_mask.
2115 (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
2116 ppc_stub_plt_branch_r2off.
2117 (struct ppc_stub_hash_entry): Reorganize.
2118 (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
2119 toc_curr, toc_off and emit_stub_syms.
2120 (ppc64_elf_link_hash_table_create): Init them.
2121 (ppc_stub_name): Correct string size.
2122 (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
2123 (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
2124 used.
2125 (ppc_type_of_stub): Tweak root.type test.
2126 (build_plt_stub): Remove glink code. Adjust for insn macro changes.
2127 (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
2128 ppc_stub_plt_branch_r2off.
2129 (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
2130 range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
2131 (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
2132 Initialize elf_gp and toc_curr.
2133 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
2134 (ppc64_elf_next_input_section): Set toc_off.
2135 (group_sections): Ensure groups have the same TOC.
2136 (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
2137 (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
2138 Build new glink stub.
2139 (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
2140 (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
2141 * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
2142 (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
2143 * section.c (struct sec): Rename flag12 to has_gp_reloc.
2144 (STD_SECTION): Update.
2145 * ecoff.c (bfd_debug_section): Update comment.
2146 * bfd-in2.h: Regenerate.
2147
90fff0d4
DJ
21482003-06-05 Daniel Jacobowitz <drow@mvista.com>
2149
2150 * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
2151 NULL function pointers.
2152
c82b20e4
DJ
21532003-06-05 Daniel Jacobowitz <drow@mvista.com>
2154
2155 * simple.c (bfd_simple_get_relocated_section_contents): Call
2156 _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
2157
53d4437a
SS
21582003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
2159
5a5b9651
SS
2160 * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
2161 ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
2162 swaptables.
2163 * coff-tic4x.c: Ditto
53d4437a
SS
2164 * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
2165 and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
5a5b9651
SS
2166 CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
2167 ticoff1_bad_format_hook() functions. Created the coff0 and coff1
2168 swap tables.
53d4437a
SS
2169 * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
2170 * coff-a29k.c: Append COFF_SWAP_TABLE argument
2171 * coff-apollo.c: Ditto
2172 * coff-arm.c: Ditto
2173 * coff-h8300.c: Ditto
2174 * coff-h8500.c: Ditto
2175 * coff-i960.c: Ditto
2176 * coff-m68k.c: Ditto
2177 * coff-m88k.c: Ditto
2178 * coff-mcore.c: Ditto
2179 * coff-sh.c: Ditto
2180 * coff-sparc.c: Ditto
2181 * coff-tic80.c: Ditto
2182 * coff-we32k.c: Ditto
2183 * coff-z8k.c: Ditto
2184 * coff-w65.c: Ditto
2185
736694c8
SS
21862003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
2187
2188 * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
2189 initialization bug
2190
9ee5e499
JJ
21912003-06-03 Jakub Jelinek <jakub@redhat.com>
2192
2193 * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
2194 (bfd_section_from_phdr): Likewise.
2195 (map_sections_to_segments): Create PT_GNU_STACK segment header.
2196 (get_program_header_size): Count with PT_GNU_STACK.
2197 * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
2198 * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
2199
6f6f27f8
L
22002003-06-03 H.J. Lu <hongjiu.lu@intel.com>
2201
2202 * elflink.h (elf_link_input_bfd): Call linker error_handler
2203 for discarded definitions.
2204
a3b6428f
NC
22052003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
2206
2207 * syms.c (decode_section_type): Return 'n' if section flags are
2208 SEC_HAS_CONTENTS && SEC_READONLY.
2209
e30ddb24
NC
22102003-06-03 Nick Clifton <nickc@redhat.com>
2211
2212 * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
2213 R_V850_ABS32. Add entry for R_V850_REL32.
adadcc0c
AM
2214 (v850_elf_reloc_map): Likewise.
2215 (v850_elf_check_relocs): Likewise.
2216 (v850_elf_perform_relocation): Likewise.
2217 (v850_elf_final_link_relocate): Likewise. Include computation
e30ddb24 2218 to make R_V850_REl32 pc-relative.
adadcc0c 2219
2558b9a9
KK
22202003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2221
2222 * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
2223 and DT_DEBUG dynamic tag even for position independent executables.
2224 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
2225
f15398ef
DJ
22262003-06-02 Daniel Jacobowitz <drow@mvista.com>
2227
2228 * config.bfd: Move obsolete entries out of the range of the
2229 targmatch sed script.
2230
cad28985
DJ
22312003-06-02 Daniel Jacobowitz <drow@mvista.com>
2232
2233 * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
2234
f2c822e3
JJ
22352003-05-31 Jakub Jelinek <jakub@redhat.com>
2236
2237 * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
2238 plt entries, not just 8191.
2239
c9c27aad
DJ
22402003-05-30 Daniel Jacobowitz <drow@mvista.com>
2241
2242 * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
2243 Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
2244
36af4a4e
JJ
22452003-05-30 Ulrich Drepper <drepper@redhat.com>
2246 Jakub Jelinek <jakub@redhat.com>
2247
2248 * elflink.h (elf_link_add_object_symbols): Use !info->executable
2249 instead of info->shared where appropriate.
2250 (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
2251 * elflink.c (_bfd_elf_create_got_section): Likewise.
2252 (_bfd_elf_link_create_dynamic_sections): Likewise.
2253 (_bfd_elf_link_assign_sym_version): Likewise.
2254 * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
2255 and DT_DEBUG dynamic tag even for position independent executables.
2256 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
2257 * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
2258 * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
2259 * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
2260 * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
2261 * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
2262 * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
2263 * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
2264 * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
2265
f8843e87
AM
22662003-05-30 Kris Warkentin <kewarken@qnx.com>
2267
2268 * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
2269 signalled thread.
2270 (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
2271
29e1a6e4
NC
22722003-05-29 Nick Clifton <nickc@redhat.com>
2273
2274 * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
2275 Tidy up formatting.
2276 * Makefile.am: Add dependency on safe-ctype.h.
2277 * Makefile.in: Regenerate.
2278
4b555070
TS
22792003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2280
2281 * elfxx-mips.c: Don't force symbols local unconditionally.
2282
0236e03e
L
22832003-05-28 Alan Modra <amodra@bigpond.net.au>
2284
2285 * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
2286 undefined_symbol call.
2287
9e4aeb93
RS
22882003-05-27 Richard Sandiford <rsandifo@redhat.com>
2289
2290 * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
2291 (mips_elf_link_hash_table): Likewise.
2292
d0c728db
TS
22932003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2294
2295 * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
2296 R_MIPS_GNU_REL16_S2 support.
2297 (bfd_elf64_bfd_reloc_type_lookup): Use it.
2298 (mips_elf64_rtype_to_howto): Use it.
2299 * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
2300 R_MIPS_GNU_REL16_S2 support.
2301 (bfd_elf32_bfd_reloc_type_lookup): Use it.
2302 (mips_elf_n32_rtype_to_howto): Use it.
2303
759ebd76
DA
23042003-05-21 Stuart F. Downing <sdowning@fame.com>
2305
2306 * som.h: Define PA_2_0 before including a.out.h
2307
143d77c5
EC
23082003-05-07 Eric Christopher <echristo@redhat.com>
2309 Alexandre Oliva <aoliva@redhat.com>
2310
2311 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
2312 pic tests, change to warning.
2313 (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
2314
cea3d58d
NC
23152003-05-21 Marcus Comstedt <marcus@mc.pp.se>
2316
2317 * config.bfd: Check for a target triplet of shl-...-netbsdelf as
2318 well as shle-...-netbsdelf. Remove duplicate entry.
2319
385a4c14
NC
23202003-05-21 Nick Clifton <nickc@redhat.com>
2321
60e42408
NC
2322 * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
2323 for X_STORMY16_REL_12 reloc.
2324
385a4c14 2325 * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
9b5ecbd0 2326 the type of the hash table in the bfd_link_info structure.
385a4c14
NC
2327 (bfd_elf_get_runpath_list): Likewise.
2328
129b8c20
RM
23292003-05-19 Roland McGrath <roland@redhat.com>
2330
2331 * elf.c (bfd_elf_bfd_from_remote_memory): New function.
2332 * bfd-in.h: Declare it.
2333 * bfd-in2.h: Regenerated.
2334 * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
2335 * elf-bfd.h (struct elf_backend_data): New function pointer member
2336 elf_backend_bfd_from_remote_memory.
2337 (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
2338 Declare them.
2339 * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
2340 (elfNN_bed): Add that to the initializer.
2341
23422003-05-15 Roland McGrath <roland@redhat.com>
2343
2344 * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
2345
22d5e339
L
23462003-05-20 Jakub Jelinek <jakub@redhat.com>
2347
2348 * elflink.h (elf_link_output_extsym): Only issue error about !=
2349 STV_DEFAULT symbols if they are bfd_link_hash_undefined.
2350
23512003-05-20 H.J. Lu <hongjiu.lu@intel.com>
2352
2353 * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
2354 when removing the old definition for symbols with non-default
2355 visibility.
2356
b645cb17
JE
23572003-05-18 Jason Eckhardt <jle@rice.edu>
2358
2359 * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
2360
d2ff124f
AS
23612003-05-17 Andreas Schwab <schwab@suse.de>
2362
2363 * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
2364 elf_section_data during processing of pc-relative and absolute
2365 relocations.
2366 (elf_m68k_relocate_section): Use the cached reloc section instead
2367 of computing it again. Fix handling of visibility. Don't modify
2368 addend when copying over a relocation into the output.
2369
9c7a29a3
AM
23702003-05-17 Alan Modra <amodra@bigpond.net.au>
2371
2372 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
2373 to trim plt entries. Move undefweak non-default visibility test..
2374 (allocate_dynrelocs): ..from here.
2375 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
2376 dynamic_sections_created here. Update comment. Move undefweak
2377 non-default visibility test..
2378 (allocate_dynrelocs): ..from here. Fix comment.
2379 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
2380 to trim plt entries. Move undefweak non-default visibility test..
2381 (allocate_dynrelocs): ..from here. Fix comment.
2382 * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
2383 STV_DEFAULT rather than comparing with zero.
2384 * elflink.c (_bfd_elf_merge_symbol): Likewise.
2385 (_bfd_elf_fix_symbol_flags): Likewise. Format comment.
2386
9bcf4de0
TS
23872003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2388
2389 * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
2390 pointers.
2391 (_bfd_set_gp_value): Likewise.
2392
5d1db417
MS
23932003-05-16 Michael Snyder <msnyder@redhat.com>
2394 From Bernd Schmidt <bernds@redhat.com>
2395 * archures.c (bfd_mach_h8300sx): New.
2396 * bfd-in2.h: Regenerate.
2397 * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
2398 (h8300sx_info_struct): New.
2399 (h8300s_info_struct): Link to it.
2400 * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
2401 (elf32_h8_final_write_processing): Likewise.
2402 (elf32_h8_relax_section): Likewise.
2403
80c7c40a
NC
24042003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
2405
2406 * config.bfd: Accept i[3-7]86 variants.
2407 * configure.host: Likewise.
2408 * configure.in: Likewise.
2409 * configure: Regenerate.
2410
c1be741f
L
24112003-05-15 H.J. Lu <hongjiu.lu@intel.com>
2412
2413 * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
2414 symbol.
2415
a15d9d3a
L
24162003-05-15 H.J. Lu <hongjiu.lu@intel.com>
2417
2418 * elflink.h (elf_link_check_versioned_symbol): Also allow
2419 the base version.
2420
09695f56
AM
24212003-05-15 Alan Modra <amodra@bigpond.net.au>
2422 H.J. Lu <hongjiu.lu@intel.com>
2423
2424 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
2425 (elf_i386_relocate_section): Likewise.
2426 * elf32-ppc.c (allocate_dynrelocs): Likewise.
2427 (ppc_elf_relocate_section): Likewise.
2428 * elf64-ppc.c (allocate_dynrelocs): Likewise.
2429 (ppc64_elf_relocate_section): Likewise.
2430
40f62fa0
TS
24312003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2432
2433 * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
2434
47247ced
SC
24352003-05-13 Stephane Carrez <stcarrez@nerim.fr>
2436
2437 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
2438 processor capability, allow merge of HC12 and HCS12 in some cases.
2439 (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
2440 * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
2441 (bfd_m68hc12_arch): Link it.
2442 (scan_mach): New function.
2443
32dfa85d
AH
24442003-05-13 Andrew Haley <aph@redhat.com>
2445
2446 * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
2447
586119b3
AM
24482003-05-13 Alan Modra <amodra@bigpond.net.au>
2449 H.J. Lu <hongjiu.lu@intel.com>
2450
2451 * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
2452 elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
2453 * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
2454 (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
2455 (ppc_elf_relocate_section): Likewise.
2456 * elf64-ppc.c (allocate_dynrelocs): Likewise.
2457 (ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
2458 (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
2459 relocs need no other types.
2460 * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
2461 dynreloc check.
2462 (elf_i386_relocate_section): Likewise. Use for .got relocs too.
2463 (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
2464 .got relocs.
2465
04e534c3
KK
24662003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2467
2468 * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
2469 copy ELF_LINK_NON_GOT_REF from weakdef.
9b5ecbd0 2470 (allocate_dynrelocs): For undef weak syms with non-default
04e534c3
KK
2471 visibility, a) don't allocate plt entries, b) don't allocate
2472 .got relocs, c) discard dyn rel space
adadcc0c
AM
2473 (sh_elf_relocate_section): d) don't generate .got relocs, e)
2474 don't generate dynamic relocs.
04e534c3
KK
2475 (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
2476 for weakdefs when symbol already adjusted.
2477
0afb2dc0
NC
24782003-05-12 Nick Clifton <nickc@redhat.com>
2479
2480 * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
2481 overflow detection for R_XSTORMY16_16 reloc.
2482
9d29900b
NC
24832003-05-12 Paul Clarke <paulc@senet.com.au>
2484
2485 * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
2486
a48c6a54
JE
24872003-05-11 Jason Eckhardt <jle@rice.edu>
2488
2489 * elf32-i860.c (elf32_i860_relocate_highadj): Properly
2490 adjust upper bits.
2491 (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
2492 proper place.
2493 (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
2494 proper place.
2495
44f745a6
AS
24962003-05-11 Andreas Schwab <schwab@suse.de>
2497
2498 * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
2499 complicated tests for unresolvable relocs with a simple direct
2500 scheme using "unresolved_reloc" var. Report some detail on
2501 bfd_reloc_outofrange and similar errors.
2502
4ec72bde
MS
25032003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2504
2505 * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
2506 Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
2507 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2508 * elf64-s390.c: Likewise.
2509
64285810
MS
25102003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2511
2512 * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
2513 (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
2514 ELF_LINK_NON_GOT_REF from weakdef.
2515 (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
2516 already been adjusted before treating it specially.
2517 * el64-s390.c: Likwise.
2518
82058a73
MS
25192003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
2520
2521 * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
2522 non-default visibility, a) don't make them dynamic, b) discard
2523 space for dynamic relocs.
2524 (elf_s390_relocate_section): Initialize the GOT entries and skip
2525 R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
2526 symbols with non-default visibility.
2527 * elf64-s390.c: Likewise.
2528
60d8b524
AM
25292003-05-09 Alan Modra <amodra@bigpond.net.au>
2530
2531 * cpu-arm.c (arm_check_note): Warning fix.
2532 * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
2533 to keep relocs if edited.
2534 (iq2000_elf_print_private_bfd_data): Return TRUE.
2535 * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
2536 ELF64_R_SYM.
2537 (elfNN_ia64_relax_ldxmov): Warning fix.
2538 * xtensa-isa.c (xtensa_add_isa): Warning fix.
2539 * xtensa-modules.c (get_num_opcodes): Warning fix.
2540
e57b5356
AM
25412003-05-09 Andrey Petrov <petrov@netbsd.org>
2542
2543 * elf.c (elf_fake_sections): Use correct cast for sh_name.
2544
45d6a902
AM
25452003-05-09 Alan Modra <amodra@bigpond.net.au>
2546
2547 * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
2548 elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
2549 (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
2550 (bfd_elf_record_link_assignment): Move from elflink.h.
2551 (_bfd_elf_merge_symbol): Likewise.
2552 (_bfd_elf_add_default_symbol): Likewise.
2553 (_bfd_elf_export_symbol): Likewise.
2554 (_bfd_elf_link_find_version_dependencies): Likewise.
2555 (_bfd_elf_link_assign_sym_version): Likewise.
2556 (_bfd_elf_link_read_relocs): Likewise.
2557 (_bfd_elf_link_size_reloc_section): Likewise.
2558 (_bfd_elf_fix_symbol_flags): Likewise.
2559 (_bfd_elf_adjust_dynamic_symbol): Likewise.
2560 (_bfd_elf_link_sec_merge_syms): Likewise.
2561 (elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
2562 and bed->s->sizeof_rela.
2563 (_bfd_elf_link_output_relocs): Likewise.
2564 * elf-bfd.h (struct elf_size_info): Rename file_align to
2565 log_file_align.
2566 (struct elf_info_failed): Move from elflink.h.
2567 (struct elf_assign_sym_version_info): Likewise.
2568 (struct elf_find_verdep_info): Likewise.
2569 (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
2570 (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
2571 _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
2572 _bfd_elf_link_assign_sym_version,
2573 _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
2574 _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
2575 _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
2576 _bfd_elf_link_sec_merge_syms): Declare.
2577 (bfd_elf32_link_create_dynamic_sections): Don't declare.
2578 (_bfd_elf32_link_read_relocs): Likewise.
2579 (bfd_elf64_link_create_dynamic_sections): Likewise.
2580 (_bfd_elf64_link_read_relocs): Likewise.
2581 * elflink.h: Move lots o' stuff elsewhere.
2582 * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
2583 (bfd_elf64_record_link_assignment): Likewise.
2584 (bfd_elf_record_link_assignment): Declare.
2585 * bfd-in2.h: Regenerate.
2586 * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
2587 (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
2588 * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
2589 (assign_file_positions_for_segments): Likewise.
2590 (assign_file_positions_except_relocs): Likewise.
2591 (swap_out_syms, elfcore_write_note): Likewise.
2592 * elf-m10200.c: Adjust for changed function names.
2593 * elf-m10300.c: Likewise.
2594 * elf32-arm.h: Likewise.
2595 * elf32-h8300.c: Likewise.
2596 * elf32-hppa.c: Likewise.
2597 * elf32-ip2k.c: Likewise.
2598 * elf32-m32r.c: Likewise.
2599 * elf32-m68hc11.c: Likewise.
2600 * elf32-m68hc1x.c: Likewise.
2601 * elf32-m68k.c: Likewise.
2602 * elf32-mips.c: Likewise.
2603 * elf32-ppc.c: Likewise.
2604 * elf32-sh.c: Likewise.
2605 * elf32-v850.c: Likewise.
2606 * elf32-xtensa.c: Likewise.
2607 * elf64-alpha.c: Likewise.
2608 * elf64-hppa.c: Likewise.
2609 * elf64-mmix.c: Likewise.
2610 * elf64-ppc.c: Likewise.
2611 * elf64-sh64.c: Likewise.
2612 * elfxx-ia64.c: Likewise.
2613 * elfxx-mips.c: Likewise.
2614 (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
2615 * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
2616 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
2617 * elf64-mips.c (mips_elf64_size_info): Likewise.
2618 * elf64-s390.c (s390_elf64_size_info): Likewise.
2619 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
2620
bf1e742e
L
26212003-05-08 H.J. Lu <hongjiu.lu@intel.com>
2622
2623 * elflink.h (elf_add_default_symbol): After skipping the
2624 unversioned symbol, go to non-default one.
2625
6a32c710
L
26262003-05-07 H.J. Lu <hongjiu.lu@intel.com>
2627
2628 * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
2629 want_plt field.
2630 (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
2631 for symbols with non-default visibility.
2632
71552942
L
26332003-05-07 H.J. Lu <hongjiu.lu@intel.com>
2634
2635 * elflink.h (elf_link_check_versioned_symbol): Also handle the
2636 case that a DSO references a hidden symbol which may be
2637 satisfied by a versioned symbol in another DSO.
2638 (elf_link_output_extsym): Check versioned definition for hidden
2639 symbol referenced by a DSO.
2640
208c2cd6
NC
26412003-05-07 Nick Clifton <nickc@redhat.com>
2642
2643 * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
2644 R_XSTORMY16_16 reloc to ignore overflows.
2645
aa701218
AO
26462003-05-06 Alexandre Oliva <aoliva@redhat.com>
2647
2648 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
2649 error message for mixing different-endian files. Check for ABI
2650 compatibility of input files with the selected emulation.
2651
4e795f50
AM
26522003-05-05 Alan Modra <amodra@bigpond.net.au>
2653
2654 * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
2655 non-default visibility, a) don't make them dynamic, b) discard
2656 space for dynamic relocs.
2657 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
2658
2659 * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
2660 non-default visibility, a) don't allocate plt entries, b) don't
2661 allocate .got relocs, c) discard dyn rel space,
2662 (ppc_elf_relocate_section): d) don't generate .got relocs, e)
2663 don't generate dynamic relocs.
2664 * elf64-ppc.c (allocate_dynrelocs): As above.
2665 (ppc64_elf_relocate_section): As above.
2666
4bc6e03a
AJ
26672003-05-05 Andreas Jaeger <aj@suse.de>
2668
2669 * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
2670 relocation entries for weak undefined symbols with non-default
2671 visibility.
2672 (elf64_x86_64_relocate_section): Initialize the GOT entries and
2673 skip R_386_32/R_386_PC32 for weak undefined symbols with
2674 non-default visibility.
2675
ef5aade5
L
26762003-05-04 H.J. Lu <hjl@gnu.org>
2677
2678 * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
2679 relocation entries for weak undefined symbols with non-default
2680 visibility.
2681 (elf_i386_relocate_section): Initialize the GOT entries and
2682 skip R_386_32/R_386_PC32 for weak undefined symbols with
2683 non-default visibility.
129b8c20 2684
ef5aade5
L
2685 * elfxx-ia64.c (allocate_fptr): Don't allocate function
2686 descriptors for weak undefined symbols with non-default
2687 visibility.
2688 (allocate_dynrel_entries): Don't allocate relocation entries
2689 for symbols resolved to 0.
2690 (set_got_entry): Don't install dynamic relocation for weak
2691 undefined symbols with non-default visibility.
2692 (set_pltoff_entry): Likewise.
2693
2694 * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
2695 with non-default visibility.
2696 (elf_link_output_extsym): Don't make weak undefined symbols
2697 with non-default visibility dynamic.
2698
c424e0e9
L
26992003-05-04 H.J. Lu <hjl@gnu.org>
2700
2701 * elflink.h (elf_merge_symbol): Correctly handle weak definiton.
2702
d31e3dfe
L
27032003-05-04 H.J. Lu <hjl@gnu.org>
2704
2705 * elflink.h (elf_merge_symbol): Don't record a hidden/internal
2706 symbol dynamic. Check indirection when removing the old
2707 definition for symbols with non-default visibility.
2708 (elf_add_default_symbol): Skip when told by elf_merge_symbol.
2709
4d2e1ff0
NC
27102003-05-02 Nick Clifton <nickc@redhat.com>
2711
2712 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
2713 R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
2714 unsigned overflow.
2715
d40d037c
AJ
27162003-05-02 Andreas Jaeger <aj@suse.de>
2717
2718 * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
2719 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2720 (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
2721 (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
2722 ELF_LINK_NON_GOT_REF from weakdef.
2723
c5d1701e
NC
27242003-05-02 Charles Lepple <clepple@ghz.cc>
2725 Nick Clifton <nickc@redhat.com>
2726
2727 * acinclude.m4: Fix name of --enable-install-libbfd switch.
2728 * aclocal.m4: Regenerate.
2729 * configure: Regenerate.
2730 * Makefile.in: Regenerate.
2731
81848ca0
AM
27322003-05-01 Alan Modra <amodra@bigpond.net.au>
2733
2734 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
2735 weakdef sym has already been adjusted before treating it specially.
2736 * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
2737 ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2738 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
2739 (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
03d14457 2740
c7996ad6
L
27412003-04-28 H.J. Lu <hjl@gnu.org>
2742
2743 * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
2744 the relax finalize pass.
2745
2746 * section.c (struct sec): Add need_finalize_relax and remove
2747 flag11.
2748 (STD_SECTION): Update struct sec initializer.
2749 * bfd-in2.h: Regenerated.
2750
f006af20
L
27512003-04-28 H.J. Lu <hjl@gnu.org>
2752
2753 * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
2754 to copy any information related to dynamic linking when we flip
2755 the indirection.
2756
1b1fe8fe
L
27572003-04-27 H.J. Lu <hjl@gnu.org>
2758
2759 * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
2760 (ELF_LINK_DYNAMIC_WEAK): New.
2761
2762 * elflink.h (elf_merge_symbol): Add one argument to indicate if
2763 a symbol should be skipped. Ignore definitions in dynamic
2764 objects for symbols with non-default visibility.
2765 (elf_add_default_symbol): Adjusted.
2766 (elf_link_add_object_symbols): Check if a symbol should be
2767 skipped. Don't merge the visibility field with the one from
2768 a dynamic object.
2769 (elf_link_check_versioned_symbol): Use undef_bfd.
2770 (elf_link_output_extsym): Warn if a forced local symbol is
2771 referenced from dynamic objects. Make non-weak undefined symbol
2772 with non-default visibility a fatal error.
2773
052a450c
DJ
27742003-04-27 Daniel Jacobowitz <drow@mvista.com>
2775
2776 * configure.in: Bump version on HEAD to 2.14.90.
2777 * configure: Regenerated.
2778
d204f4c0
SC
27792003-04-26 Stephane Carrez <stcarrez@nerim.fr>
2780
2781 PR savannah/3331:
2782 * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
2783 when we couldn't relax something.
2784
3c0a515d
L
27852003-04-25 Alan Modra <amodra@bigpond.net.au>
2786
2787 * elflink.h (elf_merge_symbol): When we find a regular definition
2788 for an indirect symbol, flip the indirection so that the old
2789 direct symbol now points to the new definition.
2790
d145330d
RM
27912003-04-24 Roland McGrath <roland@redhat.com>
2792
2793 * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
2794
fc0bffd6
AM
27952003-04-24 Alan Modra <amodra@bigpond.net.au>
2796
2797 * elf32-ppc.c: Formatting and comment fixes.
2798 (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
2799 (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
2800
28012003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
8d9cd6b1
NC
2802
2803 * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
2804 * bfd-in2.h: Rebuilt.
2805 * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
fc0bffd6 2806 * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
8d9cd6b1
NC
2807 & H8300SNMAGIC.
2808 (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
2809 * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
2810 (h8300sn_info_struct, h8300hn_info_struct): New.
2811 * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
2812 (elf32_h8_final_write_processing): Likewise.
2813
267fb3c1
KK
28142003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2815
2816 * elf32-sh.c (tpoff): New.
2817 (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
2818 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
fc0bffd6 2819 (allocate_dynrelocs): Don't make unnecessary dynamic TLS
267fb3c1 2820 relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
fc0bffd6 2821 (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
267fb3c1
KK
2822 (dtpoff_base): Fix wrong indentation.
2823 (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
2824 relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
2825 R_SH_TLS_TPOFF32 relocations.
2826
ef230218
JR
28272003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
2828
2829 * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
2830 * cpu-sh.c: Likewise.
2831 * elf32-sh.c: Likewise.
2832 * reloc.c (bfd_reloc_code_real): Likewise.
2833 * elf32-sh64-com.c: Change comment to refer to SuperH.
2834 * elf32-sh64.c: Likewise.
2835 * elf64-sh64.c: Likewise.
2836 * bfd-in2.h (enum bfd_architecture): Regenerate.
2837
8c29f035
AM
28382003-04-23 Alan Modra <amodra@bigpond.net.au>
2839
2840 From Julien LEMOINE <speedblue@debian.org>
2841 * elf32-i386.c (elf_i386_info_to_howto): Delete.
2842 (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
2843
26597c86
NC
28442003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2845
2846 * archures.c: Replace references to Mitsubishi M32R with references
2847 to Renesas M32R.
2848 * relocs.c: Likewise.
2849 * bfd-in2.h: Regenerate.
2850
cc13e3ef
RH
28512003-04-21 Richard Henderson <rth@redhat.com>
2852
2853 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
2854 executable when a symbol is defined both regular and dynamic.
2855
f5a6f915
SC
28562003-04-21 Stephane Carrez <stcarrez@nerim.fr>
2857
2858 * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
2859 (elf32-m68hc1x.lo): Update dependencies
2860 * configure.in: Add elf32-m68hc1x.lo.
2861 * configure: Rebuild.
2862 * Makefile.in: Rebuild.
2863
3a65329d
SC
28642003-04-21 Stephane Carrez <stcarrez@nerim.fr>
2865
2866 * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2867 (m68hc11_elf_hash_table_create): New function.
2868 (elf32_m68hc11_link_hash_table_free): New function.
2869 (stub_hash_newfunc): New function.
2870 (m68hc11_add_stub): New function.
2871 (elf32_m68hc11_add_symbol_hook): New function.
2872 (elf32_m68hc11_setup_section_lists): New function.
2873 (elf32_m68hc11_next_input_section): New function.
2874 (elf32_m68hc11_size_stubs): New function.
2875 (elf32_m68hc11_build_stubs): New function.
2876 (m68hc11_get_relocation_value): New function.
2877 (elf32_m68hc11_relocate_section): Call the above to redirect
2878 some relocations to the trampoline code.
2879 (m68hc11_elf_export_one_stub): New function.
2880 (m68hc11_elf_set_symbol): New function.
2881 (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
2882 (m68hc11_elf_get_bank_parameters): Get parameters only when the info
2883 is not yet initialized.
2884
2885 * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2886 (elf32_m68hc11_stub_hash_entry): New struct.
2887 (m68hc11_page_info): Add trampoline handler address.
2888 (m68hc11_elf_link_hash_table): Add stubs generation members.
2889 (elf32_m68hc11_add_symbol_hook): Declare.
2890 (elf32_m68hc11_setup_section_lists): Declare.
2891 (elf32_m68hc11_size_stubs): Declare.
2892 (elf32_m68hc11_build_stubs): Declare.
8c29f035 2893
3a65329d
SC
2894 * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
2895 (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
2896 (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
2897 (_bfd_m68hc11_elf_set_private_flags): Ditto.
2898 (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
2899 (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
2900 (bfd_elf32_bfd_link_hash_table_create): Define.
2901 (elf_backend_add_symbol_hook): Define.
2902 (m68hc11_elf_bfd_link_hash_table_create): New function.
2903 (m68hc11_elf_build_one_stub): New function.
2904 (m68hc11_elf_size_one_stub): New function.
2905 (m68hc11_elf_bfd_link_hash_table_create): Install the above.
2906 (bfd_elf32_bfd_link_hash_table_create): Define.
2907
2908 * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
2909 (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
2910 (m68hc12_phys_addr): Ditto.
2911 (m68hc12_phys_page): Ditto.
2912 (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
2913 (elf32_m68hc11_gc_mark_hook): Likewise.
2914 (elf32_m68hc11_gc_sweep_hook): Likewise.
2915 (elf32_m68hc11_check_relocs): Likewise.
2916 (elf32_m68hc11_relocate_section): Likewise.
2917 (_bfd_m68hc12_elf_set_private_flags): Likewise.
2918 (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
2919 (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
2920 (m68hc12_elf_build_one_stub): New function.
2921 (m68hc12_elf_size_one_stub): New function.
2922 (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
2923 (elf_backend_add_symbol_hook): Define.
2924 (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
2925
4081944f
NC
29262003-04-18 Nick Clifton <nickc@redhat.com>
2927
2928 * format.c (bfd_check_format_matches): Only check associated
2929 vector if the matching_vector has been created.
2930
060dc71d
AO
29312003-04-15 Alexandre Oliva <aoliva@redhat.com>
2932
2933 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
2934 2003-04-09's change.
2935
a3476bef
NC
29362003-04-15 Brian Ford <ford@vss.fsi.com>
2937
2938 * peicode.h (coff_swap_scnhdr_in): If a section holds
2939 uninitialized data and is from an object file or from an
2940 executable image that has not initialized the s_size field, or if
2941 the physical size is padded, use the virtual size (stored in
2942 s_paddr) instead.
2943
ca4fa240
NC
29442003-04-15 H.J. Lu <hjl@gnu.org>
2945
2946 * elflink.h (elf_link_add_object_symbols): Properly report
2947 filename for alignment reduction.
2948
c2dcd04e
NC
29492003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
2950
2951 * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
2952 * reloc.c: Likewise.
2953 * coff-h8300.c: Likewise.
2954 * coff-h8500.c: Likewise.
2955 * coff-sh.c: Likewise.
2956 * cpu-h8300.c: Likewise.
2957 * cpu-sh.c: Likewise.
2958 * elf32-h8300.c: Likewise.
2959 * elf32-sh.c: Likewise.
2960 * elf32-sh64-com.c: Likewise.
2961 * elf32-sh64.c: Likewise.
2962 * elf64-sh64.c: Likewise.
2963 * bfd-in2.h: Regenerate.
2964
f7661995
NC
29652003-04-14 H.J. Lu <hjl@gnu.org>
2966
2967 * elflink.h (elf_link_add_object_symbols): Maintain maximum
2968 alignment for common symbols. Warn reducing alignment for
2969 common symbols. Report old filename when symbol size changes.
2970
93a2b7ae
AO
29712003-04-12 Alexandre Oliva <aoliva@redhat.com>
2972
2973 * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
2974 occurrences of the same test changed in the previous patch.
2975 Optimize.
2976
0176c794
AO
29772003-04-11 Alexandre Oliva <aoliva@redhat.com>
2978
2979 * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
2980 (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
2981 GOT_DISP/addend only if the symbol got a global GOT entry.
2982
0fdc1bf1
AO
29832003-04-10 Alexandre Oliva <aoliva@redhat.com>
2984
2985 * elfxx-mips.c (mips_elf_calculate_relocation): Decay
2986 GOT_PAGE/GOT_OFST referencing overridable symbol to
2987 GOT_DISP/addend.
2988 (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
2989 global symbol as GOT_DISP.
2990
9b8c98a4
BW
29912003-04-10 Bob Wilson <bob.wilson@acm.org>
2992
2993 * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
2994 next relocation on an undefined symbol.
2995
ec1659c8
RH
29962003-04-09 Richard Henderson <rth@redhat.com>
2997
2998 * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
2999 Ignore relocations against r_symndx == 0.
3000
7dfb07f7
L
30012003-04-09 H.J. Lu <hjl@gnu.org>
3002
3003 * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
3004 FALSE for undefined symbols.
3005 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3006
a3805e4e
AO
30072003-04-09 Alexandre Oliva <aoliva@redhat.com>
3008
3009 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
3010 and IRIX-specific shift-to-64-bit 4-byte lengths before following
3011 addr_size.
3012
69931e60
AO
30132003-04-08 Alexandre Oliva <aoliva@redhat.com>
3014
3015 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
3016 pointer size from ABI, not arch_bits_per_address.
3017
59a8c196
KB
30182003-04-07 Kevin Buettner <kevinb@redhat.com>
3019
3020 * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
3021 constants for n32 ABI.
3022
8e16317c
NC
30232003-04-06 Andrew Cagney <cagney@redhat.com>
3024
3025 * simple.c (bfd_simple_get_relocated_section_contents): Disable
3026 free that leads to GDB vs BFD memory corruption.
3027
196486be
SC
30282003-04-04 Stephane Carrez <stcarrez@nerim.fr>
3029
3030 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
3031 symbols that mark the end of the section.
3032 (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
3033 converting to a relative branch so that the offset is computed after
3034 the relaxation; also relocate a jsr into a bsr if possible but don't
3035 relax them if they are to a far symbol as we need to call the
3036 trampoline code.
3037 (elf_m68hc11_howto_table): Set pcrel_offset to true.
3038
be33c5dd
SS
30392003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
3040
3041 * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
3042 bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
3043 * bfd-in2.h: Regenerate
3044 * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
3045 * cpu-tic4x.c: Ditto
3046
ff0c9faf
NC
30472003-04-03 Nick Clifton <nickc@redhat.com>
3048
3049 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
3050 differently for object files and executables.
3051 * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
3052 for object files or for executables who have not already
3053 initialised the field.
3054 * libpei.h (bfd_pe_executable_p): New macro. Return true if
3055 the PE format bfd is an executable.
3056
2b98e6c0
AM
30572003-04-03 Alan Modra <amodra@bigpond.net.au>
3058
3059 * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
3060 here as it's too early to reliably determine locality.
3061 (ppc_elf_gc_sweep_hook): Likewise.
c8b21ee5 3062 (SYMBOL_REFERENCES_LOCAL): Expand comment.
2b98e6c0 3063
92403579
BW
30642003-04-02 Bob Wilson <bob.wilson@acm.org>
3065
3066 * xtensa-modules.c: Remove comment indicating that this is a
3067 generated file.
3068
c45a316a
AM
30692003-04-02 Alan Modra <amodra@bigpond.net.au>
3070
3071 * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
3072
e0001a05
NC
30732003-04-01 Bob Wilson <bob.wilson@acm.org>
3074
8c29f035
AM
3075 * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
3076 (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
3077 (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
3078 xtensa-modules.lo.
3079 (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
3080 xtensa-modules.c.
3081 (cpu-xtensa.lo): New target.
3082 (elf32-xtensa.lo): Likewise.
3083 (xtensa-isa.lo): Likewise.
3084 (xtensa-modules.lo): Likewise.
3085 * Makefile.in: Regenerate.
3086 * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
3087 (bfd_archures_list): Add bfd_xtensa_arch.
3088 * config.bfd: Handle xtensa-*-*.
3089 * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
3090 * configure: Regenerate.
3091 * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
3092 PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
3093 * targets.c (bfd_elf32_xtensa_be_vec): Declare.
3094 (bfd_elf32_xtensa_le_vec): Likewise.
3095 (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
3096 * cpu-xtensa.c: New file.
3097 * elf32-xtensa.c: Likewise.
3098 * xtensa-isa.c: Likewise.
3099 * xtensa-modules.c: Likewise.
3100 * libbfd.h: Regenerate.
3101 * bfd-in2.h: Likewise.
e0001a05 3102
5a6c6817
NC
31032003-04-01 Nick Clifton <nickc@redhat.com>
3104
3105 * archures.c (bfd_mach_arm_unknown): Define.
3106 * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
3107 bfd_arm_get_mach_from_notes): Prototype.
3108 * bfd-in2.h: Regenerate.
3109 * coff-arm.c (coff_arm_merge_private_bfd_data): Call
3110 bfd_arm_merge_machines.
3111 (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
3112 * coffcode.h (coff_set_arch_mach_hook): Call
3113 bfd_arm_get_mach_from_notes.
3114 * coffgen.c (coff_real_object_p): Revert previous delta.
3115 * cpu_arm.c (arm_check_note): New function. Examine a note in a
3116 .note section.
3117 (bfd_arm_merge_machines): New function: Handle the merging of ARM
3118 binaries compiled for different architectures..
3119 (bfd_arm_update_notes): New function: Update an ARM note section.
3120 (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
3121 number from an ARM note section.
3122 * elf32-arm.h (elf32_arm_object_p): Use
3123 bfd_arm_get_mach_from_notes.
3124 (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
3125 (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
8c29f035 3126
0cc1cf99
BE
31272003-04-01 Ben Elliston <bje@wasabisystems.com>
3128
3129 * dwarf2.c (read_attribute_value): Correct typo in comment.
3130
af3ef9fe
NC
31312003-04-01 Nick Clifton <nickc@redhat.com>
3132
3133 * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
3134 instead of concat().
3135 (decode_line_info): Only free filename if it is not NULL.
d63fd5d1
NC
3136 (add_line_info): Make a copy of the filename when storing it into
3137 the info structure.
af3ef9fe 3138
6e84a906
DJ
31392003-03-31 Andreas Schwab <schwab@suse.de>
3140 Daniel Jacobowitz <drow@mvista.com>
3141
3142 * simple.c (bfd_simple_get_relocated_section_contents): Add
3143 parameter symbol_table. Optionally use it instead of the symbol
3144 table from the bfd. Save and restore output offsets and output
3145 sections around bfd_get_relocated_section_contents. Fix a memory
3146 leak.
3147 (simple_save_output_info, simple_restore_output_info): New
3148 functions.
3149 * bfd-in2.h: Regenerate.
3150 * dwarf2.c (read_abbrevs): Use
3151 bfd_simple_get_relocated_section_contents instead of
3152 bfd_get_section_contents.
3153 (decode_line_info): Likewise.
3154 (_bfd_dwarf2_find_nearest_line): Likewise. Don't call
3155 find_rela_addend.
3156 (find_rela_addend): Remove.
3157 * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
3158 debugging sections.
3159 (elfNN_ia64_hash_table_create): Create the hash table with malloc,
3160 not bfd_zalloc.
3161
5ed6aba4
NC
31622003-03-31 David Heine <dlheine@suif.stanford.edu>
3163
3164 * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
3165 bfd_alloc.
3166 * dwarf2.c (concat_filename): Always allocate space for the
3167 returned filename.
3168 (decode_line_info): Free the allocated filename returned by
3169 concat_filename.
3170 * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
3171 * elf.c (copy_private_bfd_data): Likewise.
3172 (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
3173 * elflink.h (elf_link_sort_relocs): Fix memory leak.
3174 * format.c (bfd_check_format_matches): Likewise.
3175 * linker.c (bfd_generic_final_link): Likewise.
3176 * opncls.c (find_separate_debug_info): Likewise.
3177 * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
8c29f035 3178
5941afc1
L
31792003-03-28 H.J. Lu <hjl@gnu.org>
3180
3181 * elflink.h (elf_link_add_object_symbols): Correctly combine
3182 visibilities.
3183
9d73f260
JJ
31842003-03-27 Jakub Jelinek <jakub@redhat.com>
3185
3186 * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
3187 to -1 before recomputing got offsets.
3188
a5ad465a
AS
31892003-03-26 Andreas Schwab <schwab@suse.de>
3190
3191 * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3192 (elf_m68k_relocate_section): Use it to correctly handle symbols
3193 forced to be local.
3194 (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
3195 entries for symbols that are forced to be local.
3196
d0647110
AO
31972003-03-25 Alexandre Oliva <aoliva@redhat.com>
3198
3199 * elfxx-mips.c (_bfd_mips_relax_section): New function.
3200 * elfxx-mips.h (_bfd_mips_relax_section): Declare.
3201 * elfn32-mips.c, elf64-mips.c: Use it.
3202
e16bb312
NC
32032003-03-25 Stan Cox <scox@redhat.com>
3204 Nick Clifton <nickc@redhat.com>
8c29f035 3205
9b5ecbd0 3206 Contribute support for Intel's iWMMXt chip - an ARM variant:
e16bb312
NC
3207
3208 * archures.c: Add bfd_mach_arm_iWMMXt.
3209 * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
3210 * bfd-in2.h: Regenerate.
3211 * libbfd.h: Regenerate.
3212 * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
3213 object files to be linked with XScale ones.
3214 (coff_arm_final_link_postscript): Update note section.
3215 * coffcode.h (coff_set_arch_mach_hook): Handle note section.
3216 * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
3217 after identifying a coff binary.
3218 * cpu-arm.c (processors): Add iWMMXt.
3219 (arch_inf): Likewise.
3220 * elf32-arm.h (arm_object_p): Handle note section.
9b5ecbd0 3221 (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
e16bb312
NC
3222 be linked with XScale ones.
3223 (elf32_arm_section_flags): New function: Set flags on note section.
3224 (elf32_arm_final_write_processing): Handle note section.
3225
25f14c34
DD
32262003-03-21 DJ Delorie <dj@redhat.com>
3227
3228 * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
3229 _bfd_elf_rela_local_sym.
3230
04b3329b
L
32312003-03-20 H.J. Lu <hjl@gnu.org>
3232
3233 * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
3234 non-ELF outputs.
3235
c25cfdf8
NC
32362003-03-20 Nick Clifton <nickc@redhat.com>
3237
3238 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
3239 $idata5 in case bfd_coff_final_link is not called.
3240
3e1d7f19
JJ
32412003-03-19 Jakub Jelinek <jakub@redhat.com>
3242
3243 * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
3244 field.
3245 (canon_reloc_count): Define.
3246 (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
3247 sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
3248 reloc_count.
3249 (sparc64_elf_canonicalize_reloc): New routine.
3250 (bfd_elf64_canonicalize_reloc): Define.
3251
3fa1d917
JJ
32522003-03-18 Jakub Jelinek <jakub@redhat.com>
3253
3254 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
3255 againt mergeable sections. Take r_addend into account when caching
3256 trampolines.
3257
f86b235a
RH
32582003-03-18 Richard Henderson <rth@redhat.com>
3259
8c29f035
AM
3260 * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
3261 local symbols that have no dyninfo.
f86b235a 3262
49ae03bf
NC
32632003-03-14 Gene Smith <gene.smith@siemens.com>
3264
3265 * ieee.c (ieee_write_expression): Handle the case where symbol is
3266 NULL.
3267 General formatting improvements.
3268
6a457e5c
NC
32692003-03-13 Nick Clifton <nickc@redhat.com>
3270
3271 * configure.in (LINGUAS): Add zh_CN.
3272 * configure: Regenerate.
3273 * po/zh_CN.po: New file.
3274
93516ec3
NC
32752003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
3276
3277 * aout-cris.c (BYTES_IN_WORD): Don't define.
3278 aout-encap.c: Likewise.
3279 aout-ns32k.c: Likewise.
3280 aout-tic30.c: Likewise.
3281 hp300bsd.c: Likewise.
3282 i386aout.c: Likewise.
3283 i386dynix.c: Likewise.
3284 i386linux.c: Likewise.
3285 i386lynx.c: Likewise.
3286 i386mach3.c: Likewise.
3287 m68k4knetbsd.c: Likewise.
3288 m68klinux.c: Likewise.
3289 m68klynx.c: Likewise.
3290 m68knetbsd.c: Likewise.
3291 m88kmach3.c: Likewise.
3292 mipsbsd.c: Likewise.
3293 newsos3.c: Likewise.
3294 sparclinux.c: Likewise.
3295 sparclynx.c: Likewise.
3296 sparcnetbsd.c: Likewise.
3297 vaxbsd.c: Likewise. Fix comment formatting.
3298
fee24f1c
AO
32992003-03-12 Alexandre Oliva <aoliva@redhat.com>
3300
0b25d3e6
AO
3301 * Reverted 2003-03-02's patch.
3302
fee24f1c
AO
3303 * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
3304 overridable.
3305 * elf64-mips.c (mips_elf64_canonicalize_reloc,
3306 mips_elf64_get_dynamic_reloc_upper_bound,
3307 mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
3308 (bfd_elf64_get_canonicalize_reloc,
3309 bfd_elf64_get_dynamic_reloc_upper_bound,
3310 bfd_elf64_canonicalize_dynamic_reloc): Define.
3311 (mips_elf64_slurp_reloc_table): Support dynamic.
3312 (mips_elf64_slurp_one_reloc_table): Adjust.
3313
64fb1839
NC
33142003-03-12 Nick Clifton <nickc@redhat.com>
3315
3316 * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
3317 'index' to 'offset' in test for zero value.
3318
908488f1
AO
33192003-03-11 Alexandre Oliva <aoliva@redhat.com>
3320
3321 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
3322 dynamic relocations pointing to local or section symbols, use the
3323 NULL symbol instead. Document the choice to not emit an
3324 additional R_MIPS_64 relocation.
3325
e515b051
AM
33262003-03-11 Alan Modra <amodra@bigpond.net.au>
3327
3328 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
3329 zero index dynamic tls relocs generated for the GOT. Tidy code.
3330 Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
3331 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3332
a23b6845
AM
33332003-03-07 Alan Modra <amodra@bigpond.net.au>
3334
87d243f1
AM
3335 * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
3336 a tls_get_addr call.
3337
a23b6845
AM
3338 * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
3339 (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
3340 ELF_LINK_NON_GOT_REF from weakdef.
3341 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
3342 (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
3343 ELF_LINK_NON_GOT_REF from weakdef.
3344 * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
3345 (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
3346 ELF_LINK_NON_GOT_REF from weakdef.
3347
2d36fe5f
AH
33482003-03-06 Jakub Jelinek <jakub@redhat.com>
3349 Andrew Haley <aph@redhat.com>
3350
3351 * elflink.h (elf_bfd_discard_info): Don't process eh frames if
3352 output is relocateable.
3353
34f304a7
NC
33542003-03-06 Steven Konopa <skonopa@kgo.csc.com>
3355
3356 * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
3357 R_COMMENT.
3358
7b609f53
AM
33592003-03-06 Alan Modra <amodra@bigpond.net.au>
3360
3361 * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
3362 error messages.
3363 (ELIMINATE_COPY_RELOCS): Define to zero.
3364 (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
3365 TLSLD relocs. Report reloc types on a number of errors. Optimize
3366 LOCAL24PC check for non-local syms. Don't capitalize error messages.
3367 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
3368 (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
3369 calculating TLSLD relocs. Report reloc types on a number of errors.
3370 Don't capitalize error messages.
3371
6a0fb186
L
33722003-03-03 H.J. Lu <hjl@gnu.org>
3373
3374 * elfxx-ia64.c (USE_BRL): Removed.
3375 (oor_ip): Removed.
3376
34f304a7 33772003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
bdfaef52
JR
3378
3379 * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
3380 relocation (no special function), and make it non-partial_inplace.
3381 (sh_elf_relax_section): When creating a bsr, use a consistent value
3382 no matter if the symbol is extern or not; set addend to -4.
3383 Don't swap load / non-load instructions for SH4.
3384 (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
3385 rather than if the symbol is external to determine if adjusting the
3386 offset makes sense. Adjust the addend too if appropriate.
3387 (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
3388 relocation.
3389
a9d68a1e
NC
33902003-03-03 Nick Clifton <nickc@redhat.com>
3391
3392 * po/da.po: Installed latest translation.
3393
7c2be35c
TS
33942003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3395
3396 * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
3397 R_MIPS_PC16 to rightshift 2.
3398 (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
3399 (bfd_elf32_bfd_reloc_type_lookup): Support
3400 BFD_RELOC_MIPSEMB_16_PCREL_S2.
3401 * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
3402 R_MIPS_PC16 to rightshift 2.
3403 (mips_elf64_howto_table_rela): Likewise.
3404 (mips_reloc_map): Map to rightshifted BFD reloc.
3405 * elfn32-mips.c: The same as in elf64-mips.c.
3406 * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
3407 (mips_elf_calculate_relocation): Handle rightshifted addends for
3408 R_MIPS_PC16.
3409 * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
3410 MIPS Embedded PIC. Remove superfluous empty COMMENT.
3411 * libbfd.h: Regenerate.
3412 * bfd-in2.h: Regenerate.
3413
484a4f9c
RH
34142003-02-28 Richard Henderson <rth@redhat.com>
3415
3416 * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
3417 for ltoff22x relaxation.
3418
2ce40c65
AM
34192003-03-01 Alan Modra <amodra@bigpond.net.au>
3420
3421 * bfd-in.h (_bfd): Don't define.
3422 * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
3423 * syms.c: Likewise.
3424 * bfd-in2.h: Regenerate.
3425
2c4c2bc0
RH
34262003-02-27 Richard Henderson <rth@redhat.com>
3427
3428 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
3429 (elfNN_ia64_check_relocs): Set it.
3430 (allocate_global_data_got): Check it.
3431 (allocate_local_got): Likewise.
3432 (allocate_dynrel_entries): Likewise.
3433 (elfNN_ia64_relax_ldxmov): New.
3434 (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
3435 (elfNN_ia64_choose_gp): Split out from ...
3436 (elfNN_ia64_final_link): ... here.
8c29f035 3437
c2852e88
AC
34382003-02-27 Andrew Cagney <cagney@redhat.com>
3439
3440 * bfd.c (struct bfd): Rename "struct _bfd".
3441 * bfd-in.h: Update copyright.
3442 (struct bfd): Rename "struct _bfd".
3443 (_bfd): Define for backward compatibility.
3444 * bfd-in2.h: Regenerate.
3445
3f87cb70
AM
34462003-02-25 Alan Modra <amodra@bigpond.net.au>
3447
3f9a32bd
AM
3448 * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
3449 and rel_hdr2 when initially counting input relocs rather than after
3450 creating output reloc sections.
4fabe71e
AM
3451 (elf_link_read_relocs_from_section): Don't abort with wrong reloc
3452 sizes.
3f9a32bd 3453
3f87cb70
AM
3454 * Makefile.am: Run "make dep-am".
3455 * Makefile.in: Regenerate.
3456
07c6e936
NC
34572003-02-24 Kris Warkentin <kewarken@qnx.com>
3458
3459 * elf.c (elfcore_read_notes): Add check for QNX style core file.
3460 (elfcore_grog_nto_note): New function.
3461 (elfcore_grog_nto_gregs): New function.
3462 (elfcore_grog_nto_status): New function.
3463
aad5d350
AM
34642003-02-24 Alan Modra <amodra@bigpond.net.au>
3465
3466 * elflink.c (_bfd_elf_create_got_section): Check existing .got
3467 section flags before concluding that we've already been called.
3468 Don't use register keyword.
3469 (_bfd_elf_create_dynamic_sections): Don't use register keyword.
3470 (_bfd_elf_create_linker_section): Formatting.
3471
2ab1486e
NC
34722003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
3473
3474 * coff-h8300.c: Fix typo: intial -> initial.
3475 * coff-ppc.c: Likewise.
3476
70bccea4
AM
34772003-02-20 Alan Modra <amodra@bigpond.net.au>
3478
3479 * elf32-ppc.c: Formatting.
3480 (allocate_dynrelocs): LD and GD relocs against the same sym need
3481 separate GOT entries.
3482 (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
3483 entries per symbol.
3484
ee05f2fe
AM
34852003-02-19 Alan Modra <amodra@bigpond.net.au>
3486
26e41594
AM
3487 * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
3488 removal. Localize vars. Remove unnecessary dynobj test.
3489 * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
3490 of INFO.
3491 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3492 and optimize.
3493 (elf_i386_relocate_section): Likewise.
3494 (elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
3495 * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
3496 * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
3497 * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
3498 * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
3499 * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
3500 local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
3501 or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
3502 Formatting.
3503
f4656909
AM
3504 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
3505 (ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
3506 test.
3507 (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
3508 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3509 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3510 and optimize. Use ELIMINATE_COPY_RELOCS.
3511 (ppc64_elf_relocate_section): Likewise.
3512
ee05f2fe
AM
3513 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
3514 (ppc_elf_copy_indirect_symbol): Copy pc_count field.
3515 (ELIMINATE_COPY_RELOCS): Define.
3516 (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
3517 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3518 (MUST_BE_DYN_RELOC): Define.
3519 (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3520 and optimize. Trim dyn_relocs.
3521 (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
3522 not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
3523 track of pc_rel dyn relocs.
3524 (ppc_elf_relocate_section): Remove "will_become_local". Adjust
3525 WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
3526 allocate_dynrelocs. Don't recalculate "sec".
3527
7619e7c7
AM
35282003-02-18 Alan Modra <amodra@bigpond.net.au>
3529
d881513a
AM
3530 * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
3531 * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
3532 on invalid LD relocs.
3533 (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
3534 (ppc64_elf_relocate_section): Unify new handling of LD relocs and
3535 tlsld_got entry. Use IS_PPC64_TLS_RELOC.
3536
7619e7c7
AM
3537 * elf32-ppc.h: New file.
3538 * elf32-ppc.c: Include elf32-ppc.h.
3539 (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
3540 (struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
3541 Add "tls_mask" field.
3542 (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
3543 (struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
3544 Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
3545 sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
3546 Make use of htab shortcuts throughout file.
3547 (ppc_elf_link_hash_newfunc): Init tls_mask field.
3548 (ppc_elf_link_hash_table_create): Init new fields.
3549 (ppc_elf_copy_indirect_symbol): Copy tls_mask.
3550 (ppc_elf_howto_raw): Add tls relocs.
3551 (ppc_elf_reloc_type_lookup): Handle them.
3552 (ppc_elf_unhandled_reloc): New function.
3553 (ppc_elf_create_got): Stash got section pointer in hash table,
3554 return status. Make .rela.got too.
3555 (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
3556 (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
3557 NON_GOT_REF set. Don't allocate space in .plt here..
3558 (allocate_dynrelocs): ..do so here instead, properly ref-counting and
3559 not allocating plt entries unnecessarily. Allocate got entries here.
3560 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3561 (ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
3562 "info" during allocate_dynrelocs hash traversal. Use htab section
3563 shortcuts rather than searching for named sections. Get rid of
3564 "plt" and "strip" booleans.
3565 (update_local_sym_info, bad_shared_reloc): New functions.
3566 (ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
3567 ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
3568 in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
3569 Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
3570 R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
3571 in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
3572 relocs that might use a plt entry. Set NON_GOT_REF too.
3573 Enumerate all do-nothing relocs.
3574 (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
3575 tls relocs and all plt relocs.
3576 (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
3577 (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
3578 (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
3579 shortcuts.
3580 (ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
3581 bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
3582 entries and got relocs here. Warn on non-zero got reloc addend.
3583 Split out branch taken/not taken reloc code into a separate switch
3584 and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
3585 Split out HA reloc adjustments to separate switch statement. Don't
3586 warn on reloc overflow if we've already warned about undefined.
3587 Don't rebuild sym name when reporting errors. Report all possible
3588 errors from _bfd_final_link_relocate.
3589 (bfd_elf32_bfd_final_link): Don't define.
3590
cd27b276
AM
35912003-02-18 Alan Modra <amodra@bigpond.net.au>
3592
3593 * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
3594 rebuild sym name when reporting errors.
3595
ae9a127f
NC
35962003-02-17 Nick Clifton <nickc@redhat.com>
3597
3f9a32bd 3598 * elflink.h (elf_link_output_extsym): Only check
ae9a127f
NC
3599 allow_shlib_undefined for shared libraries.
3600 * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
3601 of allow_shlib_undefined.
3602 * elf32-cris.c (cris_elf_relocate_section): Likewise.
3603 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3604 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3605 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3606 * elf32-s390.c (elf_s390_relocate_section): Likewise.
3607 * elf32-sh.c (sh_elf_relocate_section): Likewise.
3608 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3609 * elf32-vax.c (elf_vax_relocate_section): Likewise.
3610 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3611 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
3612 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3613 * elf64-s390.c (elf_s390_relocate_section): Likewise.
3614 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3615 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3616 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3617 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
3618
b5f852ea
NC
36192003-02-17 Nick Clifton <nickc@redhat.com>
3620
3621 * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
3622 address field to use in the comparison.
3f9a32bd 3623 (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
b5f852ea 3624
3193e234
NC
36252003-02-14 Bob Wilson <bob.wilson@acm.org>
3626
3627 * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
3628 backends when checking if the generic ELF target should be used.
3629
21efdc8d
NC
3630 * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
3631 outside of functions, treat values as absolute addresses.
3632
ed781d5d
NC
3633 * bfd.c: Change embedded documentation to use consistent indentation
3634 and to split up long lines. Change informal style of description
3635 for functions lacking real documentation.
3636 * coffcode.h: Break up long lines in embedded documentation.
3637 * format.c: Likewise.
3638 * targets.c: Likewise.
3639 * libcoff.h: Regenerate.
3640 * bfd-in2.h: Regenerate.
3641
58ac9f71
AM
36422003-02-14 Alan Modra <amodra@bigpond.net.au>
3643
3644 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
3645 (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
3646 (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
3647 (allocate_dynrelocs): Don't treat undefined and undefweak specially.
3648 (ppc_size_one_stub): Fix warning, and tighten plt entry check.
3649 (group_sections): Don't share a stub section if stubs are for a large
3650 section. Adjust comment.
3651 (ppc64_elf_size_stubs): Roughly double the size left for stubs if
3652 !stubs_always_before_branch.
3653 (ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
3654 treat undefined and undefweak specially when processing dyn relocs.
3655
9147e853
JJ
36562003-02-13 Jakub Jelinek <jakub@redhat.com>
3657
3658 * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
3659
427bfd90
NC
36602003-02-13 Nick Clifton <nickc@redhat.com>
3661
3662 * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
3663 in computation of offset to insert into BL instruction.
3664
42b5d0ea
NC
36652003-02-11 Uwe Stieber <uwe@wwws.de>
3666
3667 * config.bfd: Add support for kaOS as cross build target system.
3668
a48ebf4d
AM
36692003-02-11 Alan Modra <amodra@bigpond.net.au>
3670
3671 * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
3672 .__tls_get_addr too.
3673 (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
3674
c95b8a7a
KK
36752003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
3676
3677 * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
3678 (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
3679 (sh_elf_link_hash_newfunc): Remove the initialization of
3680 tls_tpoff32 field.
3681 (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
3682 for which tls_tpoff32 flag is set.
3683 (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
3684 of the symbol includes the entry matched with the input_section
3685 and having tls_tpoff32 flag on. When linking statically, set
3686 symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
3687 is defined in this executable.
3688 (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
3689
a779acda
JJ
36902003-02-10 Jakub Jelinek <jakub@redhat.com>
3691
3692 * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
3693 even if there is just non-empty .rela.plt.
3694
fde78edd
NC
36952003-02-10 Nick Clifton <nickc@redhat.com>
3696
3697 * archures.c (bfd_mach_arm_ep9312): Define.
3698 * bfd-in2.h: Regenerate.
3699 * cpu-arm.c (processors[]): Add ep9312.
3700 (bfd_arm_arch): Add ep9312.
3701 * elf32-arm.h (elf32_arm_merge_private_data): Update error
3702 messages and add test for Maverick floating point support.
3703 (elf32_arm_print_private_bfd_data): Handle
3704 EF_ARM_MAVERICK_FLOAT flag.
c178919b
NC
3705 (elf32_arm_object_p): New function.
3706 (elf_backend_object_p): Define.
fde78edd 3707
e7b938ca
AM
37082003-02-10 Alan Modra <amodra@bigpond.net.au>
3709
3710 * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
3711 variables, structure fields or function params to tls_mask or
3712 similar to better reflect usage.
3713 (struct got_entry): Comment.
9b5ecbd0 3714 (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
e7b938ca
AM
3715 (get_tls_mask): Rename from get_tls_type.
3716
951fd09b
AM
37172003-02-09 Alan Modra <amodra@bigpond.net.au>
3718
3719 * elf64-ppc.c (TLS_GD_LD): Don't define..
3720 (TLS_GD): ..define this instead and update all uses.
3721 (TLS_TPRELGD): Define.
3722 (ppc64_elf_link_hash_table_create): Tweak initialization of
3723 init_refcount and init_offset.
3724 (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
3725 Mark second slot of GD or LD toc entries.
3726 (get_tls_type): Return an int. Distinguish toc GD and LD entries
3727 from other tls types.
3728 (ppc64_elf_tls_setup): New function, split out from..
3729 (ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
3730 defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
3731 on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
3732 return value to properly decide whether toc GD and LD entries can
3733 optimize away __tls_get_addr call. Check next reloc after DTPMOD64
3734 to determine GD or LD rather than looking at TLS_LD flag. Don't
3735 attempt to adjust got entry tls_type here..
3736 (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
3737 look for possible merges.
3738 (ppc64_elf_size_dynamic_sections): Adjust local got entries for
3739 optimization.
3740 (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
3741 (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
3742 Make use of return value from get_tls_type to properly detect GD and
3743 LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
3744 handle tls_get_addr removal when looking at REL24 relocs, do it when
3745 looking at the previous reloc. Check reloc after DTPMOD64 to determine
3746 GD or LD.
3747 * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
3748
acc990f2
AM
37492003-02-08 Alan Modra <amodra@bigpond.net.au>
3750
00b28bb0
AM
3751 * elf32-hppa.c (group_sections): Don't share a stub section if
3752 stubs are for a large section.
3753
acc990f2
AM
3754 * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
3755 stubs if !stubs_always_before_branch.
3756
589e6347
NC
37572003-02-07 Nick Clifton <nickc@redhat.com>
3758
3759 * elf.c (swap_out_syms): Generate an error message if an
3760 equivalent output section cannot be found for a symbol.
3761
c328dc3f
JJ
37622003-02-07 Jakub Jelinek <jakub@redhat.com>
3763
3764 * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
3765 local_got_entries is NULL.
3766
84f97cb6
AS
37672003-02-06 Andreas Schwab <schwab@suse.de>
3768
3769 * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
3770 (read_value): Add parameter is_signed, use signed extraction if
3771 the value is signed.
3772 (_bfd_elf_write_section_eh_frame): Pass signed flag of the
3773 encoding to read_value.
3774
6349e628
AM
37752003-02-06 Alan Modra <amodra@bigpond.net.au>
3776
3777 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
3778 plt info when called to transfer weak sym info.
3779
411e1bfb
AM
37802003-02-05 Alan Modra <amodra@bigpond.net.au>
3781
3782 * reloc.c: Add PPC and PPC64 TLS relocs.
3783 * libbfd.h: Regenerate.
3784 * bfd-in2.h: Regenerate.
3785 * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
3786 (ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
3787 against a 32 bit field.
3788 (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
3789 (_ppc64_elf_section_data): Add t_symndx and comments.
3790 (ppc64_elf_section_data): Use elf_section_data macro.
3791 (ppc64_elf_new_section_hook): American spelling.
3792 (struct got_entry, struct plt_entry): New.
3793 (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
3794 (struct ppc_stub_hash_entry): Add "addend" field.
3795 (struct ppc_link_hash_entry): Add "tls_type".
3796 (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
3797 TLS_EXPLICIT): Define.
3798 (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
3799 (link_hash_newfunc): Init new fields.
58ac9f71 3800 (ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
411e1bfb
AM
3801 init_offset to NULL.
3802 (ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
3803 _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
3804 there.
3805 (update_local_sym_info, update_plt_info): New functions.
3806 (ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
3807 handling to use got.glist rather than got.refcount. Likewise for PLT.
3808 (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
3809 (func_desc_adjust): Adjust for new PLT list.
3810 (ppc64_elf_adjust_dynamic_symbol): Likewise.
3811 (get_sym_h, get_tls_type): New functions.
3812 (ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
3813 (ppc64_elf_tls_optimize): New function.
3814 (allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
3815 TLS relocs.
3816 (ppc64_elf_size_dynamic_sections): Likewise.
3817 (ppc_type_of_stub): Adjust for new PLT list.
3818 (ppc_build_one_stub): Likewise.
3819 (ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
3820 calls specially.
3821 (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
3822 TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
3823 init GOT entries that have a reloc. Generate GOT relocs here..
3824 (ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
3825 * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
3826
0cca5f05
AS
38272003-02-04 Andreas Schwab <schwab@suse.de>
3828
3829 * elf32-m68k.c (elf_m68k_hash_entry): Define.
3830 (elf_m68k_link_hash_traverse): Remove.
3831 (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
3832 elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
3833 reduce casting.
3834 (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
3835 casting.
3836 (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
3837 instead of elf_m68k_link_hash_traverse.
3838 (elf_m68k_discard_copies): Change first parameter to pointer to
3839 struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
3840 elf_m68k_link_hash_entry is needed.
3841
5cab59f6
AM
38422003-02-04 Alan Modra <amodra@bigpond.net.au>
3843
3844 * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
3845 (struct elf_link_hash_entry): Add "glist" and "plist" fields to
3846 "got" union, and declare as gotplt_union. Use gotplt_uinion for
3847 "plt" field.
3848 (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
3849 Add "init_offset" field.
3850 (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
3851 (elf_local_got_ents): Declare.
3852 * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
3853 and "plt".
3854 (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
3855 (_bfd_elf_link_hash_table_init): Set "init_offset".
3856 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
3857 from init_offset.
3858 (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
3859
3860 * elf.c (bfd_elf_local_sym_name): Split out from..
3861 (group_signature): ..here.
3862 * elf-bfd.h (bfd_elf_local_sym_name): Declare.
3863
68bfbfcc
AM
38642003-02-04 Alan Modra <amodra@bigpond.net.au>
3865
3866 * elf-bfd.h (enum elf_link_info_type): Remove.
3867 (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
3868 to struct sec. Remove linkonce_p field.
3869 (elf_linkonce_p): Delete.
3870 (elf_discarded_section): Update for sec_info_type change.
3871 * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
3872 flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
3873 (ELF_INFO_TYPE_NONE): Define.
3874 (ELF_INFO_TYPE_STABS): Define.
3875 (ELF_INFO_TYPE_MERGE): Define.
3876 (ELF_INFO_TYPE_EH_FRAME): Define.
3877 (ELF_INFO_TYPE_JUST_SYMS): Define.
3878 (STD_SECTION): Update struct sec initializer.
3879 * ecoff.c (bfd_debug_section): Likewise.
3880 * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
3881 * elflink.h: Likewise.
3882 * elf-eh-frame.c: Likewise.
3883 * elf64-alpha.c: Likewise.
3884 * elfxx-ia64.c: Likewise.
3885 * elfxx-mips.c: Likewise.
3886 * bfd-in2.h: Regenerate.
3887
3888 * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
3889 referring to used_by_bfd.
3890 * elf64-sparc.c (sec_do_relax): Likewise.
3891 * elf64-mmix.c (mmix_elf_section_data): Likewise.
3892 * elfxx-mips.c (mips_elf_section_data): Likewise.
3893 * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
3894 (ieee_get_section_contents): Likewise.
3895 (ieee_new_section_hook): Formatting.
3896 (ieee_canonicalize_reloc): Remove commented out code.
3897 * mmo.c (mmo_section_data): Define. Use throughout file.
3898 * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
3899
31f7ba04
NC
39002003-01-31 Graydon Hoare <graydon@redhat.com>
3901
3902 * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
3903 * Makefile.in: Regenerate.
3904 * opncls.c (calc_crc32, get_debug_link_info,
3905 seperate_debug_file_exists, find_seperate_debug_file): New
3906 internal functions.
3907 (bfd_follow_gnu_debuglink): New function. Follow the pointer
3908 contained inside a .gnu_debuglink section.
3909 * bfd-in2.h: Regenerate.
3910
38985a1c
AO
39112003-01-29 Alexandre Oliva <aoliva@redhat.com>
3912
3913 * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
3914 entry->abfd when it's NULL.
3915
4bb9a95f
AO
39162003-01-27 Alexandre Oliva <aoliva@redhat.com>
3917
3918 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
3919 _bfd_elf_section_offset returning -2 the same way as -1.
3920
f4416af6
AO
3921 * elfxx-mips.c (mips_elf_multi_got): New function.
3922 (struct mips_got_entry): Make symndx and gotidx signed. Moved
3923 addend into union along with address and link hash entry.
3924 (struct mips_got_info): Added bfd2got and next.
3925 (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
3926 (mips_elf_got_section, mips_elf_create_got_section): Use
3927 SEC_EXCLUDE bit to tell whether we really need the got
3928 section. Take boolean arguments to disregard an excluded
3929 section, or to create it as excluded. Adjust all callers.
3930 Use mips_elf_got_section all over.
3931 (mips_elf_local_got_index, mips_elf_got_page,
3932 mips_elf_got16_entry): Take input bfd as argument, and pass it
3933 on to mips_elf_create_local_got_entry.
3934 (mips_elf_global_got_index, mips_elf_create_local_got_entry):
3935 Take input bfd as argument, and manage entries in the
3936 appropriate GOT.
3937 (mips_elf_got_offset_from_index): Take input bfd as argument,
3938 and use it to adjust the GP offset of the bfd.
3939 (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
3940 unreferenced GOT entries of global symbols to the end.
3941 (mips_elf_record_global_got_symbol): Take input bfd as
3942 argument. Add entries to the master GOT hash table.
3943 (struct mips_elf_bfd2got_hash): New.
3944 (struct mips_elf_got_per_bfd_arg): New.
3945 (struct mips_elf_set_global_got_offset_arg): New.
3946 (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
3947 mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
3948 mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
3949 mips_elf_merge_gots, mips_elf_set_global_got_offset,
3950 mips_elf_resolve_final_got_entry,
3951 mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
3952 mips_elf_got_for_ibfd): New functions.
3953 (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
3954 (MIPS_ELF_GOT_MAX_SIZE): New macro.
3955 (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
3956 (mips_elf_got_entry_hash): Take new fields into account. Use
3957 mips_elf_hash_bfd_vma.
3958 (mips_elf_got_entry_eq): Take new fields into account.
3959 (mips_elf_create_got_section): Initialize new fields.
3960 (mips_elf_calculate_relocation): Pass input_bfd to functions
3961 that now take it. Adjust gp for the input_bfd.
3962 (mips_elf_allocate_dynamic_relocation,
3963 mips_elf_create_dynamic_relocation,
3964 _bfd_mips_elf_create_dynamic_sections): Use...
3965 (mips_elf_rel_dyn_section): New function. Borrow code from...
3966 (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
3967 now take it. Create the got section if needed, even if
3968 excluded, before recording a global got symbol. Move some
3969 code to...
3970 (mips_elf_record_local_got_symbol): New fn.
3971 (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
3972 Compute multi-got global entries offsets. Move GOT code to...
3973 (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
3974 if the GOT is too big.
3975 (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
3976 undefweak symbol to zero. Generate dynamic relocations for
3977 non-primary GOT entries for global symbols.
3978 (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
3979 case. Generate dynamic relocations for local got entries.
3980 Sort dynamic relocations on N64 too, using...
3981 (sort_dynamic_relocs_64): New fns.
3982 (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
3983 (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
3984
52b69c9e
AO
39852003-01-27 Alexandre Oliva <aoliva@redhat.com>
3986
3987 * bfd.c (struct _bfd): Added id field.
3988 * opncls.c (_bfd_id_counter): New static variable.
3989 (_bfd_new_bfd): Use it.
3990 * bfd-in2.h: Rebuilt.
3991
71e5db1c
AM
39922003-01-25 Alan Modra <amodra@bigpond.net.au>
3993
3994 * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
3995
b9734f35
JJ
39962003-01-25 Jakub Jelinek <jakub@redhat.com>
3997
3998 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
3999 (elf32_sparc_rev32_howto): New variable.
4000 (sparc_reloc_map): Add TLS relocs.
4001 (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
4002 Handle REV32.
4003 (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
4004 New functions.
4005 (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
4006 struct elf32_sparc_link_hash_table):
4007 New structures.
4008 (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
4009 elf32_sparc_hash_table): Define.
4010 (link_hash_newfunc, elf32_sparc_link_hash_table_create,
4011 create_got_section, elf32_sparc_create_dynamic_sections,
4012 elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
4013 functions.
4014 (elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
4015 reference counting.
4016 (elf32_sparc_gc_sweep_hook): Likewise.
4017 (elf32_sparc_adjust_dynamic_symbol): Likewise.
4018 (elf32_sparc_size_dynamic_sections): Likewise.
4019 (elf32_sparc_relocate_section): Likewise.
4020 (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
4021 New functions.
4022 (elf32_sparc_object_p): Allocate backend private object data.
4023 (bfd_elf32_bfd_link_hash_table_create,
4024 elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
4025 elf_backend_can_refcount): Define.
4026 (elf_backend_create_dynamic_sections): Define to
4027 elf32_sparc_create_dynamic_sections.
4028 * reloc.c: Add SPARC TLS relocs.
4029 * bfd-in2.h, libbfd.h: Rebuilt.
4030 * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
4031 (sparc_reloc_map): Likewise.
4032
69fc87f1
MS
40332003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
4034
4035 * bfd-in2.h: Regenerate.
4036 * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
4037 s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
4038 (elf_howto_table): Add TLS relocs.
4039 (elf_s390_reloc_type_lookup): Likewise.
4040 (elf_s390_link_hash_entry): Add tls_type.
4041 (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
4042 New macros.
4043 (elf_s390_link_hash_table): Add tls_ldm_got.
4044 (link_hash_newfunc): Initialize tls_type.
4045 (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
4046 (elf_s390_copy_indirect_symbol): Copy tls_type information.
4047 (elf_s390_check_relocs): Support TLS relocs.
4048 (elf_s390_gc_sweep_hook): Likewise.
4049 (allocate_dynrelocs): Likewise.
4050 (elf_s390_size_dynamic_sections): Likewise.
4051 (elf_s390_relocate_section): Likewise.
4052 (elf_s390_finish_dynamic_symbol): Likewise.
4053 (bfd_elf32_mkobject): Define for TLS.
4054 * elf64-s390.c: Same changes as for elf32-s390.c.
4055 * libbfd.h: Regenerate.
4056 * reloc.c: Add s390 TLS relocations.
4057
c5d1701e 40582003-01-24 Charles Lepple <clepple@ghz.cc>
9aa4e505
NC
4059
4060 * aclocal.m4: Fix name of --enable-install-libbfd switch.
4061
5177500f
NC
40622003-01-23 Nick Clifton <nickc@redhat.com>
4063
4064 * Add sh2e support:
5177500f 4065 2002-04-02 Elena Zannoni <ezannoni@redhat.com>
9b5ecbd0
AM
4066 * archures.c (bfd_mach_sh2e): Added.
4067 * bfd-in2.h: Rebuilt.
4068 * cpu-sh.c (arch_info_struct): Added SH2e.
4069 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
5177500f 4070
f0abc2a1
AM
40712003-01-23 Alan Modra <amodra@bigpond.net.au>
4072
4073 * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
4074 dynindx to an int. Rearrange for better packing.
4075 * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
4076 * elf32-mips.c (bfd_elf32_new_section_hook): Define.
4077 * elf32-sh64.h: New. Split out from include/elf/sh.h.
4078 (struct _sh64_elf_section_data): New struct.
4079 (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
4080 * elf32-sh64-com.c: Include elf32-sh64.h.
4081 * elf32-sh64.c: Likewise.
4082 (sh64_elf_new_section_hook): New function.
4083 (bfd_elf32_new_section_hook): Define.
4084 (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
4085 (sh64_bfd_elf_copy_private_section_data): Likewise.
4086 (sh64_elf_final_write_processing): Likewise.
4087 * elf32-sparc.c (struct elf32_sparc_section_data): New.
4088 (elf32_sparc_new_section_hook): New function.
4089 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4090 (sec_do_relax): Define.
4091 (elf32_sparc_relax_section): Adjust to use sec_do_relax.
4092 (elf32_sparc_relocate_section): Likewise.
4093 * elf64-mips.c (bfd_elf64_new_section_hook): Define.
4094 * elf64-mmix.c (struct _mmix_elf_section_data): New.
4095 (mmix_elf_section_data): Define. Use throughout file.
4096 (mmix_elf_new_section_hook): New function.
4097 (bfd_elf64_new_section_hook): Define.
4098 * elf64-ppc.c (struct _ppc64_elf_section_data): New.
4099 (ppc64_elf_section_data): Define. Use throughout.
4100 (ppc64_elf_new_section_hook): New function.
4101 (bfd_elf64_new_section_hook): Define.
4102 * elf64-sparc.c (struct sparc64_elf_section_data): New.
4103 (sparc64_elf_new_section_hook): New function.
4104 (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
4105 (sec_do_relax): Define.
4106 (sparc64_elf_relax_section): Adjust to use sec_do_relax.
4107 (sparc64_elf_relocate_section): Likewise.
4108 (bfd_elf64_new_section_hook): Define.
4109 * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
4110 * elfxx-mips.c (struct _mips_elf_section_data): New.
4111 (mips_elf_section_data): Define. Use throughout.
4112 (_bfd_mips_elf_new_section_hook): New function.
4113 (mips_elf_create_got_section): Don't alloc used_by_bfd.
4114 * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
4115 * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
4116 * Makefile.am: Run "make dep-am".
4117 * Makefile.in: Regenerate.
4118
cc03ec80
RH
41192003-01-21 Richard Henderson <rth@redhat.com>
4120
4121 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
4122 (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
4123 (elf64_alpha_adjust_dynamic_symbol): Set them.
4124 (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
4125 (elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
4126 symbol index when relaxing LDM to TPREL.
4127 (elf64_alpha_relax_section): Likewise. Allow relaxation of GD
4128 relocs, even if the target isn't locally defined.
4129 (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
4130 (elf64_alpha_relocate_section): Likewise. Force TP-relative
4131 relocs vs symndx 0 to the tp base.
4132
da896d3f
NC
41332003-01-21 Fabio Alemagna <falemagn@aros.org>
4134
4135 * config.bfd: Handle i[3456]86-*-aros*.
4136
7fce784e
AS
41372003-01-21 Andreas Schwab <schwab@suse.de>
4138
4139 * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
4140 (struct ppc_elf_link_hash_entry): Define.
4141 (ppc_elf_hash_entry): New function.
4142 (struct ppc_elf_link_hash_table): Define.
4143 (ppc_elf_hash_table): New function.
4144 (ppc_elf_link_hash_newfunc): New function.
4145 (ppc_elf_link_hash_table_create): New function.
4146 (ppc_elf_copy_indirect_symbol): New function.
4147 (allocate_dynrelocs): New function.
4148 (readonly_dynrelocs): New function.
4149 (ppc_elf_size_dynamic_sections): Allocate space for dynamic
4150 relocs and determine DT_TEXTREL.
4151 (ppc_elf_check_relocs): Don't do that here, just count the
4152 dynamic relocs.
4153 (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
4154 removed section.
4155 (bfd_elf32_bfd_link_hash_table_create): Define.
4156 (elf_backend_copy_indirect_symbol): Define.
4157
1bbc9cec
RH
41582003-01-21 Richard Henderson <rth@redhat.com>
4159
4160 * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
4161 TPREL also get a reloc if shared. Remove SREL support.
4162 (elf64_alpha_emit_dynrel): New.
acc990f2 4163 (elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
1bbc9cec
RH
4164 and GOTTPREL relocs to local symbols against the tp base.
4165 (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
4166
4167 * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
4168 use count before clobbering r_type.
4169 (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
4170 ordering would mean dataflow inspection is necessary.
4171
0da35f8b
SS
41722003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
4173
4174 * coffcode.h (coff_set_flags): Added get/set arch hooks.
acc990f2 4175
571fe01f
NC
41762003-01-20 Fabio Alemagna <falemagn@aros.org>
4177
4178 * elf32-sh.c: Treat elfNN_bed like other macros defined in
4179 elfxx-target.h and #undef it before #define'ing it.
4180 * elf32-i386.c: Likewise.
acc990f2
AM
4181 * elf32-sh64.c: Likewise.
4182 * elf64-alpha.c: Likewise.
4183 * elf64-sh64.c: Likewise.
571fe01f 4184
5236c819
MS
41852003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
4186
4187 * bfd-in2.h: Regenerate.
4188 * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
4189 (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
4190 R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
4191 R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
4192 R_390_PLTOFF32 and R_390_PLTOFF64.
4193 (elf_s390_reloc_type_lookup): Likewise.
4194 (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
4195 of GOTPLT references to a function.
4196 (link_hash_newfunc): Initialize gotplt_refcount.
4197 (elf_s390_check_relocs): Move allocation of local_got_refcounts array
4198 and creation of the got section out of the main switch. Add support
4199 for the gotoff, gotplt and pltoff relocations.
4200 (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
4201 and pltoff.
4202 (elf_s390_adjust_gotplt): New function.
4203 (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
4204 plt entries.
4205 (allocate_dynrelocs): Add comment.
4206 (elf_s390_relocate_section): Change r_type to unsigned. Add support
4207 for gotoff, gotplt and pltoff relocations.
4208 * elf64-s390.c: Same changes as for elf32-s390.c.
4209 * libbfd.h: Regenerate.
4210 * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
4211 BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
4212 BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
4213 and BFD_RELOC_390_PLTOFF64.
4214
a823975a
JJ
42152003-01-18 Jakub Jelinek <jakub@redhat.com>
4216
4217 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
4218 R_IA64_TPREL64[LM]SB against non-global symbol properly.
4219
b3dfd7fe
JJ
42202003-01-16 Jakub Jelinek <jakub@redhat.com>
4221
4222 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
4223 self_dtpmod_done and self_dtpmod_offset.
4224 (allocate_global_data_got): Only use one got entry for all
4225 dtpmod relocs against local symbols.
4226 (allocate_dynrel_entries): Only need .rela.got entry for
4227 dtpmod against global symbol.
4228 (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
4229 Reserve space in .rela.got for the local dtpmod entry.
4230 (set_got_entry): Initialize the common local dtpmod .got entry.
4231 (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
4232 and R_IA_64_DTPREL64MSB.
4233
04c9666a
AM
42342003-01-16 Alan Modra <amodra@bigpond.net.au>
4235
4236 * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
4237 (R_PPC_*): Rename all occurrences to R_PPC64_*.
4238 (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
4239 (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
4240 (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
4241 relative relocs, not with absolute ones.
4242 * Makefile.am: Run "make dep-am".
4243 * Makefile.in: Regenerate.
4244 * po/SRC-POTFILES.in: Regenerate.
4245
c87f1ff7
AS
42462003-01-15 Andreas Schwab <schwab@suse.de>
4247
4248 * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
4249 relocation against a non-allocated readonly section.
4250
86bbe32f
AM
42512003-01-10 Alan Modra <amodra@bigpond.net.au>
4252
4253 * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
4254 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
4255
32d95f29
KD
42562002-01-08 Klee Dienes <kdienes@apple.com>
4257
4258 * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
4259 (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
4260 * Makefile.in: Regenerate.
acc990f2 4261
ab7d0aa0
AO
42622003-01-08 Alexandre Oliva <aoliva@redhat.com>
4263
4264 * elfn32-mips.c (prev_reloc_section): New.
4265 (GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
4266 (SET_RELOC_ADDEND): Parenthesize macro argument.
4267
95d0f04a
DA
42682003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
4269
4270 * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
4271 adjust addil instructions if the symbol has no section.
4272
5c9e189c
DD
42732003-01-07 DJ Delorie <dj@redhat.com>
4274
4275 * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
4276 partial_inplace.
4277
3e829b4a
AS
42782003-01-07 Andreas Schwab <schwab@suse.de>
4279
4280 * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
4281 PC relative relocations.
4282 (elf_m68k_discard_copies): Set it here instead.
4283
a75473eb
SC
42842002-01-02 Ben Elliston <bje@redhat.com>
4285 Jeff Johnston <jjohnstn@redhat.com>
4286
4287 * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
4288 (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
4289 (BFD32_BACKENDS): Add elf32-iq2000.lo.
4290 (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
4291 (cpu-iq2000.lo): New target.
4292 * Makefile.in: Regenerate.
4293 * config.bfd: Handle iq2000-*-elf.
4294 * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
4295 (bfd_archures_list): Add bfd_iq2000_arch.
4296 * configure.in: Handle bfd_elf32_iq2000_vec.
4297 * configure: Regenerate.
acc990f2 4298 * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
a75473eb
SC
4299 and BFD_RELOC_IQ2000_UHI16.
4300 * targets.c (bfd_elf32_iq2000_vec): Declare.
4301 (bfd_target_vector): Add bfd_elf32_iq2000_vec.
4302 * elf.c (prep_headers): Set e_machine to EM_IQ2000.
4303 * cpu-iq2000.c: New file.
4304 * elf32-iq2000.c: Likewise.
4305 * libbfd.h: Regenerate.
4306 * bfd-in2.h: Likewise.
4307
64543e1a
RS
43082003-01-02 Richard Sandiford <rsandifo@redhat.com>
4309
4310 * elfxx-mips.c: Include libiberty.h.
4311 (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
4312 (mips_set_isa_flags): New function, split out from...
4313 (_bfd_mips_elf_final_write_processing): ...here. Only call
4314 mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
4315 (mips_mach_extensions): New array.
4316 (mips_32bit_flags_p): New function.
4317 (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
4318 Use mips_32bit_flags_p to check if one binary is 32-bit and the
4319 other is 64-bit. When adopting IBFD's architecture, adopt the
4320 bfd_mach as well as the flags.
4321
4852a44e
NC
43222003-01-02 Nick Kelsey <nickk@ubicom.com>
4323
4324 * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
4325 fix internal errors, fix bad code generation, fix incorrect stabs
4326 information, and improve ability to eliminate redundant page
4327 instructions. Added code to ip2k_final_link_relocate to self-verify
4328 the linker relaxation. Fix formatting problems.
4329
af7ee8bf
CD
43302002-12-30 Chris Demetriou <cgd@broadcom.com>
4331
4332 * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
4333 * archures.c (bfd_mach_mipsisa32r2): New define.
4334 * bfd-in2.h: Regenerate.
4335 * cpu-mips.c (I_mipsisa32r2): New enum value.
4336 (arch_info_struct): Add entry for I_mipsisa32r2.
4337 * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
4338 (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
4339 (_bfd_mips_elf_final_write_processing): Add
4340 bfd_mach_mipsisa32r2 case.
4341 (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
4342 binaries marked as using MIPS32 Release 2.
4343
2469cfa2
NC
43442002-12-30 Dmitry Diky <diwil@mail.ru>
4345
4346 * Makefile.am: Add msp430 target.
4347 * configure.in: Likewise.
4348 * Makefile.in: Regenerate.
4349 * configure: Regenerate.
4350 * archures.c: Add msp430 architecture vector.
4351 * config.bfd: Likewise.
4352 * reloc.c: Add msp430 relocs.
4353 * targets.c: Add msp320 target.
4354 * cpu-msp430.c: New file: msp430 cpu detection.
4355 * elf32-msp430.c: New file: msp430 reloc processing.
4356 * bfd-in2.h: Regenerate.
4357 * libbfd.h: Regenerate.
4358
eecdbe52
JJ
43592002-12-28 Jakub Jelinek <jakub@redhat.com>
4360
4361 * elf.c (elf_sort_sections): Don't reorder .tbss.
4362 (assign_file_positions_for_segments): Only adjust off/voff
4363 for increased alignment in PT_LOAD or PT_NOTE segment,
4364 but adjust p_filesz for .tbss too. in PT_LOAD consider
4365 .tbss to have zero memory size.
4366 (copy_private_bfd_data) [SECTION_SIZE]: Define.
4367 [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
4368 [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
4369 into PT_TLS segment. Never put SHF_TLS sections in
4370 segments other than PT_TLS or PT_LOAD.
4371
4372 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
4373 sh_entsize.
4374
213e90f4
DD
43752002-12-23 DJ Delorie <dj@redhat.com>
4376
4377 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
4378
75828352
AM
43792002-12-23 Alan Modra <amodra@bigpond.net.au>
4380
4381 * elflink.h (elf_link_output_extsym): Heed strip_discarded.
4382
312b768e
NC
43832002-12-23 Nick Clifton <nickc@redhat.com>
4384
4385 * archures.c (bfd_arch_get_compatible): Add third parameter
4386 'accept_unknowns'. Only accept unknown format BFDs if
4387 accept_unknowns is true, or if the format is "binary".
acc990f2 4388 * bfd-in2.h: Regenerate.
312b768e 4389
63222ec9
NC
43902002-12-21 Nick Clifton <nickc@redhat.com>
4391
4392 * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
4393 that subtracted 8 from pc relative relocations.
4394
19852a2a
KH
43952002-12-20 Kazu Hirata <kazu@cs.umass.edu>
4396
4397 * coff-h8300.c: Fix comment typos.
4398 * coffcode.h: Likewise.
4399 * cpu-cris.c: Likewise.
4400 * elf32-vax.c: Likewise.
4401 * genlink.h: Likewise.
4402 * linker.c: Likewise.
4403 * som.c: Likewise.
4404 * tekhex.c: Likewise.
4405 * vms-misc.c: Likewise.
4406
5fd63999
DD
44072002-12-20 DJ Delorie <dj@redhat.com>
4408
4409 * reloc.c: Add BFD_RELOC_XSTORMY16_12.
4410 * libbfd.h: Regenerate.
4411 * bfd-in2.h: Regenerate.
4412 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
4413 (xstormy16_reloc_map): Add R_XSTORMY16_12.
acc990f2 4414
4ee79850
KH
44152002-12-19 Kazu Hirata <kazu@cs.umass.edu>
4416
4417 * doc/bfdint.texi: Fix typos.
4418
66e25bab
AM
44192002-12-20 Paul Eggert <eggert@twinsun.com>
4420
4421 Port to POSIX 1003.1-2001.
4422 * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
4423 * configure.in (build-warnings): Likewise.
4424 (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
4425 * aclocal.m4: Regenerate.
4426 * config.in: Regenerate.
4427 * configure: Regenerate.
4428
7dc77aaa
AM
44292002-12-19 Alan Modra <amodra@bigpond.net.au>
4430
0171ee92
AM
4431 * coff-h8300.c: Include libiberty.h.
4432 (h8300_reloc16_extra_cases): Check the hash table creator before
4433 referencing h8300 specific fields. Stash the hash table pointer
4434 in a local var. Comment typo fixes.
4435 (h8300_bfd_link_add_symbols): Likewise.
4436
1049f94e 4437 * reloc.c (struct reloc_howto_struct): Revise src_mask and
7dc77aaa
AM
4438 dst_mask comments.
4439 * bfd-in2.h: Regenerate.
4440
47388f4c
AM
44412002-12-18 Alan Modra <amodra@bigpond.net.au>
4442
4443 * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
4444 code a little. Comment on dynamic relocs against section symbols.
4445
1b3e3744
AM
44462002-12-17 Roger Sayle <roger@eyesopen.com>
4447
4448 * configure.host (ia64-*-hpux*): Support 64 bit targets using
4449 the HP compiler's "long long".
4450
46f2b541
DD
44512002-12-16 Andrew MacLeod <amacleod@redhat.com>
4452
4453 * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
4454 and R_XSTORMY16_HI16) howto entries.
4455 (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
1b3e3744 4456 (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
46f2b541
DD
4457 determine the start of the second reloc table.
4458
af738ea7
NC
44592002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
4460
4461 * ecofflink.c: Fix the reading of the debugging information
4462 of Tru64/Alpha binaries that are produced by recent Compaq
4463 compilers.
4464 (mk_fdrtab): Fix error in creating the FDR (file descriptor)
4465 table.
4466 (lookup_line): Because of the strange information sometimes
4467 generated by Compaq's recent compilers, change how the FDR
4468 table is searched so that PDRs (procedure descriptors) are
4469 correctly found. Note that this change is really more of a hack;
4470 however, I have included extensive documentation as to why
4471 this is the best solution short of an extensive rewrite or
4472 another hack.
4473 (fdrtab_lookup): Add comments to explain the algorithm.
4474
5354b572
AO
44752002-12-12 Alexandre Oliva <aoliva@redhat.com>
4476
4477 * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
4478 initializers to match struct declaration.
4479
ab3acfbe
AM
44802002-12-12 Alan Modra <amodra@bigpond.net.au>
4481
4482 * dwarf2.c (comp_unit_contains_address): Comment typo fix.
4483 * elf.c (get_program_header_size): Likewise.
4484 * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
4485 (m32r_elf_generic_reloc): Likewise.
4486 * elf32-ppc.c (ppc_elf_howto_init): Likewise.
4487 * elflink.h (elf_bfd_discard_info): Likewise.
4488
6348e046
AM
44892002-12-12 Alan Modra <amodra@bigpond.net.au>
4490
4491 * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
4492 to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
4493 DT_RELSZ adjustment, not output section. Avoid writing tags when
4494 unchanged. Don't assume linker script is sane, adjust DT_REL too.
4495 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
4496 size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
4497 DT_RELASZ adjustment, not output section. Avoid writing tags when
4498 unchanged. Adjust DT_RELA.
4499 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
4500 formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
4501
2e7a68a8
AO
45022002-12-12 Alexandre Oliva <aoliva@redhat.com>
4503
4504 * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
4505 addend by 4.
4506
b15e6682
AO
45072002-12-12 Alexandre Oliva <aoliva@redhat.com>
4508
4509 * elfxx-mips.c (struct mips_got_entry): New.
4510 (struct mips_got_info): Added got_entries field.
4511 (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
4512 (mips_elf_local_got_index, mips_elf_got_page,
4513 mips_elf_got16_entry): Re-implement in terms of new...
4514 (mips_elf_create_local_got_entry): Rewrite to use got_entries.
4515 Change return type.
4516 (mips_elf_highest): Warning clean-up.
4517 (mips_elf_create_got_section): Initialize got_entries.
4518 (_bfd_mips_elf_check_relocs): Use got_entries to estimate
4519 local got size.
4520 (_bfd_mips_elf_size_dynamic_sections): Do not account for
4521 GOT_PAGE entries, since we now reuse GOT16 entries.
4522
e6af3a53
NC
45232002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
4524
4525 * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
4526 read-only section that lies after .text and before .data to be
4527 written into the output file and included in a_text.
4528 (translate_to_native_sym_flags): If an otherwise unrepresentable
4529 section was merged with .text, convert its symbols to N_TEXT
4530 symbols.
4531 * libaout.h (aout_section_merge_with_text_p): New macro.
4532
cf3d882d
AM
45332002-12-08 Alan Modra <amodra@bigpond.net.au>
4534
4535 * bfd-in.h: Comment typo fix. Formatting.
4536 * bfd-in2.h: Regenerate.
4537 * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
4538 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
4539 * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
4540
2f9bd3f6
RH
45412002-12-05 Richard Henderson <rth@redhat.com>
4542
4543 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
4544 Only send PCREL21B though the plt. Fix installed reloc type.
4545 (elfNN_ia64_relocate_section): Give error for dynamic reloc
4546 against PCREL22 or PCREL64I; clean up error messages for
4547 branch relocs.
4548
d0112f73
KB
45492002-12-04 Kevin Buettner <kevinb@redhat.com>
4550
4551 * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
4552 New functions.
4553 (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
4554
c10d9d8f
JW
45552002-12-04 David Mosberger <davidm@hpl.hp.com>
4556
4557 * cpu-ia64-opc.c: Add operand constant "ar.csd".
4558
d48770d4
L
45592002-12-04 H.J. Lu <hjl@gnu.org>
4560
4561 * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
4562 BFD address when constructing local name.
4563
b6152c34
AS
45642002-12-04 Andreas Schwab <schwab@suse.de>
4565
4566 * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
4567 member.
4568 (elf_m68k_link_hash_table_create): Initialize it.
4569 (elf_m68k_check_relocs): Handle symbols that are forced to be
4570 local due to visibility changes.
4571 (elf_m68k_adjust_dynamic_symbol): Likewise.
4572 (elf_m68k_size_dynamic_sections): Likewise.
4573 (elf_m68k_discard_copies): Likewise.
4574 (elf_m68k_relocate_section): Likewise.
4575
73374ef1
AM
45762002-12-04 Alan Modra <amodra@bigpond.net.au>
4577
4578 * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
4579
c5c1944d
AM
45802002-12-04 Alan Modra <amodra@bigpond.net.au>
4581
4582 * srec.c (srec_write_symbols): Restore '$' prefix to address
4583 accidentally removed in 2002-04-04 change.
4584 (srec_get_symtab): Use 0 instead of `(long) FALSE'.
4585
e1a9cb8e
NC
45862002-12-03 Nick Clifton <nickc@redhat.com>
4587
4588 * elf32-ppc.c (apuinfo_list_init): New function.
73374ef1
AM
4589 (apuinfo_list_add): New function: Add a value to the list.
4590 (apuinfo_list_length): New function: Return the number of
4591 values on the list.
4592 (apuinfo_list_element): New function: Return a value on the
4593 list.
4594 (apuinfo_list_finish): New function: Free the resources used
4595 by the list.
4596 (ppc_elf_begin_write_processing): New function. Scan the
4597 input bfds for apuinfo sections.
4598 (ppc_elf_write_section): New function: Delay the creation of
4599 the contents of an apuinfo section in an output bfd.
4600 (ppc_elf_final_write_processing): New function. Create the
4601 contents of an apuinfo section in an output bfd.
4602 (elf_backend_begin_write_processing): Define.
4603 (elf_backend_final_write_processing): Define.
4604 (elf_backend_write_section): Define.
e1a9cb8e 4605
a823923b
RH
46062002-12-03 Richard Henderson <rth@redhat.com>
4607
4608 * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
4609
30491647
SC
46102002-12-01 Stephane Carrez <stcarrez@nerim.fr>
4611
4612 Fix PR savannah/1417:
4613 * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
4614 branch if it goes to the start of the deleted region.
4615
bc7c6a90
SC
46162002-12-01 Stephane Carrez <stcarrez@nerim.fr>
4617
4618 * bfd-in2.h (bfd_mach_m6812): Rebuild.
4619 * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
4620 bfd_mach_m6812s): Declare.
4621
4622 * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
4623 (_bfd_m68hc12_elf_set_private_flags): Call it.
4624 (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
4625 (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
4626 report microcontroller incompatibilities (HC12 vs HCS12).
4627 (elf_backend_object_p): Update.
4628
b34976b6
AM
46292002-11-30 Alan Modra <amodra@bigpond.net.au>
4630
4631 * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
4632 (enum bfd_boolean, boolean): Delete.
4633 (bfd_boolean): Typedef to an int.
4634 (FALSE, TRUE): Define.
4635 * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
4636 aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
4637 aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
4638 binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
4639 coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
4640 coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
4641 coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
4642 coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
4643 coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
4644 coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
4645 corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
4646 cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
4647 cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
4648 cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
4649 cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
4650 cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
4651 cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
4652 cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
4653 cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
4654 cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
4655 dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
4656 elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
4657 elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
4658 elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
4659 elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
4660 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4661 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4662 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4663 elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
4664 elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
4665 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4666 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
4667 elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
4668 elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
4669 elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
4670 elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
4671 hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
4672 i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
4673 libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
4674 libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
4675 m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
4676 mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
4677 nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
4678 pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
4679 pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
4680 pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
4681 reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
4682 som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
73374ef1 4683 syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
b34976b6
AM
4684 vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
4685 xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
4686 bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
4687 of bfd_boolean vars with TRUE/FALSE. Formatting.
4688 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
4689
947216bf
AM
46902002-11-28 Alan Modra <amodra@bigpond.net.au>
4691
4692 * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
4693 Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
4694 with Elf_Internal_Rela.
4695 * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
4696 elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
4697 elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
4698 elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4699 elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4700 elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4701 elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
4702 elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4703 elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4704 elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
4705 elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
4706 * elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
4707 throughout instead.
4708 * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
4709 * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
4710 Remove INLINE keyword.
4711 (elf_swap_reloc_in): Likewise. Also clear r_addend.
4712 (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
4713 as a bfd_byte *.
4714 (elf_write_relocs): Consolidate REL and RELA code.
4715 (elf_slurp_reloc_table_from_section): Simplify REL code.
4716 (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
4717 * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
4718 * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
4719 RELA code.
4720 (elf_link_adjust_relocs): Likewise. Don't malloc space for temp
4721 reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
4722 (elf_link_output_relocs): Likewise.
4723 (elf_reloc_link_order): Likewise.
4724 (elf_finish_pointer_linker_section): Likewise.
4725 (struct elf_link_sort_rela): Remove union.
4726 (elf_link_sort_cmp1): Update to suit.
4727 (elf_link_sort_cmp2): Here too.
4728 (elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
4729 over-allocation for int_rels_per_ext_rel != 1 case.
4730 * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
4731 * elf32-i386.c: Likewise.
4732 * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
4733 * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
4734 elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
4735 * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
4736 * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4737 elf64-sparc.c, elf64-x86-64.c: Likewise.
4738 * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
4739 * elfxx-mips.c (sort_dynamic_relocs): Likewise for
4740 bfd_elf32_swap_reloc_in.
4741
4742 * elf32-arm.h: Update elf32_arm_info_to_howto calls.
4743 * elf32-mips.c: Likewise for mips_info_to_howto_rel.
4744 (mips_elf64_swap_reloc_in): Zero r_addend.
4745 (mips_elf64_be_swap_reloc_in): Likewise.
4746 (mips_elf64_slurp_one_reloc_table): Simplify.
4747
4748 * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
4749 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
4750 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
4751
1448fa32
KK
47522002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4753
4754 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
73374ef1 4755 unresolved debugging relocs in dynamic applications.
1448fa32
KK
4756 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4757
73722af0
AM
47582002-11-26 Alan Modra <amodra@bigpond.net.au>
4759
4760 * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
4761 (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
4762 on a relocatable link. Comment typos.
4763 * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
4764 in the order they are declared. Clear elf_hash_value too.
4765 (_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
4766 eh_info and tls_segment.
4767 * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
4768 sorted when discarding relocs by turning them into R_*_NONE.
4769
4770 * libbfd.c (warn_deprecated): Comment spelling.
4771 * po/SRC-POTFILES.in: Regenerate.
4772
7c25b72c
RH
47732002-11-21 Richard Henderson <rth@redhat.com>
4774
4775 * elflink.h (elf_link_add_object_symbols): Don't overwrite the
4776 arch's st_other bits when merging visibilities.
4777 (elf_link_output_extsym): Tidy clearing of visibility field.
4778
dc12c51f
AM
47792002-11-21 Alan Modra <amodra@bigpond.net.au>
4780
4781 * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
4782 (SWAP_OUT_RELOC_OFFSET): Define.
4783
963f13ec
AO
47842002-11-20 Alexandre Oliva <aoliva@redhat.com>
4785
4786 * elf.c (_bfd_elf_link_hash_table_init): Make sure
4787 can_refcount is properly extended to the type of
4788 init_refcount.
4789
ee6423ed
AO
47902002-11-19 Alexandre Oliva <aoliva@redhat.com>
4791
4ffba85c
AO
4792 * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
4793 (_bfd_mips_elf_relocate_section): Use it.
4794
ee6423ed
AO
4795 * elfxx-mips.c (MNAME): New macro.
4796 (_bfd_mips_elf_check_relocs): Use it.
4797 (_bfd_mips_elf_discard_info): Likewise.
4798 (_bfd_mips_elf_final_link): Likewise.
4799
cdcf6e38
AM
48002002-11-19 Alan Modra <amodra@bigpond.net.au>
4801
4802 * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
4803 rel_hdr.sh_size too.
4804
93509525
KD
48052002-11-18 Klee Dienes <kdienes@apple.com>
4806
4807 * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
4808 (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
4809 (BFD_H_FILES): Add bfdwin.c, bfdio.c.
4810 (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
4811 Add dependencies for bfdwin.c, bfdio.c.
4812 * bfd.c: Remove bfd_get_mtime, bfd_get_size.
4813 * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
4814 bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
4815 bfd_tell, bfd_flush, bfd_stat, bfd_seek.
4816 * bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
4817 bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
4818 bfd_get_size (moved from libbfd.c and bfd.c).
4819 * bfdwin.c New file. Contains _bfd_window_internal,
4820 bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
4821 libbfd.c and bfd.c).
4822 * po/SRC-POTFILES.in: Regenerate.
4823 * po/bfd.pot: Regenerate.
4824 * libbfd.h: Regenerate.
4825 * bfd-in2.h: Regenerate.
4826 * aclocal.m4: Regenerate.
4827 * Makefile.in: Regenerate.
4828 * configure: Regenerate.
4829
3ae41454
AM
48302002-11-18 Klee Dienes <kdienes@apple.com>
4831
4832 * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
4833
e514ac71
NC
48342002-11-15 Kazu Hirata <kazu@cs.umass.edu>
4835
4836 * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
4837 jsr after a short jump.
4838 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
4839
eddc4f81
KD
48402002-11-15 Klee Dienes <kdienes@apple.com>
4841
4842 * pef.c (bfd_pef_convert_architecture): Move declaration of
4843 ARCH_POWERPC and ARCH_M68K to the start of the function.
4844
51908eee
SS
48452002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
4846
4847 * coff-tic4x.c (tic4x_howto_table): Formatting fixup
4848
3416d2e7
HPN
48492002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
4850
4851 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
4852 For bpo_gregs_section->contents, allocate _raw_size, not
4853 _cooked_size.
4854
b1c58715
AM
48552002-11-13 Klee Dienes <kdienes@apple.com>
4856
4857 * config.bfd: Add entries for powerpc-*-darwin and cousins.
4858
077ca68b
L
48592002-11-13 H.J. Lu <hjl@gnu.org>
4860
4861 * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
4862
e84d6fca
AM
48632002-11-13 Klee Dienes <kdienes@apple.com>
4864 Alan Modra <amodra@bigpond.net.au>
4865
4866 * bfd.c (struct bfd_preserve): New.
4867 (bfd_preserve_save): New function.
4868 (bfd_preserve_restore): Ditto.
4869 (bfd_preserve_finish): Ditto.
4870 * bfd-in2.h: Regenerate.
4871 * mach-o.c: Formatting.
4872 (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
4873 (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
4874 (bfd_mach_o_core_p): Ditto.
4875 (bfd_mach_o_scan): Pass in mdata.
4876 * mach-o.h (bfd_mach_o_scan): Update prototype.
4877 * pef.c: Formatting.
4878 (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
4879 (bfd_pef_xlib_object_p): Ditto.
4880 (bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
4881 * pef.h (bfd_pef_scan): Update prototype.
4882 * xsym.c: Formatting, K&R fixes.
4883 (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
4884 (bfd_sym_scan): New function split out from bfd_sym_object_p.
4885 * xsym.h (bfd_sym_scan): Declare.
4886 * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
a7f84125 4887 * elfcore.h (elf_core_file_p): Likewise.
e84d6fca
AM
4888 * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
4889
cd24c222
NC
48902002-11-12 Nick Clifton <nickc@redhat.com>
4891
4892 * po/da.po: Updated Danish translation.
4893
99eb2ac8
AM
48942002-11-12 Alan Modra <amodra@bigpond.net.au>
4895
d6fe2dc1
AM
4896 * elflink.h (elf_link_add_object_symbols): Optimize stabs for
4897 relocatable link too.
4898 (elf_link_input_bfd): When emitting relocs, adjust offsets for
4899 eh_frame and stab sections. Zap deleted relocs.
4900 (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
4901 (elf_bfd_discard_info): Run for relocatable link too.
4902 * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
4903 Handle ld -r case.
4904 (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
4905 * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
4906
126495ed
AM
4907 * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
4908 (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
4909 (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
4910 (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
4911 (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
4912 (struct elf_link_hash_table): Add eh_info.
4913 (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
4914 (_bfd_elf_discard_section_eh_frame): Update prototype.
4915 (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
4916 (_bfd_elf_write_section_eh_frame): Likewise.
4917 (_bfd_elf_write_section_eh_frame_hdr): Likewise.
4918 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
4919 param. Get "hdr_info" from link hash table.
4920 (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
4921 header section from link hash table. Save header section to elf_tdata.
4922 (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
4923 header section from link hash table. Don't alloc hdr_info. Clear
4924 hdr_sec instead of setting "strip".
4925 (_bfd_elf_eh_frame_section_offset): Formatting.
4926 (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
4927 Get header section from link hash table.
4928 (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
4929 Get header section from link hash table.
4930 * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
4931 (get_program_header_size): Likewise.
4932 (_bfd_elf_section_offset): Formatting.
4933 * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
4934 section pointer in link hash table.
4935 (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
4936 and _bfd_elf_write_section_eh_frame calls. Update comment about
4937 eh_frame entries.
4938 (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
4939 _bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
4940
4941 * po/SRC-POTFILES.in: Regenerate.
4942
99eb2ac8
AM
4943 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
4944 relocs for discarded FDEs. Remove dead code.
4945 (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
4946 * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
4947 Tidy conditions under which stabs are edited. Formatting.
4948 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4949 from discarded relocs.
4950 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
4951 section adjustments after testing magic values.
4952
7c319a27
AM
49532002-11-12 Thomas Moestl <tmm@FreeBSD.org>
4954
4955 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
4956 references to large plt symbols.
4957
a95a4550
AM
49582002-11-12 Klee Dienes <kdienes@apple.com>
4959
4960 * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
4961 looking for an unused section name.
4962
bc7eab72
KH
49632002-11-11 Kazu Hirata <kazu@cs.umass.edu>
4964
4965 * coff-h8300.c: Fix formatting.
4966 * elf32-h8300.c: Likewise.
4967 * reloc16.c: Likewise.
4968
52585bb8
AM
49692002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4970
4971 * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
4972 section when dynamic section unused; _bfd_strip_section_from_output
4973 instead.
4974
9f632188
AM
49752002-11-08 Alan Modra <amodra@bigpond.net.au>
4976
207b304b
AM
4977 * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
4978 and sym_vec.
3b029f65 4979
9f632188
AM
4980 * dwarf2.c: Revert last change.
4981
ec4530b5
NC
49822002-11-07 Michal Ludvig <mludvig@suse.cz>
4983
9b5ecbd0 4984 * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
ec4530b5
NC
4985 _bfd_dwarf2_find_nearest_line): Use
4986 bfd_simple_get_relocated_section_contents() instead of
4987 bfd_get_section_contents().
4988 * reloc.c (bfd_perform_relocation): Add sanity check.
4989 * simple.c (simple_get_relocated_section_contents): If the section
4990 does not have any relocs associated with it, just return the
4991 unadjusted contents.
4992
205cfeb0
HPN
49932002-11-07 Hans-Peter Nilsson <hp@axis.com>
4994
4995 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
4996 case R_CRIS_32_GOT>: Correct test for filling in constant .got
4997 contents, enabling for a non-DSO, for symbols defined in the
4998 program with --export-dynamic.
4999
87e226ce
AM
50002002-11-07 Alan Modra <amodra@bigpond.net.au>
5001
5002 * elf64-ppc.c: Comment typo fixes.
5003 (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
5004
235c4794
NC
50052002-11-07 Nick Clifton <nickc@redhat.com>
5006
5007 * po/da.po: Updated Danish translation.
5008
49179469
AO
50092002-11-06 Alexandre Oliva <aoliva@redhat.com>
5010
5011 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
5012 exactly three internal relocs per external reloc. Set reloc_count
5013 to the external reloc count.
5014
246178f2
NC
50152002-11-06 Klee Dienes <kdienes@apple.com>
5016
3ae41454 5017 * coff-stgo32.c (stub_bytes): Mark as const.
246178f2
NC
5018 Fix comment formatting.
5019
3af9a47b
NC
50202002-11-06 Klee Dienes <kdienes@apple.com>
5021
3ae41454 5022 * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
3af9a47b
NC
5023 xsym.lo.
5024 (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
5025 (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
5026 * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
5027 * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
5028 * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
5029 sym.
3ae41454 5030 (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
3af9a47b
NC
5031 * Makefile.in: Regenerate.
5032 * doc/Makefile.in: Regenerate.
3ae41454 5033 * bfd-in2.h: Regenerate.
3af9a47b
NC
5034 * xsym.c: New file. Contains support for the Apple/Metrowerks
5035 xSYM debugging format.
5036 * xsym.h: New file.
5037 * pef.c: New file. Contains support for the Apple Code Fragment
5038 Manager Preferred Executable Format
5039 * pef.h: New file.
5040 * pef-traceback.h: New file. Contains support for parsing PowerPC
5041 traceback tables as used by PEF executables (and perhaps other
5042 systems as well).
3ae41454 5043 * mach-o.c: New file. Contains support for the Mach-O object file
3af9a47b
NC
5044 format.
5045 * mach-o.h: New file.
5046 * mach-o-target.c: New file. Declares the mach-o targets
5047 themselves. Included three times by mach-o.c; each time with a
5048 different set of macros set.
3ae41454 5049
b6821651 50502002-11-06 Graeme Peterson <gp@qnx.com>
911b232a
AM
5051
5052 * Makefile.am: Remove entries for elf32-qnx.[ch].
5053 * Makefile.in: Regenerate.
5054 * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
5055 ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
5056 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5057 * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
5058 bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
5059 and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
5060 bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
5061 * configure: Regenerate.
5062 * elf32-qnx.c: Remove.
5063 * elf32-qnx.h: Remove.
5064 * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
5065 is_contained_by_filepos, and copy_private_bfd_data_p.
ad12c1c5
AM
5066 * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
5067 is_contained_by_filepos, and copy_private_bfd_data_p.
911b232a
AM
5068 * elf32-i386.c: Remove QNX extended bfd support.
5069 * elf32-ppc.c: Remove QNX extended bfd support.
5070 * elf32-sh.c: Remove QNX extended bfd support.
5071 * elfarm-nabi.c: Remove QNX extended bfd support.
5072 * targets.c: Remove qnx vectors.
5073 * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
5074 (elf_backend_is_contained_by_filepos): Remove.
5075 (elf_backend_copy_private_bfd_data_p): Remove.
5076 * po/SRC-POTFILES.in: Regenerate.
5077
b6821651
AM
50782002-11-06 David O'Brien <obrien@FreeBSD.org>
5079 Alan Modra <amodra@bigpond.net.au>
5080
5081 * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
5082 dynamic relocs against section symbols for the output section vma.
5083
50842002-11-05 Alan Modra <amodra@bigpond.net.au>
5085
5086 * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
5087 t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
5088
08f74004
AM
50892002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5090 Alan Modra <amodra@bigpond.net.au>
5091
5092 * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
5093 vectors in target_selvecs.
5094 (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
5095 in target_selvecs.
5096 (sh-*-netbsdelf*): Likewise.
5097 * configure.in (assocvecs): New variable. Handle assocvecs like
5098 selvecs.
5099 * configure: Regenerate.
5100 * format.c (bfd_check_format_matches): Store bfd_target pointers
5101 in matching_vector instead of target names. Select first target
5102 from bfd_associated_vector that matches a list of ambiguous targets.
5103 * targets.c (_bfd_associated_vector): New array.
5104 (bfd_associated_vector): New variable.
5105 (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
5106 * libbfd-in.h (bfd_associated_vector): Declare.
5107 * libbfd.h: Regenerate.
5108
89117aab
AM
51092002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
5110
5111 * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
5112 non-NULL before dereferencing.
5113
5e9aae3e
KK
51142002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5115
5116 * vms.c (vms_object_p): Restore the start address when returning
5117 NULL.
5118
c97e73dd
AM
51192002-11-04 Alan Modra <amodra@bigpond.net.au>
5120 Hans-Peter Nilsson <hp@axis.com>
5121
5122 * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
5123 (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
5124 Set up a larger symshndxbuf, and write it out. Free it on
5125 exit rather than freeing symbuf twice. Correct section index
5126 on output section symbol loop.
5127 (elf_link_output_sym): Accumulate symbol extension section
5128 indices, reallocating symshndxbuf rather than writing it out.
5129 (elf_link_flush_output_syms): Don't flush symshndxbuf.
5130 * elf.c (assign_section_numbers): Init i_shdrp to all zero.
5131 Use bfd_zalloc to clear i_shdrp[0] too.
5132
3463048e
SC
51332002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
5134
5135 * elf32-sh64-com.c (sh64_address_in_cranges): Use
5136 _raw_size of cranges section if _cooked_size not yet set.
5137
63a23799
HPN
51382002-11-03 Hans-Peter Nilsson <hp@axis.com>
5139
5140 * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
5141 for bfd_elf32_swap_symbol_out.
5142
e68cc12e
DB
51432002-10-31 David O'Brien <obrien@FreeBSD.org>
5144
5145 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
5146 signed and unsigned in comparison.
5147
db4b6d01
DJ
51482002-10-30 Daniel Jacobowitz <drow@mvista.com>
5149
5150 * coffcode.h: Remove extraneous '\'.
5151
840f0243
L
51522002-10-28 H.J. Lu <hjl@gnu.org>
5153
5154 * Makefile.am (targets.lo): Depend on Makefile instead of
5155 config.status.
5156 (archures.lo): Likewise.
5157 * Makefile.in: Regenerated.
5158
05a7e2db
JT
51592002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
5160
5161 * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
5162 bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
5163 targ_selvecs.
5164
a0087177
JW
51652002-10-25 Jim Wilson <wilson@redhat.com>
5166
5167 * elf64-sh64.c (sh_elf64_relocate_section): Call
5168 _bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
5169 of SHF_MERGE section.
5170
8718ac9c
HPN
51712002-10-25 Hans-Peter Nilsson <hp@axis.com>
5172
5173 * simple.c: Correct placement of ATTRIBUTE_UNUSED.
5174
d45913a0
DA
51752002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5176
5177 * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
5178 unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
5179 unsigned int.
5180 (NAME(aout,final_link)): Cast enum used in assignment.
5181 (aout_link_write_symbols): Cast enums in comparisons, int values to
5182 boolean, enums in assignments to int.
5183 (aout_link_input_section_std): Cast rel->r_index to unsigned int.
3dab13f6
AM
5184 (aout_link_input_section_ext): Likewise. Cast enums used in
5185 comparisons with unsigned ints.
d45913a0
DA
5186 (aout_link_reloc_link_order): Cast enum to int in assignment.
5187 * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
5188 calls to char *.
5189 * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
5190 assignment.
5191 * bfd-in2.h (bfd_set_section_vma): Likewise.
5192 * bfd.c (bfd_record_phdr): Cast enums in assignments.
5193 * binary.c (bfd_alloc): Cast enum to long.
5194 * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
5195 * dwarf2.c (read_abbrevs): Add casts to enum types.
5196 (read_attribute_value): Likewise.
5197 (arange_add): Cast result of bfd_zalloc call.
5198 (comp_unit_contains_address): Return true and false.
5199 (comp_unit_find_nearest_line): Cast return to boolean.
5200 * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
5201 * gen-aout.c: define macro '_' if not defined.
5202 * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
5203 (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
5204 (bfd_write_bigendian_4byte_int): Cast return to boolean.
5205 (bfd_seek): Cast bfd_realloc to bfd_byte *.
5206 (bfd_generic_is_local_label_name): Cast return to boolean.
5207 * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
5208 * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
5209 struct bfd_hash_entry *.
5210 (_bfd_generic_link_hash_newfunc): likewise.
5211 (_bfd_generic_final_link): Cast enum to unsigned int.
5212 * merge.c (sec_merge_emit): Cast return to boolean.
5213 (merge_strings): Add casts to const unsigned char *.
5214 * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
5215 (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
3dab13f6
AM
5216 * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
5217 to struct bfd_hash_entry *.
d45913a0
DA
5218 (bfd_set_section_content): Add cast to PTR in comparison.
5219 * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
5220 simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
5221 simple_dummy_unattached_reloc,
5222 bfd_simple_get_relocated_section_contents): Add K&R declarations and
5223 function definitions.
5224 * srec.c (S3Forced): Initialize to false.
5225 (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
5226 * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
5227 (_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
5228 * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
5229 (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
5230 comparisons.
5231
475c2a7e
JJ
52322002-10-23 Jakub Jelinek <jakub@redhat.com>
5233
5234 * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
5235 relocs into shared lib non-allocated reloc sections.
5236
e82ce529
AM
52372002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
5238
5239 * dwarf2.c (add_line_info): Ensure that the line_info_table is
5240 sorted even when given an out-of-order line sequence.
5241 (lookup_address_in_line_info_table): When an exact VMA match is
5242 not found, return line information with the closest VMA.
5243
f2482cb2
NC
52442002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
5245
5246 * elf64-hppa.c: Force DT_FLAGS to always be set. Required by
5247 HPUX 11.00 patch PHSS_26559.
5248
c1fd6598
AO
52492002-10-22 Alexandre Oliva <aoliva@redhat.com>
5250
5251 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
5252 the options section into a separate section unless IRIX 6
5253 compatibility is enabled.
5254
033fd5f9
AO
52552002-10-22 Alexandre Oliva <aoliva@redhat.com>
5256
5257 * elflink.h (struct elf_link_sort_rela): Turn rel and rela
5258 into arrays.
5259 (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
5260 (elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
5261 into account.
5262 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
5263 R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
5264
ef485c01
AM
52652002-10-21 Graeme Peterson <gp@qnx.com>
5266
5267 * targets.c (_bfd_target_vector): Add missing qnx vectors.
5268
b50afec9
AM
52692002-10-21 Alan Modra <amodra@bigpond.net.au>
5270
5271 * targets.c (bfd_target_list): Don't return the default target twice.
5272
5fe39cae
AM
52732002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
5274
5275 * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
5276 perror with bfd_perror.
5277
5d603aa9
L
52782002-10-19 H.J. Lu <hjl@gnu.org>
5279
5280 * elflink.h (elf_link_add_object_symbols): Correctly handle
5281 DT_RPATH and DT_RUNPATH.
5282
e377ab71
MK
52832002-10-19 Mark Kettenis <kettenis@gnu.org>
5284
5285 * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
5286
0d09fec6
DC
52872002-10-17 Denis Chertykov <denisc@overta.ru>
5288
5289 * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
5290 for ip2k port.
5291
acf8aed4
AM
52922002-10-17 Alan Modra <amodra@bigpond.net.au>
5293
5294 * elfxx-target.h (USE_REL): Don't define as 1.
5295 * elf32-arm.h (USE_REL): Provide a default define of 0.
5296 Use #if rather than #ifdef when testing USE_REL.
5297 * elf32-m32r.c: Likewise.
5298
5299 * elf32-arc.c (USE_REL): Define as 1.
5300 * elf32-d10v.c (USE_REL): Likewise.
5301 * elf32-m32r.c (USE_REL): Likewise.
5302 * elf32-m68hc11.c (USE_REL): Likewise.
5303 * elf32-m68hc12.c (USE_REL): Likewise.
5304 * elf32-or32.c (USE_REL): Likewise.
5305 * elfarm-nabi.c (USE_REL): Likewise.
5306
f52d1d64
JJ
53072002-10-16 Jakub Jelinek <jakub@redhat.com>
5308
5309 * config.bfd (s390-*-linux*): Add targ64_selvecs.
5310 (s390x-*-linux*): Add targ_selvecs.
5311
2bc3c89a
AM
53122002-10-16 Alan Modra <amodra@bigpond.net.au>
5313
5314 * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
5fe39cae 5315 elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
2bc3c89a
AM
5316 elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
5317 elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
5318 (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
5319 (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
5320 (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
5321 (SOURCE_HFILES): Add elf32-qnx.h.
5322 (BUILD_HFILES): Add bfdver.h.
5323 Run "make dep-am".
5324 * Makefile.in: Regenerate.
5325 * configure.in Update bfd vector dependencies.
5326 * configure: Regenerate.
5327 * elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
5328 * elf32-i386qnx.c: Likewise.
5329 * elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
5330 * elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
5331 * elf32-sh-lin.c: Likewise.
5332 * elf32-shqnx.c: Likewise.
5333 * elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
5334 * elf32-sh64-nbsd.c: Likewise.
5335 * elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
5336 * elf64-sh64-nbsd.c: Likewise.
5337 * elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
5338 * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
5339 * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
5340 * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
5341 * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
5342 (elf_backend_is_contained_by_filepos): Likewise.
5343 (elf_backend_copy_private_bfd_data_p): Likewise.
5344 Globalize and move functions to..
5345 * elf32-qnx.c: ..here. New file.
5346 * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
5347 emit target vectors when INCLUDE_SHMEDIA.
5348 * elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
5349 end of file.
5350 * elf64-sh64.c: Remove ELF_ARCH test.
5351 * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
5352 * po/BLD-POTFILES.in: Regenerate.
5353 * po/SRC-POTFILES.in: Regenerate.
5354
90c9df85
AM
53552002-10-16 Alan Modra <amodra@bigpond.net.au>
5356
366f2964
AM
5357 * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
5358 loaded with --just-symbols.
5359
90c9df85
AM
5360 * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
5361 * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5362 * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5363 * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
5364
2238051f
RH
53652002-10-15 Richard Henderson <rth@redhat.com>
5366
5367 * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
5368 (BFD64_BACKENDS_CFILES): Likewise.
5369 * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
5370 * elf64-alpha-fbsd.c: Remove file, move code ...
5371 * elf64-alpha.c: ... here.
5372 * Makefile.in, configure: Rebuild.
5373
64e04ecd
RH
53742002-10-14 Richard Henderson <rth@redhat.com>
5375
5376 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
5377 VALUE, not ADDEND.
5378
396a6083
SC
53792002-10-14 Stephen Clarke <stephen.clarke@superh.com>
5380
5381 * elf32-sh.c (elf_sh_link_hash_entry): Replace
5382 datalabel_got_offset with union of datalabel_got
5383 offset and refcount.
5384 (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
5385 (allocate_dynrelocs): Delete unnecessary code for
5386 STT_DATALABEL type. Create entry in got for
5387 datalabel version of symbol if datalabel_got.refcount > 0.
5388 (sh_elf_relocate_section): Use datalabel_got union.
5389 (sh_elf_gc_sweep_hook): Pull common code to initialize
5390 h and eh out of switch statement. Declare seen_stt_datalabel.
5391 Initialize it. Decrement datalabel_got.refcount for
5392 got relocs when seen_stt_datalabel is true.
5393 Decrement local_got_refcounts entry for datalabel got relocs
5394 of local symbols.
5395 (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
5396 (sh_elf_check_relocs): Declare seen_stt_datalabel.
5397 Initialize it. When seen_stt_datalabel is true, increment
5398 datalabel_got refcount rather than got.refcount.
5399 (sh_elf_finish_dynamic_symbol): Create relocs to
5400 initialize got entry for datalabel version of symbol.
5401
6a0735ef
AM
54022002-10-14 Alan Modra <amodra@bigpond.net.au>
5403
5404 * Makefile.am: Run "make dep-am".
5405 (BFD_H_FILES): Remove version.h.
5406 * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
5407 * version.h: ..to here.
5408 * configure.in (bfd_version_date): Remove.
5409 (AC_OUTPUT): Make bfdver.h from version.h.
5410 * bfd.c: #include "bfdver.h".
5411 * vms-hdr.c: Likewise.
5412 * Makefile.in: Regenerate.
5413 * bfd-in2.h: Regenerate.
5414 * configure: Regenerate.
5415 * po/SRC-POTFILES.in: Regenerate.
5416
686e4055
AM
54172002-10-14 Alan Modra <amodra@bigpond.net.au>
5418
5419 * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
5420 bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
5421 bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
5422 bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
5423 bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
5424 bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
5425 bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
5426 bfd_mach_ip2022, bfd_mach_ip2022ext,
5427 bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
5428 * bfd-in2.h: Regenerate.
5429
019dca2b
KK
54302002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5431
5432 * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
5433 endian vector to targ_selvecs.
5434
bce03d3d
AO
54352002-10-13 Alexandre Oliva <aoliva@redhat.com>
5436
5437 * elfxx-mips.c (mips_elf_calculate_relocation): Take
5438 save_addend argument. Don't apply the 32-bit mask to a
5439 GPREL32 value if it's to be used in another relocation. Don't
5440 use forced-check computation of local_p to decide whether to
5441 add gp0 to GPREL16 value. Don't use only the lowest 16 bits
5442 of the addend of a non-in-place GPREL16 relocation.
5443 (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
5444 mips_elf_calculate_relocation().
5445
9b691193
SC
54462002-10-12 Stephane Carrez <stcarrez@nerim.fr>
5447
5448 * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
5449 with symbols in other sections if we relaxed something; the sections
5450 output offsets must be re-computed before.
5451
1f4c5b47
SC
54522002-10-12 Stephane Carrez <stcarrez@nerim.fr>
5453
5454 * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
5455 handling to use Elf_Internal_Sym.
5456 (m68hc11_elf_relax_delete_bytes): Likewise.
5457
5dc97655
KK
54582002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
5459
5460 * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
5461 sh_elf_object_p, dtpoff_base): New functions.
5462 (sh_elf_howto_table): Add TLS relocs.
5463 (sh_reloc_map): Likewise.
5464 (sh_elf_info_to_howto): Support TLS relocs.
5465 (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
5466 (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
5467 New macros.
5468 (sh_elf_obj_tdata): New.
5469 (elf_sh_link_hash_table): Add tls_ldm_got.
5470 (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
5471 (allocate_dynrelocs): Support TLS relocs.
5472 (sh_elf_size_dynamic_sections): Likewise.
5473 (sh_elf_relocate_section): Support TLS relocs. Don't try to find
5474 .rela.got section when found already. Return false after printing
5475 error about unresolvable relocation.
5476 (sh_elf_gc_sweep_hook): Support TLS relocs.
5477 (sh_elf_check_relocs): Likewise.
5478 (sh_elf_finish_dynamic_symbol): Likewise.
5479 (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
5480 * reloc.c: Add SH TLS relocs.
5481 * bfd-in2.h, libbfd.h: Regenerate.
5482
6a0735ef
AM
54832002-10-11 Daniel Jacobowitz <drow@mvista.com>
5484
5485 * Makefile.in: Regenerated.
5486
af39267e
DJ
54872002-10-11 Daniel Jacobowitz <drow@mvista.com>
5488
5489 * Makefile.am: Run dep-am.
6a0735ef 5490 (BFD_H_DEP): Add simple.c and linker.c.
af39267e
DJ
5491 (BFD32_LIBS): Add simple.lo.
5492 (BFD32_LIBS_CFILES): Add simple.c.
5493 * Makefile.in: Regenerated.
5494 * bfd-in2.h: Regenerated.
5495 * simple.c: New file.
5496
0be617ce
AM
54972002-10-11 Alan Modra <amodra@bigpond.net.au>
5498
14a793b2
AM
5499 * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
5500 (record_thumb_to_arm_glue): Likewise.
5501 * ecoff.c (ecoff_link_add_externals): Likewise.
5502 * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
5503 (record_thumb_to_arm_glue): Likewise.
5504 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
5505 * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
5506 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
5507 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
5508 * elf64-ppc.c (func_desc_adjust): Likewise.
5509 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
5510 (sh64_elf64_create_dynamic_sections): Likewise.
5511 * elflink.c (_bfd_elf_create_got_section): Likewise.
5512 (_bfd_elf_create_dynamic_sections): Likewise.
5513 (_bfd_elf_create_linker_section): Likewise.
5514 * elflink.h (elf_add_default_symbol): Likewise.
5515 (elf_link_create_dynamic_sections): Likewise.
5516 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
5517 * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
5518 * elfxx-mips.c (mips_elf_create_got_section): Likewise.
5519 (_bfd_mips_elf_add_symbol_hook): Likewise.
5520 (_bfd_mips_elf_create_dynamic_sections): Likewise.
5521 * linker.c (generic_link_add_symbol_list): Likewise.
5522 * xcofflink.c (xcoff_link_add_symbols): Likewise.
5523
5524 * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
5525
0be617ce 5526 * elf64-ppc.c (edit_opd): Only zero opd syms when function is
7f6a7663 5527 completely removed. Correct local sym adjustment.
0be617ce 5528
0a4ef3f4
SC
55292002-10-10 Stephen Clarke <stephen.clarke@superh.com>
5530
5531 * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
5532 Correct mistake in calculation of address of .got.
5533 * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
5534 elf_sh64_pic_plt_entry_le): Likewise.
5535
efacd36e
SC
55362002-10-09 Richard Shann <richard.shann@superh.com>
5537 Stephen Clarke <stephen.clarke@superh.com>
5538
5539 * Makefile.am: Add entries for elf32-sh64-lin.c and
5540 elf64-sh64-lin.c. Regenerate.
5541 * Makefile.in: Regenerate.
9b5ecbd0 5542 * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
efacd36e
SC
5543 to use sh64 vectors rather than sh vectors.
5544 * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5545 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5546 * configure: Regenerate.
5547 * elf32-sh64-lin.c: New file.
5548 * elf64-sh64-lin.c: New file.
5549 * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5fe39cae
AM
5550 bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5551
299bf759
L
55522002-10-08 H.J. Lu <hjl@gnu.org>
5553
5554 * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
5555 IE->LE transition for R_386_TLS_IE.
5556
51020317
AM
55572002-10-08 Alan Modra <amodra@bigpond.net.au>
5558
5559 * elf64-ppc.c (edit_opd): Correct test for discarded sections.
5560
a8fcf378
NC
55612002-10-07 Mark Elbrecht <snowball3@softhome.net>
5562
51020317
AM
5563 * cofflink.c (mark_relocs): Don't mark relocations in excluded
5564 sections.
a8fcf378 5565
a16d5acb
AM
55662002-10-07 Alan Modra <amodra@bigpond.net.au>
5567
a6b511bd
AM
5568 * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
5569 code.
5570
a16d5acb
AM
5571 * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
5572
7c4a37eb
AM
55732002-10-06 Alan Modra <amodra@bigpond.net.au>
5574
5575 * opncls.c: Formatting.
5576 (_bfd_new_bfd): Use a smaller section hash table.
5577
7c4ca42d
AO
55782002-10-05 Alexandre Oliva <aoliva@redhat.com>
5579
5580 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
5581 of the other two relocations packed with a REL32 to NONE.
5582
4989d792
SC
55832002-10-02 Stephen Clarke <stephen.clarke@superh.com>
5584
5585 * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
5586 (sh_elf_link_hash_newfunc): Initialize it.
5587 (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
5588 to got.refcount for symbols that are forced local or when
5589 we have direct got refs.
5590 (sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
5591 to correctly adjust got.refcount and plt.refcount.
5592 (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
5593 (sh_elf_check_relocs): Increment gotplt_refcount.
51020317 5594
7c445aa3
JJ
55952002-10-01 Jakub Jelinek <jakub@redhat.com>
5596
5597 * elf32-i386.c (elf_i386_relocate_section): Fix
5598 movl foo@indntpoff, %eax IE->LE transition.
5599
abcf1d52
JJ
56002002-10-01 Jakub Jelinek <jakub@redhat.com>
5601
5602 * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
5603 sequence and its transitions.
5604
a45bb67d
JJ
56052002-10-01 Jakub Jelinek <jakub@redhat.com>
5606
5607 * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
5608 to st_value + addend in non-code sections.
5609 * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
5610 R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
5611
00707a0e 56122002-09-30 Gavin Romig-Koch <gavin@redhat.com>
51020317
AM
5613 Ken Raeburn <raeburn@cygnus.com>
5614 Aldy Hernandez <aldyh@redhat.com>
5615 Eric Christopher <echristo@redhat.com>
5616 Richard Sandiford <rsandifo@redhat.com>
00707a0e
RS
5617
5618 * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
5619 (bfd_mach_mips5500): New.
5620 * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
5621 (arch_info_struct): Add corresponding entries here.
5622 * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
5623 E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
5624 (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
5625 bfd_mach_mips5400 and bfd_mach_mips5500.
5626 (_bfd_mips_elf_mach_extends_p): New function.
5627 (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
5628 the EF_MIPS_MACH flags.
5629 * bfd-in2.h: Regenerate.
5630
624f0b25
JT
56312002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
5632
5633 * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
5634 .got sections.
5635
b89fe0ee
AM
56362002-09-28 Alan Modra <amodra@bigpond.net.au>
5637
5638 * elf.c (map_sections_to_segments): Correct test for start of
5639 writable section in the same page as end of read-only section.
5640
b29635ba
JT
56412002-09-27 Matt Thomas <matt@3am-software.com>
5642
5643 * elf32-vax.c (elf_vax_check_relocs): Remove unused
5644 local_got_refcounts usage. Remove allocation of got slot.
5645 (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
5646 Remove de-allocation of got slot.
5647 (elf_vax_size_dynamic_section): Fix some indentation. Add hash
5648 traversal for elf_vax_instantiate_got_entries. Allow empty .got
5649 sections to be GC'ed.
5650 (elf_vax_instantiate_got_entries): New function.
5651 (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
5652 tests that are now handled by elf_vax_instantiate_got_entries.
5653 Assert GOT entry falls within .got section size. Remove redundant
5654 comparisions. Fix comments.
5655
bffbf940
JJ
56562002-09-27 Jakub Jelinek <jakub@redhat.com>
5657
5658 * reloc.c: Add x86-64 TLS relocs.
5659 * bfd-in2.h, libbfd.h: Rebuilt.
5660 * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
5661 relocs. Add TLS relocs.
5662 (x86_64_reloc_map): Add TLS relocs.
5663 (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
5664 (struct elf64_x86_64_link_hash_entry): Add tls_type field.
5665 (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
5666 (elf64_x86_64_hash_entry): Define.
5667 (struct elf64_x86_64_obj_tdata): New.
5668 (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
5669 (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
5670 (link_hash_newfunc): Initialize tls_type.
5671 (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
5672 (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
5673 (elf64_x86_64_mkobject): New.
5674 (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
5675 (elf64_x86_64_tls_transition): New.
5676 (elf64_x86_64_check_relocs): Add r_type variable and use it.
5677 Handle TLS relocs.
5678 (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
5679 (allocate_dynrelocs): Allocate GOT space for TLS relocs.
5680 (elf64_x86_64_size_dynamic_sections): Likewise.
5681 (dtpoff_base, tpoff): New.
5682 (elf64_x86_64_relocate_section): Handle TLS relocs.
5683 (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
5684 entries.
5685 (bfd_elf64_mkobject): Define.
5686
5687 * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
5688 DF_STATIC_TLS if shared.
5689
14366460
TS
56902002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5691
5692 * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
5693 empty relocation sections.
5694
9f951329
AM
56952002-09-26 Alan Modra <amodra@bigpond.net.au>
5696
5697 * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
5698 (ppc64_elf_build_stubs): Build them here instead.
5699
6b3ac709
JJ
57002002-09-24 Jakub Jelinek <jakub@redhat.com>
5701
5702 * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
5703 addend into r_addend, not *r_offset.
5704 (elf32_sparc_finish_dynamic_symbol): Likewise.
5705 * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
5706 R_SPARC_RELATIVE's r_offset.
5707
e2f6d277
NC
57082002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
5709
5710 * dwarf2.c (decode_line_info): Update to correctly decode
5711 the (non-standard DWARF2) out-of-order address sequences
5712 generated by the Intel C++ 6.0 compiler for ia64-Linux.
5713
f3961b2b
DD
57142002-09-23 Mark Elbrecht <snowball3@softhome.net>
5715
5716 * config.bfd: For DJGPP targets, match with any cpu and any machine.
5717
ad34bc37
AM
57182002-09-23 Alan Modra <amodra@bigpond.net.au>
5719
5720 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
5721 for discarded FDEs. Remove redundant assignment.
5722 * elflink.h (elf_bfd_discard_info): Save edited relocs.
5723
82988bff
L
57242002-09-22 H.J. Lu <hjl@gnu.org>
5725
5726 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
5727 the relocation count between different .reloc sections.
5728
5ad8645c
AM
57292002-09-21 Alan Modra <amodra@bigpond.net.au>
5730
5f819128
AM
5731 * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
5732 ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
5733 R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
5734 R_PPC_EMB_RELSDA.
5735
5ad8645c
AM
5736 * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
5737 unsigned. Move "symcount" assignment out of loop.
5738 * Makefile.am: Run "make dep-am".
5739 * Makefile.in: Regenerate.
5740 * configure: Regenerate.
5741 * po/SRC-POTFILES.in: Regnerate.
5742
75936555
NC
57432002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
5744
5745 * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
5746 zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
5747 (e.g. IRIX64).
5748
2243deae
L
57492002-09-19 Jakub Jelinek <jakub@redhat.com>
5750
5751 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
5752 even if generating R_PPC_RELATIVE reloc.
5753 (ppc_elf_relocate_section): Make sure relocation is performed
5754 if skip == -2. Clear memory at r_offset when creating dynamic
5755 relocation.
5756
37e55690
JJ
57572002-09-19 Jakub Jelinek <jakub@redhat.com>
5758
5759 * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
5760 BFD_RELOC_386_TLS_GOTIE): Add.
5761 * bfd-in2.h, libbfd.h: Rebuilt.
5762 * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
5763 and R_386_TLS_GOTIE.
5764 (elf_i386_reloc_type_lookup): Handle it.
5765 (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
5766 char instead of enum, change GOT_* into defines.
5767 (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
5768 (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5769 (elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
5770 accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
5771 R_386_PLT32 cases so that R_386_TLS_IE can fall through.
5772 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5773 (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5774 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5775 (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
5776 tls_type is GOT_TLS_IE_BOTH.
5777 (elf_i386_size_dynamic_sections): Likewise.
5778 (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5779 Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5780 (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
5781 all 4 GOT_TLS_* TLS types.
5782
8e67855b
NC
57832002-09-19 Nick Clifton <nickc@redhat.com>
5784
5785 * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
5786 follow indirect links.
5787
1c59ba3f
NC
57882002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
5789
5790 * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
5791 correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
5792 on 64 bit machines.
5793 (ecoff_swap_sym_in) <iss>: Likewise.
0e327d91
NC
5794 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
5795 ECOFF information: 'ioptMax' refers to the actual *size*
5796 of the optimization symtab, not the number of entries.
1c59ba3f 5797
9d7404b7
NC
57982002-09-19 Daniel Jacobowitz <drow@mvista.com>
5799
5800 * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
5801 ELF_LINK_HASH_NEEDS_PLT logic.
5802
05a487dc
DJ
58032002-09-18 Daniel Jacobowitz <drow@mvista.com>
5804
5805 * elfcode.h (elf_slurp_reloc_table_from_section): Check
5806 correct relocation count.
5807
1f70368c
DJ
58082002-09-17 Daniel Jacobowitz <drow@mvista.com>
5809
5810 * bfd-in.h (bfd_get_dynamic_symcount): Define.
5811 * bfd.c (struct _bfd): Add dynsymcount.
5812 * bfd-in2.h: Regenerated.
5813 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
5814 abfd->dynsymcount.
5815 * elfcode.h (elf_slurp_reloc_table_from_section): Check
5816 for overflow.
5817
51020317 58182002-09-17 Stan Cox <scox@redhat.com>
a902ee94
SC
5819
5820 * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
5821 (mips_elf64_final_gp): Don't make up gp value.
5822 * elfn32-mips.c (mips_elf_final_gp): Likewise.
5823 * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
5824 .MIPS.options/.options section.
5825
290062cc
DB
58262002-09-17 David O'Brien <obrien@FreeBSD.org>
5827
5828 * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
5829 It is benign for FreeBSD < 4.1. Minor reformatting.
5830 * elf64-alpha-fbsd.c: Likewise.
5831
c5c1f40c
JJ
58322002-09-17 Jakub Jelinek <jakub@redhat.com>
5833
ca1eb0ba
JJ
5834 * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
5835 addend.
c5c1f40c 5836
562ace6b
AM
58372002-09-17 Alan Modra <amodra@bigpond.net.au>
5838
5839 * elf64-alpha.c (alpha_elf_size_info): Make static.
5840
5af6ead6
AM
58412002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
5842
5843 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
5844 * cpu-tic4x.c: Ditto.
5845
cb9512fc
TS
58462002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5847
5848 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
5849 duplicate define.
5850
4ada7262
DB
58512002-09-16 Bruno Haible <bruno@clisp.org>
5852
5853 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
5854 by a target variant implementation.
5855 * elf64-alpha.c: Likewise.
5856 * elf32-i386-fbsd.c: New file.
5857 * elf64-alpha-fbsd.c: New file.
5858 * targets.c: Support bfd_elf32_i386_freebsd_vec and
5859 bfd_elf64_alpha_freebsd_vec.
5860 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
5861 bfd_elf64_alpha_freebsd_vec.
5862 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
5863 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
5864 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
5865 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
5866 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
5867 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
5868 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
5869
6a30718d
JJ
58702002-09-12 Jakub Jelinek <jakub@redhat.com>
5871
5872 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
5873 NULL.
5874 (elf_i386_relocate_section): Return false after printing error about
5875 unresolvable relocation.
5876
6cf9e9fe
NC
58772002-09-12 Nick Clifton <nickc@redhat.com>
5878
5879 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
5880 R_ARM_THM_PC11.
5881
10f469bf
DJ
58822002-09-11 Jeffrey Law <law@redhat.com>
5883
5884 * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
5885
dc43ada5
NC
58862002-09-11 Andrew Haley <aph@cambridge.redhat.com>
5887
5888 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
5889 line_ptr before deciding we've found a symbol.
5890
e09f4395
NC
58912002-09-11 Nick Clifton <nickc@redhat.com>
5892
5893 * po/da.po: New Danish translation file.
5894 * configure.in (LINGUAS): Add 'da'.
5895 * configure: Regenerate.
5896
b3018b5f
NC
58972002-09-10 Michael Snyder <msnyder@redhat.com>
5898
5899 * irix-core.c (do_sections, do_sections64): New functions.
51020317 5900 (irix_core_core_file_p): Call new functions do_sections,
b3018b5f
NC
5901 do_sections64, depending on corefile (32-bit or 64-bit).
5902
2f21f25e
RH
59032002-09-09 Richard Henderson <rth@redhat.com>
5904
5905 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
5906 and PCREL21F like PCREL21B.
5907
28b94e7c
KB
59082002-09-04 Kevin Buettner <kevinb@redhat.com>
5909
51020317
AM
5910 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
5911 vector.
28b94e7c 5912
5cec6941
NC
59132002-09-02 Nick Clifton <nickc@redhat.com>
5914
5915 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
5916 names instead of cryptically overloaded bfd_reloc error
5917 codes.
5918 (v850_elf_relocate_section): Likewise.
5919 (v850_elf_relax_section): Replace caching of external symbols
5920 with caching of internal symbols obtained from calling
5921 bfd_elf_get_elf_syms().
51020317 5922 Fixup problems with freeing cached allocated memory blocks.
5cec6941 5923
3b77b1d5
AM
59242002-09-02 Alan Modra <amodra@bigpond.net.au>
5925
638524b5
AM
5926 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
5927 (bfd_pj_arch): Use bfd_default_scan.
5928 * cpu-v850.c (scan): Remove.
5929 (N): Use bfd_default_scan.
5930 * cpu-z8k.c (scan_mach): Remove.
5931 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
5932 first. Use bfd_default_scan.
5933
250d94fd
AM
5934 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
5935 bfd_mach constants.
5936 (ecoff_get_magic): Likewise.
5937 * elf32-v850.c (v850_elf_object_p): Likewise.
5938 (v850_elf_final_write_processing): Likewise.
5939 * mipsbsd.c (MY(set_arch_mach)): Likewise.
5940 (MY(write_object_contents)): Likewise.
5941 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
5942 * coffcode.h (coff_write_object_contents): Likewise.
5943 (coff_set_arch_mach_hook): Add comment describing machine == 0.
5944 Remove unnecessary "machine" assignments.
5945 (coff_write_relocs): Test for the absolute section sym by testing
5946 section and flags.
5947
3b77b1d5
AM
5948 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
5949 and bfd_mach_i386_i386_intel_syntax.
250d94fd 5950 * pdp11.c (NAME(aout,machine_type)): Likewise.
3b77b1d5 5951
e5b45b83
DA
59522002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5953
5954 * bfd-in.h (align_power): Cast constants to bfd_vma type.
5955 * bfd-in2.h (align_power): Likewise.
5956
37f45cf8
AM
59572002-08-30 Alan Modra <amodra@bigpond.net.au>
5958
5959 * Makefile.am: Run "make dep-am".
5960 * Makefile.in: Regenerate.
5961
5962 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
5963 * cpu-powerpc.c (powerpc_compatible): Likewise.
5964 * cpu-rs6000.c (rs6000_compatible): Likewise.
5965
86aba9db
NC
59662002-08-28 Catherine Moore <clm@redhat.com>
5967
9b5ecbd0 5968 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
86aba9db
NC
5969 (v850-elf-reloc): Don't resolve pc relative relocs.
5970 (v850_elf_ignore_reloc): New routine.
5971 (v850_elf_final_link_relocate): Handle new relocs.
5972 (v850_elf_relax_delete_bytes ): New routine.
5973 (v850_elf_relax_section): New routine.
5974 (bfd_elf32_bfd_relax_section): Define.
5975 (HOWTO): New entries for new relocs.
5976 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
5977 (BFD_RELOC_V850_LONGJUMP): New reloc.
5978 (BFD_RELOC_V850_ALIGN): New reloc.
5979 * archures.c: Remove redundant v850ea architecture.
5980 * cpu-v850.c: Remove redundant v850ea support.
5981 * libbfd.h: Regenerate.
5982 * bfd-in2.h: Regenerated.
5983
026df7c5
NC
59842002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
5985
5986 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
5987 * configure.in: Add tic4x_coff vector files.
5988 * configure: Regenerate.
5989 * Makefile.am: Add tic4x target.
5990 * Makefile.in: Regenerate.
5991
59922002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5993
5994 * archures.c: Add the BFD arch type tic4x.
5995 * bfd-in.h: Add BFD_IN_MEMORY flag.
5996 * coff-tic4x.c: New file.
5997 * coffswap.h (coff_swap_sym_out): Add preadjuster.
5998 * cpu-tic4x.c: New file.
5999 * targets.c: Added tic4x- in list of xvecs.
6000 * ticoff.h: New file.
6001 * bfd-in2.h: Regenerate.
6002
88f7bcd5
NC
60032002-08-27 Adam Nemet <anemet@lnxw.com>
6004
6005 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
6006 bit of DT_INIT and DT_FINI for Thumb functions.
6007
c8e48751
AM
60082002-08-26 Alan Modra <amodra@bigpond.net.au>
6009
6010 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
6011
2846975a
AM
60122002-08-26 Alan Modra <amodra@bigpond.net.au>
6013
6014 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
6015
067653c5
AM
60162002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
6017
6018 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
6019 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
6020 Likewise.
6021 (struct elf_sh_pcrel_relocs_copied): Removed.
6022 (struct elf_sh_dyn_relocs): New.
6023 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
6024 field with dyn_relocs.
6025 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
6026 sections and sym_sec.
6027 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
6028 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
6029 (sh_elf_create_dynamic_sections): Use create_got_section instead
6030 of _bfd_elf_create_got_section.
6031 (sh_elf_check_relocs): Likewise.
6032 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
6033 sections.
6034 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
6035 sh_elf_relocate_section, sh_elf_check_relocs,
6036 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
6037 Likewise.
6038 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
6039 dynamic relocations and avoiding the copy relocation when we
6040 didn't find any dynamic relocations in the section which has
6041 contents or is read-only.
6042 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
6043 (sh_elf_size_dynamic_sections): Don't reset the size of
6044 .rela.got section even if dynamic_sections_created flag is off.
6045 Don't use sh_elf_discard_copies. Scan all input bfd and use
6046 allocate_dynrelocs. Call readonly_dynrelocs to determine
6047 whether we need DT_TEXTREL.
6048 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
6049 whether the symbol was never referred to.
6050 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
6051 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
6052 (sh_elf_check_relocs): Call create_got_section if the short-cut
6053 to .got is null. Increment reference counters only instead of
6054 allocating space on dynamic sections here. Don't conditionalize
6055 uninitialized got.offset value when marking the symbol as a
6056 global offset table entry. Keep relocations for symbols satisfied
6057 by a dynamic library to avoid copy relocations for the symbol.
6058 Set dynobj field of an elf hash table if needed.
6059 (sh_elf_finish_dynamic_sections): Handle null section pointer
6060 correctly.
6061 (elf_backend_copy_indirect_symbol): Defined.
6062 (elf_backend_can_refcount): Defined.
6063
7e326afc
NC
60642002-08-23 Nick Clifton <nickc@redhat.com>
6065
6066 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
6067 previous change. Add comment explaining why.
6068
c8614e8e
AM
60692002-08-23 Stephen Clarke <stephen.clarke@superh.com>
6070
6071 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
6072 contents of .got.plt[2] to tr0, not address of .got.plt.
6073 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
6074 patching absolute plt entry. For shmedia plt entry, set bottom bit
6075 of branch to plt0 as this is a branch to an shmedia instruction.
6076 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
6077 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
6078 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
6079 branch to plt0.
6080 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
6081 patching absolute plt entry. For shmedia plt entry, branch to
6082 plt0 is now ptrel, so use relative offset. Set bottom bit of
6083 branch target as it is a branch to an shmedia instruction.
6084
3b587c71
AM
60852002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
6086 Richard Shann <richard.shann@superh.com>
6087
6088 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
6089 value if .init is an SHmedia function. Similarly for DT_FINI.
6090 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
51020317 6091
957dcaa8
AM
60922002-08-23 Stephen Clarke <stephen.clarke@superh.com>
6093
3b587c71 6094 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
957dcaa8 6095 dynamic section.
3b587c71 6096 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
957dcaa8 6097
a4263c47
NC
60982002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
6099
6100 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
51020317 6101 byte read when reading the return address register column.
a4263c47 6102
db4ed121
NC
61032002-08-22 Nick Clifton <nickc@redhat.com>
6104
6105 * config.bfd: Add powepc64-*-*bsd* target.
6106
ed71e111
NC
61072002-08-22 Graeme Peterson <gp@qnx.com>
6108
6109 * Makefile.am: Add entries for elf32-shqnx.c
6110 * Makefile.in: Regenerate.
6111 * config.bfd: Add support sh-*-nto* target.
6112 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
6113 * configure: Regenerate.
6114 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
6115 * elf32-sh.c: Do not include elf32-target.h if
6116 ELF32_SH_C_INCLUDED is defined.
6117 * elf32-shqnx.c: New file: Support for QNX.
6118 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
6119
0ab72ee2
NC
61202002-08-22 Nick Clifton <nickc@redhat.com>
6121
75c83283
NC
6122 * po/tr.po: Updated Turkish translation.
6123
0ab72ee2
NC
6124 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
6125 symbols are not read.
6126
56780f18
AM
61272002-08-22 Alan Modra <amodra@bigpond.net.au>
6128
6129 * elf32-m68hc11.c: Formatting fixes.
6130 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
6131 * elf32-m68hc12.c: Formatting fixes.
6132 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
6133
b48fa14c
AM
61342002-08-22 Alan Modra <amodra@bigpond.net.au>
6135
a7c71b0c
AM
6136 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
6137 SEC_DATA.
6138 (pmac_xcoff_vec): Likewise.
6139 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
6140 (aix5coff64_vec): Likewise.
6141
56780f18
AM
61422002-08-22 Alan Modra <amodra@bigpond.net.au>
6143
b48fa14c
AM
6144 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
6145 param to elf_backend_copy_indirect_symbol.
6146 (_bfd_elf_link_hash_copy_indirect): Likewise.
6147 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
6148 calls to copy_indirect_symbol.
6149 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
6150 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
6151 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6152 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
6153 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
6154 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
6155 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
6156 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6157 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
6158 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
6159 test refcounts for "used" values.
6160
8c2ab17d
AM
61612002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
6162
6163 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
6164 argument declaration.
6165
d62b1198 61662002-08-19 Elena Zannoni <ezannoni@redhat.com>
51020317
AM
6167
6168 * archures.c (bfd_mach_ppc_e500): Added.
6169 * bfd-in2.h: Rebuilt.
d62b1198
EZ
6170 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
6171
9f88ba09
AM
61722002-08-19 Alan Modra <amodra@bigpond.net.au>
6173
6174 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
6175
df622259
AC
61762002-08-17 Andrew Cagney <ac131313@redhat.com>
6177
6178 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
51020317 6179 `bfd_byte'.
df622259 6180
44c410de
SC
61812002-08-17 Stan Cox <scox@redhat.com>
6182
6183 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
6184 IRIX 6 segment layout for NEWABI.
6185
4972a8e9
SC
61862002-08-16 Stephen Clarke <stephen.clarke@superh.com>
6187
1049f94e 6188 * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
4972a8e9 6189 symbols when looking for section referred to by a relocation.
1049f94e 6190 * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
51020317 6191
c5cd6d62
AM
61922002-08-15 Alan Modra <amodra@bigpond.net.au>
6193
6194 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
6195
0741c7be
HPN
61962002-08-15 Hans-Peter Nilsson <hp@axis.com>
6197
6198 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
6199 missing check for whether the symbol is referenced by DSO before
6200 unexporting it as an unneeded dynamic symbol.
6201
e8d5d179
L
62022002-08-14 H.J. Lu <hjl@gnu.org>
6203
6204 * libbfd.h: Regenerate.
6205
e9229007
L
62062002-08-14 H.J. Lu <hjl@gnu.org>
6207
6208 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
6209
1fd03b5a
SC
62102002-08-14 Stephane Carrez <stcarrez@nerim.fr>
6211
6212 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
6213 instructions.
6214 (m68hc11_direct_relax): New to define table of relaxable instructions.
6215 (find_relaxable_insn): New, find a relaxable insn.
6216 (compare_reloc): New to compare two relocs.
6217 (m68hc11_elf_relax_section): New, relax text sections.
6218 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
6219 (elf32_m68hc11_check_relocs): New function for GC support.
6220 (elf32_m68hc11_relocate_section): New function for GC support.
6221 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
6222 (elf_backend_check_relocs): Likewise.
6223 (elf_backend_relocate_section): Likewise.
6224
c828c771
L
62252002-08-13 H.J. Lu <hjl@gnu.org>
6226
6227 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
6228 definitions in shared objects when checking symbol with
6229 undefined version.
6230
9b701e44
SC
62312002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6232
6233 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
6234 (elf32_m68hc11_gc_sweep_hook): Likewise.
6235 (elf_backend_gc_mark_hook): Define for GC section support.
6236 (elf_backend_gc_sweep_hook): Likewise.
6237 (elf_backend_can_gc_sections): Likewise.
6238
6239 * elf32-m68hc12.c: Likewise.
6240
96405e3c
SC
62412002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6242
6243 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
6244 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
6245 (_bfd_m68hc11_elf_set_private_flags): New function.
6246 Use them to set/check/print ELF flags specific to 68HC11.
6247
6248 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
6249 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
6250 (_bfd_m68hc12_elf_set_private_flags): New function.
6251 Use them to set/check/print ELF flags specific to 68HC12.
6252
dae78fb0
SC
62532002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6254
6255 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
6256 fix masks for PC-rel relocs.
6257 (m68hc11_elf_ignore_reloc): New function.
6258
6259 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
6260 68HC12 banked addressing relocs.
6261 (m68hc12_phys_addr): New to compute physical address of banked memory.
6262 (m68hc12_phys_page): Likewise for page.
6263 (m68hc12_addr_is_banked): New to see if address is in banked area.
6264 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
6265
3dbfec86
SC
62662002-08-13 Stephane Carrez <stcarrez@nerim.fr>
6267
6268 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
6269 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
6270 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
6271 * bfd-in2.h: Regenerate.
6272
871da94f
L
62732002-08-12 H.J. Lu <hjl@gnu.org>
6274
6275 * elflink.h (elf_add_default_symbol): Preserve section across
6276 elf_merge_symbol.
6277
59bc061d
NC
62782002-08-09 Graeme Peterson <gp@qnx.com>
6279
51020317 6280 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
59bc061d
NC
6281 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
6282 * Makefile.in: Regenerate.
6283 * config.bfd: Add support for powerpc{le}-*-nto targets.
6284 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
6285 * configure: Regenerate.
6286 * elf32-i386qnx.c: Moved backend functions into a QNX specific
6287 common file "elf32-qnx.h", and now include that file.
6288 * elf32-qnx.h: New file: QNX specific common elf backend.
6289 * elf32-ppc.c: Do not include elf32-target.h if
6290 ELF32_PPC_C_INCLUDED is defined.
6291 * elf32-ppcqnx.c: New file: Support for QNX.
6292 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
6293 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
6294
2b692c59
NC
62952002-08-09 Nick Clifton <nickc@redhat.com>
6296
6297 * po/sv.po: Updated Swedish translation.
6298
d0c7ff07
TS
62992002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6300
6301 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
6302 g->global_gotsym is NULL.
6303
d8bbe778
L
63042002-08-08 H.J. Lu <hjl@gnu.org>
6305
c5cd6d62 6306 * elflink.h (elf_add_default_symbol): Don't warn if a definition
d8bbe778
L
6307 overrides an indirect versioned symbol.
6308
c366c25e
JJ
63092002-08-08 Jakub Jelinek <jakub@redhat.com>
6310
6311 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
6312 for R_386_TLS_TPOFF32 relocs against symndx 0.
6313
31941635
L
63142002-08-07 H.J. Lu <hjl@gnu.org>
6315
6316 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
6317 with undefined version if needed.
6318 (elf_link_assign_sym_version): Match a default symbol with a
6319 version without definition. No need to hide the default
6320 definition separately.
6321
0f3bd64f
AM
63222002-08-08 Alan Modra <amodra@bigpond.net.au>
6323
7330fb86
AM
6324 * elflink.h (elf_link_output_extsym): Don't output symbols from
6325 SEC_EXCLUDE sections.
6326
0f3bd64f
AM
6327 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
6328
a4aa0fb7
AM
63292002-08-07 Alan Modra <amodra@bigpond.net.au>
6330
6331 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
6332 entries.
6333
34ea4a36
TS
63342002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6335
6336 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
6337 mismatch.
6338
141ff970
TS
63392002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6340
6341 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
6342
28458e7e
TS
63432002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6344
6345 * elf32-mips.c (mips_reloc_map): Fix typo.
6346
0121a3da
AM
63472002-08-06 Alan Modra <amodra@bigpond.net.au>
6348
6349 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
6350
d006db6c
AM
63512002-08-06 Alan Modra <amodra@bigpond.net.au>
6352
6353 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
6354
8ea80f08
AM
63552002-08-06 Alan Modra <amodra@bigpond.net.au>
6356
2a52da53
AM
6357 * libxcoff.h: Use PARAMS on function declarations.
6358 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
6359 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
6360
8ea80f08
AM
6361 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
6362 addend.
6363 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
6364
cf9ab45b
AM
63652002-08-06 Alan Modra <amodra@bigpond.net.au>
6366
6367 * coff-rs6000.c: Formatting fixes.
6368 (xcoff_calculate_relocation): Use PARAMS in declaration.
6369 (xcoff_complain_overflow): Likewise.
6370 (xcoff_ppc_relocate_section): Use old-style function pointer call.
6371 (bfd_xcoff_backend_data): Remove useless comments.
6372 (rs6000coff_vec): Likewise.
6373 (bfd_pmac_xcoff_backend_data): Likewise.
6374 (pmac_xcoff_vec): Likewise.
8ea80f08 6375
cf9ab45b
AM
6376 * coff64-rs6000.c: Formatting fixes.
6377 (xcoff64_calculate_relocation): Use PARAMS in declaration.
6378 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
6379 (bfd_xcoff_backend_data): Remove useless comments.
6380 (rs6000coff64_vec): Likewise.
6381 (bfd_xcoff_aix5_backend_data): Likewise.
6382 (aix5coff64_vec): Likewise.
6383
48bfecdd
AM
63842002-08-06 Alan Modra <amodra@bigpond.net.au>
6385
a78eab4e
AM
6386 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
6387 mask entries. Use complain_overflow_dont for R_REF.
6388 (xcoff_reloc_type_ba): Revert last change.
6389 (xcoff_reloc_type_br): Likewise.
6390 (xcoff_reloc_type_crel): Likewise.
6391 (xcoff_ppc_relocate_section): Likewise.
6392 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
6393 (xcoff64_ppc_relocate_section): Likewise.
6394 (xcoff64_howto_table): Revert some of last change to mask entries.
6395 Use complain_overflow_dont for R_REF.
6396
48bfecdd
AM
6397 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
6398 relocs with bitsize == 16 have size = 1.
6399 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
6400 (xcoff_reloc_type_br): Likewise.
6401 (xcoff_reloc_type_crel): Likewise.
6402 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
6403 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
6404 dst_mask adjustment.
6405 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
6406 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
6407 bitsize == 16 have size = 1.
6408
fd13ed0c
DC
64092002-08-01 Denis Chertykov <denisc@overta.ru>
6410
6411 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
6412 (struct misc): New field isymbuf. All free_* fields removed.
6413 (symbol_value): Pass in internal syms. No need to swap syms in.
6414 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
6415 possibly cached info.
6416 (tidyup_after_error): Removed.
6417 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
6418 misc. Use new field.
6419 (adjust_all_relocations): Use internal syms. No need to swap syms
6420 in and out.
6421 (add_page_insn): Don't use removed fields of struct misc.
6422
24a1ba0f
NC
64232002-08-01 Nick Clifton <nickc@redhat.com>
6424
6425 * elf32-arm.h: Revert previous delta.
6426
a6903459
NC
64272002-08-01 Nick Clifton <nickc@redhat.com>
6428
6429 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
6430 * configure: Regenerate.
6431
39a2a3eb
L
64322002-07-31 H.J. Lu <hjl@gnu.org>
6433
6434 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
6435 selected.
6436
a0dfa6a8
L
64372002-07-31 H.J. Lu <hjl@gnu.org>
6438
6439 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
6440 is selected.
6441
cd67d266
JJ
64422002-07-31 Jakub Jelinek <jakub@redhat.com>
6443
6444 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
6445 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
6446
4eb6b71c
NC
64472002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6448
6449 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
6450 There is no 8 byte relocation type for this architecture.
6451 (do_ns32k_reloc): Use bfd_vma instead of native types.
6452 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
6453 returns void.
6454 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
6455 rely on generic code to do that.
6456 * aout-ns32k.c (howto_table): Add appropriate overflow detection
6457 to all table entries.
6458 (_bfd_ns32k_relocate_contents): put_data returns void.
6459 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
6460 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
6461 return void.
6462
f7c33884
NC
64632002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6464
6465 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
6466 archive object is target dependant.
6467
8f64befb
NC
64682002-07-31 Adam Nemet <anemet@lnxw.com>
6469
6470 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
6471 (THUMB_PLT_ENTRY_SIZE): New macro.
6472 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
6473 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
6474 ARM_PLT_ENTRY_SIZE.
6475 (elf32_arm_plt_entry): Likewise.
6476 (elf_backend_plt_header_size): Likewise.
6477 (elf32_thumb_plt0_entry): New global.
6478 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
6479 into .plt.thumb.
6480 (elf32_thumb_plt_entry): New global.
6481 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
6482 Thumb entries. Set the bottom bit of the corresponding GOT entry
6483 for a Thumb PLT entry.
6484 (struct elf32_arm_plt_entry_info): New structure.
6485 (struct elf32_arm_link_hash_entry, plt_info): New member of this
6486 type.
6487 (elf32_arm_link_hash_newfunc): Initialize new member.
6488 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
6489 relocations against the PLT.
6490 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
6491 first_rel_type if this is the first time we encounter the symbol.
6492 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
6493 Determine if relocation needs a PLT entry. Set first_rel_type if
6494 this is the first time we encounter the symbol
6495 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
6496 functions as well.
6497 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
6498 (elf32_arm_create_dynamic_sections): New function. Create the
6499 .plt.thumb section.
6500 (elf_backend_create_dynamic_sections): Call it.
6501
47badb7b
NC
65022002-07-31 Nick Clifton <nickc@redhat.com>
6503
6504 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
6505 'alternative' in order to avoid shadowing global symbol of the
6506 same name.
6507 * bfd-in2.h: Regenerate.
6508 * libbfd.h: Regenerate.
6509 * libcoff.h: Regenerate.
6510
8a397dad
TS
65112002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6512
6513 * Makefile.am: Add n32 ABI support.
6514 * Makefile.in: Regenerate.
6515 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
6516 bit vectors for mips*-*-linux targets as optional.
6517 * configure.in: Add n32 ABI vectors.
6518 * configure: Regenerate.
6519 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
6520 * elfn32-mips.c: New file, n32 ABI support.
6521 * targets.c: Add n32 ABI vectors.
6522
7e392df6 65232002-07-30 Graeme Peterson <gp@qnx.com>
83e1617e 6524
7e392df6
NC
6525 * elfarmqnx-nabi.c: New file: Support for QNX.
6526 * config.bfd: Add support for arm-*-nto target.
6527 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
6528 * configure: Regenerate.
6529 * Makefile.am: Add entries for elfarmqnx-nabi.c.
6530 * Makefile.in: Regenerate.
6531 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
6532 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
6533 * elfarm-nabi.c: Do not include elf32-arm.h if
6534 ELFARM_NABI_C_INCLUDED is defined.
6535 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
7330fb86 6536
7e392df6 65372002-07-30 Nick Clifton <nickc@redhat.com>
7330fb86 6538
83e1617e
NC
6539 * po/sv.po: Updated Swedish translation.
6540
704afa60
JJ
65412002-07-30 Jakub Jelinek <jakub@redhat.com>
6542
6543 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
6544
487e54f2
AM
65452002-07-30 Alan Modra <amodra@bigpond.net.au>
6546
6547 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
6548 * archive.c (bfd_generic_archive_p): Likewise.
6549 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
6550 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
6551 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
6552 (xcoff64_archive_p): Likewise.
6553 (xcoff64_openr_next_archived_file): Likewise.
6554 (xcoff64_archive_p): Clean up tdata properly on error.
6555 * coffgen.c (coff_real_object_p): Likewise.
6556 (coff_object_p): Release filehdr and opthdr.
6557 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
6558 * ieee.c (ieee_archive_p): Likewise.
6559 * ihex.c (ihex_object_p): Likewise.
6560 (ihex_mkobject): Always allocate tdata.
6561 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
6562 * srec.c (srec_mkobject): Always allocate tdata.
6563 (srec_object_p): Clean up tdata properly on error.
6564 (symbolsrec_object_p): Likewise.
6565 * versados.c (versados_object_p): Likewise.
6566 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
6567 and bfd_realloc instead of realloc.
6568 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
6569 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
6570 place of bfd_malloc, simplifying error freeing. Free hash table too.
6571 (vms_object_p): Clean up tdata on error.
6572 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
6573 (vms_close_and_cleanup): Adjust for bfd_alloc use.
6574
9d46020e
AM
65752002-07-30 Alan Modra <amodra@bigpond.net.au>
6576
6577 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
6578
fb39dac1
RS
65792002-07-26 Chris Demetriou <cgd@broadcom.com>
6580
6581 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
6582 flags into resulting BFD.
6583
7a624474
AM
65842002-07-26 Alan Modra <amodra@bigpond.net.au>
6585
6586 From John Reiser <jreiser@BitWagon.com>
6587 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
6588 tls_ldm_got.refcount.
6589
a4382ec6
TS
65902002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6591
6592 * elf64-mips.c: Update TODO comment.
6593 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
6594 mips_elf64_gprel16_reloca): Remove prototypes.
6595 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
6596 (UNUSED_RELOC): Replace by EMPTY_RELOC.
6597 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
6598 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
6599 R_MIPS_HIGHEST.
6600 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
6601 R_MIPS_GOT16. Remove wrong comments.
6602 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
6603 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
6604 from elf32-mips.c.
6605 (mips_elf64_hi16_reloc): Fix formatting.
6606 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
6607 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
6608 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
6609 (mips_elf64_gprel16_reloc): Make static. Add check for
6610 partial_inplace.
6611 (mips_elf64_gprel16_reloca): Remove.
6612 (mips_elf64_literal_reloc): New function.
6613 (mips_elf64_gprel32_reloc): Fix formatting.
6614 (mips_elf64_shift6_reloc): Fix comment. Make static.
6615 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
6616 elf32-mips.c.
6617 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
6618 elf32-mips.c
6619 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
6620 specific relocations.
6621 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
6622 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
6623 (ELF_MAXPAGESIZE): Add comment.
6624
219576a4
NC
66252002-07-25 Nick Clifton <nickc@redhat.com>
6626
6627 * po/sv.po: Updated Swedish translation.
6628 * po/es.po: Updated Spanish translation.
6629 * po/fr.po: Updated French translation.
6630
8c58d23b
AM
66312002-07-25 Alan Modra <amodra@bigpond.net.au>
6632
6633 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
6634 as elf_link_record_local_dynamic_symbol.
6635 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
6636 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
6637 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
6638 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
6639 attempt is made to record a symbol in a discarded section, and
6640 return `2' in that case.
6641
ff3063f5
NC
66422002-07-24 Nick Clifton <nickc@redhat.com>
6643
6644 * po/sv.po: Updated Swedish translation.
6645 * po/es.po: Updated Spanish translation.
6646
f0fe0e16
AM
66472002-07-23 Alan Modra <amodra@bigpond.net.au>
6648
c1fb5f8a
AM
6649 * po/SRC-POTFILES.in: Regenerate.
6650
f0fe0e16
AM
6651 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
6652 immediately. Remove code handling relocatable linking.
6653 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
6654 * elf32-cris.c (cris_elf_relocate_section): Likewise.
6655 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
de2d743e 6656 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
6657 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
6658 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
6659 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6660 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6661 * elf32-v850.c (v850_elf_relocate_section): Likewise.
6662 * elf32-vax.c (elf_vax_relocate_section): Likewise.
6663 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6664 * elf32-avr.c (elf_backend_rela_normal): Define.
6665 * elf32-cris.c: Likewise.
6666 * elf32-fr30.c: Likewise.
de2d743e 6667 * elf32-frv.c: Likewise.
f0fe0e16
AM
6668 * elf32-h8300.c: Likewise.
6669 * elf32-hppa.c: Likewise.
6670 * elf32-ip2k.c: Likewise.
6671 * elf32-sparc.c: Likewise.
6672 * elf32-v850.c: Likewise.
6673 * elf32-vax.c: Likewise.
6674 * elf64-hppa.c: Likewise.
6675 * elf64-sparc.c: Likewise.
6676 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
de2d743e 6677 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
f0fe0e16
AM
6678 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
6679 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6680 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6681 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
6682 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
6683 * elf-m10200.c (USE_RELA): Don't define.
6684 * elf-m10300.c: Likewise.
de2d743e 6685 * elfarm-oabi.c: Likewise.
f0fe0e16
AM
6686 * elf32-i370.c: Likewise.
6687 * elf32-ip2k.c: Likewise.
6688 * elf32-m68k.c: Likewise.
6689 * elf32-mcore.c: Likewise.
6690 * elf32-ppc.c: Likewise.
6691 * elf32-s390.c: Likewise.
6692 * elf32-vax.c: Likewise.
6693 * elf64-ppc.c: Likewise.
6694 * elf64-s390.c: Likewise.
6695 * elf64-x86-64.c: Likewise.
6696 * elfxx-ia64.c: Likewise.
6697 * elf32-avr.c (USE_REL): Don't undef.
6698 * elf32-ip2k.c: Likewise.
6699
5e8d7549
NC
67002002-07-23 Nick Clifton <nickc@redhat.com>
6701
6702 * elf-bfd.h (struct elf_backend_data): Add new bitfield
6703 'want_p_paddr_set_to_zero'.
6704 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
6705 to false;
6706 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
6707 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
6708
9e12c7db
NC
67092002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
6710
6711 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
6712 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
6713 show the Copyright string.
6714 Minor formatting tidy ups.
6715
0461a601
NC
67162002-07-23 Nick Clifton <nickc@redhat.com>
6717
ff3063f5
NC
6718 * po/fr.po: Updated French translation.
6719 * po/sv.po: Updated Swedish translation.
0461a601 6720
fad2542d
AM
67212002-07-23 Alan Modra <amodra@bigpond.net.au>
6722
6723 * elflink.h (elf_link_input_bfd): Don't change internal symbols
6724 when outputting relocs.
6725
c0647bfc
JT
67262002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
6727
6728 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
6729 DT_PLTGOT into the dynamic section if there is a PLT.
6730
d01414a5
TS
67312002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6732
6733 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
6734 elf32-mips.c.
6735 (_bfd_mips_elf_write_section): Likewise.
6736 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
6737 (_bfd_mips_elf_write_section): Likewise.
6738 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
6739 (elf32_mips_write_section): Likewise.
6740 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
6741 (_bfd_mips_elf_write_section): Likewise.
6742
40c97fc6
AM
67432002-07-19 Alan Modra <amodra@bigpond.net.au>
6744
6745 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
6746 PT_IA_64_UNWIND segments for a given section.
6747
58378160
L
67482002-07-17 H.J. Lu <hjl@gnu.org>
6749
6750 * Makefile.am: Fix a typo.
6751 * Makefile.in: Regenerate.
6752
cf88bb9f
NC
67532002-07-15 Denis Chertykov <denisc@overta.ru>
6754 Frank Ch. Eigler <fche@redhat.com>
6755 Ben Elliston <bje@redhat.com>
6756 Alan Lehotsky <alehotsky@cygnus.com>
6757 John Healy <jhealy@redhat.com>
6758 Graham Stott <grahams@redhat.com>
6759 Jeff Johnston <jjohnstn@redhat.com>
6760
6761 * Makefile.am: Add support for ip2k.
6762 * Makefile.in: Regenerate.
6763 * doc/Makefile.in: Regenerate.
6764 * archures.c: Add support for ip2k.
6765 * config.bfd: Add support for ip2k.
6766 * configure.in: Add support for ip2k.
6767 * configure: Regenerate.
6768 * reloc.c: Add support for ip2k.
6769 * targets.c: Add support for ip2k.
6770 * bfd-in2.h: Regenerate.
6771 * libbfd.h: Regenerate.
6772 * cpu-ip2k.c: New file.
6773 * elf32-ip2k.c: New file.
6774
0dafd5f6
RE
67752002-07-17 Ian Rickards <irickard@arm.com>
6776
40c97fc6 6777 * dwarf2.c (concat_filename): If we can't establish the directory
0dafd5f6
RE
6778 just return the filename.
6779
36b08f12
AM
67802002-07-16 Moritz Jodeit <moritz@jodeit.org>
6781
6782 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
6783
58821868
AM
67842002-07-16 Alan Modra <amodra@bigpond.net.au>
6785
6786 * elflink.h: Formatting fixes, tidy prototypes.
6787 (elf_link_assign_sym_version): Move common code out of loop.
6788
c89583f8
AM
67892002-07-16 Alan Modra <amodra@bigpond.net.au>
6790
6791 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
6792 reloc section size is zero. Correct reloc output location.
6793
ba94744e
AM
67942002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
6795
6796 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
6797 the final type for the e_fsel selector when generating PA2.0W code.
6798 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
6799 relocations.
6800
96a94295
L
68012002-07-14 H.J. Lu <hjl@gnu.org>
6802
6803 * elflink.h (elf_link_assign_sym_version): Hide the default
6804 definition if there is a hidden versioned definition.
6805
6849c52f
HPN
68062002-07-12 Hans-Peter Nilsson <hp@axis.com>
6807
6808 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
6809 dynamic reference test in assertion when initializing GOT with
6810 static contents. Just assert that there are either no dynamic
6811 sections, the symbol is defined in the regular objects or that the
6812 symbol is undef weak. Tweak comment.
6813 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
6814 only if the symbol isn't defined in the program and isn't undef
6815 weak.
6816 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
6817 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
6818 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
6819 (elf_cris_discard_excess_program_dynamics): Don't consider
6820 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
6821
239e1f3a
AM
68222002-07-11 Alan Modra <amodra@bigpond.net.au>
6823
6824 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
6825 unresolved debugging relocs in dynamic applications.
6826 * elf32-s390.c (elf_s390_relocate_section): Likewise.
6827 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6828 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
6829 * elf64-s390.c (elf_s390_relocate_section): Likewise.
6830 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6831 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
6832
2f6d9989
AM
68332002-07-10 Alan Modra <amodra@bigpond.net.au>
6834
f5e87a1d
AM
6835 * elf64-ppc.c (ONES): Define.
6836 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
6837 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
6838 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
6839
2f6d9989
AM
6840 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
6841 (ppc64_elf_set_private_flags): Delete.
6842 (ppc64_elf_section_from_shdr): Delete.
6843 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
6844 (ppc64_elf_fake_sections): Delete.
6845 (bfd_elf64_bfd_set_private_flags): Don't define.
6846 (bfd_elf64_get_symbol_info): Likewise.
6847 (elf_backend_section_from_shdr): Likewise.
6848 (elf_backend_fake_sections): Likewise.
6849
0594c12d
AM
68502002-07-10 Marco Walther <Marco.Walther@sun.com>
6851
6852 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
6853 when not already set.
6854 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
6855 (elf_backend_fake_sections): Define.
6856
699cb9b8
AM
68572002-07-10 Alan Modra <amodra@bigpond.net.au>
6858
6859 * merge.c (_bfd_merge_section): Remove redundant output_section check.
6860 Formatting.
6861 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
6862
0a4787a0
HPN
68632002-07-09 Hans-Peter Nilsson <hp@axis.com>
6864
6865 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
6866 NULL sym_hashes to just before use.
6867 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
6868 symbol with non-default visibility.
6869 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
6870 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
6871 Ditto.
6872 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
6873 symbol with non-default visibility.
6874 (cris_elf_check_relocs): At tests for local symbol before
6875 increasing h->plt.refcount, also check for non-default
6876 visibility. Ditto when checking for local symbol to eliminate
6877 pc-relative runtime relocs.
6878
aecc8f8a
AM
68792002-07-08 Alan Modra <amodra@bigpond.net.au>
6880
6881 * elf.c: Formatting.
6882 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
6883 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
6884 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
6885 segments.
6886
e9168c1e
MM
68872002-07-07 Mark Mitchell <mark@codesourcery.com>
6888 Alan Modra <amodra@bigpond.net.au>
6889
6890 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
6891 account the impact of relocation count overflow when computing
6892 section offsets.
6893 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
6894 or not to apply the PE COFF reloc overflow handling. Fix a
6895 fencepost error in deciding whether or not to use that technique.
6896
6cdc0ccc
AM
68972002-07-07 Alan Modra <amodra@bigpond.net.au>
6898
6899 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
6900 change type of locsyms.
6901 (bfd_elf_get_elf_syms): Declare.
6902 * elf.c (bfd_elf_get_elf_syms): New function.
6903 (group_signature): Use bfd_elf_get_elf_syms.
6904 (bfd_section_from_r_symndx): Likewise.
6905 * elfcode.h (elf_slurp_symbol_table): Likewise.
6906 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6907 (elf_link_add_object_symbols): Likewise. Reorganise to increase
6908 locality of various data structures. Properly free internal relocs.
6909 (elf_bfd_final_link): Properly free internal relocs.
6910 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
6911 (elf_link_input_bfd): Likewise.
6912 (elf_gc_mark): Likewise. Properly free internal relocs.
6913 (elf_gc_sweep): Properly free internal relocs.
6914 (elf_reloc_symbol_deleted_p): No need to swap syms in.
6915 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
6916 internal relocs.
6917 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
6918 Properly free possibly cached info.
6919 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
6920 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
6921 symbol swapping code.
6922 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
6923 Properly free possibly cached info.
6924 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
6925 (mn10300_elf_relax_delete_bytes): Likewise.
6926 (mn10300_elf_symbol_address_p): Likewise.
6927 (mn10300_elf_get_relocated_section_contents): Likewise.
6928 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
6929 (elf32_h8_relax_delete_bytes): Likewise.
6930 (elf32_h8_symbol_address_p): Likewise.
6931 (elf32_h8_get_relocated_section_contents): Likewise.
6932 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
6933 (m32r_elf_relax_delete_bytes): Likewise.
6934 (m32r_elf_get_relocated_section_contents): Likewise.
6935 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
6936 elf_section_data to determine whether cached.
6937 (sh_elf_relax_section): As above for elf-m10200.c.
6938 (sh_elf_relax_delete_bytes): Likewise.
6939 (sh_elf_get_relocated_section_contents): Likewise.
6940 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
6941 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
6942 reading of local syms.
6943 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6944 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
6945 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
6946 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
6947 relocs.
6948 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
6949 free internal relocs and section contents. Don't read symbols.
6950 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
6951 (elf32_hppa_size_stubs): Don't free local syms.
6952 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
6953 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
6954 possibly cached info.
6955 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6956 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
6957 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
6958 all_local_syms.
6959 (get_local_syms): Delete function.
6960 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
6961 on exit.
6962 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
6963
b3212001
JW
69642002-07-05 Jim Wilson <wilson@redhat.com>
6965
6966 * syms.c (decode_section_type): New.
6967 (bfd_decode_symclass): Call decode_section_type.
6968
894bb1ee
JJ
69692002-07-04 Jakub Jelinek <jakub@redhat.com>
6970
6971 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
6972 section content start.
6973 Reported by Michael Schumacher <mike@hightec-rt.com>.
6974
bc0ba537
AM
69752002-07-04 Alan Modra <amodra@bigpond.net.au>
6976
9b5ecbd0 6977 * section.c (_bfd_strip_section_from_output): Remove unnecessary
bc0ba537
AM
6978 link order code. Don't actually remove the output section here;
6979 Just set a flag for the linker to do so.
6980 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
6981 sections when setting up output section dynsyms.
6982
797fc050
AM
69832002-07-04 Alan Modra <amodra@bigpond.net.au>
6984
6985 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
6986 fudge.
6987 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
6988 libs here instead.
6989
99881371
MS
69902002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
6991
6992 * elf64-s390.c (create_got_section): Set .got section alignment to
6993 8 bytes.
6994 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
6995
47d9a591
AM
69962002-07-02 Alan Modra <amodra@bigpond.net.au>
6997
6998 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
6999
179d3252
JT
70002002-07-01 Matt Thomas <matt@3am-software.com>
7001
7002 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
7003 to EF_VAX_*.
7004
4a14403c
TS
70052002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7006
7007 * elfxx-mips.c (ABI_64_P): Fix comment.
7008 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
7009 new section names for N64 ABI.
7010 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
7011 (mips_elf_calculate_relocation): Code formatting.
7012 (mips_elf_create_dynamic_relocation): Likewise.
7013 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
7014 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
7015 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
7016 in any NewABI.
7017 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
7018 for NewABI.
7019 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
7020 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
7021 here, too.
7022
607c0e09
AS
70232002-07-01 Andreas Schwab <schwab@suse.de>
7024
7025 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
7026 R_X86_64_64 to R_X86_64_RELATIVE.
7027
ba26fd96
AM
70282002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
7029
7030 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
7031 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
7032 Run "make dep-am".
7033 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
7034 host_aout_vec.
7035 * configure.in (vaxbsd_vec): Add.
7036 * targets.c (vaxbsd_vec): Add.
7037 * Makefile.in: Rebuild.
7038 * configure: Rebuild.
7039 * po/SRC-POTFILES.in: Rebuild.
7040
1e2f5b6e
AM
70412002-07-01 Alan Modra <amodra@bigpond.net.au>
7042
7043 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
7044 examining to gc_mark_hook, rather than the bfd.
7045 (elf_gc_sections): Adjust.
7046 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
7047 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
7048 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
7049 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
7050 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
7051 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
7052 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
7053 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
7054 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
7055 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
7056 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
7057 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
7058 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
7059 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
7060 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
7061 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
7062 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
7063 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
7064 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
7065 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
7066 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
7067 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
7068 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
7069 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7070 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
7071 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
7072 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
7073 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
7074 redundant local sym tests.
7075 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
7076 (link_hash_newfunc): Init is_entry.
7077 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
7078 (ppc64_elf_link_hash_table_create): Init all_local_syms.
7079 (create_linkage_sections): Use bfd_make_section_anyway rather than
7080 bfd_make_section.
7081 (ppc64_elf_mark_entry_syms): New function.
7082 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
7083 up opd entry to function section map.
7084 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
7085 relocs that reference the opd section.
7086 (edit_opd): New function.
7087 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
7088 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
7089 (get_local_syms): Do so here. Exit if we already have local syms.
7090 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
7091 read local syms on non-ELF input.
7092 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
7093 than duplicating it's function here. Adjust free of internal
7094 relocs to suit.
7095 (ppc64_elf_relocate_section): Adjust local syms in opd section.
7096 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
7097 * elf32-hppa.c (elf32_hppa_size_stubs): Call
7098 _bfd_elf32_link_read_relocs rather than duplicating it's function
7099 here. Adjust free of internal relocs to suit.
7100
1b71fb54
AJ
71012002-07-01 Andreas Jaeger <aj@suse.de>
7102
7103 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
7104 are not allowed in shared libs code, enforce -fPIC.
7105
8d28f606
HPN
71062002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
7107
7108 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
7109 trailing zero-sequences when there's previous left-over data.
7110
5ac81c74
JL
71112002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
7112
7113 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
7114 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
7115 and opd_rel_sec in order for starting rela section. Check _raw_size.
7116 (elf_backend_reloc_type_class): Define.
7117
91a4d569
AM
71182002-06-27 Kevin Buettner <kevinb@redhat.com>
7119
7120 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
7121 DWARF2 formats.
7122
feee612b
AM
71232002-06-27 Alan Modra <amodra@bigpond.net.au>
7124
7125 * cpu-powerpc.c: Comment on ordering of arch_info.
7126 * elf32-ppc.c (ppc_elf_object_p): New function.
7127 (elf_backend_object_p): Define.
7128 * elf64-ppc.c (ppc64_elf_object_p): New function.
7129 (elf_backend_object_p): Define.
7130
a4e6cefc
JT
71312002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
7132
7133 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
7134 * configure: Regenerate.
7135
dae2dd0d
NC
71362002-06-25 Jason Eckhardt <jle@rice.edu>
7137
7138 * dwarf2.c (decode_line_info): Check unit->addr_size
7139 to read in the proper number of prologue bytes.
7140
680f9d5c
NC
71412002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
7142
7143 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
7144 aix5coff64_vec if 64-bit bfd support has been enabled.
91a4d569
AM
7145 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
7146 been enabled.
dae2dd0d 7147
680f9d5c
NC
7148 * targets.c (_bfd_target_vector[]): Only include
7149 aix5coff64_vec if 64-bit bfd support has been enabled.
7150
d4c88bbb
AM
71512002-06-25 Alan Modra <amodra@bigpond.net.au>
7152
7153 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
7154 * elf32-hppa.c (hppa_add_stub): Likewise.
7155 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
7156 * elflink.h (elf_add_default_symbol): Fix comment typo.
7157 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
7158 (elf_link_add_object_symbols): Likewise.
7159 (elf_link_assign_sym_version): Likewise.
7160 * hash.c (bfd_hash_lookup): Likewise.
7161 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
7162 * section.c (bfd_get_unique_section_name): Likewise.
7163 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
7164 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
7165 (assign_section_numbers): Likewise.
7166 (_bfd_elfcore_make_pseudosection): Likewise.
7167 (elfcore_grok_lwpstatus): Likewise.
7168 (elfcore_grok_win32pstatus): Likewise.
7169 (elfcore_write_note): Constify input params. Use PTR instead of
7170 void *. Include terminating NUL in namesz. Correct padding.
7171 Support NULL "name" param. Use memcpy instead of strcpy.
7172 (elfcore_write_prpsinfo): Constify input params.
7173 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
7174 (elfcore_write_lwpstatus): Likewise.
7175 (elfcore_write_pstatus): Likewise.
7176 (elfcore_write_prfpreg): Likewise.
7177 (elfcore_write_prxfpreg): Likewise.
7178 * elf-bfd.h (elfcore_write_note): Update declaration.
7179 (elfcore_write_prpsinfo): Likewise.
7180 (elfcore_write_prstatus): Likewise.
7181 (elfcore_write_pstatus): Likewise.
7182 (elfcore_write_prfpreg): Likewise.
7183 (elfcore_write_prxfpreg): Likewise.
7184 (elfcore_write_lwpstatus): Likewise.
7185
b0ac09d2
NC
71862002-06-25 Jason Eckhardt <jle@rice.edu>
7187
7188 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
7189 symbols of type stProc and stStaticProc.
7190
71912002-06-25 Nick Clifton <nickc@redhat.com>
7192
7193 * ecoff.c: VArious formatting fixes.
7194
021d6096
AM
71952002-06-25 Alan Modra <amodra@bigpond.net.au>
7196
7197 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
7198
82e51918
AM
71992002-06-25 Alan Modra <amodra@bigpond.net.au>
7200
7201 * aout-adobe.c: Don't compare against "true" or "false.
7202 * aout-target.h: Likewise.
7203 * aoutx.h: Likewise.
7204 * archive.c: Likewise.
7205 * bout.c: Likewise.
7206 * cache.c: Likewise.
7207 * coff-a29k.c: Likewise.
7208 * coff-alpha.c: Likewise.
7209 * coff-i386.c: Likewise.
7210 * coff-mips.c: Likewise.
7211 * coff-or32.c: Likewise.
7212 * coff64-rs6000.c: Likewise.
7213 * coffcode.h: Likewise.
7214 * coffgen.c: Likewise.
7215 * cpu-ns32k.c: Likewise.
7216 * ecoff.c: Likewise.
7217 * ecofflink.c: Likewise.
7218 * elf.c: Likewise.
7219 * elf32-arm.h: Likewise.
7220 * elf32-cris.c: Likewise.
7221 * elf32-d30v.c: Likewise.
7222 * elf32-i386.c: Likewise.
7223 * elf32-mcore.c: Likewise.
7224 * elf32-ppc.c: Likewise.
7225 * elf32-sh.c: Likewise.
7226 * elf32-sh64.c: Likewise.
7227 * elf32-v850.c: Likewise.
7228 * elf64-alpha.c: Likewise.
7229 * elf64-sh64.c: Likewise.
7230 * elfcode.h: Likewise.
7231 * elfcore.h: Likewise.
7232 * elflink.h: Likewise.
7233 * elfxx-mips.c: Likewise.
7234 * i386os9k.c: Likewise.
7235 * ieee.c: Likewise.
7236 * libbfd.c: Likewise.
7237 * linker.c: Likewise.
7238 * mmo.c: Likewise.
7239 * nlm32-alpha.c: Likewise.
7240 * nlm32-i386.c: Likewise.
7241 * nlm32-ppc.c: Likewise.
7242 * nlm32-sparc.c: Likewise.
7243 * nlmcode.h: Likewise.
7244 * oasys.c: Likewise.
7245 * pdp11.c: Likewise.
7246 * peicode.h: Likewise.
7247 * reloc.c: Likewise.
7248 * som.c: Likewise.
7249 * srec.c: Likewise.
7250 * tekhex.c: Likewise.
7251 * vms.c: Likewise.
7252 * xcofflink.c: Likewise.
7253 * elf64-sparc.c: Edit comment to not use "== false".
7254
7255 * aoutf1.h: Don't use "? true : false".
7256 * ecoff.c: Likewise.
7257 * format.c: Likewise.
7258 * ieee.c: Likewise.
7259 * linker.c: Likewise.
7260 * mmo.c: Likewise.
7261 * oasys.c: Likewise.
7262
48fc70a2
AM
72632002-06-23 H.J. Lu <hjl@gnu.org>
7264
7265 * elflink.h (elf_link_add_archive_symbols): For the default
7266 version, check references with only one `@' first.
7267
47b7c2db
AM
72682002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
7269
7270 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
7271 function.
9b5ecbd0 7272 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
47b7c2db
AM
7273 symbol table.
7274 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
7275 (elf64_hppa_size_dynamic_sections): Revise to use
7276 elf64_hppa_mark_milli_and_exported_functions.
7277 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
7278 symbols out of dynamic symbol table.
7279
f5d44ba0
AM
72802002-06-23 Alan Modra <amodra@bigpond.net.au>
7281
bb3fff1e
AM
7282 * Makefile.in: Regenerate.
7283 * libbfd.h: Regenerate.
7284 * bfd-in2.h: Regenerate.
7285 * configure: Regenerate.
7286 * po/SRC-POTFILES.in: Regenerate.
7287
f5d44ba0
AM
7288 * elflink.h: Comment typo fixes.
7289
72902002-06-23 H.J. Lu <hjl@gnu.org>
7291
7292 * elf-bfd.h (elf_link_loaded_list): New structure.
7293 (elf_link_hash_table): Add "loaded".
7294 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
7295 * elflink.h (elf_link_check_versioned_symbol): New function.
7296 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
7297
cc36acdf
NC
72982002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
7299
7300 * elflink.h (size_dynamic_sections): If the target does not
f5d44ba0 7301 support an ELF style hash table, return true, indicating that
cc36acdf
NC
7302 nothing needed to be done, rather than false, indicating that the
7303 section's size could not be computed.
7304
4e5ba5b7
DB
73052002-06-18 Dave Brolley <brolley@redhat.com>
7306
7307 From Catherine Moore, Michael Meissner, Dave Brolley:
7308 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
7309 * targets.c: Support bfd_elf32_frv_vec.
7310 * reloc.c: Add FRV relocs.
7311 * configure.in: Add support for bfd-elf32-frv-vec.
7312 * config.bfd (targ_cpu): Add support for frv-*-elf.
7313 * archures.c: Add frv arch and machines.
7314 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
7315 (ALL_MACHINES_CFILES): Add cpu-frv.c.
7316 (BFD32_BACKENDS): Add elf32-frv.lo.
7317 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
7318 (cpu-frv.lo): New target.
7319 (elf32-frv.lo): New target.
7320 * cpu-frv.c: New file.
7321 * elf32-frv.c: New file.
7322
7ece0d85
JJ
73232002-06-18 Jakub Jelinek <jakub@redhat.com>
7324
7325 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
7326 e_shnum == 0.
7327 Only read the first section header if e_shoff is non-zero.
7328 Don't consider e_shstrndx if there are no sections.
7329
57fb03ac
TR
73302002-06-17 Tom Rix <trix@redhat.com>
7331
7332 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
f5d44ba0 7333 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
57fb03ac
TR
7334 complain_overflow_bitfield.
7335
341ca622
AM
73362002-06-17 Alan Modra <amodra@bigpond.net.au>
7337
767e34d1
AM
7338 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
7339 (bfd_fdopenr): Likewise.
7340 (bfd_openstreamr): Likewise.
7341 (bfd_openw): Likewise.
7342
341ca622
AM
7343 * targets.c: Sort target vecs.
7344 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
7345 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
7346 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
7347 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
7348 * configure.in: Sort target vecs. Add m88kmach3_vec.
7349 * configure: Regenerate.
7350
dfbbae4c
HPN
73512002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
7352
7353 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
7354 bpo_reloc_no to break sort order ties, not address of items.
7355
d663e1cd
JL
73562002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
7357
7358 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
7359 Skip excluded sections in determing __gp value.
7360 (elf_hppa_final_link_relocate): Use the symbol's address in
7361 R_PARISC_FPTR64 relocations that don't need an opd entry.
7362 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
7363 (elf64_hppa_finalize_dynreloc): Likewise.
7364 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
7365 (elf64_hppa_finish_dynamic_symbol): Break up assert.
7366
a8295218
NC
73672002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
7368
7369 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
7370 alignment for .bss, .data and .text sections so that sse and sse2
7371 code will work.
7372 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
7373
73742002-06013 J"orn Rennecke <joern.rennecke@superh.com>
5d9b5481
JR
7375
7376 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
7377 sh[1234]*-elf*.
7378
3db4b612
JL
73792002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
7380
2cb69dd3
JL
7381 * elflink.h (elf_bfd_final_link): Improve error handling for missing
7382 dynamic sections.
7383
3db4b612
JL
7384 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
7385 for a symbol that has no output section.
7386 (allocate_dynrel_entries): Correct comment.
7387 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
7388 unless we want one.
7389 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
7390 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
7391 with no section. Remove unnecessary parentheses.
7392
f3813499
TR
73932002-06-11 Tom Rix <trix@redhat.com>
7394
7395 * coffcode.h (coff_compute_section_file_positions): Add data
7396 section to AIX loader alignment check.
7397
f5d44ba0 7398 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
f3813499
TR
7399 alignment to 4 bytes.
7400 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
7401 power accessor macro.
7402 (do_shared_object_padding): Remove invalid assertion.
7403
0ebaf185
RS
74042002-06-10 Richard Sandiford <rsandifo@redhat.com>
7405
7406 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
7407 for removed output sections.
7408
ebe3e2d1
NC
74092002-06-10 Geoffrey Keating <geoffk@redhat.com>
7410
7411 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
7412 htab_alloc.
7413 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
7414
0b14c2aa
L
74152002-06-08 H.J. Lu <hjl@gnu.org>
7416
7417 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
7418 work around a long long bug in gcc 2.96 on mips.
7419
3c2bfad6
JT
74202002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7421
7422 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
7423 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
7424 Regenerate dependency lists.
7425 * Makefile.in: Regenerate.
7426 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
7427 vax1knetbsd_vec to targ_selvecs.
7428 * configure.in: Add vax1knetbsd_vec.
7429 * configure: Regenerate.
7430 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
7431 * vax1knetbsd.c: New file.
7432 * vaxnetbsd.c: Update copyright years.
7433 (TARGET_PAGE_SIZE): Set to 0x1000.
7434 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
7435
91149be3
JT
74362002-06-08 Matt Thomas <matt@3am-software.com>
7437
7438 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
7439
21e15248
AM
74402002-06-08 Alan Modra <amodra@bigpond.net.au>
7441
7442 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
7443
986b7daa
AM
74442002-06-08 Alan Modra <amodra@bigpond.net.au>
7445
e90b95f6
AM
7446 * Makefile.am: Run "make dep-am".
7447 * Makefile.in: Regenerate.
7448
3f9c735e
AM
7449 * armnetbsd.c: Replace CONST with const.
7450 * corefile.c: Likewise.
7451 * elf32-dlx.c: Likewise.
7452 * elf64-mips.c: Likewise.
7453 * mmo.c: Likewise.
7454 * ns32knetbsd.c: Likewise.
7455
986b7daa
AM
7456 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
7457 table is elf64-sparc.
7458
5a659663
TS
74592002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7460
7461 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
7462 Fix RELA addends to get not shifted in the result. Don't do special
7463 handling of R_MIPS_64 for NewABI.
7464
9bab7074
AM
74652002-06-07 Alan Modra <amodra@bigpond.net.au>
7466
7467 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7468 (NAME(aout,slurp_reloc_table)): Likewise.
7469 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
7470 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
7471 (xcoff_write_archive_contents_big): Likewise.
7472 (xcoff_generate_rtinit): Likewise.
7473 (xcoff_generate_rtinit): Likewise, and check error return.
7474 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7475 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
7476 (coff_get_normalized_symtab): Likewise.
7477 (coff_make_empty_symbol): Likewise.
7478 (bfd_coff_set_symbol_class): Likewise.
7479 * cofflink.c (coff_link_add_symbols): Likewise.
7480 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
7481 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
7482 (bfd_ecoff_write_accumulated_debug): Likewise.
7483 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
7484 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
7485 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
7486 * ieee.c (do_with_relocs): Use bfd_zalloc.
7487 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
7488 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7489 (NAME(aout,slurp_reloc_table)): Likewise.
7490 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
7491 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
7492 * som.c (som_build_and_write_symbol_table): Likewise.
7493 (som_slurp_string_table): Likewise.
7494 (som_slurp_symbol_table): Likewise.
7495 (som_bfd_ar_write_symbol_stuff): Likewise.
7496 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
7497 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
7498 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
7499 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
7500 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
7501
1126897b
AM
75022002-06-07 Alan Modra <amodra@bigpond.net.au>
7503
7504 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
7505 "group" union.
7506 (elf_group_name): Update.
7507 (elf_group_id): Define.
7508 (bfd_elf_set_group_contents): Declare.
7509 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
7510 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
7511 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
7512 that sym for the signature.
7513 (_bfd_elf_compute_section_file_positions): Don't call
7514 set_group_contents for "ld -r" case.
7515 (swap_out_syms): Use bfd_zalloc.
7516 * elflink.h (elf_link_add_archive_symbols): Likewise.
7517 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
7518 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
7519
3fad3c7c
AM
75202002-06-07 Alan Modra <amodra@bigpond.net.au>
7521
7522 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
7523 relocs in opd for non-shared too.
7524
10f469bf 75252002-06-06 Jeffrey Law <law@redhat.com>
76f99c63
JL
7526
7527 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
7528 relocations.
7529
7217313c
NC
75302002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
7531
7532 * merge.c: Include libiberty.h.
7533 * elf-strtab.c: Include libiberty.h.
7534
6cb22815
AM
75352002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
7536
7537 * peXXigen.c (pe_print_idata): Remove unused variable.
7538
1ed89aa9
NC
75392002-06-06 David Heine <dlheine@tensilica.com>
7540
7541 * elf.c (assign_file_positions_for_segments): Remove unallocated
7542 sections from the section to segment mapping for PT_LOAD segments.
7543 Update comment about empty loadable segments.
7544
644c4c80
RS
75452002-06-06 Richard Sandiford <rsandifo@redhat.com>
7546
7547 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
7548 is within the .stabstr section.
7549
f8ecb12b
AM
75502002-06-06 Alan Modra <amodra@bigpond.net.au>
7551
7552 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
7553 are "const PTR", not "const PTR *".
7554 (bfd_elf32_swap_symbol_in): Likewise.
7555 (bfd_elf64_swap_symbol_in): Likewise.
7556 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
7557 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7558 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7559 (elf_link_add_object_symbols): Likewise.
7560 (elf_link_record_local_dynamic_symbol): Likewise.
7561 (elf_link_input_bfd): Likewise.
7562 (elf_gc_mark): Likewise.
7563 (elf_reloc_symbol_deleted_p): Likewise.
7564 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7565 (mn10200_elf_relax_delete_bytes): Likewise.
7566 (mn10200_elf_symbol_address_p): Likewise.
7567 (mn10200_elf_get_relocated_section_contents): Likewise.
7568 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7569 (mn10300_elf_relax_section): Likewise.
7570 (mn10300_elf_relax_delete_bytes): Likewise.
7571 (mn10300_elf_symbol_address_p): Likewise.
7572 (mn10300_elf_get_relocated_section_contents): Likewise.
7573 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7574 (elf32_h8_relax_delete_bytes): Likewise.
7575 (elf32_h8_symbol_address_p): Likewise.
7576 (elf32_h8_get_relocated_section_contents): Likewise.
7577 * elf32-hppa.c (get_local_syms): Likewise.
7578 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7579 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7580 * elf32-sh.c (sh_elf_relax_section): Likewise.
7581 (sh_elf_relax_delete_bytes): Likewise.
7582 (sh_elf_get_relocated_section_contents): Likewise.
7583 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7584 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7585 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7586 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7587 * elf64-ppc.c (get_local_syms): Likewise.
7588 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7589 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7590
1ed89aa9 75912002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
7a33bc10
JR
7592
7593 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
7594
73ff0d56
AM
75952002-06-05 Alan Modra <amodra@bigpond.net.au>
7596
9dce4196
AM
7597 * elf.c (group_signature): Swap in the whole symbol, and handle
7598 extracting section symbol names.
7599 (setup_group): Add comment.
7600 (set_group_contents): When called from objcopy or ld, arrange for
7601 section contents to be written. Write group member output section
7602 indices to allow objcopy to reorganize sections.
7603 (_bfd_elf_copy_private_section_data): Copy group info.
7604
73ff0d56
AM
7605 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
7606 (bfd_elf32_swap_symbol_in): Update prototype.
7607 (bfd_elf64_swap_symbol_in): Likewise.
7608 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
7609 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7610 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7611 (elf_link_add_object_symbols): Likewise.
7612 (elf_link_record_local_dynamic_symbol): Likewise.
7613 (elf_link_input_bfd): Likewise.
7614 (elf_gc_mark): Likewise.
7615 (elf_reloc_symbol_deleted_p): Likewise.
7616 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7617 (mn10200_elf_relax_delete_bytes): Likewise.
7618 (mn10200_elf_symbol_address_p): Likewise.
7619 (mn10200_elf_get_relocated_section_contents): Likewise.
7620 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7621 (mn10300_elf_relax_section): Likewise.
7622 (mn10300_elf_relax_delete_bytes): Likewise.
7623 (mn10300_elf_symbol_address_p): Likewise.
7624 (mn10300_elf_get_relocated_section_contents): Likewise.
7625 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7626 (elf32_h8_relax_delete_bytes): Likewise.
7627 (elf32_h8_symbol_address_p): Likewise.
7628 (elf32_h8_get_relocated_section_contents): Likewise.
7629 * elf32-hppa.c (get_local_syms): Likewise.
7630 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7631 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7632 * elf32-sh.c (sh_elf_relax_section): Likewise.
7633 (sh_elf_relax_delete_bytes): Likewise.
7634 (sh_elf_get_relocated_section_contents): Likewise.
7635 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7636 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7637 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7638 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7639 * elf64-ppc.c (get_local_syms): Likewise.
7640 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7641 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7642 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
7643 * elf64-alpha.c (alpha_elf_size_info): Likewise.
7644 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
7645 * elf64-mips.c (mips_elf64_size_info): Likewise.
7646 * elf64-s390.c (s390_elf64_size_info): Likewise.
7647 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
7648
53bfd6b4
MR
76492002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7650
7651 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
7652 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
7653 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
7654 _bfd_mips_elf_ignore_discarded_relocs.
7655 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
7656
d4df96e6
L
76572002-06-05 H.J. Lu <hjl@gnu.org>
7658
7659 * elfxx-mips.c (mips_elf_calculate_relocation): Call
7660 _bfd_elf_rel_local_sym for STT_SECTION relocations against
7661 the SEC_MERGE section.
7662
e61463e1
AM
76632002-06-05 Alan Modra <amodra@bigpond.net.au>
7664
3cac74d0
AM
7665 * coff-alpha.c: Update copyright date.
7666 * coff-mips.c: Likewise.
7667 * xcoff-target.h: Likewise.
7668
e61463e1
AM
7669 * bfd-in.h: Remove "taken from the source" comment.
7670 * libbfd-in.h: Likewise.
7671 * libcoff-in.h: Likewise.
7672 * bfd-in2.h: Regenerate.
7673 * libbfd.h: Regenerate.
7674 * libcoff.h: Regenerate.
7675
7676 * elf.c (bfd_elf_discard_group): Return true.
7677 * elf-bfd.h (bfd_elf_discard_group): Declare.
7678 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
7679 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
7680 * bfd.c (bfd_discard_group): Define.
7681 * targets.c (struct bfd_target): Add _bfd_discard_group.
7682 (BFD_JUMP_TABLE_LINK): Here too.
7683 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
7684 * aout-adobe.c (aout_32_bfd_discard_group): Define.
7685 * aout-target.h (MY_bfd_discard_group): Define.
7686 * aout-tic30.c (MY_bfd_discard_group): Define.
7687 * binary.c (binary_bfd_discard_group): Define.
7688 * bout.c (b_out_bfd_discard_group): Define.
7689 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
7690 * coffcode.h (coff_bfd_discard_group): Define.
7691 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
7692 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
7693 * i386msdos.c (msdos_bfd_discard_group): Define.
7694 * i386os9k.c (os9k_bfd_discard_group): Define.
7695 * ieee.c (ieee_bfd_discard_group): Define.
7696 * ihex.c (ihex_bfd_discard_group): Define.
7697 * mmo.c (mmo_bfd_discard_group): Define.
7698 * nlm-target.h (nlm_bfd_discard_group): Define.
7699 * oasys.c (oasys_bfd_discard_group): Define.
7700 * ppcboot.c (ppcboot_bfd_discard_group): Define.
7701 * som.c (som_bfd_discard_group): Define.
7702 * srec.c (srec_bfd_discard_group): Define.
7703 * tekhex.c (tekhex_bfd_discard_group): Define.
7704 * versados.c (versados_bfd_discard_group): Define.
7705 * vms.c (vms_bfd_discard_group): Define.
7706 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
7707 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
7708 (aix5coff64_vec): Likewise.
7709 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
7710
9cba27b2
JT
77112002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
7712
7713 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
7714 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
7715 (elf32-sh64-com.lo): New dependency list.
7716 * Makefile.in: Regenerate.
7717 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
7718 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
7719 elf32-sh64-com.lo.
7720 * configure: Regenerate.
7721 * elf32-sh64.c (sh64_address_in_cranges)
7722 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
7723 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
7724 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
7725 * elf32-sh64-com.c: ...here. New file.
7726
8d2c33be
AM
77272002-06-04 Alan Modra <amodra@bigpond.net.au>
7728
7729 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
7730 ATTRIBUTE_UNUSED on used params.
7731 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
7732 before calling bfd_section_from_elf_index on local syms.
7733 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7734
5b0e55b6
JT
77352002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
7736
7737 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
7738 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
7739 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
7740 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
7741 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
7742 * Makefile.in: Regenerate.
7743 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
7744 (sh64-*-netbsd*): New targets.
7745 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
7746 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
7747 * configure: Regenerate.
7748 * elf32-sh64-nbsd.c: New file.
7749 * elf64-sh64-nbsd.c: New file.
7750 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
7751 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
7752 bfd_elf64_sh64lnbsd_vec.
7753
b885599b
AM
77542002-06-04 Alan Modra <amodra@bigpond.net.au>
7755
7756 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
7757 (bfd_section_from_shdr): Likewise. Set section name of group
7758 sections from signature.
7759 (group_signature): Split out from setup_group. Ensure symbol table
7760 is available.
7761 (bfd_elf_discard_group): New function.
7762 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
7763 .gnu.linkonce* sections if they are members of a group.
7764 (set_group_contents): Set GRP_COMDAT flag.
7765 * section.c (bfd_discard_group): New function.
7766 * bfd-in.h (bfd_elf_discard_group): Declare.
7767 * bfd-in2.h: Regenerate.
7768 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
7769 (elf_linkonce_p): Define.
7770
90937f86
AM
77712002-06-04 Alan Modra <amodra@bigpond.net.au>
7772
7773 * elf.c (bfd_section_from_shdr): Make "name" const.
7774 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
7775 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
7776 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
7777 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
7778 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
7779 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
7780 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
7781 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
7782 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
7783 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
7784 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
7785
cf6fb9ce
MR
77862002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7787
7788 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
7789 ABI.
7790
cedb70c5
KH
77912002-06-02 Kazu Hirata <kazu@cs.umass.edu>
7792
7793 * elf32-arc.c: Fix formatting.
7794 * elf32-arm.h: Likewise.
7795 * elf32-cris.c: Likewise.
7796 * elf32-dlx.c: Likewise.
7797 * elf32-hppa.c: Likewise.
7798 * elf32-i386.c: Likewise.
7799 * elf32-i386qnx.c: Likewise.
7800 * elf32-or32.c: Likewise.
7801 * elf32-s390.c: Likewise.
7802 * elf32-sh64.c: Likewise.
7803 * elf32-vax.c: Likewise.
7804 * elf32-xstormy16.c: Likewise.
7805 * elf64-alpha.c: Likewise.
7806 * elf64-mmix.c: Likewise.
7807 * elf64-ppc.c: Likewise.
7808 * elf64-s390.c: Likewise.
7809 * elf64-sh64.c: Likewise.
7810 * elf64-x86-64.c: Likewise.
7811
048d873d
RH
78122002-06-02 Richard Henderson <rth@redhat.com>
7813
7814 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
7815 null when there are no got entries for a symbol.
7816 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
7817 uninitialized variable warning.
7818
4a67a098
RH
78192002-06-01 Richard Henderson <rth@redhat.com>
7820
7821 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
7822 undefined symbols here.
7823 (elf64_alpha_relax_section): Do it here. Also test for not
7824 defined in the current module.
7825 (elf64_alpha_relocate_section_r): Split out of ...
7826 (elf64_alpha_relocate_section): ... here. Don't dereference
7827 NULL when looking up local got entries.
7828
f44f99a5
RH
78292002-06-01 Richard Henderson <rth@redhat.com>
7830
7831 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
7832 symbols from JSR relaxation.
7833 (elf64_alpha_size_plt_section_1): New.
7834 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
7835 (elf64_alpha_size_rela_got_1): ... here.
7836 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
7837 (elf64_alpha_size_rela_got_section): ... here.
7838 (elf64_alpha_size_plt_section): New.
7839 (elf64_alpha_relax_section): Call them.
7840 (elf64_alpha_size_got_sections): Remove output_bfd arg.
7841 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
7842
9e756d64
RH
78432002-06-01 Richard Henderson <rth@redhat.com>
7844
7845 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
7846 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
7847 in shared libraries. Fix DTPRELHI and TPRELHI value.
7848 (INSN_ADDQ, INSN_RDUNIQ): New.
7849 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
7850 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
7851 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
7852 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
7853 Handle GOTDTPREL and GOTTPREL relocations.
7854 (elf64_alpha_relax_gprelhilo): New.
7855 (elf64_alpha_relax_tls_get_addr): New.
7856 (elf64_alpha_relax_find_tls_segment): New.
7857 (elf64_alpha_relax_section): Handle TLS relocations.
7858 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
7859 (elf64_alpha_check_relocs): Set it.
7860
c853d7f6
RH
78612002-06-01 Richard Henderson <rth@redhat.com>
7862
b646261c
RH
7863 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
7864
c853d7f6
RH
7865 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
7866 check; don't suppress dynamic relocs for non-allocated sections.
7867
d7e41a96
RH
7868 * elf64-alpha.c: Remove dead code.
7869
5f333394
AM
78702002-05-31 Alan Modra <amodra@bigpond.net.au>
7871
08e0ee05
AM
7872 * bfd-in2.h: Regenerate.
7873 * libbfd.h: Regenerate.
7874 * po/SRC-POTFILES.in: Regenerate.
7875
5f333394
AM
7876 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
7877 space for bss .plt.
7878
caf47ea6
AM
78792002-05-31 Graeme Peterson <gp@qnx.com>
7880
7881 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
7882 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
7883 Run "make dep-am".
7884 * Makefile.in: Regenerate.
7885 * config.bfd: Add i[3456]86-*-nto-qnx* support.
7886 * configure.in: Add bfd_elf32_i386qnx_vec support.
7887 * configure: Regenerate.
7888 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
7889 is_contained_by_filepos, and copy_private_bfd_data_p.
7890 * elf.c (assign_file_positions_for_segments): Call backend
7891 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
7892 (IS_CONTAINED_BY_FILEPOS): Define.
7893 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
7894 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
7895 Fix non-K&R call to _bfd_error_handler.
7896 (_bfd_elf_copy_private_section_data): Use backend
7897 copy_private_bfd_data_p.
7898 * elf32-i386.c: Don't include elfxx-target.h when
7899 ELF32_I386_C_INCLUDED is defined.
7900 * elf32-i386qnx.c: New QNX elf backend file.
7901 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
7902 elf_backend_is_contained_by_filepos, and
7903 elf_backend_do_copy_private_bfd_data.
7904 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
7905
5bc56484
AM
79062002-05-31 Alan Modra <amodra@bigpond.net.au>
7907
7908 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
7909 Move other similar defines to start of file.
7910
1b164155
TR
79112002-05-30 Tom Rix <trix@redhat.com>
7912
7913 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
7914 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
7915
3765b1be
RH
79162002-05-30 Richard Henderson <rth@redhat.com>
7917
7918 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
7919 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
7920 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
7921 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
7922 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
7923 (struct alpha_elf_obj_tdata): Rename total_got_entries and
7924 n_local_got_entries to total_got_size and local_got_size.
7925 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
7926 (alpha_got_entry_size): New.
7927 (elf64_alpha_relax_with_lituse): Use it.
7928 (elf64_alpha_relax_without_lituse): Likewise.
7929 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
7930 (get_got_entry): New.
7931 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
7932 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
7933 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
7934 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
7935 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
7936 (elf64_alpha_calc_got_offsets): Likewise.
7937 (alpha_dynamic_entries_for_reloc): New.
7938 (elf64_alpha_calc_dynrel_sizes): Use it.
7939 (elf64_alpha_size_dynamic_sections): Likewise.
7940 (elf64_alpha_relocate_section): Handle TLS relocations.
7941 * reloc.c: Add Alpha TLS relocations.
7942 * bfd-in2.h, libbfd.h: Rebuild.
7943
5e226794
NC
79442002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7945
7946 * peXXigen.c (pe_print_idata): Remove double printed
7947 import table lines; add Bound-To comment.
7948
90ace9e9
JT
79492002-05-29 Matt Thomas <matt@3am-software.com>
7950
7951 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
7952 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
7953 (elf32-vax.lo): New rule.
7954 * Makefile.in: Regenerate.
7955 * configure.in (bfd_elf32_vax_vec)
7956 (vaxnetbsd_vec): New vectors.
7957 * configure: Regenerate.
7958 * config.bfd (vax-*-netbsdelf*)
7959 (vax-*-netbsdaout*)
7960 (vax-*-netbsd*): New targets.
7961 * elf32-vax.c: New file.
7962 * reloc.c: Add VAX relocations.
7963 * bfd-in2.h: Regenerate.
7964 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
7965
4a253e81
JT
79662002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7967
7968 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
7969 and bfd_elf32_bigarm_vec to targ_selvecs.
7970
6e7c73dd
CF
79712002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7972
7973 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
7974 with auto-imported symbols.
7975
8afb0e02
NC
79762002-05-29 Adam Nemet <anemet@lnxw.com>
7977
7978 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
7979 sections only record bfd.
9bab7074 7980 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
8afb0e02 7981 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
9bab7074 7982 * bfd-in2.h: Regenerate.
8afb0e02 7983
a95653f5
NC
79842002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
7985
7986 * syms.c (_bfd_stab_section_find_nearest_line): Move
7987 declaration and initialisation of saw_line and saw_func out of
7988 for loop.
7989
7cdc5bba
AM
79902002-05-29 Alan Modra <amodra@bigpond.net.au>
7991
7992 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
7993 (bfd_elf64_get_symbol_info): Define.
7994 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
7995
4c7aad1c
AM
79962002-05-29 Andrey Volkov <avolkov@transas.com>
7997
7998 * cpu-h8300.c: Make default h8300 machine first in machine list.
7999
d172d4ba
NC
80002002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
8001
8002 * config.bfd: Added DLX configuraton.
8003 * Makefile.am: Added DLX configuraton.
8004 * configure.in: Added DLX configuraton.
8005 * archures.c: Add DLX architecure.
8006 * reloc.c: Add DLX relocs.
8007 * targets.c: Added DLX target vector.
8008 * configure: Regenerate.
8009 * Makefile.in: Regenreate.
8010 * bfd-in2.h: Regenreate.
8011 * elf32-dlx.c: New file: Support DLX target.
8012 * cpu-dlx.c: New file: Support DLX target.
8013
d1329ca3
AM
80142002-05-25 Alan Modra <amodra@bigpond.net.au>
8015
428d0de3
AM
8016 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
8017
d1329ca3
AM
8018 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
8019 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
8020 strings to point inside function code sym string.
8021 (func_desc_adjust): Likewise.
8022 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
8023
3bab7989
ML
80242002-05-24 Michal Ludvig <mludvig@suse.cz>
8025
8026 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
8027 (elf64_x86_64_grok_psinfo): Added.
8028
436e8db0
NC
80292002-05-24 TAMURA Kent <kent@netbsd.org>
8030
8031 * config.bfd: Add a target for i386-netbsdpe.
8032
ea1e4b0d
AM
80332002-05-24 Alan Modra <amodra@bigpond.net.au>
8034
8035 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
8036 and is_func_descriptor.
8037 (func_desc_adjust): Hide function code sym in shared libs unless
8038 there is a matching exported function descriptor sym.
8039
13ae64f3
JJ
80402002-05-23 Jakub Jelinek <jakub@redhat.com>
8041
8042 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
8043 for symbols from SHF_TLS section.
8044 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
8045 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
8046 (map_sections_to_segments): Build PT_TLS segment if necessary.
8047 (assign_file_positions_for_segments): Likewise.
8048 (get_program_header_size): Account for PT_TLS segment.
8049 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
8050 SEC_THREAD_LOCAL sections to STT_TLS.
8051 * reloc.c: Add 386 and IA-64 TLS relocs.
8052 * section.c (SEC_THREAD_LOCAL): Define.
8053 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
8054 Remove.
8055 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
8056 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
8057 unconditionally.
8058 (struct elf_final_link_info): Add first_tls_sec.
8059 (elf_bfd_final_link): Set first_tls_sec.
8060 Compute elf_hash_table (info)->tls_segment.
8061 (elf_link_output_extsym): Handle STT_TLS symbols.
8062 (elf_link_input_bfd): Likewise.
8063 * syms.c (BSF_THREAD_LOCAL): Define.
8064 * bfd-in2.h: Rebuilt.
8065 * libbfd.h: Rebuilt.
8066 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
8067 elf_i386_mkobject, elf_i386_object_p): New functions.
8068 (elf_howto_table): Add TLS relocs.
8069 (elf_i386_reloc_type_lookup): Support TLS relocs.
8070 (elf_i386_info_to_howto_rel): Likewise.
8071 (struct elf_i386_link_hash_entry): Add tls_type.
8072 (struct elf_i386_obj_tdata): New.
8073 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
8074 New macros.
8075 (struct elf_i386_link_hash_table): Add tls_ldm_got.
8076 (link_hash_newfunc): Clear tls_type.
8077 (elf_i386_check_relocs): Support TLS relocs.
8078 (elf_i386_gc_sweep_hook): Likewise.
8079 (allocate_dynrelocs): Likewise.
8080 (elf_i386_size_dynamic_sections): Likewise.
8081 (elf_i386_relocate_section): Likewise.
8082 (elf_i386_finish_dynamic_symbol): Likewise.
8083 (bfd_elf32_mkobject, elf_backend_object_p): Define.
8084 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
8085 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
8086 want_tprel, want_dtpmod, want_dtprel.
8087 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
8088 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
8089 R_IA64_LTOFF_TPREL22.
8090 (elf_code_to_howto_index): Add TLS relocs.
8091 (elfNN_ia64_check_relocs): Support TLS relocs.
8092 (allocate_global_data_got): Account for TLS .got data.
8093 (allocate_dynrel_entries): Account for TLS dynamic relocations.
8094 (elfNN_ia64_install_value): Supprt TLS relocs.
8095 (set_got_entry): Support TLS relocs.
8096 (elfNN_ia64_relocate_section): Likewise.
8097
c62e1cc3
NC
80982002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
8099
8100 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
8101 BLX reloc round the relocation up rather than down.
8102 * coff-arm.c (coff_arm_relocate_section): Likewise.
8103
c5a43a5d
L
81042002-05-21 H.J. Lu (hjl@gnu.org)
8105
8106 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
8107 definition.
8108
afbe61cf
AM
81092002-05-22 Alan Modra <amodra@bigpond.net.au>
8110
8111 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
8112 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
8113
9c07fe7c
AM
81142002-05-22 Alan Modra <amodra@bigpond.net.au>
8115
8116 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
8117 unresolved relocs.
8118 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
8119
21611032
TS
81202002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8121
c5cd6d62 8122 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
21611032
TS
8123 non-ELF targets.
8124
41241523
TS
81252002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8126
8127 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
8128 an error value.
8129 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
8130 return with false on error.
8131 (elf_link_input_bfd): Check reloc_emitter return value.
8132
658f2588
JT
81332002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
8134
8135 * config.bfd (armeb-*-netbsdelf*): New target.
8136
c862ae31
AM
81372002-05-20 Alan Modra <amodra@bigpond.net.au>
8138
8139 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
8140 at the plt call stub.
8141
6dd14845
TS
81422002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8143
8144 * cpu-mips.c (mips_compatible): Don't try to check machine
8145 compatibility.
8146
a58d9c34
TR
81472002-05-18 Tom Rix <trix@redhat.com>
8148
9b5ecbd0 8149 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
a58d9c34 8150
ef60b7ff
AM
81512002-05-17 Alan Modra <amodra@bigpond.net.au>
8152
8153 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
8154 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
8155 we've already warned about an undefined symbol. Report more
8156 detail on reloc errors.
8157
a703a6ea
AM
81582002-05-17 Alan Modra <amodra@bigpond.net.au>
8159
8160 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
8161 * configure.in: Invoke AM_INSTALL_LIBBFD.
8162 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
8163 (install_libbfd): .. New target.
8164 (uninstall_libbfd): Likewise.
8165 (install-bfdlibLTLIBRARIES): Likewise.
8166 (uninstall-bfdlibLTLIBRARIES): Likewise.
8167 (bfdlibdir): New.
8168 (bfdincludedir): New.
8169 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
8170 * aclocal.m4: Regenerate.
8171 * configure: Regenerate.
8172 * Makefile.in: Regenerate.
8173
2c13d98b
NC
81742002-05-17 Stuart Balfour <sbalfour@cisco.com>
8175
8176 * hash.c (bfd_hash_lookup): Remove computation of len from inside
8177 hash loop.
8178
629936c5
NC
81792002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
8180
8181 * config.bfd: Add targets for sh64-linux (little endian and
8182 big endian).
8183
e4cf60a8
NC
81842002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
8185
8186 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
8187 is located in the same section as the import table. Instead
8188 check, and if necessary load the section containing the thunk.
8189
d1e66cd4
NC
81902002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
8191
8192 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
ea1e4b0d
AM
8193 bfd_bread.
8194 (xcoff64_core_file_matches_executable_p): Replace bfd_read
8195 with bfd_bread.
d1e66cd4 8196
2d653fc7
AM
81972002-05-15 Alan Modra <amodra@bigpond.net.au>
8198
8199 * aix5ppc-core.c: Warning fixes.
8200 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
8201 * aout-target.h (MY_bfd_link_just_syms): Define.
8202 * aout-tic30.c (MY_bfd_link_just_syms): Define.
8203 * bfd.c (bfd_link_just_syms): Define.
8204 * binary.c (binary_bfd_link_just_syms): Define.
8205 * bout.c (b_out_bfd_link_just_syms): Define.
8206 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
8207 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
8208 * coffcode.h (coff_bfd_link_just_syms): Define.
8209 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
8210 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
8211 (_bfd_elf_link_just_syms): Declare.
8212 * elf.c (_bfd_elf_link_just_syms): New function.
8213 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
8214 sections haven't already been discarded by the linker.
8215 * elflink.h (elf_link_add_object_symbols): Likewise for stab
8216 sections and SEC_MERGE sections.
8217 (elf_bfd_discard_info): Similarly here.
8218 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
8219 * i386msdos.c (msdos_bfd_link_just_syms): Define.
8220 * i386os9k.c (os9k_bfd_link_just_syms): Define.
8221 * ieee.c (ieee_bfd_link_just_syms): Define.
8222 * ihex.c (ihex_bfd_link_just_syms): Define.
8223 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
8224 (_bfd_generic_link_just_syms): Declare.
8225 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
8226 * linker.c (_bfd_generic_link_just_syms): New function.
8227 * mmo.c (mmo_bfd_link_just_syms): Define.
8228 * nlm-target.h (nlm_bfd_link_just_syms): Define.
8229 * oasys.c (oasys_bfd_link_just_syms): Define.
8230 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
8231 * som.c (som_bfd_link_just_syms): Define.
8232 * srec.c (srec_bfd_link_just_syms): Define.
8233 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
8234 (BFD_JUMP_TABLE_LINK): And here.
8235 * tekhex.c (tekhex_bfd_link_just_syms): Define.
8236 * versados.c (versados_bfd_link_just_syms): Define.
8237 * vms.c (vms_bfd_link_just_syms): Define.
8238 * libbfd.h: Regenerate.
8239 * bfd-in2.h: Regenerate.
8240
cb7394f2
TS
82412002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8242
8243 * elf32-mips.c: Remove superfluous definitions copied from
8244 elfxx-mips.c.
8245 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
8246 SGIish vectors to check the special case.
8247 (mips_elf_hi16_reloc): Fix comment.
8248 (mips_elf_got16_reloc): Likewise.
8249 (_bfd_mips_elf32_gprel16_reloc): Likewise.
8250 (elf_reloc_map): Code cleanup.
8251 (mips_reloc_map): Add comment.
8252 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
8253 (mips_elf32_rtype_to_howto): Likewise.
8254 (mips_elf32_discard_info): Likewise.
8255 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
8256 lead to IRIX compatibility now.
8257
8dc1a139
TS
82582002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8259
8260 * elfxx-mips.c: Call it IRIX, not Irix in comments.
8261
2051e1b5
JT
82622002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
8263
8264 * config.bfd (shle-*-netbsdelf*): Add target which includes
8265 sh64 support.
8266
83954261
AM
82672002-05-13 David Edelsohn <edelsohn@gnu.org>
8268
8269 * configure.in: Revert 2002-04-07. Instead, auto-configure
8270 HAVE_ST_C_IMPL.
8271 * configure: Regenerate.
8272 * config.in: Regenerate.
8273 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
8274 or AIX_5_CORE.
8275
a9bf1154
NC
82762002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
8277
8278 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
8279 corefiles as well.2
8280 * configure: Regenerate.
8281
3129eb7a
AM
82822002-05-13 Alan Modra <amodra@bigpond.net.au>
8283
8284 * Makefile.am (install-data-local): Install headers to
8285 $(exec_prefix)/include.
8286 * Makefile.in: Regenerate.
8287
a9a32010
DJ
82882002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
8289 Daniel Jacobowitz <drow@mvista.com>
8290
8291 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
8292 map BFD_RELOC_RVA.
8293
82942002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
690cc98b
NC
8295
8296 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
8297 hppa*-*-openbsd*): New targets.
8298 * configure.in (alpha*-*-openbsd*): Set COREFILE.
8299 * configure: Regenerate.
8300
f1f0d9ab
TR
83012002-05-10 Tom Rix <trix@redhat.com>
8302
ea1e4b0d 8303 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
f1f0d9ab
TR
8304 xcoff64_ppc_relocate_section.
8305 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
8306 * libxcoff.h: Common xcoff_reloc_type function declaration.
8307
c432ba1a
AM
83082002-05-10 Alan Modra <amodra@bigpond.net.au>
8309
16a10388 8310 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
90937f86 8311 added in 2002-05-09 commit.
16a10388 8312
c432ba1a
AM
8313 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
8314 don't look for stubs on all undefined syms.
8315
4a335f3d
AM
83162002-05-09 Alan Modra <amodra@bigpond.net.au>
8317
8fc39d5d
AM
8318 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
8319 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
8320 pcrel_offset.
8321
4a335f3d
AM
8322 * elf32-i386.c (elf_howto_table): Comments.
8323 (elf_i386_relocate_section): Handle more relocs for relocatable
8324 linking and against SEC_MERGE sections.
8325
41fcb14e
AM
83262002-05-08 Alan Modra <amodra@bigpond.net.au>
8327
8328 * elf32-ppc.c (ppc_elf_create_got): New function.
8329 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
ea1e4b0d 8330 _bfd_elf_create_dynamic_sections. Correct .plt flags.
41fcb14e
AM
8331 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
8332 _bfd_elf_create_got_section.
8333
b491616a
AM
83342002-05-07 Alan Modra <amodra@bigpond.net.au>
8335
8336 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
8337 * elfxx-target.h (elf_backend_rela_normal): Define.
8338 (elfNN_bed): Init rela_normal.
8339 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
8340 for section symbols here if rela_normal. Simplify abs section test.
8341 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
8342 return immediately. Remove code handling relocatable linking.
8343 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
8344 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
8345 * elf32-i370.c (i370_elf_relocate_section): Likewise.
8346 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
8347 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
8348 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
8349 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
8350 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
8351 * elf32-s390.c (elf_s390_relocate_section): Likewise.
8352 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
8353 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
8354 * elf64-s390.c (elf_s390_relocate_section): Likewise.
8355 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8356 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
8357 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
8358 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
8359 * elf-m10200.c (elf_backend_rela_normal): Define.
8360 * elf-m10300.c (elf_backend_rela_normal): Define.
8361 * elf32-fr30.c (elf_backend_rela_normal): Define.
8362 * elf32-i370.c (elf_backend_rela_normal): Define.
8363 * elf32-i860.c (elf_backend_rela_normal): Define.
8364 * elf32-m68k.c (elf_backend_rela_normal): Define.
8365 * elf32-mcore.c (elf_backend_rela_normal): Define.
8366 * elf32-openrisc.c (elf_backend_rela_normal): Define.
8367 * elf32-ppc.c (elf_backend_rela_normal): Define.
8368 * elf32-s390.c (elf_backend_rela_normal): Define.
8369 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
8370 * elf64-ppc.c (elf_backend_rela_normal): Define.
8371 * elf64-s390.c (elf_backend_rela_normal): Define.
8372 * elf64-x86-64.c (elf_backend_rela_normal): Define.
8373 * elfxx-ia64.c (elf_backend_rela_normal): Define.
8374 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
8375 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
8376
df212a7e
NC
83772002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
8378
8379 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
8380 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
8381
3decf53c
AM
83822002-05-06 Alan Modra <amodra@bigpond.net.au>
8383
8384 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
8385 when not relocatable. Fix reloc_emitter call for K&R.
8386
f46c2da6
AM
83872002-05-04 Alan Modra <amodra@bigpond.net.au>
8388
8389 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
8390 reloading local sym addend mistakenly removed in 2002-05-01 change.
8391
8392 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
8393 (read_abbrevs): Change "offset" param to bfd_vma.
8394 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
8395 Change "abbrev_offset" to bfd_vma.
8396 (read_indirect_string): Use correct conversion chars in error
8397 message format string, cast bfd_vma's to unsigned long.
8398 (read_abbrevs): Likewise.
8399 (read_attribute_value): Likewise.
8400 (decode_line_info): Likewise.
8401 (scan_unit_for_functions): Likewise.
8402 (parse_comp_unit): Likewise.
8403
59862849
TR
84042002-05-04 Tom Rix <trix@redhat.com>
8405
8406 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
8407 (coff_swap_reloc_out): Same.
8408 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
8409 (xcoff_swap_reloc_out): Same.
8410 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
8411 case some 16 bit relocs. Add reloc value to output.
8412 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
ea1e4b0d 8413 R_RBR. Improve names.
59862849
TR
8414 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
8415 (bfd_xcoff_backend_data): Update with new reloc swap names.
8416 (bfd_pmac_xcoff_backend_data) : Same.
8417 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
8418 (xcoff64_swap_reloc_out): Same.
ea1e4b0d 8419 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
59862849 8420 R_POS. Add reloc value to output.
ea1e4b0d
AM
8421 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
8422 bit R_RBR. Improve names, masks.
59862849
TR
8423 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
8424 (bfd_xcoff_backend_data): Update with new reloc swap names.
8425 (bfd_xcoff_aix5_backend_data) : Same.
8426
b4655ea9
AM
84272002-05-04 Alan Modra <amodra@bigpond.net.au>
8428
8429 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
8430 bfd_count top_index, input_list, all_local_syms.
8431 (elf32_hppa_setup_section_lists): New function, split from
8432 elf32_hppa_size_stubs.
8433 (elf32_hppa_next_input_section): Likewise.
8434 (group_sections): Likewise.
8435 (get_local_syms): Likewise.
8436 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
8437 stubs on undefined syms too.
8438 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8fc39d5d 8439 Only access htab elf fields when we have an elf hash table.
b4655ea9
AM
8440 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
8441 (elf32_hppa_next_input_section): Declare.
8442
301e3139
AM
84432002-05-04 Bob Byrnes <byrnes@curl.com>
8444
8445 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
8446 _bfd_new_bfd.
8447
7c5fcef7
L
84482002-05-03 H.J. Lu (hjl@gnu.org)
8449
8450 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
8451 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
8452 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
8453 to hide a global symbol.
8454 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
ea1e4b0d 8455 forced_local to true.
7c5fcef7 8456
84de6048
RH
84572002-05-02 Richard Henderson <rth@redhat.com>
8458
8459 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
8460 vs SHN_UNDEF to zero.
8461
805fc799
AM
84622002-05-02 Alan Modra <amodra@bigpond.net.au>
8463
c061c2d8
AM
8464 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
8465 16 bit reloc.
8466 <R_PPC64_SECTOFF_DS>: Likewise.
8467 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8468 SECTOFF reloc.
8469 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
8470 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8471 SECTOFF reloc.
8472
805fc799
AM
8473 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
8474 (ppc64_elf_ha_reloc): New function.
8475 (ppc64_elf_brtaken_reloc): New function.
8476 (ppc64_elf_sectoff_reloc): New function.
8477 (ppc64_elf_sectoff_ha_reloc): New function.
8478 (ppc64_elf_toc_reloc): New function.
8479 (ppc64_elf_toc_ha_reloc): New function.
8480 (ppc64_elf_toc64_reloc): New function.
8481 (ppc64_elf_unhandled_reloc): New function.
8482 (ppc64_elf_howto_raw): Use the above.
8483 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
8484 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
8485 <R_PPC64_SECTOFF_DS>: Likewise.
8486 (IS_ABSOLUTE_RELOC): Update.
8487 (struct ppc_link_hash_table): Add have_undefweak.
8488 (ppc64_elf_link_hash_table_create): Init.
8489 (func_desc_adjust): Set have_undefweak.
8490 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
8491 add the .sfpr blr when have_undefweak.
8492 (ppc64_elf_setup_section_lists): Check hash table flavour.
8493 (ppc64_elf_next_input_section): Move output_section->owner test to
8494 ppc64elf.em.
8495 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
8496 and relocatable test. Return TOCstart and don't set elf_gp.
8497 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
8498 offset calculation. Add assert on weak sym branch tweaks.
8499 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
8500 (ppc64_elf_toc): Declare.
8501 (ppc64_elf_next_input_section): Update.
ea1e4b0d 8502
818c39a3
AM
85032002-05-01 Alan Modra <amodra@bigpond.net.au>
8504
8505 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
8506 file_name.
8507
721956f4
AM
85082002-05-01 Alan Modra <amodra@bigpond.net.au>
8509
8510 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
8511 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
8512 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
8513 call branches. Correct undefined weak destination.
8514 (ppc64_elf_func_desc_adjust): Always create at least one blr in
8515 .sfpr, and correct case where either only savef* or restf* is
8516 needed.
8517
8518 Long branch stubs, multiple stub sections.
8519 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
8520 (ppc64_elf_next_input_section): Declare.
8521 * elf64-ppc.c: Move linker-only prototypes.
8522 (STUB_SUFFIX): Define.
8523 (enum ppc_stub_type): New.
8524 (struct ppc_stub_hash_entry): New.
8525 (struct ppc_branch_hash_entry): New.
8526 (struct ppc_link_hash_entry): Add stub_cache, oh.
8527 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
8528 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
8529 Rename plt_overflow to stub_error.
8530 (ppc_stub_hash_lookup): Define.
8531 (ppc_branch_hash_lookup): Define.
8532 (stub_hash_newfunc): New function.
8533 (branch_hash_newfunc): New function.
8534 (link_hash_newfunc): Init new fields.
8535 (ppc64_elf_link_hash_table_create): Likewise.
8536 (ppc64_elf_link_hash_table_free): New function.
8537 (ppc_stub_name): New function.
8538 (ppc_get_stub_entry): New function.
8539 (ppc_add_stub): New function.
8540 (create_linkage_sections): Use bfd_make_section_anyway. Create
8541 .branch_lt and .rela.branch_lt sections. Don't create .stub.
8542 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
8543 and set up for plt call stubs. Link func and func desc syms.
8544 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
8545 (func_desc_adjust): Avoid hash lookup when func desc sym available
8546 via shortcut, and set links when processing.
8547 (ppc64_elf_hide_symbol): Likewise.
8548 (allocate_dynrelocs): Don't allocate stub section here.
8549 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
8550 Remove sstub code.
8551 (ppc_type_of_stub): New function.
8552 (build_one_stub): Delete.
8553 (ppc_build_one_stub): New function.
8554 (ppc_size_one_stub): New function.
8555 (ppc64_elf_setup_section_lists): New function.
8556 (ppc64_elf_next_input_section): New function.
8557 (group_sections): New function.
8558 (get_local_syms): New function.
8559 (ppc64_elf_size_stubs): Rewrite.
8560 (ppc64_elf_build_stubs): Rewrite.
8561 (ppc64_elf_relocate_section): Look up stub entry for REL24
8562 relocs. Don't propagate REL14* to dynamic objects. Look for long
8563 branch stubs if REL14* or REL24 relocs won't reach.
8564 (bfd_elf64_bfd_link_hash_table_free): Define.
8565
09c2219b
MM
85662002-04-30 Mark Mitchell <mark@codesourcery.com>
8567
c5cd6d62 8568 * config.bfd: Add support for powerpc-*-windiss.
09c2219b 8569
07b678c0
TR
85702002-04-30 Tom Rix <trix@redhat.com>
8571
8572 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
8573 symbol names into the hash table.
8574
dbe341c6
TR
85752002-04-28 Tom Rix <trix@redhat.com>
8576
8577 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
ea1e4b0d 8578 calulating relocations.
dbe341c6 8579 (xcoff_complain_overflow) : Function table for relocation errors.
ea1e4b0d
AM
8580 (xcoff_ppc_relocate_section): Use relocation and complain function
8581 tables.
8582 (xcoff_complain_overflow_unsigned_func): New complain function.
dbe341c6
TR
8583 (xcoff_complain_overflow_signed_func): Same.
8584 (xcoff_complain_overflow_bitfield_func): Same.
8585 (xcoff_complain_overflow_dont_func): Same.
8586 (xcoff_reloc_type_crel): New recot function.
8587 (xcoff_reloc_type_br): Same.
8588 (xcoff_reloc_type_ba): Same.
8589 (xcoff_reloc_type_toc): Same.
8590 (xcoff_reloc_type_rel): Same.
8591 (xcoff_reloc_type_neg): Same.
8592 (xcoff_reloc_type_pos): Same.
8593 (xcoff_reloc_type_fail): Same.
8594 (xcoff_reloc_type_noop): Same.
8595 * libxcoff.h : Declare common parts for xcoff64.
8596 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
ea1e4b0d 8597 and complain function tables.
dbe341c6 8598
985142a4
AM
85992002-04-28 Alan Modra <amodra@bigpond.net.au>
8600
8601 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
8602 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
8603
eba91044
AM
86042002-04-26 Alan Modra <amodra@bigpond.net.au>
8605
e54fdaa5
AM
8606 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
8607 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
8608
a50c1845
AM
8609 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
8610 same as the output before calling elf_link_input_bfd.
8611
eba91044
AM
8612 * coffcode.h (coff_compute_section_file_positions): Set
8613 section_tail after shuffling section list.
8614
3c25c5f6
NC
86152002-04-24 Christian Groessler <chris@groessler.org>
8616
8617 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
8618 addresses are 23bit with a special layout, not plain 32bit
8619 values. Prevent relocation of immediate values.
8620
40d32fc6
CD
86212002-04-24 Chris G. Demetriou <cgd@broadcom.com>
8622
8623 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
8624 MIPS-16 ASE flags are set, print something to indicate that.
8625
067fa4a6
AM
86262002-04-23 Alan Modra <amodra@bigpond.net.au>
8627
8628 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
8629 under which a plt call stub is used.
8630 (final_link_relocate): Similarly.
8631 (allocate_plt_static): Clear h-plabel except when plt entry is
8632 exclusively used for a plabel.
8633 (allocate_dynrelocs): Use the above to simplify plt sizing.
8634 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
8635 (elf32_hppa_link_hash_table_create): Init.
8636 (BL22_RP): Define.
8637 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
8638 (elf32_hppa_check_relocs): Set has_22bit_branch.
8639
8640 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
8641 (final_link_relocate): Likewise.
8642
af40ce3c
JJ
86432002-04-22 Jakub Jelinek <jakub@redhat.com>
8644
8645 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
8646 search table if some FDE is DW_EH_PE_aligned encoded either.
8647 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
8648
09ae86c2
JJ
86492002-04-22 Richard Smith <richard@ex-parrot.com>
8650 Jakub Jelinek <jakub@redhat.com>
8651
8652 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
8653 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
8654 encoded personality.
8655 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
8656 for CIE/FDE removal.
8657
deeb2cd7
TR
86582002-04-20 Tom Rix <trix@redhat.com>
8659
8660 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
8661
99dc0092
AM
86622002-04-20 Alan Modra <amodra@bigpond.net.au>
8663
aa3d5824
AM
8664 * archures.c (bfd_lookup_arch): Move the list order comment..
8665 (struct bfd_arch_info): ..to where it belongs.
8666 * bfd-in2.h: Regenerate.
8667
99dc0092
AM
8668 * archures.c (bfd_lookup_arch): Add comment on list order.
8669 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
8670 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
8671 is always at head of list.
8672
7831a775
NC
86732002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
8674
8675 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
8676 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
8677 definition of these functions for ARM_WINCE builds as they are
8678 not used.
ea1e4b0d 8679 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
7831a775
NC
8680 for ARM_WINCE builds.
8681
86822002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
8683
ea1e4b0d 8684 * coff-arm.c (bfd_arm_process_before_allocation):
7831a775
NC
8685
86862002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
a44d7f9c
JR
8687
8688 * cpu-sh.c (scan_mach): Delete.
8689 (arch_info_struct): Replace scan_mach with bfd_default_scan.
8690 (bfd_sh_arch): Likewise.
8691
3d8dbe36
NC
86922002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
8693
8694 * ihex.c (ihex_write_object_contents): Fix check for records
8695 crossing 64K boundaries.
8696
4ab82700
AM
86972002-04-16 Alan Modra <amodra@bigpond.net.au>
8698
8699 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
8700 type rather than just assuming entries are ELF.
8701 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
8702 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
8703 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
8704 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
8705 rather than elf_link_hash_entry.
8706
036fe0fe
RH
87072002-04-15 Richard Henderson <rth@redhat.com>
8708
8709 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
8710 n32 binaries.
8711
c4f3d130
NC
87122002-04-15 Michael Snyder <msnyder@redhat.com>
8713
8714 * opncls.c (bfd_close): Write contents if writeable.
8715 Minor formatting tidy-ups.
8716
4ab82700 87172002-04-15 Alan Modra <amodra@bigpond.net.au>
27242387
AM
8718
8719 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
8720
0c04d169
MS
87212002-04-12 Michael Snyder <msnyder@redhat.com>
8722
8723 * bfd-in.h (bfd_get_section_lma): New access macro.
8724 Minor white-space fix-up.
8725
89d4966f
AM
87262002-04-12 Alan Modra <amodra@bigpond.net.au>
8727
8728 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
8729 header pad.
8730
8d0da3c2
DD
87312002-04-09 DJ Delorie <dj@redhat.com>
8732
8733 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
8734
05793179
NC
87352002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
8736
8737 * coffcode.h (coff_read_word): New.
8738 (coff_compute_checksum): New.
8739 (coff_apply_checksum): New.
8740 (coff_write_object_contents): Call coff_apply_checksum () to
8741 apply checksum to PE image.
8742
46fe4e66
AM
87432002-04-08 Randolph Chung <tausq@debian.org>
8744
8745 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
8746 (elf32_hppa_final_link): Split out sorting logic to..
8747 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
8748 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
8749
3b5b409c
AC
87502002-04-07 Andrew Cagney <ac131313@redhat.com>
8751
8752 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
8753 pattern.
8754 * configure: Re-generate.
8755
ac7b6ceb
AC
87562002-04-07 Andrew Cagney <ac131313@redhat.com>
8757
8758 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
8759 is greater or equal to 4.3.3.
8760 * configure: Regenerate.
8761 Fix PR gdb/344.
8762
44aa49bb
HPN
87632002-04-05 Hans-Peter Nilsson <hp@axis.com>
8764
8765 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
8766 R_CRIS_32_PCREL>: Fix typo in name.
8767 (cris_elf_check_relocs): Always create .rela.got here when
8768 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
8769 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
8770 assume it's created.
8771
e2d34d7d
DJ
87722002-04-04 Daniel Jacobowitz <drow@mvista.com>
8773
8774 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
8775 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
8776 define.
8777 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
8778 * bfd.c (bfd_link_hash_table_free): Define.
8779 * binary.c (binary_bfd_link_hash_table_free): Define.
8780 * bout.c (b_out_bfd_link_hash_table_free): Define.
8781 * coff-rs6000.c (rs6000coff_vec): Include
8782 _bfd_generic_link_hash_table_free.
8783 (pmac_xcoff_vec): Likewise.
8784 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
8785 (aix5coff64_vec): Likewise.
8786 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
8787 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
8788 (bfd_elf32_bfd_link_hash_table_free): Define.
8789 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
8790 (bfd_elf32_bfd_link_hash_table_free): Define.
8791 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
8792 define.
8793 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
8794 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
8795 * ieee.c (ieee_bfd_link_hash_table_free): Define.
8796 * ihex.c (ihex_bfd_link_hash_table_free): Define.
8797 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
8798 (_bfd_generic_link_hash_table_free): Add prototype.
8799 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
8800 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
8801 * linker.c (_bfd_generic_link_hash_table_free): New function.
8802 * mmo.c (mmo_bfd_link_hash_table_free): Define.
8803 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
8804 * oasys.c (oasys_bfd_link_hash_table_free): Define.
8805 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
8806 * som.c (som_bfd_link_hash_table_free): Define.
8807 * srec.c (srec_bfd_link_hash_table_free): Define.
8808 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
8809 * versados.c (versados_bfd_link_hash_table_free): Define.
8810 * vms.c (vms_bfd_link_hash_table_free): New function.
8811 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
8812
8813 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
8814 instead of bfd_alloc.
8815 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
8816 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
8817 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
8818 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
8819 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
8820 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
8821 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
8822 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
8823 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
8824 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
8825 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
8826 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
8827 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
8828 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
8829 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
8830 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
8831 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
8832 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
8833 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
8834 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
8835 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
8836 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
8837 * m68klinux.c (linux_link_hash_table_create): Likewise.
8838 * sparclinux.c (linux_link_hash_table_create): Likewise.
8839 * sunos.c (sunos_link_hash_table_create): Likewise.
8840 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
8841
8842 * targets.c: Add _bfd_link_hash_table_free to xvec.
8843
8844 * bfd-in2.h: Regenerate.
8845 * libbfd.h: Regenerate.
8846 * libcoff.h: Regenerate.
8847
830629ab
AM
88482002-04-04 Alan Modra <amodra@bigpond.net.au>
8849
8850 * dep-in.sed: Cope with absolute paths.
8851 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
8852 Run "make dep-am".
8853 * Makefile.in: Regenerate.
8854 * coff-arm.c: Fix copyright date.
8855 * cpu-h8300.c: Likewise.
8856 * cpu-i370.c: Likewise.
8857 * cpu-s390.c: Likewise.
8858 * cpu-mips.c: Likewise.
8859 * po/SRC-POTFILES.in: Regenerate.
8860
c6e90b02
TS
88612002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8862
8863 * Makefile.am: Add elfxx-mips.c to the known backends.
8864 (elf32-mips.lo): remove dependency to coff/external.h.
8865 * Makefile.in: Regenerate.
8866 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
8867 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
8868 accordingly.
8869 * configure: Regenerate.
8870 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
8871 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
8872 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
8873 MIPS specific backend functions.
8874 * elf32-mips.c: Moved most code to elfxx-mips.c.
8875 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
8876 static.
8877 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
8878 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
8879 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
8880 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
8881 interface to allow selection of the right REL or RELA howto table.
8882 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
8883 static. Let it refuse n32 objects.
8884 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
8885 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
8886 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
8887 (elf32_mips_ignore_discarded_relocs): Rename from
8888 _bfd_elf32_mips_ignore_discarded_relocs.
8889 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
8890 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
8891 (elf_mips_howto_table_rela): Remove.
8892 * elf64-mips.c: Moved most code to elfxx-mips.c.
8893 (bfd_elf64_bfd_reloc_type_lookup): Make static.
8894 (mips_elf64_rtype_to_howto): New function.
8895 (mips_elf64_object_p): Likewise.
8896 (elf64_mips_irix_compat): Likewise.
8897 * elfxx-mips.c: New file containing common code merged together from
8898 elf32-mips.c and elf64-mips.c.
8899 * elfxx-mips.h: New file containing MIPS specific prototypes from
8900 elf-bfd.h.
8901 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
8902 elf_backend_mips_rtype_to_howto.
8903
d8dce692
AM
89042002-04-04 Alan Modra <amodra@bigpond.net.au>
8905
8906 * srec.c (MAXCHUNK, Chunk): Revise comments.
8907 (srec_write_record): Correct buffer size.
8908 (srec_write_header): Do without intermediate buffer.
8909 (srec_write_section): Validate Chunk.
8910 (srec_write_terminator): Pass NULL instead of dummy buffer.
8911 (srec_write_symbols): Pass file and symbol names directly to
8912 bfd_bwrite so sprintf won't overflow buffer.
8913
b88a866a
JJ
89142002-04-03 Jakub Jelinek <jakub@redhat.com>
8915
8916 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
8917 PC relative relocs against hidden symbols.
8918 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8919
d7866f04
AM
89202002-04-03 Alan Modra <amodra@bigpond.net.au>
8921
8922 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
8923 LMAs, loop over segments until p_vaddr and p_memsz specify an
8924 extent enclosing the section.
8925
9e81ee67
NC
89262002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
8927
8928 * ihex.c (ihex_write_object_contents): Do not allow records to
8929 cross a 64K boundary - wrap if necessary.
8930
d2b64500
JT
89312002-04-01 Nathan Williams <nathanw@wasabisystems.com>
8932
8933 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
8934 which caused the returned LWP ID to always be 0.
8935
e36f7d53
RH
89362002-04-01 Richard Henderson <rth@redhat.com>
8937
8938 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8939 (elf32_sparc_relocate_section): Use it to figure out when to
8940 initialize .got entries.
8941 * elf64-sparc.c: Similarly.
8942
e92d460e
AM
89432002-03-28 Alan Modra <amodra@bigpond.net.au>
8944
8945 * linker.c (link_action): Ignore duplicate warning syms.
8946 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
8947 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
8948 (elf_adjust_dynamic_symbol): Likewise.
8949 (elf_export_symbol): Likewise.
8950 (elf_link_find_version_dependencies): Likewise.
8951 (elf_link_assign_sym_version): Likewise.
8952 (elf_link_sec_merge_syms): Likewise.
8953 (elf_link_output_extsym): Likewise.
8954 (elf_gc_sweep_symbol): Likewise.
8955 (elf_gc_propagate_vtable_entries_used): Likewise.
8956 (elf_gc_smash_unused_vtentry_relocs): Likewise.
8957 (elf_gc_allocate_got_offsets): Likewise.
8958 (elf_collect_hash_codes): Likewise.
8959 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
8960 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
8961 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8962 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
8963 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
8964 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
8965 (elf_cris_discard_excess_dso_dynamics): Likewise.
8966 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
8967 (mark_PIC_calls): Likewise.
8968 (allocate_plt_static): Likewise.
8969 (allocate_dynrelocs): Likewise.
8970 (readonly_dynrelocs): Likewise.
8971 * elf32-i386.c (allocate_dynrelocs): Likewise.
8972 (readonly_dynrelocs): Likewise.
8973 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
8974 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
8975 * elf32-mips.c (mips_elf_output_extsym): Likewise.
8976 (mips_elf_sort_hash_table_f): Likewise.
8977 (mips_elf_check_mips16_stubs): Likewise.
8978 * elf32-s390.c (allocate_dynrelocs): Likewise.
8979 (readonly_dynrelocs): Likewise.
8980 * elf32-sh.c (sh_elf_discard_copies): Likewise.
8981 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
8982 (xstormy16_relax_plt_realloc): Likewise.
8983 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
8984 (elf64_alpha_output_extsym): Likewise.
8985 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
8986 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
8987 (mips_elf64_check_mips16_stubs): Likewise.
8988 (mips_elf64_output_extsym): Likewise.
8989 * elf64-ppc.c (func_desc_adjust): Likewise.
8990 (allocate_dynrelocs): Likewise.
8991 (readonly_dynrelocs): Likewise.
8992 * elf64-s390.c (allocate_dynrelocs): Likewise.
8993 (readonly_dynrelocs): Likewise.
8994 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
8995 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
8996 (readonly_dynrelocs): Likewise.
8997 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
8998 * aoutx.h (aout_link_write_other_symbol): Likewise.
8999 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
9000 (_bfd_coff_write_global_sym): Likewise.
9001 * i386linux.c (linux_tally_symbols): Likewise.
9002 * m68klinux.c (linux_tally_symbols): Likewise.
9003 * sparclinux.c (linux_tally_symbols): Likewise.
9004 * pdp11.c (aout_link_write_other_symbol): Likewise.
9005 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
9006 * xcofflink.c (xcoff_build_ldsyms): Likewise.
9007 (xcoff_write_global_symbol): Likewise.
9008
9009 * cofflink.c (_bfd_coff_final_link): Formatting.
9010 * cpu-mips.c (mips_compatible): Make static, prototype.
9011 * elf32-i386.c (elf_i386_check_relocs): Formatting.
9012 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
9013 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
9014 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
9015 (mips_elf64_final_link): Likewise.
9016 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
9017 prototype.
9018
2106126f
NC
90192002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
9020
9021 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
9022 (SWAP_OUT_RELOC_OFFSET): Define.
9023
b99d1833
AM
90242002-03-27 Gregory Steuck <greg@nest.cx>
9025
9026 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
9027 terminating NULL if empty symbol table.
9028 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
9029
ad43ed4c
L
90302002-03-26 H.J. Lu (hjl@gnu.org)
9031
9032 * elflink.h (elf_link_input_bfd): Revert the last change since
9033 the gcc exception handling isn't fixed yet.
9034
3851fca4
L
90352002-03-26 H.J. Lu (hjl@gnu.org)
9036
9037 * elflink.h (elf_link_input_bfd): Complain about relocations
9038 against local symbols in discarded sections.
9039
b91afed7
AM
90402002-03-26 Alan Modra <amodra@bigpond.net.au>
9041
9042 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
9043
dba143ef
AM
90442002-03-23 Alan Modra <amodra@bigpond.net.au>
9045
9046 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
9047 section file offset for !SEC_LOAD sections.
9048
ee29b9fb
RE
90492002-03-21 Richard Earnshaw <rearnsha@arm.com>
9050
830629ab
AM
9051 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
9052 <case R_ARM_GOT>): Handle relocations to Thumb functions.
ee29b9fb 9053
54327882
AM
90542002-03-21 Alan Modra <amodra@bigpond.net.au>
9055
9056 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
9057 Whitespace changes.
9058 * archive.c: Update copyright date.
9059 * bfd-in2.h: Regenerate.
9060 * libbfd.h: Regenerate.
9061 * Makefile.am: Run "make dep-am"
9062 * Makefile.in: Regenerate.
9063 * po/SRC-POTFILES.in: Regenerate.
9064
1ee24f27
DJ
90652002-03-20 Daniel Jacobowitz <drow@mvista.com>
9066
9067 * dwarf2.c (struct funcinfo): Move up.
9068 (lookup_address_in_function_table): New argument function_ptr.
9069 Set it.
9070 (lookup_address_in_line_table): New argument function. If function
9071 is non-NULL, use it to handle ``addr'' before the first line note of
9072 the function.
9073 (comp_unit_find_nearest_line): Update and swap calls to
9074 lookup_address_in_function_table and lookup_address_in_line_table.
9075 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
9076 N_SLINE encountered if we see an N_FUN before any N_SLINE.
9077
51b9608c
TR
90782002-03-20 Tom Rix <trix@redhat.com>
9079
ea1e4b0d 9080 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
51b9608c 9081 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
9b5ecbd0 9082 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
51b9608c 9083
789c90aa
TR
90842002-03-19 Tom Rix <trix@redhat.com>
9085
ea1e4b0d 9086 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
789c90aa
TR
9087 dynamic objects in archives.
9088
1da54d81
HPN
90892002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
9090
9091 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
9092 STT_NOTYPE symbols to STT_OBJECT.
9093
7831a775 90942002-03-18 Jan Hubicka <jh@suse.cz>
beb43bb9
JH
9095
9096 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
9097
eb1e0e80
NC
90982002-03-18 Tom Rix <trix@redhat.com>
9099
9100 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
9101 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
9102 * coff-rs6000 (do_pad) : New function for archive padding.
9103 (do_copy) : New function for object file copying in archives.
9104 (do_shared_object_padding) : New function for padding shared
9105 objects to their text section alignment in archives.
9106 (bfd_xcoff_ar_achive_set_magic) : Stub.
9107 (xcoff_write_armap_big) : Use do_copy and do_pad.
9108 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
9109 do_copy and do_pad.
9110 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
ea1e4b0d 9111 bfd_xcoff_magic_number.
eb1e0e80
NC
9112 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
9113 fop.
9114 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
9115 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
9116 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
9117 * rs6000-core.c : Update copyright date.
ea1e4b0d 9118 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
eb1e0e80
NC
9119 csectpp.
9120 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
9121 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
9122 (coff_set_flags) : Use bfd_xcoff_magic_number.
9123 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
9124 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
9125 * Makefile.am : Same.
9126 * config.bfd : Same.
9127 * targets.c : Same.
9128 * configure : Regnerate.
9129 * Makefile.in : Same.
9130 * bfd-in2.h : Same.
9131
a1c259a1
NC
91322002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
9133
9134 * po/fr.po: Updated version.
9135
4dae1ae7
AM
91362002-03-18 Alan Modra <amodra@bigpond.net.au>
9137
9138 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
9139 * libbfd.h: Regenerate.
9140 * archive.c (coff_write_armap): Pass on failures from
9141 bfd_write_bigendian_4byte_int.
9142
36b4f6e7
L
91432002-03-14 H.J. Lu <hjl@gnu.org>
9144
9145 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
9146 error to bfd_error_nonrepresentable_section for reinit_array
9147 section in DSO.
9148
a1aefc76
NC
91492002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
9150
a181be0a
NC
9151 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
9152 OR it in rather than replacing previously selected flags.
9153
a1aefc76
NC
9154 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
9155 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
9156
c119f9b8
AM
91572002-03-14 Alan Modra <amodra@bigpond.net.au>
9158
9159 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
9160 (N): Use the above.
9161 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
9162 ensure reloc size matches before calling elf_link_input_bfd.
9163 Add an assert to check reloc size when counting output relocs.
9164
c295a511
NC
91652002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
9166
9167 * mmo.c (mmo_get_loc): Return NULL rather than false.
9168
9ce88e60
NC
91692002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
9170
9171 * po/fr.po: Updated version.
9172
4ddafab0
AM
91732002-03-13 Alan Modra <amodra@bigpond.net.au>
9174
b74fa2cd
AM
9175 * archures.c (bfd_default_compatible): Test bits_per_word.
9176 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
9177 bfd_default_compatible.
9178 * cpu-i370.c (i370_compatible): Likewise.
9179 * cpu-sparc.c (sparc_compatible): Likewise.
9180 * cpu-h8300.c (compatible): Test in->arch == out->arch.
9181
40b829d4
AM
9182 * elflink.h: Formatting fixes.
9183 (elf_link_output_extsym): Merge undefined and undef weak cases.
9184
4ddafab0
AM
9185 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
9186 when word size of input matches output word size.
9187
dd53c801
AJ
91882002-03-12 Andreas Jaeger <aj@suse.de>
9189
9190 * cpu-i386.c (i386_compatible): New. Use it instead of
9191 bfd_default_compatible.
9192
aa066ac8
L
91932002-03-07 H.J. Lu (hjl@gnu.org)
9194
9195 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
9196 as the type for bfd_reloc_val.
9197
1bf42538
JL
91982002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
9199
9200 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
9201 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
9202 (elf_hppa_final_link_relocate): Correct relocations for indirect
9203 references to local data through the DLT. Fix .opd creation for
9204 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
9205 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
9206 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
9207 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9208 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
9209 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
9210 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
9211
86eaf01e
JJ
92122002-03-05 Jakub Jelinek <jakub@redhat.com>
9213
9214 * merge.c (_bfd_merge_sections): Don't segfault if there
9215 is nothing to merge due to GC.
9216
c44233aa
AM
92172002-03-05 Alan Modra <amodra@bigpond.net.au>
9218
039cc25f
AM
9219 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
9220 symbols that have been forced local.
9221
c44233aa
AM
9222 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
9223 to output forced local syms for non-shared link.
9224 (elf_link_output_extsym): Tweak condition for calling backend
9225 adjust_dynamic_symbol so that previous behaviour is kept.
9226 Whitespace changes throughout file.
9227
25e27870
L
92282002-03-04 H.J. Lu <hjl@gnu.org>
9229
9230 * elf.c (bfd_section_from_shdr): Handle special sections,
9231 .init_array, .fini_array and .preinit_array.
9232 (elf_fake_sections): Likewise.
9233
9234 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
9235 DT entry only if the section is in output for .init_array,
9236 .fini_array and .preinit_array. Complain about .preinit_array
9237 section in DSO.
9238 (elf_bfd_final_link): Warn zero size for .init_array,
9239 .fini_array and .preinit_array sections.
9240
9241 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
9242 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
9243 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
9244 .preinit_array.
9245
bb2a49f2
AM
92462002-03-04 Alan Modra <amodra@bigpond.net.au>
9247
9248 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
9249 * configure: Regenerate.
9250
38487e5e
TR
92512002-03-02 Tom Rix <trix@redhat.com>
9252
c44233aa
AM
9253 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
9254 symbolic equiv.
38487e5e
TR
9255 * coff-rs6000.c (xcoff_howto_table): Same.
9256
30831527
RH
92572002-03-01 David Mosberger <davidm@hpl.hp.com>
9258
9259 * elflink.h (size_dynamic_sections): If section named
9260 ".preinit_array" exists, create DT_PREINIT_ARRAY and
9261 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
9262 ".init_array" and ".fini_array".
9263 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
9264 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
9265 DT_FINI_ARRAY.
9266
c8e5ddc8
AM
92672002-02-26 Andrew Macleod <amacleod@cygnus.com>
9268
9269 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
9270 dynsyms.
9271
96e0dda4
AM
92722002-02-25 Alan Modra <amodra@bigpond.net.au>
9273
1c5b6bf8
AM
9274 * elf64-hppa.h: Update copyright date.
9275
96e0dda4
AM
9276 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
9277 (ppc64_elf_relocate_section): Don't generate power4 style branch
9278 hints for *_BRTAKEN and *_BRNTAKEN relocs.
9279
0fb19cbc
JJ
92802002-02-22 Jakub Jelinek <jakub@redhat.com>
9281
9282 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
9283 last patch.
9284 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9285
c434dee6
AJ
92862002-02-21 Andreas Jaeger <aj@suse.de>
9287
9288 * elf64-x86-64.c: Major rework that introduces all recent changes
9289 to the x86-64 backend. Get a closer match to elf32-i386.
9290 (struct elf64_x86_64_dyn_relocs): Rename from
9291 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
9292 all users.
9293 (struct elf64_x86_64_link_hash_table): Add short cuts to some
9294 sections.
9295 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
9296 remove casts, initialize new hash members.
9297 (create_got_section): New.
9298 (elf64_x86_64_create_dynamic_sections): New.
9299 (elf64_x86_64_copy_indirect_symbol): New.
9300 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
9301 relocs, .got or .relgot here but do it in allocate_dynrelocs.
9302 Reference count possible .plt and .got entries. Don't test input
9303 section SEC_READONLY here to try to avoid copy relocs, and keep
9304 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
9305 DF_TEXTREL here. Delay setting of variables until needed. Cache
9306 pointer to "sreloc" section in elf_section_data. Tweak condition
9307 under which .got created. Report files with bad relocation
9308 section names.
9309 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
9310 Reference count possible .plt entries. Don't deallocate .got and
9311 .relgot space here.
9312 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
9313 do copy reloc processing for weakdefs. Remove redundant casts and
9314 aborts. Delay setting of vars until needed. Move creation of
9315 dynamic symbols and allocation of .plt and .rela.plt to
9316 allocate_dynrelocs. Replace BFD_ASSERT with abort.
9317 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
9318 (allocate_dynrelocs): New.
9319 (readonly_dynrelocs): New.
9320 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
9321 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
9322 Zero out the dynamic allocated content space.
9323 (elf64_x86_64_discard_copies): Removed.
9324 (elf64_x86_64_relocate_section): Make use of dynamic section
9325 short-cuts. Localise vars, and delay setting. Better error
9326 reporting, replace BFD_ASSERT with abort. Check
9327 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
9328 regular object file and tread the weak definition as the normal
9329 one. Don't discard relocs for undefweak or undefined symbols and
9330 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
9331 relocs.
9332 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
9333 symbols that have been forced local. Use same test to decide if
9334 we can use a relative reloc for got as relocate_section. Expand
9335 SHN_UNDEF comment. Move expressions out of function calls.
9336 Replace BFD_ASSERT with abort.
9337 (bfd_elf64_bfd_final_link): Removed.
9338 (elf_backend_copy_indirect_symbol): Define.
9339
ff3a6ee3
TR
93402002-02-20 Tom Rix <trix@redhat.com>
9341
9342 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
9343 (_bfd_xcoff_reloc_type_lookup): Use it.
9344 * coff64-rs6000.c (xcoff64_howto_table): Same.
9345 (xcoff64_reloc_type_lookup): Same.
c434dee6 9346
a68d41fb
AM
93472002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
9348
9b5ecbd0 9349 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
a68d41fb
AM
9350 little endian.
9351
befc3abb
MS
93522002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
9353
9354 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
9355 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
9356 * bfd-in2.h: Regenerate.
9357 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
9358 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
9359 with "s390:64-bit".
9360 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
9361 (elf_s390_reloc_type_lookup): Likewise.
9362 (elf_s390_check_relocs): Likewise.
9363 (elf_s390_gc_sweep_hook): Likewise.
9364 (elf_s390_relocate_section): Likewise.
9365 (elf_s390_object_p): Use renamed architecture define.
9366 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
9367
6eeeec9b
FCE
93682002-02-19 Frank Ch. Eigler <fche@redhat.com>
9369
9370 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
9371
0bb2d96a
JJ
93722002-02-19 Jakub Jelinek <jakub@redhat.com>
9373
9374 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
9375 absptr -> pcrel optimization for shared libs.
9376 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
9377 library cannot be converted to pcrel.
9378 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
9379 relative.
9380 * elf32-i386.c (elf_i386_relocate_section): If
9381 _bfd_elf_section_offset returned -2, skip, but make sure the
9382 relocation is installed.
9383 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
9384 * elf32-cris.c (cris_elf_relocate_section): Likewise.
9385 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
9386 * elf32-i370.c (i370_elf_relocate_section): Likewise.
9387 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
9388 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
9389 * elf32-s390.c (elf_s390_relocate_section): Likewise.
9390 * elf32-sh.c (sh_elf_relocate_section): Likewise.
9391 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
9392 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
9393 * elf64-s390.c (elf_s390_relocate_section): Likewise.
9394 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
9b5ecbd0 9395 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
0bb2d96a
JJ
9396 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
9397 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
9398 _bfd_elf_section_offset returning -2 the same way as -1.
9399 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
9400 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
9401 and BFD_ASSERT.
9402 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
9403
69f284c7
TR
94042002-02-18 Tom Rix <trix@redhat.com>
9405
9406 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
9407 (bfd_xcoff_size_dynamic_sections): Same.
9408 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
9409 (bfd_xcoff_size_dynamic_sections): Same.
9410 * coff-rs6000.c (xcoff_generate_rtinit): Same.
9411 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
9412 * libxcoff.h (struct xcoff_backend_data_rec): Same.
9413 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
9414 * bfd-in2.h: Regenerate.
9415
82bd7b59
AM
94162002-02-18 Alan Modra <amodra@bigpond.net.au>
9417
9418 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
9419 (struct ppc_link_hash_table): Add sfpr.
9420 (ppc64_elf_link_hash_table_create): Init it.
9421 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
9422 .glink out to..
9423 (create_linkage_sections): ..here. Make .sfpr too.
9424 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
9425 dynobj early.
9426 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
9427 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
9428 ._restf* functions, and create as needed.
9429 (func_desc_adjust): Only force_local for shared libs.
9430
ef1355e8
NC
94312002-02-18 David O'Brien <obrien@FreeBSD.org>
9432
9433 * configure.in: Bump version number post 2.12 branching.
9434 * configure: Regenerate.
9435
dfa36a69
HPN
94362002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
9437
9438 * mmo.c: Correct and improve comments.
9439 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
9440 zero-pad. Use input to fill up non-empty bfd buffer.
9441 (mmo_flush_chunk): New function.
9442 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
9443 changed. Don't emit location specifier if VMA is same as
9444 *LAST_VMAP after omitting leading zero contents. Call
9445 mmo_flush_chunk before emitting location specifier.
9446 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
9447 with mmo_write_loc_chunk calls.
9448 (mmo_internal_write_section): Call mmo_flush_chunk after
9449 mmo_write_chunk.
9450 (mmo_write_symbols_and_terminator): Move :Main to first position
9451 in symbol array. Add faked one if it does not exist if there are
9452 other symbols. Don't add it if there are no symbols at all. Move
9453 out test for value of :Main from symbol loop. Rename table
9454 fakemain to maintable and variable mainsym to fakemain.
9455
ccf00ab6
RH
94562002-02-15 Richard Henderson <rth@redhat.com>
9457
9458 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
9459 section with no got matches any got. Simplify error generaion.
9460
88eaccc2
AM
94612002-02-15 Alan Modra <amodra@bigpond.net.au>
9462
fd96f80f
AM
9463 Support arbitrary length fill patterns.
9464 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
9465 (_bfd_default_link_order): Remove bfd_fill_link_order code.
9466 Call default_data_link_order.
9467 (default_fill_link_order): Delete.
9468 (default_data_link_order): New function.
9469 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
9470 of bfd_fill_link_order with bfd_data_link_order.
9471 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
9472 * elf64-mips.c (mips_elf64_final_link): Likewise.
9473
88eaccc2
AM
9474 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
9475 Correct value returned in "end" for "0x<non-hex>".
9476
e2fd756b
NC
94772002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
9478
9479 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
9480 (scan): Test against 'mach' field in info structure.
9481
edd29cf9
AM
94822002-02-14 Alan Modra <amodra@bigpond.net.au>
9483
9484 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
9485
1e30956e 94862002-02-14 Matt Fredette <fredette@netbsd.org>
76f57f3a
JT
9487
9488 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
9489 EF_M68000.
9490
bf36db18
NC
94912002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
9492
9493 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
edd29cf9
AM
9494 non-zero physical addresses when adjusting the LMAs of new
9495 sections.
bf36db18 9496
189c6563
AM
94972002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
9498
9499 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
9500 from _bfd_elf_hppa_gen_reloc_type.
9501 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
9502 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
9503 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
9504 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
9505
e948afaf
AO
95062002-02-12 Alexandre Oliva <aoliva@redhat.com>
9507
9508 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
9509 loading its contents if there's nothing to do in it.
9510
19397422
AM
95112002-02-12 Alan Modra <amodra@bigpond.net.au>
9512
0ad3a73b
AM
9513 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
9514 64k boundary.
9515
19397422
AM
9516 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
9517 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
9518 (ppc64_elf_finish_dynamic_sections): Set values for them.
9519
51316059
MS
95202002-02-11 Michael Snyder <msnyder@redhat.com>
9521
9522 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
9523 * elf.c (elfcore_grok_pstatus): Add prototype.
9524 (elfcore_grok_lwpstatus): Add prototype.
9525 (elfcore_write_lwpstatus): New function.
9526 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
9527
518313c3
AO
95282002-02-11 Alexandre Oliva <aoliva@redhat.com>
9529
9530 * elf32-sh.c: Added missing prototypes.
9531 * elf32-sh64.c: Likewise.
9532 (sh_elf_align_loads): Mark unused args as such.
9533 * elf64-sh64.c: Added missing prototypes.
9534 (struct elf_sh64_link_hash_entry): Fix typo.
9535 (sh_elf64_relocate_section): Fix info argument passed to
9536 _bfd_elf_section_offset.
9537
2c73f9d8
AM
95382002-02-11 Alan Modra <amodra@bigpond.net.au>
9539
9540 * Makefile.am: "make dep-am".
9541 * Makefile.in: Regenerate.
9542 * aclocal.m4: Regenerate.
9543 * config.in: Regenerate.
9544 * configure: Regenerate.
9545
d426c6b0
DJ
95462002-02-10 Daniel Jacobowitz <drow@mvista.com>
9547
9548 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
9549 variable warnings.
9550 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
9551 comparison warning.
9552 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
9553 cast warnings for the common case.
9554
e58ee0cd
HPN
95552002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
9556
9557 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
9558 vectors.
9559 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
9560 vectors.
9561
7793f4d0
RH
95622002-02-09 Richard Henderson <rth@redhat.com>
9563
9564 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
9565 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
9566 (elf64_alpha_relocate_section): Likewise.
9567 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
9568 * bfd-in2.h, libbfd.h: Rebuild.
9569
7e799044
HPN
95702002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
9571
9572 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
9573 that base-plus-offset reloc accounting is consistent.
9574 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
9575 up to date for undefined symbols.
9576
027d73eb
EC
95772002-02-08 Eric Christopher <echristo@redhat.com>
9578
9579 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9580
9581 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
9582 sections for the O32 ABI.
9583
517662d4
CD
95842002-02-08 Chris Demetriou <cgd@broadcom.com>
9585
9586 * elf32-arm.h: Fix formatting of _("...").
9587 * elf32-d10v.c: Likewise.
9588 * elf32-m68k.c: Likewise.
9589 * elf32-mips.c: Likewise.
9590
5e37cc46
NC
95912002-02-08 Ivan Guzvinec <ivang@opencores.org>
9592
9593 * coff-or32.c: Fix compile time warning messages.
9594
fbca6ad9
AO
95952002-02-08 Alexandre Oliva <aoliva@redhat.com>
9596
9597 Contribute sh64-elf.
9598 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
9599 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
9600 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
9601 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
9602 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
9603 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
9604 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
9605 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
9606 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
9607 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
9608 New relocs.
9609 * libbfd.h, bfd-in2.h: Rebuilt.
9610 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
9611 (sh_reloc_map): Map them.
9612 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
9613 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
9614 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
9615 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
9616 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
9617 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
9618 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
9619 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
9620 datalabel_got_offset.
9621 (sh_elf_link_hash_newfunc): Initialize it.
9622 (sh_elf_relocate_section): Augment the scope of
9b5ecbd0 9623 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
fbca6ad9
AO
9624 GOT and GOTOFF handling to new SHmedia relocation types. Support
9625 GOT_BIAS.
9626 (sh_elf_check_relocs): Likewise.
9627 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
9628 PLT entries using movi_shori_putval. Support GOT_BIAS.
9629 (sh_elf_finish_dynamic_sections): Likewise.
9630 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
9631 relocation, it's now done by the caller.
9632 (GOT_BIAS): New.
9633 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
9634 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
9635 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
9636 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
9637 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
9638 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
9639 sh64_elf64_hash_table): New.
9640 (sh_elf64_howto_table): Introduce new relocs.
9641 (sh_elf64_info_to_howto): Accept new PIC relocs.
9642 (sh_elf64_relocate_section): Augment the scope of
9643 seen_stt_datalabel. Support new PIC relocs.
9644 (sh_elf64_check_relocs): Support new PIC relocs.
9645 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
9646 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
9647 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
9648 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
9649 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
9650 movi_shori_putval, movi_3shori_putval,
9651 sh64_elf64_create_dynamic_sections,
9652 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
9653 sh64_elf64_size_dynamic_sections,
9654 sh64_elf64_finish_dynamic_symbol,
9655 sh64_elf64_finish_dynamic_sections): New.
9656 (elf_backend_create_dynamic-sections,
9657 bfd_elf64_bfd_link_hash_table_create,
9658 elf_backend_adjust_dynamic_symbol,
9659 elf_backend_size_dynamic_sections,
9660 elf_backend_finish_dynamic_symbol,
9661 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
9662 elf_backend_plt_readonly, elf_backend_want_plt_sym,
9663 elf_backend_got_header_size, elf_backend_plt_header_size):
9664 Define.
9665 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
9666 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
9667 match official numbers and names; moved unmaching ones to the
9668 range 0xf2-0xff.
9669 * elf32-sh64.c, elf64-sh64.c: Likewise.
9b5ecbd0 9670 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
9671 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
9672 sections.
9b5ecbd0 9673 2001-03-12 DJ Delorie <dj@redhat.com>
fbca6ad9
AO
9674 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
9675 be aligned.
9676 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
9b5ecbd0 9677 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9678 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
9679 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
9680 .cranges section with SEC_SORT_ENTRIES set.
9681 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
9682 incoming sorted .cranges section.
9683 (sh64_bfd_elf_copy_private_section_data): New.
9684 (sh64_elf_final_write_processing): Only sort .cranges and modify
9685 start address if called by linker.
9686 2001-01-08 Ben Elliston <bje@redhat.com>
9687 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
9b5ecbd0 9688 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
fbca6ad9 9689 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
9b5ecbd0 9690 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9691 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
9692 line. Add comments before all entries.
9693 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
9694 comment.
9695 (sh_elf64_reloc): Correct head comment.
9696 (sh_elf64_relocate_section): Correct spacing.
9697 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
9698 instead call reloc_dangerous callback.
9699 <case R_SH_SHMEDIA_CODE>: New case.
9700 (sh_elf64_gc_mark_hook): Correct spacing.
9701 (sh_elf64_check_relocs): Ditto.
9702 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
9703 New case.
9704 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
9705 functions.
9706 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
9707 clarify describing comment. Add comments before all entries.
9708 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
9709 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
9b5ecbd0 9710 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9711 Sort .cranges section in final link. Prepare to set bit 0 on
9712 entry address.
9713 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
9714 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
9715 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
9716 .cranges section.
9717 (sh64_backend_section_from_shdr): New, to recognize
9718 SHT_SH5_CR_SORTED on incoming .cranges section.
9719 (elf_backend_section_from_shdr): Define.
9720 (sh64_elf_final_write_processing): Sort outgoing .cranges
9721 section. (New, temporarily disabled:) Set bit 0 on entry address
9722 according to ISA type.
9723 (sh64_find_section_for_address): New.
9724 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
9725 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
9726 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
9727 bfd_malloc, not xmalloc.
9728 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
9729 global.
9730 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
9731 temporarily disabled) setting bit 0 on entry address.
9732 (elf_backend_final_write_processing): Define.
9b5ecbd0 9733 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9734 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
9735 be a proper relocation for PTA and PTB rather than a marker.
9736 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
9737 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
9738 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
9739 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
9740 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
9741 Zero src_mask.
9742 * elf64-sh64.c: Ditto.
9743 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
9744 * elf32-sh64.c: Include opcodes/sh64-opc.h
9745 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
9746 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
9747 parameters. No unused parameters. Caller changed.
9748 <case R_SH_PT_16>: New case.
9749 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
9750 * Makefile.in: Regenerate.
9b5ecbd0 9751 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9752 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
9753 all code sections.
9754 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9755 (sh64_elf_merge_private_data): Ditto.
9756 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
9757 to access stored section flags.
9758 (sh64_elf_final_write_processing): Return immediately unless
9759 called by linker. Use sh64_elf_section_data (cranges) to get size
9760 of linker-generated cranges entries.
9761 (sh64_elf_copy_private_data): Add missing "return true".
9762 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9763 (sh_elf64_merge_private_data): Ditto.
9b5ecbd0 9764 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9765 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
9766 elf64-sh64.c:sh64_elf_fake_sections.
9767 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
9b5ecbd0 9768 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9769 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
9770 (sh64_elf_final_write_processing): New.
9771 (elf_backend_final_write_processing): Define.
9772 (sh64_elf_fake_sections): Get header flags from tdata field.
9773 (sh64_elf_copy_private_data): Do not call
9774 sh64_elf_copy_private_data_internal, just copy e_flags field.
9775 (sh64_elf_merge_private_data): Do not call
9776 sh64_elf_copy_private_data_internal.
9b5ecbd0 9777 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9778 Remove EF_SH64_ABI64, let ELF size make difference.
9779 Remove SH64-specific BFD section flag.
9780 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
9781 containing SHmedia through elf_section_data (asect)->tdata
9782 non-zero, not using a BFD section flag.
9783 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
9784 (sh64_elf_merge_private_data): Similar.
9785 (elf_backend_section_flags): Don't define.
9786 (sh64_elf_backend_section_flags): Delete.
9787 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
9788 not EF_SH64_ABI64.
9789 (sh_elf64_merge_private_data): Similar.
9790 * section.c (Section flags definitions): Don't define
9791 SEC_SH_ISA_SHMEDIA.
9792 (bfd-in2.h): Regenerate.
9b5ecbd0 9793 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9794 Make DataLabel references work with partial linking.
9795 * elf32-sh64.c: Fix formatting.
9796 (sh64_elf_link_output_symbol_hook): New.
9797 (elf_backend_link_output_symbol_hook): Define to
9798 sh64_elf_link_output_symbol_hook.
9799 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
9800 undefined if partial linking. Adjust sanity check.
9801 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
9802 (elf_backend_link_output_symbol_hook): Define to
9803 sh64_elf64_link_output_symbol_hook.
9804 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
9805 undefined if partial linking. Adjust sanity check.
9b5ecbd0 9806 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9807 Implement semantics for inter-file DataLabel references.
9808 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
9809 (sh64_elf64_add_symbol_hook): New.
9810 (sh_elf64_relocate_section): If passing an indirect symbol with
9811 st_type STT_DATALABEL on the way to a symbol with st_other
9812 STO_SH5_ISA32, do not bitor 1 to the relocation.
9813 (elf_backend_add_symbol_hook): Define to
9814 sh64_elf64_add_symbol_hook.
9815 * elf64-sh32.c: Tweak comments.
9816 (DATALABEL_SUFFIX): Define.
9817 (sh64_elf_add_symbol_hook): New.
9818 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
9819 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
9820 symbol with st_type STT_DATALABEL on the way to a symbol with
9821 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
9b5ecbd0 9822 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9823 Pass through STT_DATALABEL.
9824 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
9825 (elf_backend_get_symbol_type): Define.
9826 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
9827 (elf_backend_get_symbol_type): Define.
9b5ecbd0 9828 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9829 * elf32-sh64.c: Tweak comments.
9830 (sh64_elf_copy_private_data_internal): Add prototype.
9831 (bfd_elf32_bfd_set_private_flags): Define.
9832 (sh64_elf_copy_private_data_internal): Compare machine name, not
9833 textual BFD target name, to check whether to copy section flag
9834 SHF_SH5_ISA32.
9835 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
9836 Tweak section-contents-type-mismatch message.
9837 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
9838 Validize reloc-types.
9839 * elf64-sh64.c: New file.
9840 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
9841 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
9842 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
9843 Regenerate dependencies.
9844 * Makefile.in: Regenerate.
9845 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
9846 bfd_elf64_sh64l_vec.
9847 * configure.in: Handle bfd_elf64_sh64_vec and
9848 bfd_elf64_sh64l_vec.
9849 * configure: Regenerate.
9850 * po/POTFILES.in: Regenerate.
9851 * po/bfd.pot: Regenerate.
9b5ecbd0 9852 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9853 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
9854 anything else but EF_SH64 and EF_SH64_ABI64.
9855 (sh64_elf_merge_private_data): Emit error for anything else but
9856 EF_SH64 and EF_SH64_ABI64.
9857 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
9858 from targ_selvecs.
9859 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
9860 bfd_elf32_sh64l_vec as a temporary measure.
9861 * configure: Regenerate.
9b5ecbd0 9862 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9863 * cpu-sh.c (arch_info_struct): Include sh5 item
9864 unconditionalized.
9865 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
9866 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
9867 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
9868 * elf32-sh64.c: Tweak comments.
9869 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
9870 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
9871 (sh64_elf_copy_private_data_internal): Wrap long line.
9872 (sh64_elf_merge_private_data): Rewrite to allow objects from
9873 SH64 subsets to be linked together.
9874 (INCLUDE_SHMEDIA): Define.
9875 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
9876 Parenthesize plus-expression inside or-expression.
9877 <global symbol>: Ditto.
9878 (sh_elf_set_mach_from_flags): Remove code refusing
9879 deleted EF_SH64_32BIT_ABI flag.
9b5ecbd0 9880 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9881 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
9882 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
9883 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
9884 (sh_elf_relocate_section) <local symbol>: Or 1 in
9885 calculation of relocation if sym->st_other & STO_SH5_ISA32.
9886 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
9887 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
9888 relocation.
9b5ecbd0 9889 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
fbca6ad9
AO
9890 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
9891 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
9892 Regenerate dependencies.
9893 * Makefile.in: Regenerate.
9894 * archures.c: Add bfd_mach_sh5.
9895 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
9896 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
9897 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
9898 * configure: Regenerate.
9899 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
9900 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
9901 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
9902 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
9903 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
9904 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
9905 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
9906 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
9907 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
9908 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
9909 in item for SH5.
9910 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
9911 for SHmedia relocs.
9912 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
9913 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
9914 shmedia_prepare_reloc, goto final_link_relocate if it returns
9915 non-zero, else fail as before.
9916 (sh_elf_set_mach_from_flags): Provide function only if not defined
9917 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
9918 (sh_elf_set_private_flags): Provide function only if not defined
9919 as a macro.
9920 (sh_elf_copy_private_data): Similar.
9921 (sh_elf_merge_private_data): Similar.
9922 * section.c (SEC_SH_ISA_SHMEDIA): New.
9923 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
9924 * elf32-sh64.c: New file.
9925 * libbfd.h: Regenerate.
9926 * bfd-in2.h: Regenerate.
9927 * po/POTFILES.in: Regenerate.
9928 * po/bfd.pot: Regenerate.
9929 * bfd-in2.h: Regenerate.
9930 * libbfd.h: Regenerate.
9931
e108f470
DJ
99322002-02-07 Daniel Jacobowitz <drow@mvista.com>
9933
9934 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
9935 been included, not drag it in.
9936 * bfd-in2.h: Regenerate.
9937
259d18a3
L
99382002-02-06 H.J. Lu (hjl@gnu.org)
9939
9940 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
9941 the mach and ISA fields if necessary.
9942
f13b834e
NC
99432002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
9944
9945 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
9946 ARM architecture when an F_ARM_5 flag is detected, since we cannot
9947 be sure exactly which architecture this represents.
9948
82f6addb
NC
99492002-02-05 Nick Clifton <nickc@redhat.com>
9950
9951 * po/tr.po: Updated translation.
9952
899f54f5
AM
99532002-02-05 Alan Modra <amodra@bigpond.net.au>
9954
9955 From Jimi X <jimix@watson.ibm.com>
9956 * archures (bfd_mach_ppc64): Define.
9957 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
9958 (bfd_powerpc_arch): Define.
9959 * bfd-in2.h: Regenerate.
9960 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
9961 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
9962 (bfd_powerpc_archs): Add default powerpc64 arch.
9963
248866a8
AM
99642002-02-05 Alan Modra <amodra@bigpond.net.au>
9965
9966 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
9967 against section syms in readonly sections. Don't do the global
9968 sym check if we find one.
9969 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
9970 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
0a6958db 9971 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
248866a8
AM
9972 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
9973 (elf_s390_grok_prstatus): Add missing prototype.
9974
4fa5c2a8
HPN
99752002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
9976
9977 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
9978 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
9979 Call bfd_get_section_by_name only once. Initialize
9980 bpodata->n_bpo_relocs_this_section.
9981 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
9982 referring to DSOs.
9983 (bpo_reloc_request_sort_fn): Don't use difference of values as
9984 return-value.
9985
537c972e
DB
99862002-02-02 David O'Brien <obrien@FreeBSD>
9987
9988 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
9989 version 4.5 and later the same as 5-CURRENT.
9990 * configure: Re-generate.
9991
006336b8
JT
99922002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
9993
9994 * config.bfd (hppa*-*-netbsd*): New target.
9995
6c571f00
PT
99962002-01-31 Philipp Thomas <pthomas@suse.de>
9997
19397422
AM
9998 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
9999 to front of message. Unify messages with elf32-arm.h. Use
10000 commas where neccessary.
10001 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
10002 ERROR in messages. Unify messages with coff-arm.c. Correct
10003 VFP/FPA error message.
10004 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
10005 APCS-32 for translation.
6c571f00 10006
930b4cb2
HPN
100072002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
10008
10009 Perform on-demand global register allocation from
10010 R_MMIX_BASE_PLUS_OFFSET relocs.
10011 * elf64-mmix.c (struct bpo_reloc_section_info, struct
10012 bpo_reloc_request, struct bpo_greg_section_info): New.
10013 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
10014 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
10015 _bfd_mmix_check_all_relocs,
10016 _bfd_mmix_prepare_linker_allocated_gregs,
10017 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
10018 (elf_mmix_howto_table): Correct src_mask for most relocs.
10019 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
10020 case.
10021 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
10022 case. Fix typo in comment. New label do_mmix_reloc.
10023 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
10024 store first object file with a base-plus-offset reloc. Call
10025 mmix_elf_check_common_relocs for the part common with mmo.
10026 (mmix_elf_final_link): Write out linker-allocated register
10027 contents section.
10028 (elf_backend_gc_sweep_hook): Define.
10029 (bfd_elf64_bfd_relax_section): Define.
10030
10031 * mmo.c: Don't include <ctype.h>
10032 (mmo_init): Correct init-once logic.
10033
3e36d993
TR
100342002-02-01 Tom Rix <trix@redhat.com>
10035
10036 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
10037
ba323545
AM
100382002-02-01 Alan Modra <amodra@bigpond.net.au>
10039
10040 * Makefile.am: Run "make dep-am"
10041 * Makefile.in: Regenerate.
10042
012884d6
DB
100432002-01-31 David O'Brien <obrien@FreeBSD>
10044
10045 * configure.in: Recognize the differences in core files from FreeBSD
10046 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
10047 5-CURRENT.
10048 * configure: Regenerate.
10049
3b16e843
NC
100502002-01-31 Ivan Guzvinec <ivang@opencores.org>
10051
10052 * coff-or32.c: New file.
10053 * cpu-or32.c: New file.
10054 * elf32-or32.c: New file.
10055 * archures.c: Add support for or32.
10056 * targets.c: Add support for or32.
10057 * bfd-in2.h: Regenerate.
7dc0ab31 10058 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
3b16e843
NC
10059 coff_write_object_contents): Add support for or32.
10060 * config.bfd: Add target.
10061 * configure.in: Add support for or32.
10062 * configure: Regenerate.
10063 * Makefile.am: Add support for or32.
10064 * Makefile.in: Regenerate.
3b16e843
NC
10065 * po/SRC-POTFILES.in: Add or32 files.
10066 * po/bfd.pot: Regenerate.
7dc0ab31 10067
caf8ca8e
NC
100682002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
10069 Don Lindsay <lindsayd@cisco.com>
10070
10071 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
10072 false' with a return of a bfd_reloc_ error code.
10073
e5dfef09
HPN
100742002-01-31 Hans-Peter Nilsson <hp@axis.com>
10075
10076 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
10077 unexport unreferenced symbols when --export-dynamic. Call
10078 _bfd_elf_strtab_delref when unexporting.
10079
4e4770d0
DJ
100802002-01-30 Daniel Jacobowitz <drow@mvista.com>
10081
10082 * bfd-in.h: Include <stdbool.h> if it is available.
10083 * bfd-in2.h: Regenerated.
10084
e1fa50e7
AM
100852002-01-31 Alan Modra <amodra@bigpond.net.au>
10086
10087 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
10088 not go via the plt.
10089
b5f79c76
NC
100902002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
10091
b5f79c76
NC
10092 * archures.c: Tidy up formatting of embedded comments.
10093 * bfd.c: Tidy up formatting of embedded comments.
7dc0ab31 10094 * bfd-in.h: Fix formatting of comments.
b5f79c76
NC
10095 * reloc.c: Tidy up formatting of ordinary & embedded comments.
10096 * section.c: Tidy up formatting of embedded comments.
10097 * syms.c: Tidy up formatting of embedded comments.
10098 * targets.c: Tidy up formatting of embedded comments.
10099
10100 * bfd-in2.h: Regenerate.
10101
ca09e32b
NC
101022002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
10103
10104 * vms-tir.c (cmd_name): New function.
10105 (tir_cmd_name): New function.
10106 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
10107 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
10108 Fix formatting.
7dc0ab31 10109
ca09e32b
NC
10110 * peXXigen.c (pe_print_idata): Rearrange message to aid in
10111 translation.
9b5ecbd0 10112 (pe_print_pdata): Rearrange message to aid in translation.
ca09e32b
NC
10113
10114 * libbfd.c (warn_deprecated): Rearrange error message to aid in
10115 translation.
10116
10117 * ihex.c (ihex_write_object_contents): Fix spelling typo.
10118
10119 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
10120
10121 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
10122 message to aid in translation.
10123
10124 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
10125 to aid in translation.
10126
10127 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
10128
7dc0ab31 101292002-01-30 Philipp Thomas <pthomas@suse.de>
ae1a89b7
PT
10130
10131 * coff-arm.c, elf32-elf.h: Unify messages.
10132
05f64ac6
NC
101332002-01-30 Nick Clifton <nickc@redhat.com>
10134
10135 * po/sv.po: Updated translation.
10136
f5a3e38a
NC
101372002-01-30 Philipp Thomas <pthomas@suse.de>
10138
10139 * dwarf2.c (read_abbrev): Use full section name in error message.
10140 (decode_line_info): Likewise.
661a3fd4
NC
10141
10142 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
10143 message.
10144
d926e03d
AM
101452002-01-30 Alan Modra <amodra@bigpond.net.au>
10146
10147 * elf64-ppc.c (func_desc_adjust): Only provide missing function
10148 descriptor symbols for undefined function code syms. Clear
10149 ELF_LINK_NON_ELF so that they can stay weak.
10150
030d18fb 101512002-01-29 Chris Demetriou <cgd@broadcom.com>
7dc0ab31 10152 Mitch Lichtenberg <mpl@broadcom.com>
030d18fb
CD
10153
10154 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
10155 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
10156 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
10157 generation.
10158 * bfd-in2.h: Regenerate.
10159
fcc76bea
CD
101602002-01-29 Chris Demetriou <cgd@broadcom.com>
10161
10162 * elf32-mips.c: Add additional comments about HI16 relocation
10163 processing.
10164 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
10165 pc-relative relocations. (Reverts change made on 2001-10-31.)
10166 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
10167 for pc-relative relocations.
10168 (mips_elf_calculate_relocation): Add a comment about a kludge
10169 in the R_MIPS_GNU_REL_HI16 handling.
10170 (_bfd_mips_elf_relocate_section): Implement that kludge;
10171 adjust pc-relative HI16 relocation for difference in HI16 and
10172 LO16 addresses, since it can't easily be done in
10173 mips_elf_calculate_relocation.
10174
f9cd9119
MS
101752002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
10176
10177 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
10178 relocations with PC32 relocations for undefined or weak symbols.
10179 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
10180 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
10181
702248bb
JT
101822002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
10183
10184 * elfcore.h (elf_core_file_p): Improve comment for last change.
10185
4867be41
DJ
101862002-01-27 Daniel Jacobowitz <drow@mvista.com>
10187
10188 * configure: Regenerated.
10189
a94cef6a
JT
101902002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
10191
10192 * elfcore.h (elf_core_file_p): Set the machine architecture
10193 before processing the program headers.
10194
7562a296
HPN
101952002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
10196
966abd70
HPN
10197 * configure.in <64-bit configuration>: If using gcc, check and
10198 emit error for egcs-1.1.2.
10199 * configure: Regenerate.
10200
e8eab623
NC
102012002-01-26 Egor Duda <deo@logos-m.ru>
10202
10203 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
10204 as possible to avoid stack corruption.
10205
73896efb
RH
102062002-01-26 Richard Henderson <rth@redhat.com>
10207
10208 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
10209 for non-allocated sections.
10210
102112002-01-25 Mark Kettenis <kettenis@gnu.org>
c106e334
MK
10212
10213 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
10214 prstat.pr_reg even if it is a struct.
10215
73896efb 102162002-01-25 Steve Ellcey <sje@cup.hp.com>
254ed743 10217
c5cd6d62 10218 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
254ed743 10219
3d66c4f7
NC
102202002-01-25 Philipp Thomas <pthomas@suse.de>
10221
10222 * coffgen.c (coff_print_symbol): Don't mark info message
10223 for translation.
10224
9460ecda
NC
102252002-01-25 Nick Clifton <nickc@redhat.com>
10226
10227 * po/fr.po: Updated translation.
10228 * po/es.po: Updated translation.
10229
cc9ff76a
AM
102302002-01-25 Philipp Thomas <pthomas@suse.de>
10231
10232 * coff-alpha.c (alpha_relocate_section): Unify warning message
10233 for GP relative relocations without GP defined.
10234 * coff-mips.c (mips_relocate_section): Likewise.
10235
c68836a9
AM
102362002-01-25 Alan Modra <amodra@bigpond.net.au>
10237
10238 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
10239 unsigned overflow when new_offset < old_offset.
10240
e8eab623 102412002-01-24 Philipp Thomas <pthomas@suse.de>
391154e9
NC
10242
10243 * bfd.c (_bfd_abort): Fix typo.
10244
8ba89f17
RH
102452002-01-23 Richard Henderson <rth@redhat.com>
10246
10247 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
10248 plt entries for undefweak symbols.
10249
c6953948
NC
102502002-01-23 Steve Ellcey <sje@cup.hp.com>
10251
c5cd6d62 10252 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
c6953948
NC
10253 (bfd_elf64_ia64_hpux_big_vec): Ditto.
10254 (bfd_elf32_h8300_vec): Ditto.
10255
41bd81ab
AM
102562002-01-23 Alan Modra <amodra@bigpond.net.au>
10257
10258 * elf64-ppc.c: Remove stale part of ABI comment.
10259 (NO_OPD_RELOCS): Define.
10260 (ppc64_elf_check_relocs): Use it.
10261 (ppc64_elf_relocate_section): Here too.
10262 (build_one_stub): Don't point function syms at the stub. Instead,
10263 hijack plt.offset.
10264 (ppc64_elf_relocate_section): Check whether REL24 relocs should
10265 really go to the stub. Make all dynamic relocs in opd against
10266 locals.
10267 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
10268 plt.offset.
10269
f304919d
RH
102702002-01-22 Richard Henderson <rth@redhat.com>
10271
10272 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
10273
c0ef99a7
AM
102742002-01-22 Alan Modra <amodra@bigpond.net.au>
10275
60ee0d4a
AM
10276 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
10277 TOC_BASE_OFF adjustment.
10278
c0ef99a7
AM
10279 * Makefile.am: Run "make dep-am".
10280 * Makefile.in: Regenerate.
10281 * po/SRC-POTFILES.in: Regenerate.
10282
64328b46
AM
102832002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
10284
10285 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
10286 host defines.
10287
59953665 102882002-01-21 Hans-Peter Nilsson <hp@axis.com>
58255df3
HPN
10289
10290 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
10291 Check for and emit error if sgot is NULL at this point.
10292
9596feea
JT
102932002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
10294
10295 * config.bfd (ia64*-*-netbsd*): New target.
10296
7b45c6e1
AM
102972002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
10298
10299 * som.c (som_write_space_strings): Comment typo fix.
10300
e5094212
AM
103012002-01-21 Alan Modra <amodra@bigpond.net.au>
10302
e86ce104
AM
10303 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
10304 is_func_descriptor fields.
10305 (link_hash_newfunc): Init them.
10306 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
10307 dot are candidates for plt entries. When processing .opd relocs,
10308 set function descriptor strings to point inside function code
10309 string, and set new ppc_link_hash_entry fields.
10310 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
10311 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
10312 function descriptors. It's now done in..
10313 (func_desc_adjust): New.
10314 (ppc64_elf_func_desc_adjust): New.
10315 (define elf_backend_always_size_sections): Define.
10316 (ppc64_elf_hide_symbol): New.
10317 (define elf_backend_hide_symbol): Define.
10318 (allocate_dynrelocs): Remove code looking up function descriptors
10319 as that has been done earlier.
10320 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
10321 table.
10322 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
10323 up function descriptor.
10324 (build_one_stub): Look up the function code sym. Check for
10325 invalid plt offsets.
10326 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
10327 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
10328
e5094212
AM
10329 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
10330 boolean param.
10331 (_bfd_elf_link_hash_hide_symbol): Likewise.
10332 * elflink.h (elf_link_add_object_symbols): Adjust call to
10333 elf_backend_hide_symbol.
10334 (elf_fix_symbol_flags): Likewise.
10335 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
10336 than bfd_alloc.
10337 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
10338 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
10339 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
10340 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
10341 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
10342 and adjust to suit.
10343 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
10344 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
10345 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
10346
40b8271b
AM
103472002-01-18 Alan Modra <amodra@bigpond.net.au>
10348
10349 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
10350 dynamic function descriptor symbol, not the associated function
10351 symbol.
10352
55baa95b
EC
103532002-01-17 Eric Christopher <echristo@redhat.com>
10354
10355 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
10356
328577ad
NC
103572002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
10358
10359 * po/bfd.pot: Regenerate.
10360 * po/fr.po: Regenerate.
10361
af746e92
AM
103622002-01-17 Alan Modra <amodra@bigpond.net.au>
10363
10364 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
10365 Remove "Elf_Internal_Shdr *" param.
10366 (_bfd_mips_elf_section_from_bfd_section): Ditto.
10367 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
10368 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
10369 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
10370 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
10371 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
10372 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
10373 function to override special sections. Remove hdr arg from
10374 backend call, and don't loop.
10375
175e9962
EC
103762002-01-16 Eric Christopher <echristo@redhat.com>
10377
10378 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
10379 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
10380 relocations requiring gp0 and gp.
10381
96a846ea
RE
103822002-01-16 Richard Earnshaw <rearnsha@arm.com>
10383
175e9962 10384 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
96a846ea
RE
10385 EF_ARM_VFP_FLOAT.
10386 (elf32_arm_print_private_bfd_data): Likewise.
10387
af3ae48d
NC
103882002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
10389
10390 * po/tr.po: Import new version.
10391
10ed1bba
AM
103922002-01-16 Alan Modra <amodra@bigpond.net.au>
10393
10394 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
10395 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
10396 (ORI_R0_R0_0): Correct.
10397
5d1634d7
AM
103982002-01-16 Alan Modra <amodra@bigpond.net.au>
10399
10400 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
10401 when plt_not_loaded.
10402 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
10403 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
10404 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
10405 (ppc64_elf_glink_code): Delete.
10406 (PPC64_ELF_GLINK_SIZE): Delete.
10407 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
10408 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
10409 ORI_R0_R0_0): Define.
10410 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
10411 (struct ppc_link_hash_table): Add sstub and plt_overflow.
10412 (ppc64_elf_link_hash_table_create): Init them.
10413 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
10414 Don't copy to shared lib.
10415 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
10416 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
10417 (allocate_dynrelocs <plt>): Don't change function sym here. Make
10418 room for .stub and .glink code.
10419 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
10420 DT_PPC64_GLINK.
10421 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
10422 bfd_elf64_bfd_final_link.
10423 (bfd_elf64_bfd_final_link): Don't define.
10424 (ppc64_elf_size_stubs): New.
10425 (build_plt_stub): New.
10426 (build_one_stub): New.
10427 (ppc64_elf_build_stubs): New.
10428 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
10429 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
10430 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
10431 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
10432 case output sections not separate. Adjust DT_RELASZ to not
10433 include plt relocs. Set reserved got entry. Set got and plt
10434 entry size.
10435 (elf_backend_got_header_size): Set to 8.
10436 * elf64-ppc.h: New file.
10437
c601ffdb
AM
104382002-01-16 Alan Modra <amodra@bigpond.net.au>
10439
10440 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
10441 sections, use bfd_section_list_remove.
10442 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
10443 * elflink.h (elf_link_add_object_symbols): When removing all
10444 sections, use bfd_section_list_clear.
10445
8fb4cb7f
NC
104462002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
10447
10448 * po/sv.po: New file: Swedish translation.
10449 * configure.in (ALL_LINGUAS): Add sv.
10450 * configure: Regenerate.
10451
d3c456e9
JJ
104522002-01-15 Jakub Jelinek <jakub@redhat.com>
10453
10454 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
10455 * elf.c (merge_sections_remove_hook): New function.
10456 (_bfd_elf_merge_sections): Pass it as 3rd argument to
10457 _bfd_merge_sections.
10458 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
10459 * libbfd.h: Rebuilt.
10460 * merge.c (_bfd_merge_sections): Add remove_hook argument.
10461 Call remove_hook if a SEC_EXCLUDE section is encountered.
10462
1f7fd478
NC
104632002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
10464
10465 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
10466 (xstormy16_reloc_map): Initialise new field with correct howto
10467 table.
10468 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
10469 howto entry.
10470
b87011e9
MS
104712002-01-10 Michael Snyder <msnyder@redhat.com>
10472
10473 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
10474 (elfcore_write_pstatus): Use long instead of pid_t;
10475 * elf-bfd.h: Change prototypes to use long instead of pid_t;
10476
175e9962 104772002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
b4db1224
JT
10478
10479 * elf.c: Update copyright years.
10480 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
10481 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
10482
7c76fa91
MS
104832002-01-08 Michael Snyder <msnyder@redhat.com>
10484
10485 Add capability to write corefile note sections, for gdb.
10486 * elf.c (elfcore_write_note): New function.
10487 (elfcore_write_prpsinfo): New function.
10488 (elfcore_write_prstatus): New function.
10489 (elfcore_write_pstatus): New function.
10490 (elfcore_write_prfpreg): New function.
10491 (elfcore_write_prxfpreg): New function.
97996af6 10492 * elf-bfd.h: Add prototypes for above functions.
7c76fa91 10493
e1fddb6b
AO
104942002-01-08 Alexandre Oliva <aoliva@redhat.com>
10495
10496 * elf.c (elf_fake_sections): Propagate errors from
10497 elf_backend_fake_section.
10498
8d05742f
JT
104992002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
10500
10501 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
10502 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
10503 (elf32-sh-nbsd.lo): New rule.
10504 * Makefile.in: Regenerate.
10505 * config.bfd (sh*le-*-netbsdelf*): New target.
10506 (sh*-*-netbsdelf*): New target.
10507 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
10508 (bfd_elf32_shnbsd_vec): New vector.
10509 (bfd_elf32_shlnbsd_vec): New vector.
10510 * configure: Regenerate.
10511 * elf32-sh-nbsd.c: New file.
10512 * targets.c: Update copyright years.
175e9962 10513 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
8d05742f
JT
10514 bfd_elf32_shnbsd_vec.
10515
1dba4cb4
AH
105162002-01-07 Aldy Hernandez <aldyh@redhat.com>
10517
10518 * coff-rs6000.c (READ20): Use bfd_scan_vma.
10519
47b22aef
GK
105202002-01-07 Geoffrey Keating <geoffk@redhat.com>
10521
10522 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
10523 of a symbol in a section that will be deleted.
10524
be2d1673
NC
105252002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
10526
10527 * po/es.po: New file: Spanish translation.
10528 * configure.in (ALL_LINGUAS): Add es.
10529 * configure: Regenerate.
10530
d9cf1b54
AM
105312002-01-06 Steve Ellcey <sje@cup.hp.com>
10532
10533 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
10534 argument so we can handle HP-UX specially.
10535 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
10536 (elfNN_hpux_backend_section_from_bfd_section): New for support
10537 of SHN_IA_64_ANSI_COMMON.
10538 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
10539 (is_unwind_section_name): Add special HP-UX support.
10540 (elfNN_ia64_section_from_shdr): Add support for more sections.
10541 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
10542 add support for more sections.
10543 (elfNN_ia64_additional_program_headers): Modify
10544 is_unwind_section_name call.
10545 (elfNN_ia64_modify_segment_map): Remove assumption that there is
10546 only one unwind section in segment.
10547
3f3c5c34
AM
105482002-01-06 Alan Modra <amodra@bigpond.net.au>
10549
10550 * syms.c (_bfd_generic_make_empty_symbol): New function.
10551 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
10552 _bfd_generic_make_empty_symbol.
10553 * libbfd.h: Regenerate.
10554 * bfd-in2.h: Regenerate.
10555 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
10556 (hppabsd_core_get_symtab_upper_bound): Don't define.
10557 (hppabsd_core_get_symtab): Likewise.
10558 (hppabsd_core_print_symbol): Likewise.
10559 (hppabsd_core_get_symbol_info): Likewise.
10560 (hppabsd_core_bfd_is_local_label_name): Likewise.
10561 (hppabsd_core_get_lineno): Likewise.
10562 (hppabsd_core_find_nearest_line): Likewise.
10563 (hppabsd_core_bfd_make_debug_symbol): Likewise.
10564 (hppabsd_core_read_minisymbols): Likewise.
10565 (hppabsd_core_minisymbol_to_symbol): Likewise.
10566 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
10567 Formatting fixes.
10568 * hpux-core.c: Similarly.
10569 * irix-core.c: Similarly.
10570 * osf-core.c: Similarly.
10571 * sco5-core.c: Similarly.
10572 * binary.c (binary_make_empty_symbol): Remove function, define as
10573 _bfd_generic_make_empty_symbol.
10574 * ihex.c (ihex_make_empty_symbol): Likewise.
10575 * mmo.c (mmo_make_empty_symbol): Likewise.
10576 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
10577 * srec.c (srec_make_empty_symbol): Likewise.
10578 * versados.c (versados_make_empty_symbol): Likewise.
10579 * vms.c (_bfd_vms_make_empty_symbol): Remove.
10580 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
10581 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
10582 rather than _bfd_vms_make_empty_symbol.
10583 * vms-misc.c (new_symbol): Likewise.
10584
3f0a7f7f
AM
105852002-01-05 Alan Modra <amodra@bigpond.net.au>
10586
9e7b37b3
AM
10587 * section.c (bfd_section_init): Remove unnecessary initialisations.
10588 (bfd_section_list_clear): New function.
10589 (bfd_section_list_remove, bfd_section_list_insert): New macros.
10590 (_bfd_strip_section_from_output): Use them.
10591 * coffcode.h (coff_set_alignment_hook): Likewise.
10592 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
10593 * elf64-mips.c (mips_elf64_final_link): Likewise.
10594 * elf64-mmix.c (mmix_elf_final_link): Likewise.
10595 * sunos.c (sunos_add_dynamic_symbols): Likewise.
10596 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
10597 * bfd-in2.h: Regenerate.
10598
10599 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
10600 rather than doing our own section handling. Clean up after errors
10601 with bfd_release and bfd_section_list_clear. Handle unexpected
10602 flags.
10603 * aoutf1.h (sunos4_core_file_p): Likewise.
10604 * aix386-core.c (aix386_core_file_p): Likewise.
10605 * cisco-core.c (cisco_core_file_validate): Likewise.
10606 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
10607 * trad-core.c (trad_unix_core_file_p): Likewise.
10608
9b5ecbd0 10609 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
9e7b37b3
AM
10610 with bfd_release and bfd_section_list_clear.
10611 * hpux-core.c (hpux_core_core_file_p): Likewise.
10612 * irix-core.c (irix_core_core_file_p): Likewise.
10613 * lynx-core.c (lynx_core_file_p): Likewise.
10614 * osf-core.c (osf_core_core_file_p): Likewise.
10615 * rs6000-core.c (rs6000coff_core_p): Likewise.
10616 * sco5-core.c (sco5_core_file_p): Likewise.
10617
3f0a7f7f
AM
10618 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
10619 sign extension adjustments without conditionals.
10620
a3aa38ee
JJ
106212002-01-04 Jakub Jelinek <jakub@redhat.com>
10622
10623 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
10624 CIE at .eh_frame start is removed due to no FDEs referencing it.
10625
8a8b2d4b
AJ
106262002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
10627
10628 * config.bfd (x86_64-*-netbsd*): New target.
10629 * configure.in (x86_64-*-netbsd*): Set COREFILE
10630 to netbsd-core.lo.
10631 * configure: Regenerated.
10632
04b5af89
TR
106332002-01-03 Tom Rix <trix@redhat.com>
10634
10635 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
10636 for recent bfd_make_section_anyway change.
10637
51c5503b
NC
106382002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
10639
10640 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
10641 R_ARM_THM_PC11 reloc.
10642
07f7c046
NC
106432002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
10644
10645 * configure.in (LINGUAS): Add ja.
10646 * configure: Regenerate.
10647 * po/ja.po: Import from translation project's web site.
10648
5eefb65f
NC
106492002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
10650
10651 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
10652 messages to ease translation into other languages.
10653
39e90f10 10654For older changes see ChangeLog-0001
56882138
AM
10655\f
10656Local Variables:
10657mode: change-log
10658left-margin: 8
10659fill-column: 74
10660version-control: never
10661End:
This page took 0.670288 seconds and 4 git commands to generate.