Commit Graph

1254 Commits

Author SHA1 Message Date
Roland McGrath
10b4329d5b 2003-06-05 Roland McGrath <roland@redhat.com>
* emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Remove
	extra \t in -z noexecstack line.
2003-06-06 06:28:42 +00:00
Jakub Jelinek
9ee5e4996f binutils/
* readelf.c (get_segment_type): Handle PT_GNU_STACK.
bfd/
	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
	(bfd_section_from_phdr): Likewise.
	(map_sections_to_segments): Create PT_GNU_STACK segment header.
	(get_program_header_size): Count with PT_GNU_STACK.
	* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
	* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
include/
	* bfdlink.h (struct bfd_link_info): Add execstack and noexecstack.
	* elf/common.h (PT_GNU_STACK): Define.
ld/
	* ldgram.y (phdr_type): Grok PT_GNU_STACK.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add
	-z execstack and -z noexecstack.
	(gld${EMULATION_NAME}_list_options): Likewise.
	* scripttempl/elf.sc: If not -r, discard .note.GNU-stack section.
2003-06-03 22:27:24 +00:00
Michael Snyder
65982ba6e7 2003-06-03 Michael Snyder <msnyder@redhat.com>
and Bernd Schmidt   <bernds@redhat.com>
	and Alexandre Oliva <aoliva@redhat.com>
	* Makefile.am: Add new emulations for h8300sx.
	* Makefile.in: Regenerate.
	* configure.tgt: Add new emulations.
	* emulparams/h8300sx.sh: New emulation.
	* emulparams/h8300sxelf.sh: Ditto.
	* scripttempl/h8300sx.sc: Ditto.
2003-06-03 21:43:52 +00:00
H.J. Lu
6f6f27f842 bfd/
2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* elflink.h (elf_link_input_bfd): Call linker error_handler
	for discarded definitions.

include/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.

ld/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* ldmisc.c: Include "bfdlink.h".
	(error_handler): Handle LD_DEFINITION_IN_DISCARDED_SECTION
	and -LD_DEFINITION_IN_DISCARDED_SECTION.

	* Makefile.am: Rebuild dependency.
	* Makefile.in: Regenerated.

ld/testsuite/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* ld-discard/extern.d: Updated.
	* ld-discard/start.d: Likewise.
	* ld-discard/static.d: Likewise.
2003-06-03 18:15:05 +00:00
H.J. Lu
b814bbcbee 2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfcomm/elfcomm.exp: Mark tests untested if compiler is
	not available.
2003-06-03 15:28:36 +00:00
Kaz Kojima
308f753f1c * emulparams/shlelf_linux.sh (GENERATE_PIE_SCRIPT): Set to yes.
* emulparams/shlelf32_linux.sh (GENERATE_PIE_SCRIPT): Likewize.
2003-06-03 04:51:49 +00:00
Nick Clifton
3bb727441d Add new test for cygwin target: building an executable with an export table. 2003-06-02 09:11:01 +00:00
Nick Clifton
03a1c9a708 Scan table pe_dll->exports, which is sorted alphabetically, instead of
exported_symbols, which is sorted by ordinal.
2003-06-02 08:43:37 +00:00
Jakub Jelinek
36af4a4e51 bfd/
* elflink.h (elf_link_add_object_symbols): Use !info->executable
	instead of info->shared where appropriate.
	(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
	* elflink.c (_bfd_elf_create_got_section): Likewise.
	(_bfd_elf_link_create_dynamic_sections): Likewise.
	(_bfd_elf_link_assign_sym_version): Likewise.
	* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
	and DT_DEBUG dynamic tag even for position independent executables.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
	* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
	* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
	* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
	* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
	* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
include/
	* bfdlink.h (struct bfd_link_info): Add pie and executable
	bits.
ld/
	* lexsup.c (OPTION_PIE): Define.
	(ld_options): Add -pie and --pic-executable options.
	(parse_args): Handle OPTION_PIE.
	* ldmain.c (main): Initialize link_info.pie and
	link_info.executable.
	* genscripts.sh: Generate PIE scripts.
	* ld.texinfo: Document -pie and --pic-executable options.
	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
	(gld${EMULATION_NAME}_place_orphan): Likewise.
	(gld${EMULATION_NAME}_get_script): Include PIE scripts.
	* scripttempl/elf.sc: In PIE scripts set . the same way as in
	shared scripts.
	* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Set to yes.
	* emulparams/elf64_ia64.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf32ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf64ppc.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf_x86_64.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf32_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf64_sparc.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf64alpha.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf64_s390.sh (GENERATE_PIE_SCRIPT): Likewise.
	* emulparams/elf_i386.sh (GENERATE_PIE_SCRIPT): Likewise.
2003-05-30 15:50:12 +00:00
H.J. Lu
cdaeef2eb5 ld/
2003-05-30  H.J. Lu <hongjiu.lu@intel.com>

	* genscripts.sh: Create tmpdir/libpath.exp.

ld/testsuite/

2003-05-30  H.J. Lu <hongjiu.lu@intel.com>

	* config/default.exp: Load tmpdir/libpath.exp.
	(gcc_ld_flag): Set from $libpath.
2003-05-30 13:23:25 +00:00
Nick Clifton
06aa72344f (arm_elf_before_allocation): Replace ASSERT with a test for a NULL
bfd_for_interworking.
2003-05-30 08:19:30 +00:00
Jason Thorpe
561c27b2bb * configure.host (*-*-netbsd*): Set HOSTING_CRT0 and HOSTING_LIBS
correctly for more recent versions of NetBSD.
(alpha*-*-netbsd*): Remove.
(i[3-7]86-*-netbsd*): Remove.
2003-05-29 17:38:52 +00:00
Nick Clifton
29e1a6e4ca Replace <ctype.h> with "safe-ctype.h" 2003-05-29 15:05:41 +00:00
Jason Thorpe
43f9d75bc1 * ld-elf/elf.exp: Use if_elf_format.
* ld-elf/sec64k.exp: Likewise.
* ld-elfcomm/elfcomm.exp: Likewise.
* lib/ld-lib.exp (is_elf_format): Match hppa*64*-*-hpux*.
2003-05-29 00:16:46 +00:00
Maciej W. Rozycki
90be1c5c08 * emulparams/elf64btsmip.sh: Set TEXT_START_ADDR to 0x120000000 to
trap on pointer crops.
2003-05-26 11:56:26 +00:00
Jason Thorpe
493e6a13fd * ld-mips-elf/mips-elf.exp: Make all NetBSD targets match as elf. 2003-05-25 14:36:19 +00:00
Nick Clifton
cea3d58d02 Check for a target triplet of shl-...-netbsdelf as well as shle-...-netbsdelf. 2003-05-21 13:06:30 +00:00
H.J. Lu
22d5e33918 bfd/
2003-05-20  Jakub Jelinek  <jakub@redhat.com>

	* elflink.h (elf_link_output_extsym): Only issue error about !=
	STV_DEFAULT symbols if they are bfd_link_hash_undefined.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
	when removing the old definition for symbols with non-default
	visibility.

ld/testsuite/

2003-05-20  Jakub Jelinek  <jakub@redhat.com>

	* ld-elfvsb/common.c: New file.
	* ld-elfvsb/elfvsb.exp: Add common.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

	* ld-elfvsb/sh3.c: New file.
	* ld-elfvsb/test.c: Likewise.

	* ld-elfvsb/elfvsb.exp: Add new weak hidden symbol tests.
2003-05-20 14:35:01 +00:00
Nick Clifton
80c7c40aef Replace i[3456]86 with i[3-7]86 2003-05-16 16:30:27 +00:00
H.J. Lu
b765d4e375 2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
* config/default.exp (gcc_ld_flag): New. Make the newly built
	linker available to gcc.
	* lib/ld-lib.exp (default_ld_simple_link): Pass $gcc_ld_flag
	to gcc.

	* ld-elfvers/vers.exp: Use "ld_simple_link $CC" to build shared
	libraries.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfweak/elfweak.exp: Likewise.
	* ld-shared/shared.exp: Likewise.

	* ld-elfvers/vers.exp: Use "-Wl,-rpath,." to build shared
	libraries.
	* ld-elfvsb/elfvsb.exp: Likewise.

	* ld-elfvsb/elfvsb.exp: Remove xfail for powerpc-*-linux*.

	* ld-elfweak/elfweak.exp: Use PIC for shared libraries.
2003-05-16 05:04:34 +00:00
H.J. Lu
a6c0916fe9 2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
* emulparams/elf64_ia64.sh: Don't set COMMONPAGESIZE for now.
2003-05-15 14:56:33 +00:00
Stephane Carrez
99573a9826 * ld-m68hc11/link-hcs12.d: New test.
* ld-m68hc11/link-hcs12.s: New file.
	* ld-m68hc11/link-hc12.s: New file.
2003-05-13 19:11:45 +00:00
H.J. Lu
5c449c3fa6 2003-05-13 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfweak/elfweak.exp: Fix typo.
2003-05-13 16:13:28 +00:00
Nick Clifton
59758b1cc8 Run on sh[34]*-*-linux*. 2003-05-13 11:39:58 +00:00
Hans-Peter Nilsson
5ff4a71ef3 * ld-mmix/b-fixo2.d, ld-mmix/bpo-18.d, ld-mmix/bpo-18m.d,
ld-mmix/loc4.d, ld-mmix/loc4m.d, ld-mmix/loc6.d, ld-mmix/loc6m.d,
	ld-mmix/locdo-1.d, ld-mmix/sec-1.d, ld-mmix/sec-2.d,
	ld-mmix/sec-3.d, ld-mmix/sec-4.d, ld-mmix/sec-5.d,
	ld-mmix/sec-7m.d, ld-mmix/sec-8m.d, ld-mmix/spec802.d,
	ld-mmix/spec803.d, ld-mmix/spec804.d, ld-mmix/spec805.d,
	ld-mmix/spec806.d, ld-mmix/spec807.d, ld-mmix/spec808.d: Tweak for
	objdump no longer truncating dump addresses.
2003-05-12 05:45:38 +00:00
Daniel Jacobowitz
df9a14a132 Add missing changelog entry for last commit:
* configure.tgt: Add armeb-elf and arm*b-*-linux-gnu.
2003-05-09 20:05:46 +00:00
Daniel Jacobowitz
d2012d1718 * Makefile.am (ALL_EMULATIONS): Add earmelfb.o and earmelfb_linux.o.
(earmelfb.c, earmelfb_linux.c): New rules.
	* Makefile.in: Regenerated.
	* emulparams/armelfb.sh, emulparams/armelfb_linux.sh: New files.
2003-05-09 20:05:04 +00:00
Nick Clifton
3cd9fdd546 oops - update date in ChangeLog entry 2003-05-09 16:13:45 +00:00
Nick Clifton
661849791b Default to generating a fatal error message if a loadable section is not
allocated to a memory region when regions are defined.
2003-05-09 16:12:07 +00:00
Martin Schwidefsky
4648dfcf5b * ld-elfvsb/elf-offset.ld: Add .rel.eh_frame and .rela.eh_frame
to linker script.
	* ld-elfvsb/elfvsb.exp (visibility_run): Add setup_xfails for s390x.
	* ld-selective/selective.exp: Disable for s390 and s390x.
	* ld-shared/elf-offset.ld: Add .rel.eh_frame and .rela.eh_frame
	to linker script.
	* ld-shared/shared.exp (shared_test): Add setup_xfails for s390x.
	* ld-undefined/undefined.exp (checkund): Remove setup_xfail for s390x.
2003-05-09 15:35:09 +00:00
Alan Modra
efdffbe268 * Makefile.am (em68hc11elf.c): Correct dependencies.
(em68hc11elfb.c, em68hc12elf.c, em68hc12elfb.c): Likewise.
	* Makefile.in: Regenerate.
	* emultempl/elf32.em (find_exp_assignment): Adjust for changed
	bfd_elf_record_link_assignment name.
2003-05-09 02:28:01 +00:00
H.J. Lu
54c9a60f31 2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Add vers27d4 and vers27d5 to test
	versioned reference for hidden symbol.

	* ld-elfvers/vers27d4.dsym: New file.
	* ld-elfvers/vers27d4.ver: Likewise.
2003-05-08 19:51:48 +00:00
H.J. Lu
95b4a16ea5 2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers27d3.c (__start): New.
	(start): New.
2003-05-08 07:01:11 +00:00
H.J. Lu
0ae911fecd 2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp (build_binary): Support build exeutable.
	(build_binary): Renamed from ...
	(build_vers_lib): This.
	(build_vers_lib_no_pic): Updated.
	(build_vers_lib_pic): Likewise.
	Add vers27d1, vers27d2 and vers27d3 to test versioned
	definition for hidden symbol referenced by a DSO.

	* ld-elfvers/vers27d.dsym: New file.
	* ld-elfvers/vers27d.sym: Likewise.
	* ld-elfvers/vers27d.ver: Likewise.
	* ld-elfvers/vers27d1.c: Likewise.
	* ld-elfvers/vers27d2.c: Likewise.
	* ld-elfvers/vers27d3.c: Likewise.
2003-05-08 05:10:47 +00:00
Andreas Schwab
3a8260b266 * ld-elfvsb/elfvsb.exp: Run dump tests even when cross
compiling.
2003-05-07 09:21:27 +00:00
Alexandre Oliva
697380b39c * config/default.exp (gcc_gas_flags): Force ABI to n32 on
mips64-linux.
* ld-elf/merge.d: Xfail on mips64*-linux-gnu*.
* ld-mips-elf/mips-elf-flags.exp (ldemul): Set to o32-compatible
on mips-sgi-irix6*, mips64-linux-gnu and mips64el-linux-gnu.
(good_combination, bad_combination): Use it.
Add -32 or -mabi=o64 wherever the ABI was formerly implied.
2003-05-07 05:08:02 +00:00
Alexandre Oliva
8aae64e67e * ldmain.h (overflow_cutoff_limit): Declare.
* ldmain.c (overflow_cutoff_limit): Define, initialized to 10.
(reloc_overflow): Limit error messages based on it.
* lexsup.c (parse_args) <OPTION_VERBOSE>: Set cutoff to
unlimited.
2003-05-07 04:14:57 +00:00
H.J. Lu
08d5f1b40e 2003-05-06 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (objdump_versionstuff): Support comment
	in expected version file.

	* ld-elfvers/vers25b.c: Add a line of comment.
	* ld-elfvers/vers25b.dsym: Likwise.
	* ld-elfvers/vers25b.ver: Likwise.
	* ld-elfvers/vers26b.dsym: Likwise.
	* ld-elfvers/vers26b.ver: Likwise.
	* ld-elfvers/vers27b.dsym: Likwise.
	* ld-elfvers/vers27b.ver: Likwise.
	* ld-elfvers/vers27c.c: Likwise.
	* ld-elfvers/vers27c.dsym: Likwise.
	* ld-elfvers/vers27c.ver: Likwise.
2003-05-06 15:55:09 +00:00
Alan Modra
5c7966bf11 * ldlex.l: Accept C style comments in version scripts. 2003-05-05 06:28:00 +00:00
H.J. Lu
ef5aade5ac bfd/
2003-05-04  H.J. Lu <hjl@gnu.org>

	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
	relocation entries for weak undefined symbols with non-default
	visibility.
	(elf_i386_relocate_section): Initialize the GOT entries and
	skip R_386_32/R_386_PC32 for weak undefined symbols with
	non-default visibility.

	* elfxx-ia64.c (allocate_fptr): Don't allocate function
	descriptors for weak undefined symbols with non-default
	visibility.
	(allocate_dynrel_entries): Don't allocate relocation entries
	for symbols resolved to 0.
	(set_got_entry): Don't install dynamic relocation for weak
	undefined symbols with non-default visibility.
	(set_pltoff_entry): Likewise.

	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
	with non-default visibility.
	(elf_link_output_extsym): Don't make weak undefined symbols
	with non-default visibility dynamic.

ld/testsuite/

2003-05-04  H.J. Lu <hjl@gnu.org>

	* ld-elfvsb/main.c: Updated.
	* ld-elfvsb/sh1.c: Likewise.
2003-05-05 05:46:53 +00:00
H.J. Lu
839efa267f Add missing entries for the last checkin. 2003-05-05 03:44:59 +00:00
H.J. Lu
c424e0e973 bfd/
2003-05-04  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_merge_symbol): Correctly handle weak definiton.

ld/testsuite/

2003-05-04  H.J. Lu <hjl@gnu.org>

	* ld-elfvers/vers18.dsym: Updated for weak definiton change.
	* ld-elfvers/vers18.ver: Likewise.
	* ld-elfvers/vers19.ver: Likewise.

	* ld-elfweak/elfweak.exp: Remove xfail.
2003-05-05 03:33:09 +00:00
Alexandre Oliva
508073f77f * ld-mips-elf/multi-got-1.d: Force into big-endian mode.
Turn relocation offsets into regexps.
2003-05-04 21:06:35 +00:00
H.J. Lu
95aa61ce02 2003-05-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers27a, vers27b, vers27c1 and
	vers27c2 to test versioned definition vs. hidden definition in
	different files.

	* ld-elfvers/vers27a.c: New file.
	* ld-elfvers/vers27a.dsym: Likewise.
	* ld-elfvers/vers27a.map: Likewise.
	* ld-elfvers/vers27a.ver: Likewise.
	* ld-elfvers/vers27b.c: Likewise.

	* ld-elfvers/vers27b.dsym: New empty file.
	* ld-elfvers/vers27b.ver: Likwise.
	* ld-elfvers/vers27c.c: Likwise.
	* ld-elfvers/vers27c.dsym: Likwise.
	* ld-elfvers/vers27c.ver: Likwise.
2003-05-03 16:51:05 +00:00
Nick Clifton
2968149b03 Fix xstormy16's handling of pc-relative relocs against defined symbols. 2003-05-02 12:42:13 +00:00
Andreas Jaeger
fcd06cfe45 * ld-elfvers/vers.exp (build_exec): Disable vers26b3 on x86-64-linux. 2003-05-02 08:16:25 +00:00
H.J. Lu
bf57c3c94d gas/
2003-04-30  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.c (md_section_align): Deleted.

	* config/tc-ia64.h (SUB_SEGMENT_ALIGN): New.
	(md_section_align): New.

gas/testsuite/

2003-04-29  H.J. Lu <hjl@gnu.org>

	* gas/ia64/ia64.exp: Add align.

	* gas/ia64/align.d: New file.
	* gas/ia64/align.s: Likewise.

	* ia64/dependency-1.d: Remove the padding.

ld/testsuite/

2003-04-29  H.J. Lu <hjl@gnu.org>

	* ld-ia64/tlsbin.dd: Updated.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
2003-05-01 00:53:39 +00:00
Joern Rennecke
5ad8914f65 * ld-selective/3.cc (start): New function.
* ld-selective/4.cc: Likewise.
	* ld-selective/5.cc: Likewise.
2003-04-30 12:07:19 +00:00
H.J. Lu
c7996ad628 bfd/
2003-04-28  H.J. Lu <hjl@gnu.org>

	* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
	the relax finalize pass.

	* section.c (struct sec): Add need_finalize_relax and remove
	flag11.
	(STD_SECTION): Update struct sec initializer.
	* bfd-in2.h: Regenerated.

include/

2003-04-28  H.J. Lu <hjl@gnu.org>

	* bfdlink.h (bfd_link_info): Add relax_finalizing.

ld/

2003-04-28  H.J. Lu <hjl@gnu.org>

	* ldlang.c (lang_process): Add the relax finalize pass.

	* ldmain.c (main): Initialize link_info.relax_finalizing to
	FALSE.
2003-04-29 01:53:46 +00:00
H.J. Lu
f006af20ee bfd/
2003-04-28  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
	to copy any information related to dynamic linking when we flip
	the indirection.

ld/testsuite/

2003-04-28  H.J. Lu <hjl@gnu.org>

	* ld-elfvers/vers.exp (picflag): Set PIC flag for compiler.
	(build_vers_lib): Support PIC.
	(build_vers_lib_no_pic): New. Change all calls to build_vers_lib
	to build_vers_lib_no_pic.
	(build_vers_lib_pic): New.
	Add tests vers26a, vers26b1, vers26b2 and vers26b3 for versioned
	definition vs. normal definition in different files.

	* ld-elfvers/vers26a.c: New file.
	* ld-elfvers/vers26a.dsym: Likewise.
	* ld-elfvers/vers26a.map: Likewise.
	* ld-elfvers/vers26a.ver: Likewise.
	* ld-elfvers/vers26b.c: Likewise.

	* ld-elfvers/vers26b.dsym: New empty file.
	* ld-elfvers/vers26b.ver: Likewise.
2003-04-28 16:58:01 +00:00