diff options
author | Peter Levine <plevine457@gmail.com> | 2019-06-16 19:55:31 -0400 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2019-06-17 08:25:05 +0200 |
commit | fac747ad8938ce04897dfe1d188260f42ce8b6cb (patch) | |
tree | c59b5e1bbb9153d6a17943504b437ab7d02e1823 /dev-cpp | |
parent | dev-ruby/rmagick: install docs in correct location (diff) | |
download | gentoo-fac747ad8938ce04897dfe1d188260f42ce8b6cb.tar.gz gentoo-fac747ad8938ce04897dfe1d188260f42ce8b6cb.tar.bz2 gentoo-fac747ad8938ce04897dfe1d188260f42ce8b6cb.zip |
dev-cpp/gtest: Fix segfault in googletest-death-test
Fixes call to mmap to include MAP_GROWSDOWN flag for
stack auto-resizing.
Reported-by: tka <tka@kamph.org>
Tested-by: Arfrever Frehtes Taifersar Arahesis <arfrever.fta@gmail.com>
Closes: https://bugs.gentoo.org/688162
Closes: https://github.com/gentoo/gentoo/pull/12271
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Peter Levine <plevine457@gmail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch | 15 | ||||
-rw-r--r-- | dev-cpp/gtest/files/gtest-9999-increase-clone-stack-size.patch | 14 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.7.0-r1.ebuild | 2 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.8.0-r1.ebuild | 2 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.8.0.ebuild | 2 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild | 2 | ||||
-rw-r--r-- | dev-cpp/gtest/gtest-9999.ebuild | 2 |
7 files changed, 20 insertions, 19 deletions
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 new file mode 100644 index 000000000000..9a840aa58766 --- /dev/null +++ b/dev-cpp/gtest/files/gtest-1.9.0_pre20190607-add-mmap-stack-flag.patch @@ -0,0 +1,15 @@ +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<size_t>(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-9999-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-9999-increase-clone-stack-size.patch deleted file mode 100644 index 5e4dc47f704e..000000000000 --- a/dev-cpp/gtest/files/gtest-9999-increase-clone-stack-size.patch +++ /dev/null @@ -1,14 +0,0 @@ -Bug: https://bugs.gentoo.org/629620 -Upstream PR: https://github.com/google/googletest/pull/2276 - ---- a/googletest/src/gtest-death-test.cc -+++ b/googletest/src/gtest-death-test.cc -@@ -1354,7 +1354,7 @@ - - if (!use_fork) { - static const bool stack_grows_down = StackGrowsDown(); -- const auto stack_size = static_cast<size_t>(getpagesize()); -+ const auto stack_size = static_cast<size_t>(getpagesize() * 8); - // MMAP_ANONYMOUS is not defined on Mac, so we use MAP_ANON instead. - void* const stack = mmap(nullptr, stack_size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE, -1, 0); diff --git a/dev-cpp/gtest/gtest-1.7.0-r1.ebuild b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild index f1185b2db0cc..360809f62e74 100644 --- a/dev-cpp/gtest/gtest-1.7.0-r1.ebuild +++ b/dev-cpp/gtest/gtest-1.7.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="5" diff --git a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild index 18d837c58fcd..0e0934020cdb 100644 --- a/dev-cpp/gtest/gtest-1.8.0-r1.ebuild +++ b/dev-cpp/gtest/gtest-1.8.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 diff --git a/dev-cpp/gtest/gtest-1.8.0.ebuild b/dev-cpp/gtest/gtest-1.8.0.ebuild index a2fc61eb5c4f..da82dca28b27 100644 --- a/dev-cpp/gtest/gtest-1.8.0.ebuild +++ b/dev-cpp/gtest/gtest-1.8.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 diff --git a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild b/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild index 1ff88fb723ff..9fc545d7fd83 100644 --- a/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild +++ b/dev-cpp/gtest/gtest-1.9.0_pre20190607.ebuild @@ -35,7 +35,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-9999-increase-clone-stack-size.patch + "${FILESDIR}"/${PN}-1.9.0_pre20190607-add-mmap-stack-flag.patch ) pkg_setup() { diff --git a/dev-cpp/gtest/gtest-9999.ebuild b/dev-cpp/gtest/gtest-9999.ebuild index 685acf50cd67..bd677dc0bd1d 100644 --- a/dev-cpp/gtest/gtest-9999.ebuild +++ b/dev-cpp/gtest/gtest-9999.ebuild @@ -33,7 +33,7 @@ DEPEND="test? ( ${PYTHON_DEPS} )" RDEPEND="!dev-cpp/gmock" PATCHES=( - "${FILESDIR}"/${PN}-9999-increase-clone-stack-size.patch + "${FILESDIR}"/${PN}-1.9.0_pre20190607-add-mmap-stack-flag.patch ) pkg_setup() { |