From aa4cea02ac7bb486979ce96d29b0dc6c76491184 Mon Sep 17 00:00:00 2001 From: Peter Levine Date: Tue, 20 Aug 2019 01:56:41 -0400 Subject: dev-cpp/gtest: Fix test failure on sparc64 sparc64 exhibits the same usersandbox stack overflow bug and its stack can apparently grow upwards in memory. Revert back to allocating 10 pages of mapped memory for the offending call to clone(). Bug: https://bugs.gentoo.org/692464 Reported-by: Rolf Eike Beer Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Peter Levine Signed-off-by: Joonas Niilola --- .../gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch | 15 --------------- ...test-1.9.0_pre20190607-increase-clone-stack-size.patch | 13 +++++++++++++ 2 files changed, 13 insertions(+), 15 deletions(-) delete mode 100644 dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch create mode 100755 dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch (limited to 'dev-cpp/gtest/files') diff --git a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch deleted file mode 100644 index 9a840aa58766..000000000000 --- a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch +++ /dev/null @@ -1,15 +0,0 @@ -Bug: https://bugs.gentoo.org/688162 -Upstream PR: https://github.com/google/googletest/pull/2276 - ---- a/googletest/src/gtest-death-test.cc -+++ b/googletest/src/gtest-death-test.cc -@@ -1357,6 +1357,9 @@ static pid_t ExecDeathTestSpawnChild(char* const* argv, int close_fd) { - const auto stack_size = static_cast(getpagesize()); - // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. - void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, -+# if GTEST_OS_LINUX -+ (stack_grows_down ? MAP_GROWSDOWN : 0) | // Needed for stack auto-resizing -+# endif - MAP_ANON | MAP_PRIVATE, -1, 0); - GTEST_DEATH_TEST_CHECK_(stack != MAP_FAILED); - diff --git a/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch new file mode 100755 index 000000000000..38d515a48ddb --- /dev/null +++ b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-increase-clone-stack-size.patch @@ -0,0 +1,13 @@ +Bug: https://bugs.gentoo.org/692464 + +--- a/googletest/src/gtest-death-test.cc ++++ b/googletest/src/gtest-death-test.cc +@@ -1070,7 +1070,7 @@ + + if (!use_fork) { + static const bool stack_grows_down = StackGrowsDown(); +- const auto stack_size = static_cast(getpagesize()); ++ const auto stack_size = static_cast(getpagesize()* 10); + // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. + void* const stack = mmap(NULL, stack_size, PROT_READ | PROT_WRITE, + MAP_ANON | MAP_PRIVATE, -1, 0); -- cgit v1.2.3-65-gdbad