Commit Graph

43491 Commits

Author SHA1 Message Date
Andrew Cagney
4be282b472 2004-03-23 Andrew Cagney <cagney@redhat.com>
* trad-frame.h (trad_frame_set_reg_addr): Declare.
2004-03-24 00:08:13 +00:00
gdbadmin
5c4d9a4db0 *** empty log message *** 2004-03-24 00:01:34 +00:00
Paul Brook
d507cf36a6 * bfd/elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
* binutils/readelf.c (decode_ARM_machine_flags): Add EABI v3.
	* gas/config/tc-arm.c (meabi_flags): New variable.
	(arm_parse_eabi): New function.
	(md_begin): Set flags for EABI v3.
	(arm_eabis): Add.
	(arm_long_opts): Add meabi.
	* include/elf/arm.h (EF_ERM_BE8, EF_ARM_LE8, EF_ARM_EABI_VER3): Add.
	* doc/as.texinf <ARM>: Document -meabi.
	* doc/c-arm.texi: Ditto.
2004-03-23 23:05:52 +00:00
Alan Modra
cb19ec34f5 daily update 2004-03-23 23:00:05 +00:00
Andrew Cagney
69aec09bfb 2004-03-23 Andrew Cagney <cagney@redhat.com>
* MAINTAINERS (Past Maintainers): Add Mark Salter and Fernando
	Nasser as past testsuite/lib/ (and other) maintainers.
2004-03-23 21:21:37 +00:00
Daniel Jacobowitz
075b3282ba * linux-low.c (linux_wait): Clear all_processes list also. 2004-03-23 21:14:24 +00:00
Daniel Jacobowitz
63ed89b41d * infcmd.c (attach_command): Reread symbols if we already have
an exec file.
2004-03-23 16:45:01 +00:00
Andrew Cagney
f3b364276e 2004-03-23 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (frame_get_saved_regs): Delete unused function.
2004-03-23 16:32:39 +00:00
Andrew Cagney
aa2a3f87e9 2004-03-23 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (SIGTRAMP_START, SIGTRAMP_END): Deprecate.
	* gdbarch.h, gdbarch.c: Re-generate.
	* i386obsd-tdep.c (i386obsd_init_abi): Update.
	* i386nbsd-tdep.c (i386nbsd_init_abi): Update.
	* i386bsd-tdep.c (i386bsd_init_abi): Update.
	* config/vax/tm-vaxbsd.h (DEPRECATED_SIGTRAMP_END)
	(DEPRECATED_SIGTRAMP_START): Update.
	* config/m68k/tm-nbsd.h (DEPRECATED_SIGTRAMP_END)
	(DEPRECATED_SIGTRAMP_START): Update.
	* blockframe.c (find_pc_sect_partial_function): Update.
	* arch-utils.c (legacy_pc_in_sigtramp): Update.

Index: doc/ChangeLog
2004-03-23  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Deprecate
	references to SIGTRAMP_START and SIGTRAMP_END.
2004-03-23 15:16:47 +00:00
Daniel Jacobowitz
00cac89514 * remote.c (remote_open_1): Reopen the exec file and reread symbols
if necessary.
2004-03-23 15:14:02 +00:00
Andrew Cagney
f561f02630 2004-03-23 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (PC_IN_SIGTRAMP): Change to a function with
	predicate, deprecate.
	* gdbarch.h, gdbarch.c: Re-generate.
	* alpha-linux-tdep.c (alpha_linux_init_abi): Update.
	* alpha-osf1-tdep.c (alpha_osf1_init_abi): Update.
	* alpha-tdep.c (alpha_sigtramp_frame_sniffer): Update.
	* alphafbsd-tdep.c (alphafbsd_init_abi): Update.
	* alphanbsd-tdep.c (alphanbsd_init_abi): Update.
	* amd64-linux-tdep.c (amd64_linux_init_abi): Update.
	* amd64-tdep.c (amd64_sigtramp_frame_sniffer): Update.
	* amd64nbsd-tdep.c (amd64nbsd_init_abi): Update.
	* amd64obsd-tdep.c (amd64obsd_init_abi): Update.
	* arm-tdep.c (arm_sigtramp_unwind_sniffer): Update.
	* blockframe.c (find_pc_partial_function): Update.
	* breakpoint.c (bpstat_what): Update.
	* frame.c (frame_type_from_pc, legacy_get_prev_frame): Update.
	* frv-linux-tdep.c (frv_linux_init_abi): Update.
	* frv-tdep.c (frv_sigtramp_frame_sniffer): Update.
	* hppa-hpux-tdep.c (hppa_hpux_init_abi): Update.
	* i386-interix-tdep.c (i386_interix_init_abi): Update.
	* i386-linux-tdep.c (i386_linux_init_abi): Update.
	* i386-nto-tdep.c (i386nto_init_abi): Update.
	* i386-sol2-tdep.c (i386_sol2_init_abi): Update.
	* i386-tdep.c (i386_sigtramp_frame_sniffer)
	(i386_svr4_init_abi, i386_go32_init_abi, i386_gdbarch_init): Update.
	* i386bsd-tdep.c (i386bsd_init_abi): Update.
	* i386nbsd-tdep.c (i386nbsd_init_abi): Update.
	* i386obsd-tdep.c (i386obsd_init_abi): Update.
	* ia64-tdep.c (ia64_sigtramp_frame_sniffer): Update.
	* infrun.c (pc_in_sigtramp): Update.
	* m68k-tdep.c (m68k_sigtramp_frame_sniffer): Update.
	* m68klinux-tdep.c (m68k_linux_init_abi): Update.
	* mips-tdep.c (mips_gdbarch_init): Update.
	* mipsnbsd-tdep.c (mipsnbsd_init_abi): Update.
	* ppc-linux-tdep.c: Update comment.
	* ppcnbsd-tdep.c (ppcnbsd_init_abi): Update.
	* shnbsd-tdep.c (shnbsd_init_abi): Update.
	* sparc-linux-tdep.c (sparc32_linux_init_abi): Update.
	* sparc-sol2-tdep.c (sparc32_sol2_init_abi): Update.
	* sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Update.
	* sparc64fbsd-tdep.c (sparc64fbsd_init_abi): Update.
	* sparc64nbsd-tdep.c (sparc64nbsd_init_abi): Update.
	* sparc64obsd-tdep.c (sparc64obsd_init_abi): Update.
	* sparcnbsd-tdep.c (sparc32nbsd_init_abi): Update.
	* sparcobsd-tdep.c (sparc32obsd_init_abi): Update.

Index: doc/ChangeLog
2004-03-23  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Deprecate
	references to PC_IN_SIGTRAMP.
2004-03-23 14:48:00 +00:00
Andrew Cagney
d2259dd367 2004-03-23 Andrew Cagney <cagney@redhat.com>
* tramp-frame.h, tramp-frame.h: New files.
	* Makefile.in (SFILES, tramp_frame_h, COMMON_OBS, tramp-frame.o):
	Update rules to include "tramp-frame.h" and "tramp-frame.c".
2004-03-23 14:12:30 +00:00
Andrew Cagney
8050c72f30 2004-03-23 Andrew Cagney <cagney@redhat.com>
* Makefile.in: Update all dependencies.
2004-03-23 13:58:03 +00:00
Andrew Cagney
0db9b4b709 2004-03-23 Andrew Cagney <cagney@redhat.com>
* Makefile.in (trad_frame_h): Add $(frame_h).
	* trad-frame.h: Update copyright.  Include "frame.h".
	(struct trad_frame_cache, trad_frame_cache_zalloc): Declare.
	(trad_frame_set_id, trad_frame_get_id): Declare.
	(trad_frame_set_reg_addr, trad_frame_get_register): Declare.
	* trad-frame.c: Update copyright.
	(struct trad_frame_cache): Define.
	(trad_frame_cache_zalloc): New function.
	(trad_frame_set_id, trad_frame_get_id): New functions.
	(trad_frame_set_reg_addr, trad_frame_get_register): New functions.
2004-03-23 13:49:50 +00:00
Bob Wilson
88d65ad6f1 bfd/ChangeLog:
* elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
	literal tables and check for relocs outside of literal pools.
	(elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
	(elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
	set DF_TEXTREL.
	(elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
	(elf_xtensa_relocate_section): Read literal tables and check for
	dynamic relocations in read-only sections and not in literal pools.
gas/ChangeLog:
	* config/tc-xtensa.c (xtensa_post_relax_hook): Create literal
	tables even when use_literal_section flag is not set.
2004-03-23 01:37:00 +00:00
gdbadmin
f2edeee557 *** empty log message *** 2004-03-23 00:00:32 +00:00
Andreas Schwab
86b13c282f * gas/cfi/cfi-m68k.d: Adjust offsets. 2004-03-22 23:16:09 +00:00
Alan Modra
de94ace12b daily update 2004-03-22 23:00:04 +00:00
Alan Modra
b9cf773d1a include/
PR 51.
	* bfdlink.h (struct bfd_link_info): Add wrap_char.

bfd/
	PR 51.
	* linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.

ld/
	PR 51.
	* emultempl/ppc64elf.em (ppc_create_output_section_statements): Set
	link_info.wrap_char.
2004-03-22 22:58:04 +00:00
Andrew Cagney
8e645ae742 2004-03-22 Andrew Cagney <cagney@redhat.com>
* s390-tdep.c (struct s390_stub_unwind_cache): Rename
	s390_pltstub_unwind_cache.
	(s390_stub_frame_unwind_cache): Rename
	s390_pltstub_frame_unwind_cache.
	(s390_stub_frame_this_id): Rename s390_pltstub_frame_this_id.
	(s390_stub_frame_prev_register): Rename
	s390_pltstub_frame_prev_register.
	(s390_stub_frame_unwind): Rename s390_pltstub_frame_unwind.
	(s390_stub_frame_sniffer): Rename s390_stub_frame_sniffer.

	From Ulrich Weigand:
	* s390-tdep.c (s390_pltstub_frame_sniffer): Handle invalid function
	pointer calls like PLT calls.
2004-03-22 22:33:33 +00:00
Daniel Jacobowitz
34fcf120a5 * mips-tdep.c (non_heuristic_proc_desc): Search using the specified
PC rather than the partial function start address.  Use the start
	address to sanity check the found PDR.
2004-03-22 21:39:00 +00:00
Daniel Jacobowitz
5b917078ef * lin-lwp.c (lin_lwp_wait): Pass the LWP ID to
linux_handle_extended_wait.
2004-03-22 20:18:33 +00:00
Andrew Cagney
c3122434a9 2004-03-22 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (frame_initial_stack_address): Delete unused
	function.
2004-03-22 17:07:08 +00:00
Andrew Cagney
8adf9e781b 2004-03-22 Andrew Cagney <cagney@redhat.com>
* frame.h (generic_pop_current_frame): Delete declaration.
	(deprecate_pop_dummy_frame): Deprecate
	generic_pop_dummy_frame.
	* dummy-frame.c (deprecated_pop_dummy_frame): Update.
	(generic_pop_current_frame): Delete function.
	* mn10300-tdep.c (mn10300_pop_frame): Eliminate call to
	generic_pop_current_frame.
	* v850-tdep.c (v850_pop_frame): Update.
	* mcore-tdep.c (mcore_pop_frame): Update.
	* sh64-tdep.c (sh64_pop_frame): Update.
	* h8300-tdep.c (h8300_pop_frame): Update.
2004-03-22 16:58:08 +00:00
Andrew Cagney
90ba813f1f 2004-03-22 Andrew Cagney <cagney@redhat.com>
* frame.h (deprecated_pc_in_call_dummy): Rename
	generic_pc_in_call_dummy.
	* dummy-frame.h (pc_in_dummy_frame): Delete declaration.
	* dummy-frame.c (deprecated_pc_in_call_dummy): Rename
	generic_pc_in_call_dummy.
	(pc_in_dummy_frame): Make static.
	* gdbarch.sh (DEPRECATED_PC_IN_CALL_DUMMY): Update.
	* gdbarch.h, gdbarch.c: Re-generate.
	* dummy-frame.c (dummy_frame_sniffer): Simplify.
	* frame.c (frame_type_from_pc): Call deprecated_pc_in_call_dummy.
	(legacy_get_prev_frame): Ditto.
	* inferior.h: Delete reference to generic_pc_in_call_dummy in
	comment.
2004-03-22 15:36:47 +00:00
Andrew Cagney
4b2b3b3e62 2004-03-22 Andrew Cagney <cagney@redhat.com>
* gdb.base/watchpoint.exp (test_stepping): Delete bogus XFAILs
	hiding problems with DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
	Problem identified by Ulrich Weigand.
2004-03-22 14:24:18 +00:00
Nathanael Nerode
4fa6306793 * Makefile.tpl: Rearrange by moving recursive_targets rules
into their proper sections.
	* Makefile.tpl (top level bootstrap support): Move disabling
	of coverage flags from 'make' to 'configure'; improve comments.
	* Makefile.in: Regenerate.

	* Makefile.tpl (experimental top level bootstrap) Move stage1
	language setting from all- target to configure- target; disable
	intermodule optimization in stage 1; prevent gratuitous rebuilds
	of stage 1.
	* Makefile.in: Regenerate.
	* configure.in: Comma-separate stage 1 language list for top
	level bootstrap.
	* configure: Regenerate.

	* Makefile.tpl: Clean up experimental top level bootstrap support:
	note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
	prev-gcc in configure- targets as well as all- targets.
	* Makefile.in: Regenerate.
2004-03-22 11:59:20 +00:00
Hans-Peter Nilsson
e4a2175c7d * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
	not defined by the executable, or defined in a DSO.
	<eliding run-time relocation of .got>: Initialize GOT entry for a
	function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
	executable.
	(cris_elf_gc_sweep_hook): Improve fallthrough marking.
	(elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
	a PLT reloc to GOT for an executable.
	(elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
	.got for a DSO and explain why.
	(elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
	and unreferenced symbols for which a PLT is defined.  Adjust
	dynamic-symbol pruning correspondingly, to make sure we don't lose
	a dynamic symbol also defined by a DSO.
2004-03-22 04:08:39 +00:00
Hans-Peter Nilsson
2d4b84b0f5 * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.
2004-03-22 04:06:06 +00:00
Richard Henderson
8c9a987975 * readelf.c (display_debug_frames): Don't crash for mismatched
DW_CFA_restore_state.
2004-03-22 03:55:50 +00:00
Alan Modra
b2a8e7660e * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
and rel args.  Group input and output args.  Wrap to 80 columns.
	* elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
	elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
	elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
	elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
	elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
	elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
	elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
	elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
	RELOC_FOR_GLOBAL_SYMBOL invocation.
2004-03-22 02:28:17 +00:00
Alan Modra
13ef8878af * config/tc-sh.c: Remove trailing whitespace. 2004-03-22 01:44:29 +00:00
Andrew Cagney
244675f99a 2004-03-21 Andrew Cagney <cagney@redhat.com>
* inferior.h (deprecated_pc_in_call_dummy_at_entry_point): Delete
	declaration and out-of-date comment.
	* blockframe.c (deprecated_pc_in_call_dummy_at_entry_point):
	Delete function.
	* mn10300-tdep.c (mn10300_gdbarch_init): Do not set
	deprecated_pc_in_call_dummy.
2004-03-22 01:43:32 +00:00
gdbadmin
fb9da97902 *** empty log message *** 2004-03-22 00:00:02 +00:00
Hans-Peter Nilsson
1048a9ba65 * doc/c-cris.texi (CRIS-Opts): Document --no-mul-bug-abort,
--mul-bug-abort and the default behavior.
	* config/tc-cris.c (cris_insn_kind): New member CRIS_INSN_MUL.
	(err_for_dangerous_mul_placement): New variable.
	(STATE_MUL, OPTION_MULBUG_ABORT_ON, OPTION_MULBUG_ABORT_OFF): New
	macros.
	(md_cris_relax_table): Have placeholder for STATE_MUL.
	(md_longopts): New options --mul-bug-abort and --no-mul-bug-abort.
	(cris_relax_frag) <case ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: New
	case doing nothing.
	(md_estimate_size_before_relax) <case ENCODE_RELAX (STATE_MUL,
	STATE_BYTE)>: Ditto.
	(md_convert_frag) <ENCODE_RELAX (STATE_MUL, STATE_BYTE)>: Check
	alignment and position of this frag, emit error message if
	suspicious.
	(md_assemble): For a multiply insn and when checking it,
	transform the current frag into a special frag for that purpose.
	(md_parse_option) <case OPTION_MULBUG_ABORT_OFF, case
	OPTION_MULBUG_ABORT_ON>: Handle new options.
2004-03-21 23:50:38 +00:00
Hans-Peter Nilsson
95631471e2 * gas/cris/regreg.d: Assemble with --no-mul-bug-abort.
* gas/cris/mulbug-err-1.s, gas/cris/rd-mulbug-1.d: New tests.
2004-03-21 23:47:54 +00:00
Alan Modra
73b179faf8 daily update 2004-03-21 23:00:35 +00:00
Andrew Cagney
ca4bb888c1 2004-03-21 Andrew Cagney <cagney@redhat.com>
* infrun.c (handle_inferior_event): For non legacy frames, use the
	frame ID and frame type to identify a signal trampoline.  Update
	comments.
2004-03-21 22:53:49 +00:00
Nathan J. Williams
1777c7b4ae 2004-03-21 Nathan J. Williams <nathanw@wasabisystems.com>
* mipsnbsd-tdep.c: Update copyright. Include "mips-tdep.h".
        * Makefile.in (mipsnbsd-tdep.o): Update dependencies.
2004-03-21 22:34:12 +00:00
Andrew Cagney
82417da5f0 2004-03-21 Andrew Cagney <cagney@redhat.com>
* frame-unwind.h: Update copyright.
	(struct frame_data): Add opaque declaration.
	(frame_sniffer_ftype): Declare.
	(struct frame_unwind): Add "unwind_data" and "sniffer".
	(frame_unwind_register_unwinder): Declare.
	(frame_unwind_find_by_frame): Add parameter "this_cache".
	* frame.c (get_frame_id, create_new_frame, legacy_get_prev_frame)
	(legacy_get_prev_frame, legacy_get_prev_frame)
	(get_frame_type): Pass the prologue_cache to
	frame_unwind_find_by_frame.
	* frame-unwind.c (struct frame_unwind_table_entry): Add field
	"unwinder".
	(frame_unwind_register_unwinder): New function.
	(frame_unwind_find_by_frame): Handle an unwind sniffer.
2004-03-21 22:28:52 +00:00
gdbadmin
e5fbc737f6 *** empty log message *** 2004-03-21 00:00:04 +00:00
H.J. Lu
3922a64ca2 Reorder it. 2004-03-20 23:44:18 +00:00
H.J. Lu
83afed5481 Correct the ChangeLog entry. 2004-03-20 23:36:18 +00:00
H.J. Lu
59c2e50f29 bfd/
2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
	unresolved symbols in objects aren't allowed.

	* elf-hppa.h (elf_hppa_relocate_section): Properly handle
	unresolved symbols.
	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
	(elf_hppa_unmark_useless_dynamic_symbols):
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
	(elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.

	* elf-m10200.c (mn10200_elf_relocate_section): Use
	RELOC_FOR_GLOBAL_SYMBOL.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.

include/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Correct comments for the
	unresolved_syms_in_objects field.

ld/

2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (parse_args): Don't set unresolved_syms_in_objects
	or unresolved_syms_in_shared_libs for -Bdynamic and -Bstatic.
2004-03-20 23:16:43 +00:00
Alan Modra
023aaf9519 daily update 2004-03-20 23:00:05 +00:00
Paul N. Hilfinger
b2ba182e8f print_percentage: Use floating point to avoid incorrect results when
portion*100 overflows.
2004-03-20 09:53:03 +00:00
Alexandre Oliva
44349745f2 * emulparams/elf32frvfd.sh (MAXPAGESIZE): Change to 16Kb. 2004-03-20 05:49:27 +00:00
Kevin Buettner
81332287eb Remove old frame code. Enable new frame code for AIX. 2004-03-20 04:58:13 +00:00
Kevin Buettner
61a650991d Commit Andrew Cagney's rs6000 / PPC framification patch. 2004-03-20 04:51:21 +00:00
Dave Anglin
36751eee4a * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
(final_link_relocate): Likewise.
2004-03-20 00:42:10 +00:00