[compiler-rt] r350717 - [test] Detect glibc-2.27+ and XFAIL appropriate tests

Michal Gorny via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 9 05:27:29 PST 2019


Author: mgorny
Date: Wed Jan  9 05:27:29 2019
New Revision: 350717

URL: http://llvm.org/viewvc/llvm-project?rev=350717&view=rev
Log:
[test] Detect glibc-2.27+ and XFAIL appropriate tests

XFAIL the tests known to fail with glibc-2.27+.  This takes away
the burden of handling known failures from users, and ensures that
we will be verbosely informed when they actually start working again.

Bug report: https://bugs.llvm.org/show_bug.cgi?id=37804

Differential Revision: https://reviews.llvm.org/D56062

Modified:
    compiler-rt/trunk/test/lit.common.cfg
    compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc
    compiler-rt/trunk/test/msan/dtls_test.c

Modified: compiler-rt/trunk/test/lit.common.cfg
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lit.common.cfg?rev=350717&r1=350716&r2=350717&view=diff
==============================================================================
--- compiler-rt/trunk/test/lit.common.cfg (original)
+++ compiler-rt/trunk/test/lit.common.cfg Wed Jan  9 05:27:29 2019
@@ -289,6 +289,21 @@ if config.android:
   if android_api_level >= 28:
     config.available_features.add('android-28')
 
+if config.host_os == 'Linux':
+  # detect whether we are using glibc, and which version
+  # NB: 'ldd' is just one of the tools commonly installed as part of glibc
+  ldd_ver_cmd = subprocess.Popen(['ldd', '--version'],
+                                 stdout=subprocess.PIPE,
+                                 env={'LANG': 'C'})
+  sout, _ = ldd_ver_cmd.communicate()
+  ver_line = sout.splitlines()[0]
+  if ver_line.startswith(b"ldd "):
+    from distutils.version import LooseVersion
+    ver = LooseVersion(ver_line.split()[-1].decode())
+    # 2.27 introduced some incompatibilities
+    if ver >= LooseVersion("2.27"):
+      config.available_features.add("glibc-2.27")
+
 sancovcc_path = os.path.join(config.llvm_tools_dir, "sancov")
 if os.path.exists(sancovcc_path):
   config.available_features.add("has_sancovcc")

Modified: compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc?rev=350717&r1=350716&r2=350717&view=diff
==============================================================================
--- compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc (original)
+++ compiler-rt/trunk/test/lsan/TestCases/Linux/use_tls_dynamic.cc Wed Jan  9 05:27:29 2019
@@ -1,4 +1,9 @@
 // Test that dynamically allocated TLS space is included in the root set.
+
+// This is known to be broken with glibc-2.27+
+// https://bugs.llvm.org/show_bug.cgi?id=37804
+// XFAIL: glibc-2.27
+
 // RUN: LSAN_BASE="report_objects=1:use_stacks=0:use_registers=0:use_ld_allocations=0"
 // RUN: %clangxx %s -DBUILD_DSO -fPIC -shared -o %t-so.so
 // RUN: %clangxx_lsan %s -o %t

Modified: compiler-rt/trunk/test/msan/dtls_test.c
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/dtls_test.c?rev=350717&r1=350716&r2=350717&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/dtls_test.c (original)
+++ compiler-rt/trunk/test/msan/dtls_test.c Wed Jan  9 05:27:29 2019
@@ -11,6 +11,11 @@
 
    // Reports use-of-uninitialized-value, not analyzed
    XFAIL: netbsd
+
+   // This is known to be broken with glibc-2.27+
+   // https://bugs.llvm.org/show_bug.cgi?id=37804
+   XFAIL: glibc-2.27
+
 */
 
 #ifndef BUILD_SO




More information about the llvm-commits mailing list