public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/compiler-rt-sanitizers/files/9999/, sys-libs/compiler-rt-sanitizers/
@ 2019-01-16 14:52 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2019-01-16 14:52 UTC (permalink / raw
  To: gentoo-commits

commit:     2e4c750d4c41beeff9a4243b64cdc3a9fa54342d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 16 13:48:37 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jan 16 14:52:26 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e4c750d

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 <AT> gentoo.org>

 .../compiler-rt-sanitizers-9999.ebuild             |   4 -
 ...itizer_common-Fix-using-libtirpc-on-Linux.patch |  67 --------------
 ...0002-test-Support-using-libtirpc-on-Linux.patch | 100 ---------------------
 3 files changed, 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 93f03059cd6..22e6a9b283c 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 f39645669da..00000000000
--- 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 c851cae0a6b..00000000000
--- 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
-


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-01-16 14:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-16 14:52 [gentoo-commits] repo/gentoo:master commit in: sys-libs/compiler-rt-sanitizers/files/9999/, sys-libs/compiler-rt-sanitizers/ Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox