[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.
This commit is contained in:
Puyan Lotfi 2020-01-21 22:45:23 -05:00
parent ce2207abaf
commit c38e42527b
2 changed files with 19 additions and 1 deletions

View File

@ -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

View File

@ -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