]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Changed exp-drd tool name into drd.
authorBart Van Assche <bvanassche@acm.org>
Fri, 4 Jul 2008 15:34:23 +0000 (15:34 +0000)
committerBart Van Assche <bvanassche@acm.org>
Fri, 4 Jul 2008 15:34:23 +0000 (15:34 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8362

coregrind/m_redir.c
drd/TODO.txt
drd/Testing.txt
drd/docs/drd-manual.xml
drd/drd_main.c
drd/scripts/run-matinv
drd/scripts/run-splash2
drd/tests/filter_stderr
glibc-2.X-drd.supp

index 959fecdef8cf51cbdc7ddf532fb173876502dc82..cd16a567578d7c743a3097cd104e033067f70a99 100644 (file)
@@ -904,9 +904,9 @@ void VG_(redir_initialise) ( void )
          NULL /* not mandatory - so why bother at all? */
          /* glibc-2.6.1 (openSUSE 10.3, ppc32) seems fine without it */
       );
-   } else if (0 == VG_(strcmp)("exp-drd", VG_(details).name)) {
+   } else if (0 == VG_(strcmp)("drd", VG_(details).name)) {
       /* Only continue if symbol information in ld.so.1 is present,   */
-      /* because otherwise exp-drd's suppression patterns on ld.so do */
+      /* because otherwise drd's suppression patterns on ld.so do     */
       /* not have any effect.                                         */
       add_hardwired_spec(
          "ld.so.1", "strlen",
@@ -939,9 +939,9 @@ void VG_(redir_initialise) ( void )
          /* glibc-2.5 (FC6, ppc64) seems fine without it */
       );
 
-   } else if (0 == VG_(strcmp)("exp-drd", VG_(details).name)) {
+   } else if (0 == VG_(strcmp)("drd", VG_(details).name)) {
       /* Only continue if symbol information in ld64.so.1 is present, */
-      /* because otherwise exp-drd's suppression patterns on ld.so do */
+      /* because otherwise drd's suppression patterns on ld.so do     */
       /* not have any effect.                                         */
       add_hardwired_spec(
          "ld64.so.1", "strlen",
index 70a443df72d296938975e14badd00550e55213c7..b3fc34efb672e16572d8fb4e0c090a1d1930d822 100644 (file)
@@ -4,7 +4,6 @@ Last updated July 1, 2008.
 
 Data-race detection algorithm
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Propose to rename exp-drd back to drd.
 - Memory pool support.
 - Find out why DRD reports an error on the POSIX implementation of libgomp.so.
 - Add locking order checking. Start from the following information:
index fc6efdcc9bb25aec75d10f200037261a82bfb83b..90a21653087d8717b2b6e44ac0ac9062aec99469 100644 (file)
@@ -3,21 +3,21 @@ How to test DRD
 
 1. Run the regression tests. After having compiled DRD, run the following
    command:
-     perl tests/vg_regtest exp-drd
+     perl tests/vg_regtest drd
 2. Test the slowdown for matinv for various matrix sizes via the script
-   exp-drd/scripts/run-matinv (must be about 24 for i == 1 and about
+   drd/scripts/run-matinv (must be about 24 for i == 1 and about
    31 for i == 10 with n == 200).
 3. Test whether DRD works with standard KDE applications and whether it does
    not print any false positives:
-     ./vg-in-place --tool=exp-drd kate
-     ./vg-in-place --tool=exp-drd --check-stack-var=yes kate
-     ./vg-in-place --trace-children=yes --tool=exp-drd knode
-     ./vg-in-place --trace-children=yes --tool=exp-drd --check-stack-var=yes knode
-     ./vg-in-place --trace-children=yes --tool=exp-drd amarokapp
+     ./vg-in-place --tool=drd kate
+     ./vg-in-place --tool=drd --check-stack-var=yes kate
+     ./vg-in-place --trace-children=yes --tool=drd knode
+     ./vg-in-place --trace-children=yes --tool=drd --check-stack-var=yes knode
+     ./vg-in-place --trace-children=yes --tool=drd amarokapp
 4. Test whether DRD works with standard GNOME applications. Expect
    race reports triggered by ORBit_RootObject_duplicate() and after
    having closed the GNOME terminal window:
-     ./vg-in-place --trace-children=yes --tool=exp-drd gnome-terminal
+     ./vg-in-place --trace-children=yes --tool=drd gnome-terminal
 5. Test DRD with Firefox. First of all, build and install Firefox 3. Next,
    run the following command:
-     LD_LIBRARY_PATH=$HOME/software/mozilla-build/dist/lib: ./vg-in-place --trace-children=yes --tool=exp-drd $HOME/software/mozilla-build/dist/bin/firefox-bin
+     LD_LIBRARY_PATH=$HOME/software/mozilla-build/dist/lib: ./vg-in-place --trace-children=yes --tool=drd $HOME/software/mozilla-build/dist/bin/firefox-bin
index 9f44ed4af14425530493b5865ba03b6a9da17eab..f696381f684600abd2b7334533f238228ca3e470 100644 (file)
@@ -8,7 +8,7 @@
   <title>DRD: a thread error detector</title>
 
 <para>To use this tool, you must specify
-<computeroutput>--tool=exp-drd</computeroutput>
+<computeroutput>--tool=drd</computeroutput>
 on the Valgrind command line.</para>
 
 
@@ -549,7 +549,7 @@ Below you can find an example of a message printed by DRD when it
 detects a data race:
 </para>
 <programlisting><![CDATA[
-$ valgrind --tool=exp-drd --var-info=yes exp-drd/tests/rwlock_race
+$ valgrind --tool=drd --var-info=yes drd/tests/rwlock_race
 ...
 ==9466== Thread 3:
 ==9466== Conflicting load by thread 3/3 at 0x006020b8 size 4
@@ -683,7 +683,7 @@ detect lock contention by making DRD report any lock that is held
 longer than the specified threshold. An example:
 </para>
 <programlisting><![CDATA[
-$ valgrind --tool=exp-drd --exclusive-threshold=10 exp-drd/tests/hold_lock -i 500
+$ valgrind --tool=drd --exclusive-threshold=10 drd/tests/hold_lock -i 500
 ...
 ==10668== Acquired at:
 ==10668==    at 0x4C267C8: pthread_mutex_lock (drd_pthread_intercepts.c:395)
@@ -1014,7 +1014,7 @@ library has been configured with the
 libgomp libraries that have been configured with this flag and in
 which symbol information is present. For most Linux distributions this
 means that you will have to recompile gcc. See also the script
-<literal>exp-drd/scripts/download-and-build-gcc</literal> in the
+<literal>drd/scripts/download-and-build-gcc</literal> in the
 Valgrind source tree for an example of how to compile gcc. You will
 also have to make sure that the newly compiled
 <literal>libgomp.so</literal> library is loaded when OpenMP programs
@@ -1027,7 +1027,7 @@ export LD_LIBRARY_PATH=~/gcc-4.3.1/lib64:~/gcc-4.3.1/lib:
 
 <para>
 As an example, the test OpenMP test program
-<literal>exp-drd/scripts/omp_matinv</literal> triggers a data race
+<literal>drd/scripts/omp_matinv</literal> triggers a data race
 when the option -r has been specified on the command line. The data
 race is triggered by the following code:
 </para>
@@ -1052,7 +1052,7 @@ not been declared private. DRD will print the following error message
 for the above code:
 </para>
 <programlisting><![CDATA[
-$ valgrind --check-stack-var=yes --var-info=yes --tool=exp-drd exp-drd/tests/omp_matinv 3 -t 2 -r
+$ valgrind --check-stack-var=yes --var-info=yes --tool=drd drd/tests/omp_matinv 3 -t 2 -r
 ...
 Conflicting store by thread 1/1 at 0x7fefffbc4 size 4
    at 0x4014A0: gj.omp_fn.0 (omp_matinv.c:203)
index f27f76dd87232eb277776fe4c05b3243408558ea..bc25ddb14bb0556fed691e7e1b2ab8aef3891f18 100644 (file)
@@ -192,7 +192,7 @@ static void drd_print_usage(void)
 "        reading in all debug information at once may cause an out of\n"
 "        memory error [no].\n"
 "\n"
-"  exp-drd options for monitoring process behavior:\n"
+"  drd options for monitoring process behavior:\n"
 "    --trace-addr=<address>    Trace all load and store activity for the.\n"
 "                              specified address [off].\n"
 "    --trace-barrier=yes|no    Trace all barrier activity [no].\n"
@@ -1216,7 +1216,7 @@ void drd_pre_clo_init(void)
 {
   // Basic tool stuff.
 
-  VG_(details_name)            ("exp-drd");
+  VG_(details_name)            ("drd");
   VG_(details_version)         (NULL);
   VG_(details_description)     ("a thread error detector");
   VG_(details_copyright_author)("Copyright (C) 2006-2008, and GNU GPL'd,"
index ad8d7fa65f4beee1402d1195f0a5f1d33a2c7786..a115528134a29230dfdbecb24fdae0bb66fa8160 100755 (executable)
@@ -16,7 +16,7 @@ if [ "${DRD_SCRIPTS_DIR:0:1}" != "/" ]; then
 fi
 
 VG="${DRD_SCRIPTS_DIR}/../../vg-in-place"
-MATINV="${DRD_SCRIPTS_DIR}/../../exp-drd/tests/matinv"
+MATINV="${DRD_SCRIPTS_DIR}/../../drd/tests/matinv"
 
 
 for n in 200 400
@@ -34,6 +34,6 @@ do
     print_runtime_ratio ${avg1} ${stddev1} ${vsz1} ${vszdev1} \
       ${VG} --tool=none    ${MATINV} $n -t$i
     print_runtime_ratio ${avg1} ${stddev1} ${vsz1} ${vszdev1} \
-      ${VG} --tool=exp-drd ${MATINV} $n -t$i
+      ${VG} --tool=drd ${MATINV} $n -t$i
   done
 done
index 32fc51cb23b8e8b30e4f966fc13c039eff4b23fa..169812cf8d0643c97c17e4d35c92befa93a04fdb 100755 (executable)
@@ -41,12 +41,12 @@ function run_test {
   p=4
   test_output="${1}-drd-with-stack-var-4.out" \
   print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
-    $VG --tool=exp-drd --check-stack-var=yes "$@" -p${psep}${p} "${test_args}"
+    $VG --tool=drd --check-stack-var=yes "$@" -p${psep}${p} "${test_args}"
 
   p=4
   test_output="${1}-drd-without-stack-var-4.out" \
   print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
-    $VG --tool=exp-drd --check-stack-var=no  "$@" -p${psep}${p} "${test_args}"
+    $VG --tool=drd --check-stack-var=no  "$@" -p${psep}${p} "${test_args}"
 
   p=4
   test_output="${1}-helgrind-4.out" \
@@ -95,10 +95,10 @@ fi
 #  9. Virtual memory size ratio for --tool=none -p1 versus -p1.
 # 10. Execution time ratio for --tool=none -p4 versus -p4.
 # 11. Virtual memory size ratio for --tool=none -p4 versus -p4.
-# 12. Execution time ratio for --tool=exp-drd --check-stack-var=yes -p4 versus -p4.
-# 13. Virtual memory size ratio for --tool=exp-drd --check-stack-var=yes -p4 versus -p4.
-# 14. Execution time ratio for --tool=exp-drd --check-stack-var=no -p4 versus -p4.
-# 15. Virtual memory size ratio for --tool=exp-drd --check-stack-var=no -p4 versus -p4.
+# 12. Execution time ratio for --tool=drd --check-stack-var=yes -p4 versus -p4.
+# 13. Virtual memory size ratio for --tool=drd --check-stack-var=yes -p4 versus -p4.
+# 14. Execution time ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
+# 15. Virtual memory size ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
 # 16. Execution time ratio for --tool=helgrind -p4 versus -p4.
 # 17. Virtual memory size ratio for --tool=helgrind -p4 versus -p4.
 # 18. Execution time ratio for Intel Thread Checker -p4 versus -p4.
index d311813e2230a314020723f34f9d3ff2df8ba7cd..f5e977c68304e5d8f8aa76fc7bca3786dfb73715 100755 (executable)
@@ -9,7 +9,7 @@ $dir/../../tests/filter_stderr_basic |
 # Remove libpthread's version number.
 # Remove line numbers from stack traces.
 sed \
--e "/^exp-drd, a thread error detector\.$/d" \
+-e "/^drd, a thread error detector\.$/d" \
 -e "s/^Allocation context: stack of thread \([0-9]*\), offset -[0-9]*$/Allocation context: stack of thread \1, offset .../" \
 -e "/^warning: evaluate_Dwarf3_Expr: unhandled DW_OP_.*/d" \
 -e "s/, in frame #[0-9]* of thread /, in frame #? of thread /" \
index ad42fb76a5d4021d38485c921c915531e2bd9560..2e9ac1a04eff48c540646872c306ab85be277907 100644 (file)
@@ -1,81 +1,81 @@
 {
    dl
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_dl_fixup
    fun:_dl_runtime_resolve
 }
 {
    dl
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_dl_fini
    fun:exit
 }
 {
    dl-2.6.*
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/lib*/ld-*.so
    fun:exit
 }
 {
    dl-2.6.*
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/lib*/ld-*.so
    obj:/lib*/ld-*.so
    obj:/lib*/ld-*.so
 }
 {
    libc
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__libc_enable_asynccancel
    obj:/lib*/libc-*
 }
 {
    libc
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__libc_disable_asynccancel
    obj:/lib*/libc-*
 }
 {
    librt
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__librt_enable_asynccancel
 }
 {
    librt
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__librt_disable_asynccancel
 }
 {
    libstdc++
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_ZN9__gnu_cxx12__atomic_addEPVii
 }
 {
    libstdc++ std::string::string()
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_ZNSsC1ERKSs
 }
 {
    libstdc++
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_ZN9__gnu_cxx18__exchange_and_addEPVii
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:start_thread
    fun:clone
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/lib*/libpthread-*.so
    fun:start_thread
    fun:clone
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:clone
    fun:create_thread
    fun:pthread_create*
@@ -83,7 +83,7 @@
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/lib*/libc-*.so
    fun:__libc_thread_freeres
    fun:start_thread
@@ -91,7 +91,7 @@
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/lib*/libc-*.so
    obj:/lib*/libc-*.so
    fun:__libc_thread_freeres
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__nptl_deallocate_tsd
    fun:start_thread
    fun:clone
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_create@@GLIBC_*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:clone
    fun:do_clone
    fun:pthread_create@@GLIBC_*
 }
 {
    pthread-glibc2.7-pthread_create
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:memset
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_mutex_lock
    fun:pthread_mutex_lock
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__pthread_mutex_cond_lock
    fun:pthread_cond_wait@@GLIBC_*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:clone
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:do_clone
    fun:pthread_create@@GLIBC_*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:memset
    fun:pthread_create@@GLIBC_*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_dl_allocate_tls_init
    fun:pthread_create@@GLIBC_*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:memset
    fun:_dl_allocate_tls_init
    fun:pthread_create@@GLIBC_*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:mempcpy
    fun:pthread_create@@GLIBC_*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_join
    fun:pthread_join
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:allocate_stack
    fun:pthread_create*
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:get_cached_stack
    fun:allocate_stack
    fun:pthread_create*
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__deallocate_stack
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:free_stacks
    fun:__deallocate_stack
    fun:pthread_join
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__free_tcb
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__pthread_enable_asynccancel
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:__pthread_disable_asynccancel
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_cancel
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:sigcancel_handler
    obj:/lib*/libpthread-*
 }
 {
    pthread-unwind
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_Unwind_ForcedUnwind
    fun:__pthread_unwind
    fun:sigcancel_handler
 }
 {
    pthread-unwind
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_Unwind_ForcedUnwind
    fun:__pthread_unwind
 }
 {
    pthread-unwind
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_Unwind_GetCFA
    fun:unwind_stop
 }
 {
    pthread-unwind
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:uw_update_context
    fun:_Unwind_ForcedUnwind_Phase2
 }
 {
    pthread-unwind
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:uw_frame_state_for
    fun:_Unwind_ForcedUnwind_Phase2
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_detach
    fun:pthread_detach
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_getspecific
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_setspecific
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:pthread_key_delete
 }
 {
    pthread
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    fun:_pthread_cleanup_push_defer
 }
 {
    gomp
-   exp-drd:ConflictingAccess
+   drd:ConflictingAccess
    obj:/usr/lib*/libgomp.so*
    obj:/usr/lib*/libgomp.so*
 }
 {
    libX11-XCreateFontSet
-   exp-drd:CondErr
+   drd:CondErr
    fun:pthread_cond_init*
    fun:_XReply
    fun:XListFontsWithInfo
 }
 {
    libxcb-xcb_wait_for_reply
-   exp-drd:CondErr
+   drd:CondErr
    fun:pthread_cond_destroy*
    fun:xcb_wait_for_reply
 }