summaryrefslogtreecommitdiff
path: root/dev-cpp/gtest/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-01-10 05:25:01 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-01-10 05:25:01 +0000
commit456dbeaab3e2f71f527eae542ab44d1e372b0655 (patch)
tree5cee708ec6e4b4e530a4337e7389598dc7cd6144 /dev-cpp/gtest/files
parent65737cf14a7220bd9a487aa2af4ae0e79bd23e86 (diff)
gentoo resync : 10.01.2018
Diffstat (limited to 'dev-cpp/gtest/files')
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch98
-rw-r--r--dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch14
2 files changed, 112 insertions, 0 deletions
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch b/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch
new file mode 100644
index 000000000000..40fa1f6668bc
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-fix-doublefree.patch
@@ -0,0 +1,98 @@
+Bug: https://bugs.gentoo.org/631698
+Upstream PR: https://github.com/google/googletest/pull/1339
+
+From 0663ce9024c9b78ddf6eb3fc1ceb45361ed91767 Mon Sep 17 00:00:00 2001
+From: Romain Geissler <romain.geissler@gmail.com>
+Date: Sat, 2 Dec 2017 22:47:20 +0100
+Subject: [PATCH] Fix double free when building Gtest/GMock in shared libraries
+ and linking a test executable with both.
+
+---
+ googlemock/CMakeLists.txt | 63 ++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 40 insertions(+), 23 deletions(-)
+
+diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt
+index 724fdd5f0..f7bad8afc 100644
+--- a/googlemock/CMakeLists.txt
++++ b/googlemock/CMakeLists.txt
+@@ -86,16 +86,23 @@ endif()
+ # Google Mock libraries. We build them using more strict warnings than what
+ # are used for other targets, to ensure that Google Mock can be compiled by
+ # a user aggressive about warnings.
+-cxx_library(gmock
+- "${cxx_strict}"
+- "${gtest_dir}/src/gtest-all.cc"
+- src/gmock-all.cc)
+-
+-cxx_library(gmock_main
+- "${cxx_strict}"
+- "${gtest_dir}/src/gtest-all.cc"
+- src/gmock-all.cc
+- src/gmock_main.cc)
++if (MSVC)
++ cxx_library(gmock
++ "${cxx_strict}"
++ "${gtest_dir}/src/gtest-all.cc"
++ src/gmock-all.cc)
++
++ cxx_library(gmock_main
++ "${cxx_strict}"
++ "${gtest_dir}/src/gtest-all.cc"
++ src/gmock-all.cc
++ src/gmock_main.cc)
++else()
++ cxx_library(gmock "${cxx_strict}" src/gmock-all.cc)
++ target_link_libraries(gmock gtest)
++ cxx_library(gmock_main "${cxx_strict}" src/gmock_main.cc)
++ target_link_libraries(gmock_main gmock)
++endif()
+
+ # If the CMake version supports it, attach header directory information
+ # to the targets for when we are part of a parent build (ie being pulled
+@@ -175,23 +182,33 @@ if (gmock_build_tests)
+ ############################################################
+ # C++ tests built with non-standard compiler flags.
+
+- cxx_library(gmock_main_no_exception "${cxx_no_exception}"
+- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+-
+- cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
+- "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
++ if (MSVC)
++ cxx_library(gmock_main_no_exception "${cxx_no_exception}"
++ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+
+- if (NOT MSVC OR MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
+- # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
+- # conflict with our own definitions. Therefore using our own tuple does not
+- # work on those compilers.
+- cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
++ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}"
+ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
+
+- cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
+- gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
++ if (MSVC_VERSION LESS 1600) # 1600 is Visual Studio 2010.
++ # Visual Studio 2010, 2012, and 2013 define symbols in std::tr1 that
++ # conflict with our own definitions. Therefore using our own tuple does not
++ # work on those compilers.
++ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}"
++ "${gtest_dir}/src/gtest-all.cc" src/gmock-all.cc src/gmock_main.cc)
++
++ cxx_test_with_flags(gmock_use_own_tuple_test "${cxx_use_own_tuple}"
++ gmock_main_use_own_tuple test/gmock-spec-builders_test.cc)
++ endif()
++ else()
++ cxx_library(gmock_main_no_exception "${cxx_no_exception}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_no_exception gmock)
++
++ cxx_library(gmock_main_no_rtti "${cxx_no_rtti}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_no_rtti gmock)
++
++ cxx_library(gmock_main_use_own_tuple "${cxx_use_own_tuple}" src/gmock_main.cc)
++ target_link_libraries(gmock_main_use_own_tuple gmock)
+ endif()
+-
+ cxx_test_with_flags(gmock-more-actions_no_exception_test "${cxx_no_exception}"
+ gmock_main_no_exception test/gmock-more-actions_test.cc)
+
diff --git a/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch b/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch
new file mode 100644
index 000000000000..22ac0b6d4a12
--- /dev/null
+++ b/dev-cpp/gtest/files/gtest-1.8.0-increase-clone-stack-size.patch
@@ -0,0 +1,14 @@
+Bug: https://bugs.gentoo.org/629620
+Upstream PR: https://github.com/google/googletest/pull/1274
+
+--- 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 size_t stack_size = getpagesize();
++ const size_t stack_size = 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);