diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-01-22 10:09:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-01-22 10:09:44 +0000 |
commit | 09351e78166b5e864197c4456ebae3f89dd0bed9 (patch) | |
tree | 41a96399f56ed3aa399006871bfce4430db84aa2 /sys-libs/compiler-rt-sanitizers/files | |
parent | c8a77dfe4d3d307c1d5dd2650b7297447d8b609d (diff) |
gentoo resync : 22.01.2019
Diffstat (limited to 'sys-libs/compiler-rt-sanitizers/files')
3 files changed, 61 insertions, 167 deletions
diff --git a/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch b/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch new file mode 100644 index 000000000000..5a9aa2327b8d --- /dev/null +++ b/sys-libs/compiler-rt-sanitizers/files/5.0.2/0001-sanitizer-Use-pre-computed-size-of-struct-ustat-for-.patch @@ -0,0 +1,61 @@ +From 2e8240309f5ce36eae8f1f9dfcd8c060c040ca5c Mon Sep 17 00:00:00 2001 +From: Craig Topper <craig.topper@intel.com> +Date: Thu, 24 May 2018 17:59:47 +0000 +Subject: [PATCH] sanitizer: Use pre-computed size of struct ustat for Linux + +<sys/ustat.h> has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> +Date: Sun Mar 18 11:28:59 2018 +0800 + +Deprecate ustat syscall interface +This patch uses pre-computed size of struct ustat for Linux to fix + +https://bugs.llvm.org/show_bug.cgi?id=37418 + +Patch by H.J. Lu. + +Differential Revision: https://reviews.llvm.org/D47281 + +git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@333213 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + .../sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +index 83f4fd22f..804abd9e4 100644 +--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -159,7 +159,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include <sys/procfs.h> + #endif + #include <sys/user.h> +-#include <sys/ustat.h> + #include <linux/cyclades.h> + #include <linux/if_eql.h> + #include <linux/if_plip.h> +@@ -252,7 +251,19 @@ namespace __sanitizer { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.20.1 + diff --git a/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch deleted file mode 100644 index f39645669da0..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 6d96ca43ca31bb69d07271696c43b4372ca534d9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Wed, 6 Jun 2018 12:16:38 +0200 -Subject: [PATCH 1/2] [sanitizer_common] Fix using libtirpc on Linux - -Fix using libtirpc on Linux by using pkg-config to detect it, and append -appropriate include directory. The libtirpc headers reference one -another via '#include <rpc/...>', so attempting to include it via -'#include <tirpc/...>' just failed and resulted in RPC headers not being -detected at all. - -Additionally, perform the header check without -nodefaultlibs as that -apparently causes it to fail. ---- - lib/sanitizer_common/CMakeLists.txt | 11 ++++++++++- - .../sanitizer_platform_limits_posix.cc | 4 +--- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt -index ad3aba005..f2a6bab51 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -191,9 +191,18 @@ include_directories(..) - - set(SANITIZER_COMMON_DEFINITIONS) - -+include(FindPkgConfig) -+pkg_check_modules(TIRPC libtirpc) -+if (TIRPC_FOUND) -+ include_directories(${TIRPC_INCLUDE_DIRS}) -+ set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) -+endif() -+ - include(CheckIncludeFile) -+cmake_push_check_state() -+string(REPLACE "-nodefaultlibs" "" CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) - append_have_file_definition(rpc/xdr.h HAVE_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) --append_have_file_definition(tirpc/rpc/xdr.h HAVE_TIRPC_RPC_XDR_H SANITIZER_COMMON_DEFINITIONS) -+cmake_pop_check_state() - - set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS}) - append_rtti_flag(OFF SANITIZER_CFLAGS) -diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -index cd1b73d58..c6de2683d 100644 ---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc -@@ -146,8 +146,6 @@ typedef struct user_fpregs elf_fpregset_t; - #include <netrom/netrom.h> - #if HAVE_RPC_XDR_H - # include <rpc/xdr.h> --#elif HAVE_TIRPC_RPC_XDR_H --# include <tirpc/rpc/xdr.h> - #endif - #include <scsi/scsi.h> - #include <sys/mtio.h> -@@ -1243,7 +1241,7 @@ CHECK_SIZE_AND_OFFSET(group, gr_passwd); - CHECK_SIZE_AND_OFFSET(group, gr_gid); - CHECK_SIZE_AND_OFFSET(group, gr_mem); - --#if HAVE_RPC_XDR_H || HAVE_TIRPC_RPC_XDR_H -+#if HAVE_RPC_XDR_H - CHECK_TYPE_SIZE(XDR); - CHECK_SIZE_AND_OFFSET(XDR, x_op); - CHECK_SIZE_AND_OFFSET(XDR, x_ops); --- -2.19.1 - diff --git a/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch b/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch deleted file mode 100644 index c851cae0a6b8..000000000000 --- a/sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch +++ /dev/null @@ -1,100 +0,0 @@ -From a415328c75fe88c5e8e3bd0c01913a25b5705fec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Wed, 6 Jun 2018 12:45:55 +0200 -Subject: [PATCH 2/2] [test] Support using libtirpc on Linux - -Add compiler flags necessary for using libtirpc on Linux (RPC headers -split out of glibc). The flags are obtained via pkg-config. This fixes -test failures due to tests being unable to find <rpc/...> includes. ---- - cmake/base-config-ix.cmake | 4 ++++ - lib/sanitizer_common/CMakeLists.txt | 2 -- - test/msan/lit.cfg | 3 ++- - test/msan/lit.site.cfg.in | 1 + - test/tsan/lit.cfg | 3 ++- - test/tsan/lit.site.cfg.in | 1 + - 6 files changed, 10 insertions(+), 4 deletions(-) - -diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index b92e29a2e..ec0b1b979 100644 ---- a/cmake/base-config-ix.cmake -+++ b/cmake/base-config-ix.cmake -@@ -8,6 +8,10 @@ include(CheckCXXSourceCompiles) - - check_include_file(unwind.h HAVE_UNWIND_H) - -+# used in sanitizer_common and tests -+include(FindPkgConfig) -+pkg_check_modules(TIRPC libtirpc) -+ - # Top level target used to build all compiler-rt libraries. - add_custom_target(compiler-rt ALL) - add_custom_target(install-compiler-rt) -diff --git a/lib/sanitizer_common/CMakeLists.txt b/lib/sanitizer_common/CMakeLists.txt -index f2a6bab51..a560e7c15 100644 ---- a/lib/sanitizer_common/CMakeLists.txt -+++ b/lib/sanitizer_common/CMakeLists.txt -@@ -191,8 +191,6 @@ include_directories(..) - - set(SANITIZER_COMMON_DEFINITIONS) - --include(FindPkgConfig) --pkg_check_modules(TIRPC libtirpc) - if (TIRPC_FOUND) - include_directories(${TIRPC_INCLUDE_DIRS}) - set(CMAKE_REQUIRED_INCLUDES ${TIRPC_INCLUDE_DIRS}) -diff --git a/test/msan/lit.cfg b/test/msan/lit.cfg -index e08673d5c..e86f6091f 100644 ---- a/test/msan/lit.cfg -+++ b/test/msan/lit.cfg -@@ -14,7 +14,8 @@ clang_msan_cflags = (["-fsanitize=memory", - "-fno-omit-frame-pointer", - "-fno-optimize-sibling-calls"] + - [config.target_cflags] + -- config.debug_info_flags) -+ config.debug_info_flags + -+ [config.rpc_cflags]) - # Some Msan tests leverage backtrace() which requires libexecinfo on FreeBSD. - if config.host_os == 'FreeBSD': - clang_msan_cflags += ["-lexecinfo", "-fPIC"] -diff --git a/test/msan/lit.site.cfg.in b/test/msan/lit.site.cfg.in -index f744d71fd..35634d324 100644 ---- a/test/msan/lit.site.cfg.in -+++ b/test/msan/lit.site.cfg.in -@@ -6,6 +6,7 @@ config.target_cflags = "@MSAN_TEST_TARGET_CFLAGS@" - config.target_arch = "@MSAN_TEST_TARGET_ARCH@" - config.use_lld = @MSAN_TEST_USE_LLD@ - config.use_thinlto = @MSAN_TEST_USE_THINLTO@ -+config.rpc_cflags = "@TIRPC_CFLAGS@" - - # Load common config for all compiler-rt lit tests. - lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") -diff --git a/test/tsan/lit.cfg b/test/tsan/lit.cfg -index 233d273f3..2776775eb 100644 ---- a/test/tsan/lit.cfg -+++ b/test/tsan/lit.cfg -@@ -49,7 +49,8 @@ clang_tsan_cflags = (["-fsanitize=thread", - [config.target_cflags] + - config.debug_info_flags + - extra_cflags + -- ["-I%s" % tsan_incdir]) -+ ["-I%s" % tsan_incdir] + -+ [config.rpc_cflags]) - clang_tsan_cxxflags = config.cxx_mode_flags + clang_tsan_cflags + ["-std=c++11"] + ["-I%s" % tsan_incdir] - # Add additional flags if we're using instrumented libc++. - # Instrumented libcxx currently not supported on Darwin. -diff --git a/test/tsan/lit.site.cfg.in b/test/tsan/lit.site.cfg.in -index 6dec5f92b..67020f3b9 100644 ---- a/test/tsan/lit.site.cfg.in -+++ b/test/tsan/lit.site.cfg.in -@@ -6,6 +6,7 @@ config.has_libcxx = @TSAN_HAS_LIBCXX@ - config.apple_platform = "@TSAN_TEST_APPLE_PLATFORM@" - config.target_cflags = "@TSAN_TEST_TARGET_CFLAGS@" - config.target_arch = "@TSAN_TEST_TARGET_ARCH@" -+config.rpc_cflags = "@TIRPC_CFLAGS@" - - # Load common config for all compiler-rt lit tests. - lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") --- -2.19.1 - |