libmudflap.exp (libmudflap-init): For C++ test cases only...
authorFrank Ch. Eigler <fche@redhat.com>
Mon, 17 May 2004 20:34:19 +0000 (20:34 +0000)
committerFrank Ch. Eigler <fche@gcc.gnu.org>
Mon, 17 May 2004 20:34:19 +0000 (20:34 +0000)
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

libmudflap/ChangeLog
libmudflap/mf-runtime.c
libmudflap/testsuite/lib/libmudflap.exp
libmudflap/testsuite/libmudflap.c++/c++frags.exp
libmudflap/testsuite/libmudflap.c/cfrags.exp
libmudflap/testsuite/libmudflap.cth/cthfrags.exp

index eafa5eb3e57a5f39e544f15227e48000ad7723b5..4ae37839b8206cea6e4b1d914f2c576a6b66f779 100644 (file)
@@ -1,3 +1,13 @@
+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.
+
 2004-03-25  Frank Ch. Eigler  <fche@redhat.com>
 
        * mf-impl.h: Added libgcc license header.
index 88a3682081c6c2e44c140e069da5d2590ed6207c..8d5ed8c3665f0150ac4634cfb3039b639158c827 100644 (file)
@@ -737,6 +737,8 @@ void __mfu_check (void *ptr, size_t sz, int type, const char *location)
   switch (__mf_opts.mudflap_mode)
     {
     case mode_nop:
+      entry->low = MINPTR;
+      entry->high = MAXPTR;
       judgement = 1;
       break;
 
index 1d1e22ffb287548bf6ed1f5b20ed1023c65a739a..4e482ecbcd294b6b2c77b523443a68e7ccd678cf 100644 (file)
@@ -21,7 +21,7 @@
 load_lib mfdg.exp
 load_lib libgloss.exp
 
-proc libmudflap-init { compiler } {
+proc libmudflap-init { language } {
     global srcdir
     global outdir
     global blddir
@@ -34,9 +34,17 @@ proc libmudflap-init { compiler } {
     global ld_library_path
     global tool_root_dir
 
-    verbose "libmudflap-init $compiler"
+    switch $language {
+        "c" { set cxx [find_gcc] }
+        "c++" { set cxx [find_g++] }
+        default { error "bad language code $language"; return }
+    }
+
+    verbose -log "libmudflap-init $cxx"
 
     set blddir [lookfor_file [get_multilibs] libmudflap]
+    set cxxblddir [lookfor_file [get_multilibs] libstdc++-v3]
+    set cxxflags_file "${cxxblddir}/scripts/testsuite_flags"
 
     # By default, we assume we want to run program images.
     global dg-do-what-default
@@ -52,7 +60,7 @@ proc libmudflap-init { compiler } {
 
     set ld_library_path "."
     append ld_library_path ":${gccdir}"
-    append ld_library_path ":../../libstdc++-v3/src/.libs"
+    append ld_library_path ":${cxxblddir}/src/.libs"
     if {[is_remote host] == 0} {
        foreach i "[exec ${gccdir}/xgcc --print-multi-lib]" {
            set mldir ""
@@ -63,17 +71,28 @@ proc libmudflap-init { compiler } {
            }
            if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] == 1 } {
                append ld_library_path ":${gccdir}/${mldir}"
-               append ld_library_path ":../../libstdc++-v3/${mldir}/src/.libs"
            }
        }
     }
     append ld_library_path ":${blddir}/.libs"
-    set cxx $compiler
-    set libs "-L../.libs -L../../libstdc++-v3/src/.libs -L../../../gcc"
+
+    set libs "-L../.libs -L../../../gcc"
     set cxxflags "-ggdb3 -DDEBUG_ASSERT"
     set includes "-I${srcdir} -I.."
 
-    verbose "ld_library_path=$ld_library_path"
+    if {$language == "c++"} {
+        if {[file exists $cxxflags_file]} then {
+            set includes "${includes} [exec sh $cxxflags_file --build-includes]"
+            set cxxflags "${cxxflags} [exec sh $cxxflags_file --cxxflags]"
+            # c++ libs are included by --build-cxx below
+            set cxx "[exec sh $cxxflags_file --build-cxx]"
+        } else {
+            lappend libs "-L../../libstdc++-v3/src/.libs"
+            lappend includes "-I../../libstdc++-v3/include"
+        }
+    }
+
+    verbose -log "ld_library_path=$ld_library_path"
     setenv  LD_LIBRARY_PATH     $ld_library_path
     setenv  SHLIB_PATH          $ld_library_path
     setenv  LD_LIBRARYN32_PATH  $ld_library_path
@@ -212,9 +231,9 @@ proc libmudflap-list-sourcefiles { } {
        set res {}
        foreach w $sfiles {
            if [regexp "wchar_t" $w] {
-               verbose "element out list is $w"
+               verbose -log "element out list is $w"
            } else {
-               verbose "element in list is $w"
+               verbose -log "element in list is $w"
                lappend res $w
            }
        }
index 5d8be05245c2351208f3dbcfe56daa0460670534..659494b3e00a59ea1f75cea3b0fbe2890dbd5f5e 100644 (file)
@@ -1,5 +1,5 @@
 
-libmudflap-init [find_g++]
+libmudflap-init c++
 
 dg-init
 
index bef2f91c3125de32dfedb689b211aa9905ab3e78..2d6132bf931f246caa83863b923836483e2f3a02 100644 (file)
@@ -1,5 +1,5 @@
 
-libmudflap-init [find_gcc]
+libmudflap-init c
 
 dg-init
 
index 508d8eced10c53ebaff6b5bb3e0f4dde5af441e3..3431965dd625b482c5c8f62282679520c66a03b2 100644 (file)
@@ -1,5 +1,5 @@
 
-libmudflap-init [find_gcc]
+libmudflap-init c
 
 dg-init