From d69ff12cfe5254a0862ba2950523d3a44a205ed4 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Tue, 1 Oct 2019 18:03:11 +0000 Subject: Revert "compiler-rt: use __GLIBC_PREREQ for SANITIZER_INTERCEPT_GETRANDOM" Revert "compiler-rt: move all __GLIBC_PREREQ into own header file" "move all __GLIBC_PREREQ" breaks build on some bots This reverts commit 2d75ee937397c209dbd95aefc88da6301fed07da. This reverts commit 7a6461fcc2ed8e28c43993c561721af0bbe97f3a. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@373367 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/sanitizer_common/sanitizer_getauxval.h | 7 +++++- lib/sanitizer_common/sanitizer_glibc_version.h | 26 ---------------------- lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 7 ++++-- .../sanitizer_platform_interceptors.h | 4 ++-- .../sanitizer_platform_limits_posix.cpp | 5 ++++- .../sanitizer_platform_limits_posix.h | 9 ++++---- 6 files changed, 21 insertions(+), 37 deletions(-) delete mode 100644 lib/sanitizer_common/sanitizer_glibc_version.h diff --git a/lib/sanitizer_common/sanitizer_getauxval.h b/lib/sanitizer_common/sanitizer_getauxval.h index 86ad3a5e2..777b1212d 100644 --- a/lib/sanitizer_common/sanitizer_getauxval.h +++ b/lib/sanitizer_common/sanitizer_getauxval.h @@ -17,10 +17,15 @@ #define SANITIZER_GETAUXVAL_H #include "sanitizer_platform.h" -#include "sanitizer_glibc_version.h" #if SANITIZER_LINUX || SANITIZER_FUCHSIA +# include + +# ifndef __GLIBC_PREREQ +# define __GLIBC_PREREQ(x, y) 0 +# endif + # if __GLIBC_PREREQ(2, 16) || (SANITIZER_ANDROID && __ANDROID_API__ >= 21) || \ SANITIZER_FUCHSIA # define SANITIZER_USE_GETAUXVAL 1 diff --git a/lib/sanitizer_common/sanitizer_glibc_version.h b/lib/sanitizer_common/sanitizer_glibc_version.h deleted file mode 100644 index 46a28c4e8..000000000 --- a/lib/sanitizer_common/sanitizer_glibc_version.h +++ /dev/null @@ -1,26 +0,0 @@ -//===-- sanitizer_glibc_version.h -----------------------------------------===// -// -// 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 is a part of Sanitizer common code. -// -//===----------------------------------------------------------------------===// - -#ifndef SANITIZER_GLIBC_VERSION_H -#define SANITIZER_GLIBC_VERSION_H - -#include "sanitizer_platform.h" - -#if (SANITIZER_POSIX && !SANITIZER_MAC) || SANITIZER_FUCHSIA -#include -#endif - -#ifndef __GLIBC_PREREQ -#define __GLIBC_PREREQ(x, y) 0 -#endif - -#endif diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/lib/sanitizer_common/sanitizer_linux_libcdep.cpp index cd5037182..1f584a2ad 100644 --- a/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -23,7 +23,6 @@ #include "sanitizer_flags.h" #include "sanitizer_freebsd.h" #include "sanitizer_getauxval.h" -#include "sanitizer_glibc_version.h" #include "sanitizer_linux.h" #include "sanitizer_placement_new.h" #include "sanitizer_procmaps.h" @@ -189,7 +188,11 @@ __attribute__((unused)) static bool GetLibcVersion(int *major, int *minor, static uptr g_tls_size; #ifdef __i386__ -# define CHECK_GET_TLS_STATIC_INFO_VERSION (!__GLIBC_PREREQ(2, 27)) +# ifndef __GLIBC_PREREQ +# define CHECK_GET_TLS_STATIC_INFO_VERSION 1 +# else +# define CHECK_GET_TLS_STATIC_INFO_VERSION (!__GLIBC_PREREQ(2, 27)) +# endif #else # define CHECK_GET_TLS_STATIC_INFO_VERSION 0 #endif diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h index 36885da98..c3b6f2855 100644 --- a/lib/sanitizer_common/sanitizer_platform_interceptors.h +++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h @@ -13,7 +13,6 @@ #ifndef SANITIZER_PLATFORM_INTERCEPTORS_H #define SANITIZER_PLATFORM_INTERCEPTORS_H -#include "sanitizer_glibc_version.h" #include "sanitizer_internal_defs.h" #if SANITIZER_POSIX @@ -567,9 +566,10 @@ #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID) #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD) -#define SANITIZER_INTERCEPT_GETRANDOM (SI_LINUX && __GLIBC_PREREQ(2, 25)) +#define SANITIZER_INTERCEPT_GETRANDOM SI_LINUX #define SANITIZER_INTERCEPT___CXA_ATEXIT SI_NETBSD #define SANITIZER_INTERCEPT_ATEXIT SI_NETBSD #define SANITIZER_INTERCEPT_PTHREAD_ATFORK SI_NETBSD + #endif // #ifndef SANITIZER_PLATFORM_INTERCEPTORS_H diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp index 984e4d30d..7f1132c46 100644 --- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "sanitizer_platform.h" -#include "sanitizer_glibc_version.h" #if SANITIZER_LINUX || SANITIZER_MAC // Tests in this file assume that off_t-dependent data structures match the @@ -1006,6 +1005,10 @@ CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len); CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level); CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type); +#ifndef __GLIBC_PREREQ +#define __GLIBC_PREREQ(x, y) 0 +#endif + #if SANITIZER_LINUX && (__ANDROID_API__ >= 21 || __GLIBC_PREREQ (2, 14)) CHECK_TYPE_SIZE(mmsghdr); CHECK_SIZE_AND_OFFSET(mmsghdr, msg_hdr); diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.h b/lib/sanitizer_common/sanitizer_platform_limits_posix.h index b92fef395..b53ca112e 100644 --- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h +++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h @@ -19,13 +19,12 @@ #include "sanitizer_internal_defs.h" #include "sanitizer_platform.h" -#if defined(__sparc__) -// FIXME: This can't be included from tsan which does not support sparc yet. -#include "sanitizer_glibc_version.h" -#endif - # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle)) +#ifndef __GLIBC_PREREQ +#define __GLIBC_PREREQ(x, y) 0 +#endif + namespace __sanitizer { extern unsigned struct_utsname_sz; extern unsigned struct_stat_sz; -- cgit v1.2.1