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
|
set(SANITIZER_SOURCES_NOTERMINATION
|
||||||
sanitizer_allocator.cc
|
sanitizer_allocator.cc
|
||||||
sanitizer_allocator_checks.cc
|
|
||||||
sanitizer_common.cc
|
sanitizer_common.cc
|
||||||
sanitizer_deadlock_detector1.cc
|
sanitizer_deadlock_detector1.cc
|
||||||
sanitizer_deadlock_detector2.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
|
#ifndef SANITIZER_ALLOCATOR_CHECKS_H
|
||||||
#define SANITIZER_ALLOCATOR_CHECKS_H
|
#define SANITIZER_ALLOCATOR_CHECKS_H
|
||||||
|
|
||||||
|
#include "sanitizer_errno.h"
|
||||||
#include "sanitizer_internal_defs.h"
|
#include "sanitizer_internal_defs.h"
|
||||||
#include "sanitizer_common.h"
|
#include "sanitizer_common.h"
|
||||||
#include "sanitizer_platform.h"
|
#include "sanitizer_platform.h"
|
||||||
|
|
||||||
namespace __sanitizer {
|
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.
|
// A common errno setting logic shared by almost all sanitizer allocator APIs.
|
||||||
INLINE void *SetErrnoOnNull(void *ptr) {
|
INLINE void *SetErrnoOnNull(void *ptr) {
|
||||||
if (UNLIKELY(!ptr))
|
if (UNLIKELY(!ptr))
|
||||||
SetErrnoToENOMEM();
|
errno = errno_ENOMEM;
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue