Skip to content

Commit

Permalink
[clang][IFS][test] Temporary work around for in-process cc1 ASAN issues.
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
plotfi committed Jan 22, 2020
1 parent ce2207a commit c38e425
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
11 changes: 10 additions & 1 deletion clang/test/InterfaceStubs/driver-test.c
Original file line number Diff line number Diff line change
@@ -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
Expand Down
9 changes: 9 additions & 0 deletions clang/test/InterfaceStubs/driver-test2.c
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit c38e425

Please sign in to comment.