[llvm-branch-commits] [clang] 2dd6b91 - [clang][IFS][test] Temporary work around for in-process cc1 ASAN issues.

Hans Wennborg via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Jan 23 14:40:45 PST 2020


Author: Puyan Lotfi
Date: 2020-01-23T23:38:30+01:00
New Revision: 2dd6b91f35edb967f329f0437b53ea14395aa770

URL: https://github.com/llvm/llvm-project/commit/2dd6b91f35edb967f329f0437b53ea14395aa770
DIFF: https://github.com/llvm/llvm-project/commit/2dd6b91f35edb967f329f0437b53ea14395aa770.diff

LOG: [clang][IFS][test] Temporary work around for in-process cc1 ASAN issues.

When using in-process cc1, the Clang Interface Stubs pipeline setup
exposes an ASAN bug. I am still investigating this issue but want to
green the bots for now. I don't think this is a huge issue since the
Clang Interface Stubs Driver setup code is the only code path that sets
up such a pipeline (ie N cc1's for N c files followed by another N cc1's
for to generate stub files for the same N c files).

This issue is being discussed in https://reviews.llvm.org/D69825.
If a resolution is not found soon, a bugzilla filling will be in order.

(cherry picked from commit c38e42527b21acee8d01a016d5bfa2fb83202e29)

Added: 
    

Modified: 
    clang/test/InterfaceStubs/driver-test.c
    clang/test/InterfaceStubs/driver-test2.c

Removed: 
    


################################################################################
diff  --git a/clang/test/InterfaceStubs/driver-test.c b/clang/test/InterfaceStubs/driver-test.c
index 9ca5577a5c20..894d896bb219 100644
--- a/clang/test/InterfaceStubs/driver-test.c
+++ b/clang/test/InterfaceStubs/driver-test.c
@@ -1,8 +1,17 @@
 // REQUIRES: x86-registered-target
 // REQUIRES: shell
 
+// NOTE: -fno-integrated-cc1 has been added to work around an ASAN failure
+//       caused by in-process cc1 invocation. Clang InterfaceStubs is not the
+//       culprit, but Clang Interface Stubs' Driver pipeline setup uncovers an
+//       existing ASAN issue when invoking multiple normal cc1 jobs along with
+//       multiple Clang Interface Stubs cc1 jobs together.
+//       There is currently a discussion of this going on at:
+//         https://reviews.llvm.org/D69825
 // RUN: mkdir -p %t; cd %t
-// RUN: %clang -target x86_64-unknown-linux-gnu -x c -S -emit-interface-stubs %s %S/object.c %S/weak.cpp && \
+// RUN: %clang -target x86_64-unknown-linux-gnu -x c -S \
+// RUN:   -fno-integrated-cc1 \
+// RUN: -emit-interface-stubs %s %S/object.c %S/weak.cpp && \
 // RUN: llvm-nm %t/a.out.ifso 2>&1 | FileCheck --check-prefix=CHECK-IFS %s
 
 // CHECK-IFS-DAG: data

diff  --git a/clang/test/InterfaceStubs/driver-test2.c b/clang/test/InterfaceStubs/driver-test2.c
index c3a3b31b212d..905b27922264 100644
--- a/clang/test/InterfaceStubs/driver-test2.c
+++ b/clang/test/InterfaceStubs/driver-test2.c
@@ -1,10 +1,19 @@
 // REQUIRES: x86-registered-target
 // REQUIRES: shell
 
+// NOTE: -fno-integrated-cc1 has been added to work around an ASAN failure
+//       caused by in-process cc1 invocation. Clang InterfaceStubs is not the
+//       culprit, but Clang Interface Stubs' Driver pipeline setup uncovers an
+//       existing ASAN issue when invoking multiple normal cc1 jobs along with
+//       multiple Clang Interface Stubs cc1 jobs together.
+//       There is currently a discussion of this going on at:
+//         https://reviews.llvm.org/D69825
 // RUN: mkdir -p %t; cd %t
 // RUN: %clang -target x86_64-unknown-linux-gnu -c -emit-interface-stubs \
+// RUN:   -fno-integrated-cc1 \
 // RUN:   %s %S/object.c %S/weak.cpp
 // RUN: %clang -emit-interface-stubs -emit-merged-ifs \
+// RUN:   -fno-integrated-cc1 \
 // RUN:   %t/driver-test2.o %t/object.o %t/weak.o -S -o - 2>&1 | FileCheck %s
 
 // CHECK-DAG: data


        


More information about the llvm-branch-commits mailing list