summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2019-01-16 14:48:37 +0100
committerMichał Górny <mgorny@gentoo.org>2019-01-16 15:52:26 +0100
commit2e4c750d4c41beeff9a4243b64cdc3a9fa54342d (patch)
tree5ba54bd69a64709d70e623399aff439f1642352c /sys-libs/compiler-rt-sanitizers
parentsys-devel/llvmgold: Copy for slot :9 (diff)
downloadgentoo-2e4c750d4c41beeff9a4243b64cdc3a9fa54342d.tar.gz
gentoo-2e4c750d4c41beeff9a4243b64cdc3a9fa54342d.tar.bz2
gentoo-2e4c750d4c41beeff9a4243b64cdc3a9fa54342d.zip
sys-libs/compiler-rt-sanitizers: rpc issues were fixed upstream
The rpc failures were fixed upstream, so remove the relevant patches. Since interceptors are only meant to intercept libc functions, we just disable relevant code when glibc does not include sunrpc routines. Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'sys-libs/compiler-rt-sanitizers')
-rw-r--r--sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild4
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch67
-rw-r--r--sys-libs/compiler-rt-sanitizers/files/9999/0002-test-Support-using-libtirpc-on-Linux.patch100
3 files changed, 0 insertions, 171 deletions
diff --git a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
index 93f03059cd69..22e6a9b283cb 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-9999.ebuild
@@ -77,10 +77,6 @@ src_unpack() {
src_prepare() {
cmake-utils_src_prepare
- # apply the fixes for new glibc / split tirpc
- eapply "${FILESDIR}/9999/0001-sanitizer_common-Fix-using-libtirpc-on-Linux.patch"
- eapply "${FILESDIR}/9999/0002-test-Support-using-libtirpc-on-Linux.patch"
-
if use test; then
# remove tests that are (still) broken by new glibc
# https://bugs.llvm.org/show_bug.cgi?id=36065
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
-