]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
We have a nice little collection of text files describing various high
authorNicholas Nethercote <njn@valgrind.org>
Tue, 19 Jul 2005 21:46:19 +0000 (21:46 +0000)
committerNicholas Nethercote <njn@valgrind.org>
Tue, 19 Jul 2005 21:46:19 +0000 (21:46 +0000)
level things.  But they're all over the place.  This commits moves
them all to the new docs/internals/ directory, and gives them
a consistent naming scheme.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4196

24 files changed:
Makefile.am
NOTES.syscalls [deleted file]
TODO [deleted file]
configure.in
coregrind/Makefile.am
coregrind/m_aspacemgr/Makefile.am
coregrind/m_replacemalloc/Makefile.am
coregrind/m_syswrap/Makefile.am
docs/Makefile.am
docs/README
docs/internals/64-bit-cleanness.txt [moved from docs/64-bit-cleanness with 89% similarity]
docs/internals/directory-structure.txt [moved from docs/directory-structure with 100% similarity]
docs/internals/m_replacemalloc.txt [moved from coregrind/m_replacemalloc/README_REPLACEMALLOC.txt with 100% similarity]
docs/internals/m_syswrap.txt [moved from coregrind/m_syswrap/README_SYSWRAP.txt with 100% similarity]
docs/internals/module-structure.txt [moved from coregrind/README_MODULES.txt with 100% similarity]
docs/internals/notes.txt [moved from NOTES.txt with 100% similarity]
docs/internals/porting-HOWTO.txt [moved from docs/porting-HOWTO with 100% similarity]
docs/internals/porting-to-ARM.txt [moved from docs/porting-to-ARM with 100% similarity]
docs/internals/segments-seginfos.txt [moved from coregrind/m_aspacemgr/README_SEGMENTS with 100% similarity]
docs/internals/threads-syscalls-signals.txt [moved from THREADS_SYSCALLS_SIGNALS.txt with 100% similarity]
docs/internals/tm-mutexstates.dot [moved from docs/tm-mutexstates.dot with 100% similarity]
docs/internals/tm-threadstates.dot [moved from docs/tm-threadstates.dot with 100% similarity]
docs/internals/tracking-fn-entry-exit.txt [moved from coregrind/README_TRACKING_FN_ENTRY_EXIT with 100% similarity]
docs/internals/xml-output.txt [moved from README_XML_OUTPUT.txt with 100% similarity]

index d9e42f89e462fb0b8b664a1193e2b144172e12eb..ce6740af5a0a579644ad493fef40e30e031945f8 100644 (file)
@@ -43,9 +43,8 @@ EXTRA_DIST = \
        ACKNOWLEDGEMENTS \
        README_DEVELOPERS \
        README_PACKAGERS \
-       README_XML_OUTPUT.txt \
        THREADS_SYSCALLS_SIGNALS.txt \
-       README_MISSING_SYSCALL_OR_IOCTL TODO NOTES.txt \
+       README_MISSING_SYSCALL_OR_IOCTL \
        valgrind.spec valgrind.spec.in valgrind.pc.in \
        Makefile.all.am Makefile.tool.am Makefile.core-AM_CPPFLAGS.am \
        Makefile.tool-inplace.am
diff --git a/NOTES.syscalls b/NOTES.syscalls
deleted file mode 100644 (file)
index 86e3231..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-- works on stock 2.4 kernels, but the scheduler loop must poll
-- works on RH9 2.4.20-18.9 kernel, but doesn't seem quite as stable 
-  as 2.5/2.6
-  for pending signals rather than relying on the kernel delivering them
-  to the right place.
-- most tested on 2.6.0-test1 and up
-
-- running job-control programs (ie, bash) under Valgrind won't work
-  properly without a kernel patch (as of 2.6.0-test2-mm2).  This is because
-  threads in a thread group don't follow the thread group leader's changes
-  in process group ID, and they can't change it for themselves.
-
-- SA_NOCLDWAIT doesn't work properly if the program is actually blocked
-  in wait4() when SIGCHLD arrives; the wait4() will return details for
-  the exiting child.  In other circumstances children should be quietly reaped.
-  [ This may be fixable when running under RH2.4 and 2.6, since we can
-    set NOCLDWAIT in the kernel's state without risk of losing our child
-    threads. ]
-
-- 2.4 has somewhat disfunctional thread/signal interactions, so many test
-  do not work as well under 2.4.  In general, it should be no worse than
-  the old signal code.  I don't intend spending a lot of time fixing this
-  because 2.6 is nearly ready for widespread use.
-
-TODO:
-
-- support application use of clone().  Interesting question is which
-  options do we support?  Do we need to implement futex as well, or can
-  we just use the kernel's implementation?
-
-========================================
-Testing
-
-I've been testing with the Posix test suite:
-http://sourceforge.net/projects/posixtest/, version 1.2.0.  
-
-----------------------------------------
-Expected failures:
-
-conformance/interfaces/sigwaitinfo/6-1.test
-       pthread_kill() calls the tkill syscall, which causes a code of
-       SI_TKILL rather than the SI_USER which this test expects.
-
-conformance/interfaces/sigrelse/3-*.test
-       glibc bug in sigrelse(), which fails without Valgrind too.
-
-conformance/interfaces/pthread_barrier_*/*
-       Valgrind's libpthreads doesn't implement pthread_barrier_*.
-       (There are some passes, but I don't know why.)
-
-conformance/interfaces/pthread_cond_timedwait/2-3
-       This test is just completely broken.  It does expose a problem
-       in Valgrind's mutex implementation - it is too dependent on
-       the client code not doing stupid stuff.  This test makes
-       Valgrind have an assertion failure.
-
-conformance/interfaces/pthread_condattr_getpshared/*
-       pthread_condattr_getpshared not implemented
-
-conformance/interfaces/pthread_condattr_setpshared/*
-       pthread_condattr_setpshared not implemented
-
-conformance/interfaces/pthread_key_create/speculative/5-1
-       Valgrind should cope with key overload
-
-conformance/interfaces/pthread_mutex_timedlock/*
-       not implemented
-
-conformance/interfaces/pthread_rwlock_rdlock/2-1:
-       relies on pthread_setschedparam
-
-conformance/interfaces/pthread_rwlock_timedrdlock/*
-       valgrind's libpthread.so: UNIMPLEMENTED FUNCTION: pthread_rwlock_timedrdlock
-
-conformance/interfaces/pthread_rwlockattr_getpshared/*
-       pthread_rwlockattr_getpshared not implemented
-
-conformance/interfaces/pthread_rwlockattr_setpshared/*
-       pthread_rwlockattr_setpshared not implemented
-
-conformance/interfaces/sched_rr_get_interval/*
-       syscall 161 (sched_rr_get_interval) not implemented
-
-conformance/interfaces/sigaction/21-1
-       Subtle problem: if app specifies SA_NOCLDWAIT on their SIGCHLD
-       signal handler, Valgrind will attempt to catch the SIGCHLD and
-       wait4() on all the children before returning to the app.
-       However, if the app was running a wait4() at the time the
-       SIGCHLD arrives, it will get the child's status.  Quite what
-       the app is doing running wait4() when it explicitly asked for
-       it to be useless, I'm not sure...
-
-conformance/interfaces/sigaction/17-{3,6,8,12}
-       (2.4) These fail under 2.4 because they deal with SIGSEGV, SIGBUS
-       and SIGILL.  These signals can only be delivered if there's a
-       thread immediately ready to handle them, but cannot be left
-       pending indefinitely.  These tests hang forever because the
-       signal is discarded rather than delivered.
-
-conformance/interfaces/sigqueue/{1,4,8}-1
-       (2.4) Signals that we route manually do not have queued data
-       associated with them - they are routed with tkill.  Also
-       pending signals are only kept in a mask, not in a queue, so
-       there can only be one at a time.
-
-----------------------------------------
-
-Still to investigate:
-
-conformance/interfaces/pthread_detach/4-1
-
-+conformance/interfaces/pthread_rwlock_rdlock/4-1: execution: FAILED: Output:
-+main: attempt write lock
-+main: acquired write lock
-+sig_thread: attemp read lock
-+main: fire SIGUSR1 to sig_thread
-+SIGUSR1 was not caught by sig_thread
-
-
-+conformance/interfaces/pthread_rwlock_unlock/4-1: execution: FAILED: Output:
-+Test FAILED: Incorrect error code, expected 0 or EINVAL, got 1
-
-+conformance/interfaces/pthread_rwlock_wrlock/2-1: execution: FAILED: Output:
-+main: attempt write lock
-+sig_thread: attempt write lock
-+main: fire SIGUSR1 to sig_thread
-+The signal handler did not get called.
-
-+conformance/interfaces/pthread_rwlock_wrlock/3-1: execution: FAILED: Output:
-+
-+sched status:
-+
-+Thread 1: status = WaitCV, associated_mx = 0x40115910, associated_cv = 0x401158E0
-+==11243==    at 0x40102962: pthread_cond_wait (vg_libpthread.c:1093)
-+==11243==    by 0x40104976: __pthread_rwlock_wrlock (vg_libpthread.c:2619)
-+==11243==    by 0x8048588: main (3-1.c:53)
-+==11243==    by 0x4013DA46: __libc_start_main (in /lib/libc-2.3.2.so)
-+
-+==11243== Warning: pthread scheduler exited due to deadlock
-+
-+valgrind: vg_main.c:1619 (vgPlain_main): Assertion `vgPlain_threads[vgPlain_last_run_tid].status == VgTs_Runnable' failed.
-+
-+sched status:
-+
-+Thread 1: status = WaitCV, associated_mx = 0x40115910, associated_cv = 0x401158E0
-+==11243==    at 0x40102962: pthread_cond_wait (vg_libpthread.c:1093)
-+==11243==    by 0x40104976: __pthread_rwlock_wrlock (vg_libpthread.c:2619)
-+==11243==    by 0x8048588: main (3-1.c:53)
-+==11243==    by 0x4013DA46: __libc_start_main (in /lib/libc-2.3.2.so)
-
-
-+conformance/interfaces/sem_close/1-1.test:
-/home/jeremy/bk/valgrind/syscalls/coregrind/.in_place/libpthread.so.0:
-version `GLIBC_2.1.1' not found (required by
-conformance/interfaces/sem_close/1-1.test)
-
-+conformance/interfaces/sem_timedwait/6-1: execution: FAILED: Output:
-+TEST FAILED
-+conformance/interfaces/sem_timedwait/6-2: execution: FAILED: Output:
-+TEST FAILED
-
-+conformance/interfaces/sem_timedwait/9-1: execution: FAILED: Output:
-+In handler
-+TEST FAILED: errno != EINTR
-
-
-conformance/interfaces/sigaction/10-1: 
-       Used to work.  Mysterious.  Works everywhere except in the test harness...
-
-
-+conformance/interfaces/sigpause/1-2: execution: FAILED: Output:
-+
-+valgrind: vg_mylibc.c:1324 (vgPlain_read_millisecond_timer): Assertion `rdtsc_now > rdtsc_cal_end_raw' failed.
-+
-+sched status:
-+
-+Thread 1: status = Sleeping, associated_mx = 0x0, associated_cv = 0x0
-+==19929==    at 0x401D6765: __GI___libc_nanosleep (in /lib/libc-2.3.2.so)
-+==19929==    by 0x80485C1: main (1-2.c:65)
-+==19929==    by 0x4013DA46: __libc_start_main (in /lib/libc-2.3.2.so)
-+==19929==    by 0x8048494: ??? (start.S:81)
-+
-+Thread 2: status = WaitSys, associated_mx = 0x0, associated_cv = 0x0
-+==19929==    at 0x40150796: __libc_sigsuspend (in /lib/libc-2.3.2.so)
-+==19929==    by 0x401509B3: __GI___sigpause (in /lib/libc-2.3.2.so)
-+==19929==    by 0x804857C: a_thread_func (1-2.c:48)
-+==19929==    by 0x40102099: thread_wrapper (vg_libpthread.c:667)
-
-
-
-----------------------------------------
-
-Fixes:
-conformance/interfaces/pthread_detach/4-2
-       This fails under NPTL, but passes under Valgrind
diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index 738e509..0000000
--- a/TODO
+++ /dev/null
@@ -1,15 +0,0 @@
-
-Doesn't run
-~~~~~~~~~~~
-User Mode Linux.
-Wine.
-
-
-Desirable
-~~~~~~~~~
-Stack: make return address into NoAccess ?
-
-
-Future
-~~~~~~
-Automatic invariant inference and checking.
index 46acbb0734735f0bd9d29e493ee560d4682eafcd..e2d4b1aee25ac0e7f047e07673e16eb13f0150f2 100644 (file)
@@ -455,6 +455,7 @@ AC_OUTPUT(
    docs/Makefile 
    docs/lib/Makefile
    docs/images/Makefile
+   docs/internals/Makefile
    docs/xml/Makefile
    tests/Makefile 
    tests/vg_regtest 
index d58cd2d098cc2ff22d236a65b9de2663c9a5cda2..978e8bb6651567e7f648cc33306828eb1a670827 100644 (file)
@@ -80,10 +80,6 @@ noinst_HEADERS = \
        vki_unistd-ppc32-linux.h\
        vki_unistd-x86-linux.h
 
-EXTRA_DIST = \
-       README_MODULES.txt \
-       README_TRACKING_FN_ENTRY_EXIT
-
 BUILT_SOURCES = stage2.lds
 CLEANFILES = stage2.lds
        
index c2685f591002ac301050ce5935ed0c6d1e7ff9e0..c9ea0cc8050e6c915818e4df9f38043552d84ba9 100644 (file)
@@ -1,8 +1,6 @@
 include $(top_srcdir)/Makefile.all.am
 include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
 
-EXTRA_DIST = README_SEGMENTS
-
 noinst_LIBRARIES = libaspacemgr.a
 
 libaspacemgr_a_SOURCES = \
index 4e1942d1b7b5af7f1bc3d56b1d3bcfed95bbe830..0fcccb2046d76833bfe022e2febbd8c0d4a259df 100644 (file)
@@ -1,9 +1,6 @@
 include $(top_srcdir)/Makefile.all.am
 include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
 
-EXTRA_DIST = \
-       README_REPLACEMALLOC.txt
-
 noinst_LIBRARIES = \
        libreplacemalloc_core.a \
        libreplacemalloc_toolpreload.a
index d380e93b6f0dc1783c2249a3b493de1278a5cc29..a08df24c05b0f5dbb9a447499f6dd1c3a213ca2e 100644 (file)
@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
 
 # Remember to include all the OS/platform-specific files in the distribution.
 EXTRA_DIST = \
-       README_SYSWRAP.txt \
        $(addsuffix .S,$(addprefix syscall-,$(VG_PLATFORM_ALL))) \
        $(addsuffix .c,$(addprefix syswrap-,$(VG_OS_ALL))) \
        $(addsuffix .c,$(addprefix syswrap-,$(VG_PLATFORM_ALL)))
index bf55b6d48803b8ccc953217b775c7f55c8c493e4..e266b30d1a0b0cd5fcfd28724c032b04c90f0bef 100644 (file)
@@ -1,11 +1,6 @@
-SUBDIRS = xml lib images
+SUBDIRS = xml lib images internals
 
-EXTRA_DIST = \
-       64-bit-cleanness \
-       directory-structure \
-       README \
-       porting-HOWTO porting-to-ARM \
-       tm-mutexstates.dot tm-threadstates.dot
+EXTRA_DIST = README
 
 dist_man_MANS = valgrind.1
 
index 250aa5ccd2ebe6d3af2807dfccd7cb2cbb37a2bc..57cafd3c02fe3bd65c2165528f412a537ff45ed1 100644 (file)
@@ -26,6 +26,8 @@ Some files of note:
   docs/xml/vg-entities.xml: Various strings, dates etc. used all over
   docs/xml/xml_help.txt:    Basic guide to common XML tags.
 
+The docs/internals directory contains some useful high-level stuff about
+Valgrind's internals.  It's not relevant for the rest of this discussion.
 
 Overview
 ---------
similarity index 89%
rename from docs/64-bit-cleanness
rename to docs/internals/64-bit-cleanness.txt
index 45d4241f9b82a1bd3fe22c603ee215c551c17783..f0a3013833d25d247babcab84c94a64720e42371 100644 (file)
@@ -1,6 +1,12 @@
 -----------------------------------------------------------------------------
 64-bit cleanness
 -----------------------------------------------------------------------------
+
+[19-Jul-2005:  I assume most of these are gone, now that AMD64 is working
+pretty well.  The Addrcheck and Helgrind ones are probably still true,
+though.  --njn]
+
+
 The following are places I know or suspect contain code that is not 64-bit
 clean.  Please mark them off this list as they are fixed, and add any new ones
 you know of.
similarity index 100%
rename from NOTES.txt
rename to docs/internals/notes.txt