Mark Kettenis
6c7de4224e
* i386-tdep.h (FCS_REGNUM, FCOFF_REGNUM, FDS_REGNUM,
...
FDOFF_REGNUM): Remove defines.
* win32-nat.c (do_child_fetch_inferior_registers): Include
"i387-tdep.h".
(do_child_fetch_inferior_registers): Use I387_FISEG_ST0_REGNUM and
I387_FOP_REGNUM instead of FCS_REGNUM and FOP_REGNUM. Define and
undefine I387_ST0_REGNUM.
2003-10-26 15:03:42 +00:00
Andrew Cagney
4646aa9d0b
2003-10-22 Andrew Cagney <cagney@redhat.com>
...
* exec.h: New file.
* win32-nat.c: Include "exec.h".
* solib.c: Include "exec.h".
* target.h (build_section_table): Delete declaration.
* somsolib.c: Include "exec.h".
(exec_ops): Delete extern declaration.
* rs6000-nat.c: Update copyright. Include "exec.h".
(exec_ops): Delete extern declaration.
* pa64solib.c: Update copyright. Include "exec.h".
(exec_ops): Delete extern declaration.
* exec.c: Update copyright. Include "exec.h".
* corelow.c: Update dependencies. Include "exec.h".
* Makefile.in (exec_h): Define.
(exec.o, somsolib.o): Update dependencies.
(pa64solib.o, corelow.o): Update dependencies.
2003-10-23 03:01:55 +00:00
Andrew Cagney
deafb06122
2003-09-20 Andrew Cagney <cagney@redhat.com>
...
* breakpoint.c: Eliminate ARGSUSED.
* buildsym.c, cli/cli-cmds.c, cli/cli-script.c: Ditto.
* coffread.c, corelow.c, dwarf2read.c, event-top.c: Ditto.
* exec.c, gcore.c, hpux-thread.c, infcmd.c, inflow.c: Ditto.
* infrun.c, inftarg.c, maint.c, ocd.c, printcmd.c: Ditto.
* procfs.c, regcache.c, remote-rdi.c, remote-sds.c: Ditto.
* remote.c, sol-thread.c, source.c, stabsread.c: Ditto.
* stack.c, symfile.c, target.c, top.c, typeprint.c: Ditto.
* utils.c, v850ice.c, valprint.c, values.c, win32-nat.c: Ditto.
* wince.c, remote-vx.c: Ditto.
2003-09-21 01:26:46 +00:00
Christopher Faylor
f4f99b11c4
* win32-nat.c (mappings): Remove HAVE_SSE conditional.
2003-09-20 02:38:39 +00:00
Christopher Faylor
403d99099a
* win32-nat.c: Just rely on CONTEXT_EXTENDED_REGISTER being defined for SSE
...
registers since gdb will not operate correctly without this. Restore include
file ordering munged in previous change.
* config/i386/tm-cygwin.h: Remove HAVE_SSE_REGS define.
2003-09-13 16:46:21 +00:00
Christopher Faylor
d3f13f7296
* win32-nat.c: Reorganize so that defines used by target headers are actually
...
defined by the system headers.
* config/i386/tm-cygwin.h: Check for CONTEXT_EXTENDED_REGISTERS rather than
HAVE_CONTEXT_EXTENDED_REGISTERS, since the latter actually exists.
2003-09-13 02:26:42 +00:00
Christopher Faylor
9f476a0143
* win32-nat.c (solib_symbols_add): Use one variable for all section address
...
stuff. Pass variable rather than address of variable to safe_symbol_file_add.
2003-07-06 19:48:54 +00:00
Joel Brobecker
a31f978cb0
* win32-nat.c (solib_symbols_add): Fix a small compilation error.
2003-06-11 22:36:04 +00:00
Mark Mitchell
a39a16c41b
* elfread.c (elf_symtab_read): Avoid use of SECT_OFF_MAX.
...
(elfstab_offset_sections): Likewise.
* gdb-stabs.h (stab_section_info): Likewise.
* i386-interix-tdep.c (pei_adjust_objfile_offsets): Likewise.
* objfiles.c (objfile_relocate): Likewise.
* pa64solib.c (pa64_solib_add_solib_objfile): Likewise.
* remote.c (get_offsets): Likewise.
(remote_cisco_objfile_relocate): Likewise.
* somread.c (som_symfile_offsets): Likewise.
* symfile.c (alloc_section_addr_info): New function.
(build_section_addr_info_from_section_tab): Use it.
(free_section_addr_info): Adjust.
(default_symfile_offsets): Avoid use of SECT_OFF_MAX.
(syms_from_objfile): Allocate local_addr dynamically.
(symbol_file_add_with_addrs_or_offsets): Allocate orig_addrs
dynamically.
(add_symbol_file_command): Allocate sect_opts dynamically.
(reread_symbols): Avoid use of SECT_OFF_MAX.
* symfile.h (section_addr_info): Do not use MAX_SECTIONS.
(alloc_section_addr_info): Declare it.
* symtab.h (SIZEOF_SECTION_OFFSETS): Remove.
* win32-nat.c (solib_symbols_add): Allocate section_addrs
dynamically.
* xcoffread.c (xcoff_symfile_offsets): Avoid use of SECT_OFF_MAX.
2003-06-06 23:33:00 +00:00
Christopher Faylor
6f17862b81
* win32-nat.c (get_image_name): Check return value from ReadProcessMemory.
...
(child_xfer_memory): Ditto.
2003-02-21 02:29:18 +00:00
Christopher Faylor
caad770612
white space
2003-02-15 03:24:54 +00:00
Christopher Faylor
e325dceca7
* win32-nat.cc (register_loaded_dll): Correctly set address range for
...
just-loaded dll.
2003-02-14 05:15:43 +00:00
Christopher Faylor
295732ea1e
whitespace cleanup
2003-02-06 20:37:55 +00:00
Christopher Faylor
786b8124ce
* win32-nat.c (get_relocated_section_addrs): New function. Find section load
...
addresses for symbol handling in relocated DLLs.
(solib_symbols_add): Open a bfd and call get_relocated_section_addrs.
2003-02-06 19:51:25 +00:00
Christopher Faylor
baa93fa6f9
* win32-nat.c (cygwin_pid): Removed as unused.
...
(child_attach): Try fall back to Cygwin pid.
2003-01-30 01:39:52 +00:00
Andrew Cagney
1bac305b72
2003-01-13 Andrew Cagney <ac131313@redhat.com>
...
* ax-gdb.c, c-valprint.c, charset.c, corefile.c: Update copyright.
* demangle.c, disasm.c, dwarf2cfi.c, dwarfread.c: Update copyright.
* elfread.c, eval.c, expprint.c, expression.h: Update copyright.
* f-typeprint.c, findvar.c, gcore.c, gdb_mbuild.sh: Update copyright.
* gdbtypes.h, gnu-v2-abi.c, inferior.h, inftarg.c: Update copyright.
* language.c, language.h, m32r-tdep.c: Update copyright.
* mn10200-tdep.c, scm-lang.c, scm-lang.h: Update copyright.
* somsolib.c, somsolib.h, symfile.c, symtab.h: Update copyright.
* thread-db.c, typeprint.c, utils.c, valarith.c: Update copyright.
* values.c, win32-nat.c, x86-64-linux-nat.c: Update copyright.
* x86-64-linux-tdep.c, z8k-tdep.c: Update copyright.
* cli/cli-decode.h, config/h8500/tm-h8500.h: Update copyright.
Index: mi/ChangeLog
2003-01-13 Andrew Cagney <ac131313@redhat.com>
* mi-cmd-env.c: Update copyright.
2003-01-14 00:49:06 +00:00
Corinna Vinschen
616a9dc4c0
* win32-nat.c (set_process_privilege): New function.
...
(child_attach): Call set_process_privilege() to enable the
SE_DEBUG_NAME user privilege if available in process token.
2003-01-10 20:14:02 +00:00
Christopher Faylor
91a175b3f1
* win32-nat.c (child_attach): Reset saw_create counter or subsequent attach
...
will hang.
2002-11-23 02:49:45 +00:00
Christopher Faylor
5633f84268
* win32-nat.c (psapi_get_dll_name): Fix a compiler warning.
...
(struct so_stuff): Add end_addr field.
(register_loaded_dll): Calculate and store end address of loaded dll.
(solib_address): New function.
(child_solib_loaded_library_pathname): Pass carefully constructed section info
to safe_symbol_file_add rather than ignoring it.
(get_child_debug_event): Call re_enable_breakpoints_in_shlibs when a DLL is
loaded.
(do_initial_child_stuff): Call disable_breakpoints_in_shlibs.
(child_create_inferior): Fix a compiler warning.
* config/i386/tm-cygwin.h (PC_SOLIB): Define new macro.
(solib_address): Declare new function.
2002-11-22 07:34:55 +00:00
Daniel Jacobowitz
0f3fafde68
* gnu-nat.c (init_gnu_ops): Remove NULL initializations.
...
* monitor.c (init_base_monitor_ops): Likewise.
* ppc-bdm.c (init_bdm_ppc_ops): Likewise.
* remote-array.c (init_array_ops): Likewise.
* remote-e7000.c (init_e7000_ops): Likewise.
* remote-es.c (init_es1800_ops): Likewise.
(init_es1800_child_ops): Likewise.
* remote-rdp.c (init_remote_rdp_ops): Likewise.
* remote-sim.c (init_gdbsim_ops): Likewise.
* remote-st.c (init_st2000_ops): Likewise.
* sol-thread.c (init_sol_core_ops): Likewise.
(init_sol_thread_ops): Likewise.
* v850ice.c (init_850ice_ops): Likewise.
* win32-nat.c (init_child_ops): Likewise.
* wince.c (init_child_ops): Likewise.
2002-11-12 21:43:55 +00:00
Andrew Cagney
4caf0990c1
2002-11-02 Andrew Cagney <cagney@redhat.com>
...
* regcache.h (deprecated_read_register_gen): Rename
read_register_gen.
(deprecated_write_register_gen): Rename write_register_gen.
* i387-tdep.c: Update.
* x86-64-linux-nat.c: Update
* wince.c: Update.
* thread-db.c: Update.
* win32-nat.c: Update.
* mips-tdep.c: Update.
* d10v-tdep.c: Update.
* cris-tdep.c: Update.
* remote-sim.c: Update.
* remote-rdi.c: Update.
* remote-rdp.c: Update.
* frame.c: Update.
* target.c: Update.
* blockframe.c: Update.
* x86-64-tdep.c: Update.
* xstormy16-tdep.c: Update.
* sh-tdep.c: Update.
* s390-tdep.c: Update.
* rs6000-tdep.c: Update.
* sparc-tdep.c: Update.
* i386-tdep.c: Update.
* dwarf2cfi.c: Update.
* regcache.c: Update.
2002-11-02 14:59:10 +00:00
Christopher Faylor
2becadeece
* win32-nat.c (child_create_inferior): Honor 'tty' command.
2002-09-14 03:28:23 +00:00
Stephane Carrez
a790ad353e
Fix PR gdb/393:
...
* inflow.c (terminal_save_ours): New function to save terminal
settings.
* inferior.h (terminal_save_ours): Declare.
* target.c (debug_to_terminal_save_ours): New function.
(cleanup_target): Defaults to_terminal_save_ours.
(update_current_target): Inherit to_terminal_save_ours.
(setup_target_debug): Set to_terminal_save_ours.
* target.h (target_terminal_save_ours): New to save terminal settings.
(target_ops): New member to_terminal_save_ours.
* gnu-nat.c (init_gnu_ops): Set to_terminal_save_ours.
* hpux-thread.c (init_hpux_thread_ops): Likewise.
* inftarg.c (init_child_ops): Likewise.
* m3-nat.c (init_m3_ops): Likewise.
* procfs.c (init_procfs_ops): Likewise.
* wince.c (init_child_ops): Likewise.
* win32-nat.c (init_child_ops): Likewise.
* sol-thread.c (init_sol_thread_ops): Likewise.
2002-08-26 19:18:33 +00:00
Andrew Cagney
5ae5f59288
Fix some K&R isms.
2002-07-11 13:50:50 +00:00
Andrew Cagney
a6b6b089bd
* wince.c (_initialize_wince): Rename _initialize_inftarg.
...
* win32-nat.c (_initialize_win32_nat): Rename _initialize_inftarg.
2002-07-10 22:38:05 +00:00
Christopher Faylor
349b409f68
* win32-nat.c (child_create_inferior): Check for proper shell to use here, in
...
case the user changes it on the fly.
(_initialize_inftarg): Remove shell path considerations.
2002-03-22 05:03:22 +00:00
Andrew Cagney
5ba2abebe7
* cli/cli-decode.c (set_cmd_completer): New function.
...
* command.h (set_cmd_completer): Declare.
* cli/cli-decode.h (set_cmd_completer): Ditto.
* breakpoint.c (_initialize_breakpoint): Use set_cmd_completer.
* cli/cli-cmds.c (init_cli_cmds): Ditto.
* win32-nat.c (_initialize_inftarg): Ditto.
* remote-rdi.c (_initialize_remote_rdi): Ditto.
* proc-api.c (_initialize_proc_api): Ditto.
* hppa-tdep.c (_initialize_hppa_tdep): Ditto.
* source.c (_initialize_source): Ditto.
* exec.c (_initialize_exec): Ditto.
* solib.c (_initialize_solib): Ditto.
* top.c (init_main): Ditto.
* tracepoint.c (_initialize_tracepoint): Ditto.
* symfile.c (_initialize_symfile): Ditto.
* printcmd.c (_initialize_printcmd): Ditto.
* infcmd.c (_initialize_infcmd): Ditto.
* corefile.c (_initialize_core): Ditto.
2002-03-06 06:28:35 +00:00
Pierre Muller
eeb25b8ac9
2002-02-22 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c (child_create_inferior): Fix create flags setting bug.
2002-02-22 17:04:25 +00:00
Christopher Faylor
6badb179ab
* win32-nat.c (register_loaded_dll): Just use raw name when we can't find the
...
complete path to a loaded DLL.
2002-02-22 01:35:59 +00:00
Christopher Faylor
097f6b0bba
* win32-nat.c (register_loaded_dll): Correctly check for invalid handle value.
2002-02-21 06:44:05 +00:00
Christopher Faylor
c914e0cc47
* win32-nat.c (register_loaded_dll): Handle case where FindFirstFile fails.
2002-02-21 04:59:36 +00:00
Pierre Muller
c1748f97ec
2002-02-18 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c (display_selector): New function. Displays information
about the information returned by GetThreadSelectorEntry API function.
(display_selectors): New function. Displays the infomation of
the selector given as argument, or of CS, DS ans FS selectors
if no argument is given.
( _initialize_inftarg): Add "w32" as info prefix command.
Add "info w32 selector" as command calling display_selectors.
2002-02-19 08:49:42 +00:00
Christopher Faylor
dfe7f3acac
* win32-nat.c (get_image_name): New function.
...
(handle_load_dll): Use get_image_name function.
(get_child_debug_event): Avoid registering debug events until possibly execed
process is started.
(child_create_inferior): Allow invocation via shell so that command line
redirection, etc. works ok.
(_initialize_inftarg): Add new command: "set shell" to control whether a shell
is used to start a process.
2002-02-16 02:33:24 +00:00
Christopher Faylor
b69571f510
* win32-nat.c (cygwin_pid_to_str): Revert 2002-02-08 change xasprintf changes.
...
(_initialize_check_for_gdb_ini): Ditto.
2002-02-08 23:12:16 +00:00
Martin Hunt
f687139811
2002-02-08 Martin M. Hunt <hunt@redhat.com>
...
* win32-nat.c (cygwin_pid_to_str): Fix typo.
xaprintf -> xasprintf.
2002-02-08 21:22:10 +00:00
Pierre Muller
4e52d31c52
2002-02-08 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c: Remove use of printf and sprintf functions.
2002-02-08 19:31:38 +00:00
Pierre Muller
58fa08f090
2002-02-06 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c (_initialize_check_for_gdb_ini):
Add typecast to sprintf argument to suppress a warning.
2002-02-06 09:27:29 +00:00
Pierre Muller
7393af7c90
2002-02-05 Pierre Muller <muller@ics.u-strasbg.fr>
...
win32-nat.c (last_sig): Changed type of variable to target_signal,
to allow easier handling of pass state.
(DEBUG_EXCEPTION_SIMPLE): New macro, used in handle_exception,
that gives exception name and address.
(handle_exception): Use DEBUG_EXCEPTION_SIMPLE macro
and set last_sig value to ourstatus->value.sig. Some missing
exceptions added.
(child_continue): Correctly report continue_status.
(get_child_debug_event,do_initial_child_stuff): Set last_sig to
TARGET_SIGNAL_0 (new default value).
(child_resume): consider sig argument passed to decide if
the exception should be passed to debuggee or not.
2002-02-06 09:14:50 +00:00
Pierre Muller
5b421780f1
2002-02-04 Pierre Muller <muller@ics.u-strasbg.fr>
...
win32-nat.c (handle_exception): Handle Ctrl-Break exception.
2002-02-05 08:04:22 +00:00
Pierre Muller
fa4ba8da6c
2002-02-04 Pierre Muller <muller@ics.u-strasbg.fr>
...
Add support for hardware watchpoints on win32 native.
* win32-nat.c (CONTEXT_DEBUG_DR macro): Add use of
CONTEXT_DEBUG_REGISTERS.
(dr variable): New variable. Static array containing a local copy
of debug registers.
(debug_registers_changed): New variable. Reflects when debug registers
are changed and need to be written to inferior.
(debug_registers_used): New variable. Reflects when any debug register
was set, used when new threads are created.
(cygwin_set_dr, cygwin_set_dr7, cygwin_get_dr6): New functions used by
i386-nat code.
(thread_rec): Set dr array if id is the thread of current_event .
(child_continue, child_resume): Change the debug registers for all
threads if debug_registers_changed.
(child_add_thread): Change the debug registers if debug_registers_used.
* config/i386/cygwin.mh: Add use of i386-nat.o file.
Link nm.h to new nm-cygwin.h file.
+ config/i386/nm-cygwin.h: New file. Contains the macros used for use
of hardware registers.
2002-02-04 11:00:10 +00:00
Andrew Cagney
0a65a603d3
Remove ATTRIBUTE_UNUSED. Update (C).
2002-01-19 03:32:43 +00:00
Pierre Muller
c25b74acfa
2002-01-06 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c: Add i386-tdep.h dependency.
2002-01-08 08:26:42 +00:00
Pierre Muller
441532d7b8
2001-11-30 Pierre Muller <muller@ics.u-strasbg.fr>
...
* win32-nat.c (mappings): Correct position of XMM registers,
based on FXSAVE instruction structure.
2001-12-03 08:19:01 +00:00
Christopher Faylor
3bccec6316
fix white space.
2001-11-27 05:16:39 +00:00
Christopher Faylor
97da3b2016
* config/i386/tm-cygwin.h: Define HAVE_SSE_REGS if
...
HAVE_CONTEXT_EXTENDED_REGISTERS is defined.
* win32-nat.c: Define CONTEXT_DEBUGGER_DR that will also include extended
registers if HAVE_SSE_REGS is defined.
(mappings array): Add offset of extended registers.
(thread_rec): Use new CONTEXT_DEBUGGER_DR macro.
2001-11-27 05:15:58 +00:00
Christopher Faylor
d3ff4a77ad
* win32-nat.c (struct so_stuff): Add objfile *objfile field needed to be able
...
to remove the DLL when unloaded. Remove unused last field.
(handle_unload_dll): New function to handle unloading of DLL.
(solib_symbols_add): Change return type to struct objfile *.
(get_child_debug_event): Call handle_unload_dll function.
2001-11-24 19:00:03 +00:00
Christopher Faylor
2a3d564525
* win32-nat.c (_initialize_check_for_gdb_ini): New function.
...
* config/i386/xm-cygwin.h: Remove obsolete handling of __CYGWIN32__.
(GDBINIT_FILENAME): Remove.
2001-11-24 18:21:27 +00:00
Fred Fish
990f9fe3aa
Approved by kev@cygnus.com
...
ChangeLog entry:
2001-11-01 Fred Fish <fnf@redhat.com>
* coff-solib.c (coff_solib_add): Add new readsyms arg.
* irix5-nat.c (solib_add): Ditto.
* osfsolib.c (solib_add): Ditto.
* pa64solib.c (pa64_solib_add): Ditto.
* pa64solib.c (add_to_solist): Ditto.
* pa64solib.c (read_dld_descriptor): Ditto.
* solib.c (solib_add): Ditto.
* somsolib.c (som_solib_add): Ditto.
* win32-nat.c (child_solib_add): Ditto.
* xcoffsolib.c (solib_add): Ditto.
* coff-solib.h (coff_solib_add): Add new readsyms arg to prototype.
* pa64solib.c (add_to_solist): Ditto.
* pa64solib.c (read_dld_descriptor): Ditto.
* pa64solib.h (pa64_solib_add): Ditto.
* solib.h (solib_add): Ditto.
* somsolib.h (som_solib_add): Ditto.
* config/i386/tm-cygwin.h (child_solib_add): Ditto.
* coff-solib.c (coff_solib_add): If readsyms is zero don't read
symbols but do any other needed work for shared libs.
* irix5-nat.c: Ditto.
* osfsolib.c (solib_add): Ditto.
* solib.c (solib_add): Ditto.
* win32-nat.c (child_solib_add): Ditto.
* xcoffsolib.c (solib_add): Ditto.
* irix5-nat.c (sharedlibrary_command): Pass 1 as readsyms to
solib_add to force reading of shared library symbols.
* osfsolib.c (sharedlibrary_command;): Ditto.
* pa64solib.c (pa64_solib_sharedlibrary_command): Ditto.
* solib.c (sharedlibrary_command): Ditto.
* somsolib.c (som_solib_sharedlibrary_command): Ditto.
* xcoffsolib.c (sharedlibrary_command): Ditto.
* coff-solib.c (coff_solib_create_inferior_hook): Call solib_add
unconditionally with auto_solib_add.
* irix5-nat.c (solib_create_inferior_hook): Ditto.
* osfsolib.c (solib_create_inferior_hook): Ditto.
* solib.c (solib_create_inferior_hook): Ditto.
* solib-osf.c (osf_solib_create_inferior_hook): Ditto.
* solib-svr4.c (enable_break): Ditto.
* solib-sunos.c (sunos_solib_create_inferior_hook): Ditto.
* corelow.c (solib_add_stub): Add auto_solib_add to args passed
via SOLIB_ADD.
* sol-thread.c (sol_thread_attach): Ditto.
* config/rs6000/nm-rs6000.h (SOLIB_ADD): Ditto.
* infcmd.c (attach_command): Remove auto_solib_add decl.
Call SOLIB_ADD directly with auto_solib_add.
* infrun.c (handle_inferior_event): Ditto.
* coff-solib.h (SOLIB_ADD): Add readsyms arg.
* pa64solib.h (SOLIB_ADD): Ditto.
* solib.h (SOLIB_ADD): Ditto.
* somsolib.h (SOLIB_ADD): Ditto.
* config/i386/tm-cygwin.h (SOLIB_ADD): Ditto.
* fork-child.c (clone_and_follow_inferior): Remove unused
auto_solib_add decl.
* pa64solib.c (pa64_solib_add): Call add_to_solist with readsyms.
(read_dld_descriptor): Ditto.
(pa64_solib_add): Call read_dld_descriptor with readsyms.
(pa64_solib_in_dynamic_linker): Ditto.
* corelow.c (symfile.h): Need this for auto_solib_add declaration.
* sol-thread.c (symfile.h): Ditto.
Approved by eliz@is.elta.co.il
doc/ChangeLog entry:
2001-11-01 Fred Fish <fnf@redhat.com>
* gdbint.texinfo (SOLIB_ADD): Document additional new
"readsyms" arg.
2001-11-01 16:17:08 +00:00
Christopher Faylor
3f8ad85b6f
* win32-nat.c (register_loaded_dll): Attempt to ensure that the case of the
...
loaded DLL matches the on-disk case since the debugging API does not seem to
ensure this. Calculate max name length here.
(handle_load_dll): Move max name length calculation to register_loaded_dll.
2001-10-31 19:05:35 +00:00
Fred Fish
c3c057c81f
2001-10-30 Fred Fish <fnf@redhat.com>
...
* somsolib.c (som_solib_add): A megabyte is 1024*1024 bytes.
* pa64solib.c (add_to_solist): Ditto.
* win32-nat.c (_initialize_inftarg): Remove unnecessary
initialization of auto_solib_add, it defaults to 1.
2001-10-30 17:34:30 +00:00