Jakub Jelinek
66f1b195f6
gcc.c (process_command): Update copyright notice dates.
...
gcc/
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
gcc/java/
* jcf-dump.c (version): Update copyright notice dates.
libmudflap/
* mf-runtime.c (__mf_usage): Update copyright notice dates.
libjava/
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
libjava/classpath/
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r182773
2012-01-01 20:09:46 +01:00
Rainer Orth
891a2e4259
re PR libmudflap/49550 (Many libmudflap tests fail on Solaris 11/x86)
...
gcc:
PR libmudflap/49550
* gcc.c (MFWRAP_SPEC): Also wrap mmap64.
libmudflap:
PR libmudflap/49550
* mf-runtime.c (__wrap_main) [__sun__ && __svr4__]: Don't register
stdin, stdout, stderr.
Register __ctype, __ctype_mask.
* configure.ac: Check for mmap64.
Check for rawmemchr, stpcpy, mempcpy.
* configure: Regenerate.
* config.h.in: Regenerate.
* mf-hooks1.c [HAVE_MMAP64] (__mf_0fn_mmap64): New function.
(mmap64): New wrapper function.
* mf-impl.h (__mf_dynamic_index) [HAVE_MMAP64]: Add dyn_mmap64.
* mf-runtime.c (__mf_dynamic) [HAVE_MMAP64]: Handle mmap64.
* mf-hooks2.c [HAVE_GETMNTENT && HAVE_SYS_MNTTAB_H]: Implement
getmntent wrapper.
* mf-hooks3.c (_REENTRANT): Define.
* testsuite/libmudflap.c/heap-scalestress.c (SCALE): Reduce to 10000.
* testsuite/libmudflap.c/pass-stratcliff.c: Include ../config.h.
(MIN): Define.
Use HAVE_RAWMEMCHR, HAVE_STPCPY, HAVE_MEMPCPY as guards.
* testsuite/libmudflap.c/pass47-frag.c: Expect __ctype warning on
*-*-solaris2.*.
From-SVN: r175961
2011-07-07 10:14:02 +00:00
Jakub Jelinek
9f8e43c012
gcc.c (process_command): Update copyright notice dates.
...
gcc/
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
gcc/java/
* jcf-dump.c (version): Update copyright notice dates.
libmudflap/
* mf-runtime.c (__mf_usage): Update copyright notice dates.
libjava/
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
libjava/classpath/
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r168432
2011-01-03 17:14:57 +01:00
Jakub Jelinek
bd5c3aa596
gcc.c (process_command): Update copyright notice dates.
...
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* jcf-dump.c (version): Update copyright notice dates.
* mf-runtime.c (__mf_usage): Update copyright notice dates.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r155749
2010-01-09 01:00:42 +01:00
Frank Ch. Eigler
5d0001f015
re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid)
...
2009-09-22 Frank Ch. Eigler <fche@redhat.com>
PR libmudflap/41433
* mf-runtime.c (__mf_init): Ignore $MUDFLAP_OPTIONS if
running setuid or setgid.
From-SVN: r152026
2009-09-22 16:17:50 +00:00
Loren J. Rittle
f05816a5ee
mf-runtime.c (__mf_init): Support FreeBSD.
...
2009-09-01 Loren J. Rittle <ljrittle@acm.org>
* mf-runtime.c (__mf_init): Support FreeBSD.
Prime mutex which calls calloc upon first lock to avoid deadlock.
* mf-hooks1.c (__mf_0fn_mmap): Support FreeBSD.
Ignore red zone allocation request for initial thread's stack.
From-SVN: r151278
2009-09-01 18:13:18 +00:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Jakub Jelinek
d4f4bc84b0
gcc.c (process_command): Update copyright notice dates.
...
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* jcf-dump.c (version): Update copyright notice dates.
* mf-runtime.c (__mf_usage): Update copyright notice dates.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r143907
2009-02-03 21:48:23 +01:00
Jie Zhang
5cf9cc965f
mf-impl.h (__mf_get_state, [...]): Don't use __thread when TLS support is emulated.
...
libmudflap/
* mf-impl.h (__mf_get_state, __mf_set_state): Don't use
__thread when TLS support is emulated.
* mf-hooks3.c (__mf_get_state, __mf_set_state): Likewise.
* mf-runtime.c (__mf_state_1): Likewise.
* configure.ac: Use GCC_CHECK_EMUTLS.
* configure: Regenerate.
* config.h.in: Regenerate.
config/
* tls.m4 (GCC_CHECK_EMUTLS): Define.
From-SVN: r143583
2009-01-23 04:58:03 +00:00
Jakub Jelinek
0e5997c0ff
re PR driver/35420 (--version copyright date vs. 2008)
...
PR driver/35420
* gcc.c (process_command): Update copyright notice dates.
* gcov.c (print_version): Likewise.
* gcov-dump.c (print_version): Likewise.
* mips-tfile.c (main): Likewise.
* mips-tdump.c (main): Likewise.
* jcf-dump.c (version): Update copyright notice dates.
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* mf-runtime.c (__mf_usage): Update copyright notice dates.
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
* gnu/java/rmi/registry/RegistryImpl.java (version): Update
copyright notice dates.
* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
From-SVN: r132823
2008-03-02 23:50:02 +01:00
Frank Ch. Eigler
3b088eb09a
2007-05-31 Frank Ch. Eigler <fche@redhat.com>
...
From Andi Kleen <ak@suse.de>:
* mf-runtime.c (options): Rename structure for compatibility with
glibc getopt_long.
From-SVN: r125237
2007-05-31 20:04:53 +00:00
Frank Ch. Eigler
841745310d
2006-11-06 Frank Ch. Eigler <fche@redhat.com>
...
From Herman ten Brugge <hermantenbrugge@home.nl>:
* mf-runtime.c (__mf_uncache_object): Optimize the code so that
small and large objects are handled a lot faster.
From-SVN: r118526
2006-11-06 20:04:14 +00:00
Frank Ch. Eigler
a548d7b753
configure.ac (__libc_freeres): Look for it.
...
2006-11-06 Frank Ch. Eigler <fche@redhat.com>
* configure.ac (__libc_freeres): Look for it.
* mf-impl.h (call_libc_freeres): New configuration flag.
* mf-runtime.c (__mf_set_default_options): Set it by default.
(__mfu_report): Call it if needed.
(__mfu_unregister): Remove "unaccessed registered object" warning.
* configure, config.h.in: Regenerated.
From-SVN: r118523
2006-11-06 18:02:13 +00:00
Kelley Cook
f9d09c4359
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103197
2005-08-17 03:21:42 +00:00
Ulrich Weigand
22f99b8212
mf-runtime.c (__mf_state_1): Initialize to reentrant.
...
* mf-runtime.c (__mf_state_1): Initialize to reentrant.
(__mf_init): Set thread state active.
* mf-hooks3.c (__mf_pthread_spawner): Always set thread
state active.
(pthread_create wrapper): Always use thread spawner.
* testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
* testsuite/libmudflap.cth/pass39-frag.c: Likewise.
From-SVN: r103084
2005-08-14 19:38:34 +00:00
Richard Henderson
7544a87f13
gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
...
* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
* acinclude.m4: New file.
* configure.ac: Invoke LIBMUDFLAP_CHECK_TLS.
* configure, config.h.in, Makefile.in, testsuite/Makefile.in: Rebuild.
* mf-hooks1.c (__mf_0fn_malloc): Move body from ...
(__mf_0fn_calloc): ... here.
* mf-hooks3.c (struct pthread_info): Remove.
(__mf_pthread_info, __mf_pthread_info_idx): Remove.
(LIBMUDFLAPTH_THREADS_MAX): Set to 1021.
(struct mf_thread_data): New.
(mf_thread_data, mf_thread_data_lock): New.
(__mf_allocate_blank_threadinfo): Remove.
(__mf_find_threadinfo): Rewrite and simplify. Only use if TLS is
not available.
(__mf_state_perthread): Remove.
(__mf_get_state, __mf_set_state): New.
(__mf_pthread_cleanup): Use &errno, rather than saved pointer.
Update mf_thread_data killing procedure.
(__mf_pthread_spawner): Similarly.
(__mf_0fn_pthread_create): Only use wrapper if necessary. Remove
code to allocate thread stack space.
(__mf_0fn_pthread_join, pthread_join): Remove.
(__mf_0fn_pthread_exit, pthread_exit): Remove.
* mf-impl.h (dyn_pthread_join, dyn_pthread_exit): Remove.
(__mf_state_1): Rename from __mf_state; use TLS when available.
(__mf_get_state, __mf_set_state): New. Update all users.
* mf-runtime.c (begin_recursion_protect1): New.
(BEGIN_RECURSION_PROTECT): Use it.
(__mf_state_1): Rename from __mf_state; use TLS when available.
(threads_active_p): Remove.
(__mf_usage): Compute it directly.
From-SVN: r102108
2005-07-16 19:29:00 -07:00
Frank Ch. Eigler
e1f4adc93b
Fix for uncaching bug reported by Herman ten Brugge.
...
2005-06-15 Frank Ch. Eigler <fche@redhat.com>
Fix for uncaching bug reported by Herman ten Brugge.
* mf-runtime.c (__mf_uncache_object): Search whole cache.
* testsuite/libmudflap.c/fail40-frag.c: New test.
From-SVN: r100985
2005-06-15 16:15:40 +00:00
Alan Modra
58dc8547f2
* mf-runtime.c (__mfu_unregister): Warning fix for char unsigned.
...
From-SVN: r97532
2005-04-04 19:39:46 +09:30
Mike Stump
fb925a5148
mf-heuristics.c: Fix whitespace at end of line.
...
* mf-heuristics.c: Fix whitespace at end of line.
* mf-hooks1.c: Likewise.
* mf-hooks2.c: Likewise.
* mf-hooks3.c: Likewise.
* mf-impl.h: Likewise.
* mf-runtime.c: Likewise.
* mf-runtime.h: Likewise.
From-SVN: r96850
2005-03-22 02:14:33 +00:00
Frank Ch. Eigler
0ee4e76d11
mf-runtime.c (__mfu_check): Respect ignore_reads configuration.
...
2005-03-17 Frank Ch. Eigler <fche@redhat.com>
* mf-runtime.c (__mfu_check): Respect ignore_reads configuration.
* testsuite/libmudflap.c/{pass56,fail39}-frag.c: New tests.
From-SVN: r96620
2005-03-17 17:20:49 +00:00
Frank Ch. Eigler
ddfabf89bb
configure.ac: Check for more headers, functions.
...
2004-10-12 Frank Ch. Eigler <fche@redhat.com>
* configure.ac: Check for more headers, functions.
* mf-hooks2.c (mkbuffer, unmkbuffer): New helper functions for
tracking overridden FILE buffers.
(fopen, setvbuf): New/revised hook functions for buffer overriding.
(setbuf,setlinebuf,fdopen,freopen,fopen64,freopen64,fclose): Ditto.
(fflush): Accept given NULL stream (means "all streams").
* mf-runtime.h.in:
* mf-runtime.c (__mfu_check): Accept accesses that span adjacent
HEAP/GUESS objects.
(LOOKUP_CACHE_SIZE_MAX): Raise to 64K entries tentatively.
(__mf_adapt_cache): Use them all.
* testsuite/libmudflap.c/pass35-frag.c: Update warning message.
* testsuite/libmudflap.c++/ctors.exp: Ditto.
* testsuite/libmudflap.c/{pass51,pass52}-frag.c: New tests.
* configure, config.h.in: Regenerated.
From-SVN: r88996
2004-10-13 18:27:16 +00:00
Frank Ch. Eigler
07c2f075fc
configure.ac: Look for more headers & functions.
...
2004-10-04 Frank Ch. Eigler <fche@redhat.com>
* configure.ac: Look for more headers & functions.
* mf-hooks2.c (getmntent, inet_ntoa, getproto*): New wrapper functions.
* mf-runtime.h.in: Add new "#pragma redefine_extname"s for them.
* mf-runtime.c (options): Clean up integer signedness warnings.
(main): Add a declaration to fix a warning.
* mf-hooks3.c (pthread_exit): Add not-reached exit() to wrapper.
* configure, config.h.in: Regenerated.
From-SVN: r88517
2004-10-04 17:33:54 +00:00
Frank Ch. Eigler
66a5d3b1c1
configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
...
2004-09-07 Frank Ch. Eigler <fche@redhat.com>
* configure.ac: Look for pwd.h, grp.h, netdb.h headers and functions.
* mf-hooks2.c (strerror): Unregister previous string returned by
previous strerror.
(getlogin,cuserid,getpwnam,getpwuid,getgrnam,getgrgid): New wrappers.
(getservent,getservbyname,getservbyport,gai_strerror): Ditto.
* mf-runtime.h.in: Add redefine_extname pragmas for them all.
* mf-runtime.c (__mf_describe_object): Clarify object life status.
* testsuite/libmudflap.c/pass48-frag.c, pass49-frag.c, fail32-frag.c:
New tests.
* configure, config.h.in: Regenerated.
From-SVN: r87160
2004-09-07 21:52:52 +00:00
Dale Johannesen
029277b7c7
mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin.
...
2004-08-03 Dale Johannesen <dalej@apple.com>
* mf-runtime.c: Conditionalize POSIX_SOURCE for Darwin.
From-SVN: r85478
2004-08-03 14:19:26 +00:00
Frank Ch. Eigler
73c3d5687f
mf-runtime.c (compare_uintptr_t): Remove function.
...
2004-08-03 Frank Ch. Eigler <fche@redhat.com>
* mf-runtime.c (compare_uintptr_t): Remove function. Inline
simplified contents in all former callers.
From-SVN: r85475
2004-08-03 13:40:21 +00:00
Ulrich Weigand
6687a26359
mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in the statically linked case.
...
2004-07-27 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* mf-runtime.c (__mf_fini): Set mudflap_mode to mode_nop in
the statically linked case.
From-SVN: r85229
2004-07-27 19:41:20 +00:00
Frank Ch. Eigler
fc5515a8a0
splay-tree.[ch]: Remove.
...
2004-07-27 Frank Ch. Eigler <fche@redhat.com>
* splay-tree.[ch]: Remove. Merge contents into ...
* mf-runtime.c: ... here, renaming symbols and making all functions
static. Remove unused min/max functions.
* Makefile.am: Forget about splay-tree.[ch].
* Makefile.in, testsuite/Makefile.in: Regenerated.
From-SVN: r85224
2004-07-27 18:03:18 +00:00
Frank Ch. Eigler
54419590e8
mf-runtime.c (__mfu_check): Remove mistaken mode-nop handling.
...
2004-07-21 Frank Ch. Eigler <fche@redhat.com>
* mf-runtime.c (__mfu_check): Remove mistaken mode-nop
handling.
(__mfu_usage): Include (C) 2004.
* mf-hooks3.c (__mf_find_threadinfo): Don't call tracing functions
here. Include a comment explaining why.
From-SVN: r85014
2004-07-21 18:50:14 +00:00
Frank Ch. Eigler
a082fc7afc
mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
...
2004-07-20 Frank Ch. Eigler <fche@redhat.com>
* mf-impl.h (__mf_options): Add ignore_reads and timestamps fields.
* mf-runtime.c (options): Give them a name.
(__mf_set_default_options): Set them.
(__mf_insert_new_object, __mfu_unregister): Optionalize timestamps.
(__mf_violation): Warning cleanup.
* mf-impl.h (MF_VALIDATE_EXTENT): Support ignore_reads option.
* splay-tree.c (splay_tree_delete_helper): Remove obsolete decl.
From-SVN: r84971
2004-07-20 20:00:56 +00:00
Frank Ch. Eigler
429b4470bd
* Fix for g++/15861
...
2004-07-15 Frank Ch. Eigler <fche@redhat.com>
g++/15861
* mf-runtime.c (__mf_init): Make it non-static. Tolerate
repeated invocation.
From-SVN: r84761
2004-07-15 17:33:23 +00:00
Frank Ch. Eigler
dfdf6a9440
[multiple changes]
...
2004-06-29 Frank Ch. Eigler <fche@redhat.com>
Splay tree implementation fork.
* splay-tree.c, splay-tree.h: Copied & modified from libiberty.
Use hard-coded comparison function for uintptr_t. Remove key/value
deallocation logic. Cache last splayed key for consecutive lookups.
* Makefile.am, Makefile.in: Use them, don't link to them.
* mf-runtime.c (__mf_object_tree): Adapt to simpler splay_tree_new.
(__mf_find_objects2): Flip successor/predecessor search sequence.
* ansidecl.h, libiberty.h: Removed dummy files.
2004-06-29 Nick Clifton <nickc@redhat.com>
From-SVN: r83879
2004-06-29 22:30:53 +00:00
Nick Clifton
35a1e17e48
(pthread_join): Only apply the weak pragma if the function actually exists.
...
From-SVN: r83847
2004-06-29 09:53:50 +00:00
Frank Ch. Eigler
cfbd22d765
Adopt splay trees for object database.
...
2004-06-24 Frank Ch. Eigler <fche@redhat.com>
Adopt splay trees for object database.
* Makefile.am: Copy splay-tree.* from libiberty.
* Makefile.in, testsuite/Makefile.in: Regenerated.
* mf-runtime.h.in (__mf_unregister): Add third parameter (type).
* mf-hooks[123].c (*): Add new third parameter to mf_unregister.
* mf-impl.h (BEGIN_PROTECT): Remove some trace text.
* mf-runtime.c: Rewrite code dealing with object database to use
libiberty splay trees. Remove tree liveness aging option.
* testsuite/libmudflap.c/fail18-frag.c: Add volatile flag.
From-SVN: r83611
2004-06-24 21:12:18 +00:00
Frank Ch. Eigler
dc88d66f1a
ctype support.
...
2004-06-09 Frank Ch. Eigler <fche@redhat.com>
ctype support.
* configure.in: Look for ctype header and glibc implementation.
* mf-hooks2.c (__ctype_{b,toupper,tolower}_loc): Sample ctype
array hooks for glibc 2.3.
* mf-runtime.h.in: Wrap them.
* mf-runtime.c (__mf_init): Leave marker regarding other ctype
implementations.
* testsuite/libmudflap.c/pass47-frag.c: New test.
* configure, config.h.in: Regenerated.
From-SVN: r82848
2004-06-09 19:04:56 +00:00
Frank Ch. Eigler
7954e85c00
Portability improvements, e.g., libmudflap/15293.
...
2004-06-04 Frank Ch. Eigler <fche@redhat.com>
Portability improvements, e.g., libmudflap/15293.
* configure.in: Look for glibc extension functions. Look for
support of -f{function,data}-sections. Look for more headers.
Create testsuite/mfconfig.exp. Correct more "test x.." thinkos.
* Makefile.am: Use $(SECTION_FLAGS). Collapse piecemeal-compiled
mf-hooks* into usual single object per source.
* mf-hooks*.c: Remove all #if WRAP_foo conditionals.
* mf-hooks2.c: #include a bunch more system headers. Define strnlen
if system doesn't provide one.
* mf-hooks3.c (struct pthread_info): Add stack_*_alloc fields.
(pthread_create): Use it to properly GC dead thread stacks.
* mf-runtime.c (__mf_violation): Correct snprintf type warning.
* testsuite/Makefile.am: Stop generating site.exp.
* testsuite/mfconfig.exp.in: New file.
* testsuite/config/default.exp: Load new mfconfig.exp.
* testsuite/lib/libmudflap.exp (libmudflap-init): Add extra libraries.
(prune_gcc_output): Add glibc static linking warnings.
* testsuite/libmudflap.*/*frags.exp: Enumerate needed -lmudflap* libs.
* testsuite/libmudflap.c/pass46-frag.c: Ditto.
* configure, Makefile, aclocal.m4, config.h.in, testsuite/Makefile.in:
Regenerated with autoconf 2.57 and automake 1.7.
From-SVN: r82632
2004-06-04 20:12:01 +00:00
Per Bothner
b9d71ce3e4
configure.in (LIBMUDFLAPTH): Fix thinko.
...
* configure.in (LIBMUDFLAPTH): Fix thinko.
* configure.in: Check for more headers.
* mf-hooks2.c: Conditionalize on HAVE_SYS_SOCKET_H etc.
* mf-runtime.c: In two places conditionalize on SIUSR1 rather than
HAVE_SIGNAL as mingw has signal.h but not SIUSR1.
From-SVN: r82627
2004-06-04 10:20:22 -07:00
Frank Ch. Eigler
9193542205
libmudflap.exp (libmudflap-init): For C++ test cases only...
...
2004-05-17 Frank Ch. Eigler <fche@redhat.com>
* lib/libmudflap.exp (libmudflap-init): For C++ test cases only,
import some build settings from libstdc++-v3 testsuite_flags.
* .../cfrags.exp, .../c++frags.exp, .../cthfrags.exp: Corresponding
changes to pass test language.
* mf-runtime.c (__mfu_check): Poison the cache with antidote for
quicker mode-nop handling.
From-SVN: r81944
2004-05-17 20:34:19 +00:00
Diego Novillo
6de9cd9a88
Merge tree-ssa-20020619-branch into mainline.
...
From-SVN: r81764
2004-05-13 02:41:07 -04:00