[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:
Kostya Kortchinsky 2017-10-10 15:35:11 +00:00
parent 03f9e76790
commit ea2f800bbc
3 changed files with 2 additions and 31 deletions

View File

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

View File

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

View File

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