forked from OSchip/llvm-project
[sanitizer] Revert D38706
Summary: D38706 breaks tsan and the nolibc build. Reverting while working on a fix. Reviewers: alekseyshl Subscribers: kubamracek, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D38739 llvm-svn: 315320
This commit is contained in:
parent
03f9e76790
commit
ea2f800bbc
|
@ -3,7 +3,6 @@
|
|||
|
||||
set(SANITIZER_SOURCES_NOTERMINATION
|
||||
sanitizer_allocator.cc
|
||||
sanitizer_allocator_checks.cc
|
||||
sanitizer_common.cc
|
||||
sanitizer_deadlock_detector1.cc
|
||||
sanitizer_deadlock_detector2.cc
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
//===-- sanitizer_allocator_checks.cc ---------------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Various checks shared between ThreadSanitizer, MemorySanitizer, etc. memory
|
||||
// allocators.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_errno.h"
|
||||
|
||||
namespace __sanitizer {
|
||||
|
||||
void SetErrnoToENOMEM() {
|
||||
errno = errno_ENOMEM;
|
||||
}
|
||||
|
||||
} // namespace __sanitizer
|
|
@ -15,22 +15,17 @@
|
|||
#ifndef SANITIZER_ALLOCATOR_CHECKS_H
|
||||
#define SANITIZER_ALLOCATOR_CHECKS_H
|
||||
|
||||
#include "sanitizer_errno.h"
|
||||
#include "sanitizer_internal_defs.h"
|
||||
#include "sanitizer_common.h"
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
namespace __sanitizer {
|
||||
|
||||
// The following is defined in a separate compilation unit to avoid pulling in
|
||||
// sanitizer_errno.h in this header, which leads to conflicts when other system
|
||||
// headers include errno.h. This is usually the result of an unlikely event,
|
||||
// and as such we do not care as much about having it inlined.
|
||||
void SetErrnoToENOMEM();
|
||||
|
||||
// A common errno setting logic shared by almost all sanitizer allocator APIs.
|
||||
INLINE void *SetErrnoOnNull(void *ptr) {
|
||||
if (UNLIKELY(!ptr))
|
||||
SetErrnoToENOMEM();
|
||||
errno = errno_ENOMEM;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue