mirror of
https://github.com/ziglang/zig.git
synced 2024-11-27 07:32:44 +00:00
8219d92987
* rename is_compiler_rt_or_libc to skip_linker_dependencies and set it to `true` for all sub-Compilations. I believe this resolves the deadlock we were experiencing on Drone CI and on some users' computers. I will remove the CI workaround in a follow-up commit. * enabling TSAN automatically causes the Compilation to link against libc++ even if not requested, because TSAN depends on libc++. * add -fno-rtti flags where appropriate when building TSAN objects. Thanks Firefox317 for pointing this out. * TSAN support: resolve all the undefined symbols. We are still seeing a dependency on __gcc_personality_v0 but will resolve this one in a follow-up commit. * static libs do not try to build libc++ or libc++abi.
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
//===-- sanitizer_common_nolibc.cpp ---------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains stubs for libc function to facilitate optional use of
|
|
// libc in no-libcdep sources.
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "sanitizer_platform.h"
|
|
#include "sanitizer_common.h"
|
|
#include "sanitizer_libc.h"
|
|
|
|
namespace __sanitizer {
|
|
|
|
// The Windows implementations of these functions use the win32 API directly,
|
|
// bypassing libc.
|
|
#if !SANITIZER_WINDOWS
|
|
#if SANITIZER_LINUX
|
|
void LogMessageOnPrintf(const char *str) {}
|
|
#endif
|
|
void WriteToSyslog(const char *buffer) {}
|
|
void Abort() { internal__exit(1); }
|
|
void SleepForSeconds(int seconds) { internal_sleep(seconds); }
|
|
#endif // !SANITIZER_WINDOWS
|
|
|
|
#if !SANITIZER_WINDOWS && !SANITIZER_MAC
|
|
void ListOfModules::init() {}
|
|
#endif
|
|
|
|
} // namespace __sanitizer
|