Files
clang-p2996/compiler-rt/lib/gwp_asan/platform_specific/utilities_posix.cpp
Fangrui Song da59c2e4dc [GWP-ASan] Change sys/cdefs.h to features.h
sys/cdefs.h is a glibc internal header which is not supposed to be included by applications.
(Some libc implementations provide this file for compatibility.)
Android features.h includes sys/cdefs.h, so we can include features.h instead.

This change makes `ninja gwp_asan` build on musl.
2021-02-17 20:03:16 -08:00

31 lines
916 B
C++

//===-- utilities_posix.cpp -------------------------------------*- C++ -*-===//
//
// 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
//
//===----------------------------------------------------------------------===//
#include <features.h> // IWYU pragma: keep (for __BIONIC__ macro)
#ifdef __BIONIC__
#include "gwp_asan/definitions.h"
#include <stdlib.h>
extern "C" GWP_ASAN_WEAK void android_set_abort_message(const char *);
#else // __BIONIC__
#include <stdio.h>
#endif
namespace gwp_asan {
void die(const char *Message) {
#ifdef __BIONIC__
if (&android_set_abort_message != nullptr)
android_set_abort_message(Message);
abort();
#else // __BIONIC__
fprintf(stderr, "%s", Message);
__builtin_trap();
#endif // __BIONIC__
}
} // namespace gwp_asan