From f34bad98af040661b1f30a6429196b2759bb4fda Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Fri, 28 Nov 2014 10:37:44 +0000 Subject: [PATCH] [asan] Remove the local copy of Android ucontext.h. This header is present in the r10c release of the NDK. llvm-svn: 222915 --- compiler-rt/CMakeLists.txt | 2 - compiler-rt/android/README.LLVM | 9 -- compiler-rt/android/include/sys/ucontext.h | 154 ----------------------------- compiler-rt/android/include/ucontext.h | 36 ------- compiler-rt/lib/asan/CMakeLists.txt | 4 - compiler-rt/make/platform/clang_linux.mk | 3 +- 6 files changed, 1 insertion(+), 207 deletions(-) delete mode 100644 compiler-rt/android/README.LLVM delete mode 100644 compiler-rt/android/include/sys/ucontext.h delete mode 100644 compiler-rt/android/include/ucontext.h diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index 472d49c..a6a4ed9 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -162,8 +162,6 @@ set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) # Setup custom SDK sysroots. set(COMPILER_RT_LINUX_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/linux) -set(COMPILER_RT_EXTRA_ANDROID_HEADERS ${COMPILER_RT_SOURCE_DIR}/android/include) - # Detect whether the current target platform is 32-bit or 64-bit, and setup # the correct commandline flags needed to attempt to target 32-bit and 64-bit. if (NOT CMAKE_SIZEOF_VOID_P EQUAL 4 AND diff --git a/compiler-rt/android/README.LLVM b/compiler-rt/android/README.LLVM deleted file mode 100644 index 4a249e5..0000000 --- a/compiler-rt/android/README.LLVM +++ /dev/null @@ -1,9 +0,0 @@ -LLVM notes ----------- - -This directory contains Android header ucontext.h missing from the NDK. -This version of the header was copied from google-breakpad at r1279. - -Local changes: - * Re-licensed under the standard dual license of compiler-rt. - diff --git a/compiler-rt/android/include/sys/ucontext.h b/compiler-rt/android/include/sys/ucontext.h deleted file mode 100644 index 81e65a5..0000000 --- a/compiler-rt/android/include/sys/ucontext.h +++ /dev/null @@ -1,154 +0,0 @@ -//===-- ucontext.h ----------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -// ===----------------------------------------------------------------------=== - -#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_UCONTEXT_H -#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_UCONTEXT_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -#ifndef __BIONIC_HAVE_UCONTEXT_T - -// Ensure that 'stack_t' is defined. -#include - -// This version of the Android C library headers do not provide ucontext_t. -// Provide custom definitions for Google Breakpad. -#if defined(__arm__) - -// Ensure that 'struct sigcontext' is defined. -#include -typedef struct sigcontext mcontext_t; - -// The ARM kernel uses a 64-bit signal mask. -typedef uint32_t kernel_sigmask_t[2]; - -typedef struct ucontext { - uint32_t uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - kernel_sigmask_t uc_sigmask; - // Other fields are not used by Google Breakpad. Don't define them. -} ucontext_t; - -#elif defined(__i386__) - -/* 80-bit floating-point register */ -struct _libc_fpreg { - unsigned short significand[4]; - unsigned short exponent; -}; - -/* Simple floating-point state, see FNSTENV instruction */ -struct _libc_fpstate { - unsigned long cw; - unsigned long sw; - unsigned long tag; - unsigned long ipoff; - unsigned long cssel; - unsigned long dataoff; - unsigned long datasel; - struct _libc_fpreg _st[8]; - unsigned long status; -}; - -typedef uint32_t greg_t; - -typedef struct { - uint32_t gregs[19]; - struct _libc_fpstate* fpregs; - uint32_t oldmask; - uint32_t cr2; -} mcontext_t; - -enum { - REG_GS = 0, - REG_FS, - REG_ES, - REG_DS, - REG_EDI, - REG_ESI, - REG_EBP, - REG_ESP, - REG_EBX, - REG_EDX, - REG_ECX, - REG_EAX, - REG_TRAPNO, - REG_ERR, - REG_EIP, - REG_CS, - REG_EFL, - REG_UESP, - REG_SS, -}; - -// The i386 kernel uses a 64-bit signal mask. -typedef uint32_t kernel_sigmask_t[2]; - -typedef struct ucontext { - uint32_t uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - kernel_sigmask_t uc_sigmask; - struct _libc_fpstate __fpregs_mem; -} ucontext_t; - -#elif defined(__mips__) - -typedef struct { - uint32_t regmask; - uint32_t status; - uint64_t pc; - uint64_t gregs[32]; - uint64_t fpregs[32]; - uint32_t acx; - uint32_t fpc_csr; - uint32_t fpc_eir; - uint32_t used_math; - uint32_t dsp; - uint64_t mdhi; - uint64_t mdlo; - uint32_t hi1; - uint32_t lo1; - uint32_t hi2; - uint32_t lo2; - uint32_t hi3; - uint32_t lo3; -} mcontext_t; - -// The MIPS kernel uses a 128-bit signal mask. -typedef uint32_t kernel_sigmask_t[4]; - -typedef struct ucontext { - uint32_t uc_flags; - struct ucontext* uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - kernel_sigmask_t uc_sigmask; - // Other fields are not used by Google Breakpad. Don't define them. -} ucontext_t; - -#else -# error "Unsupported Android CPU ABI!" -#endif - -#endif // __BIONIC_HAVE_UCONTEXT_T - -#ifdef __cplusplus -} // extern "C" -#endif // __cplusplus - -#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_UCONTEXT_H diff --git a/compiler-rt/android/include/ucontext.h b/compiler-rt/android/include/ucontext.h deleted file mode 100644 index 178ddf3d..0000000 --- a/compiler-rt/android/include/ucontext.h +++ /dev/null @@ -1,36 +0,0 @@ -//===-- ucontext.h ----------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -// ===----------------------------------------------------------------------=== - -#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_UCONTEXT_H -#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_UCONTEXT_H - -#include - -#ifdef __BIONIC_UCONTEXT_H -#include -#else - -#include - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -// Provided by src/android/common/breakpad_getcontext.S -int breakpad_getcontext(ucontext_t* ucp); - -#define getcontext(x) breakpad_getcontext(x) - -#ifdef __cplusplus -} // extern "C" -#endif // __cplusplus - -#endif // __BIONIC_UCONTEXT_H - -#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_UCONTEXT_H diff --git a/compiler-rt/lib/asan/CMakeLists.txt b/compiler-rt/lib/asan/CMakeLists.txt index 6251f06..6b018b9 100644 --- a/compiler-rt/lib/asan/CMakeLists.txt +++ b/compiler-rt/lib/asan/CMakeLists.txt @@ -29,10 +29,6 @@ set(ASAN_PREINIT_SOURCES include_directories(..) -if(ANDROID) - include_directories(${COMPILER_RT_EXTRA_ANDROID_HEADERS}) -endif() - set(ASAN_CFLAGS ${SANITIZER_COMMON_CFLAGS}) append_no_rtti_flag(ASAN_CFLAGS) diff --git a/compiler-rt/make/platform/clang_linux.mk b/compiler-rt/make/platform/clang_linux.mk index 2edbfff..fc44057 100644 --- a/compiler-rt/make/platform/clang_linux.mk +++ b/compiler-rt/make/platform/clang_linux.mk @@ -116,8 +116,7 @@ ANDROID_COMMON_FLAGS := -target arm-linux-androideabi \ --sysroot=$(LLVM_ANDROID_TOOLCHAIN_DIR)/sysroot \ -B$(LLVM_ANDROID_TOOLCHAIN_DIR) CFLAGS.asan-arm-android := $(CFLAGS) $(SANITIZER_CFLAGS) \ - $(ANDROID_COMMON_FLAGS) -fno-rtti \ - -I$(ProjSrcRoot)/android/include + $(ANDROID_COMMON_FLAGS) -fno-rtti LDFLAGS.asan-arm-android := $(LDFLAGS) $(ANDROID_COMMON_FLAGS) -ldl -lm -llog \ -lstdc++ -Wl,-soname=libclang_rt.asan-arm-android.so -Wl,-z,defs -- 2.7.4