forked from OSchip/llvm-project
Prevent DCE on __lsan_is_turned_off and re-enable test case
Summary: -dead_strip in ld64 strips weak interface symbols, which I believe is most likely the cause of this test failure. Re-enable after marking the interface function as used. Reviewers: alekseyshl, kubamracek, kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37635 llvm-svn: 312824
This commit is contained in:
parent
9011320921
commit
4a327e1c5c
|
@ -64,6 +64,8 @@ extern "C" {
|
|||
// for the program it is linked into (if the return value is non-zero). This
|
||||
// function must be defined as returning a constant value; any behavior beyond
|
||||
// that is unsupported.
|
||||
// To avoid dead stripping, you may need to define this function with
|
||||
// __attribute__((used))
|
||||
int __lsan_is_turned_off();
|
||||
|
||||
// This function may be optionally provided by the user and should return
|
||||
|
|
|
@ -3,15 +3,13 @@
|
|||
// RUN: %clangxx_lsan %s -o %t
|
||||
// RUN: %env_lsan_opts=$LSAN_BASE %run %t
|
||||
// RUN: %env_lsan_opts=$LSAN_BASE not %run %t foo 2>&1 | FileCheck %s
|
||||
//
|
||||
// UNSUPPORTED: darwin
|
||||
|
||||
#include <sanitizer/lsan_interface.h>
|
||||
|
||||
int argc_copy;
|
||||
|
||||
extern "C" {
|
||||
int __lsan_is_turned_off() {
|
||||
int __attribute__((used)) __lsan_is_turned_off() {
|
||||
return (argc_copy == 1);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue