Projects
openEuler:Mainline
snappy
_service:tar_scm:add-option-to-enable-rtti-set-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:add-option-to-enable-rtti-set-default-to-current-ben.patch of Package snappy
From 07d1ae496bea8280f4cec08df5745845f7956365 Mon Sep 17 00:00:00 2001 From: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com> Date: Wed, 6 Apr 2022 10:04:21 -0700 Subject: [PATCH] snappy: Autospec creation for version 1.1.9 This patch addresses an issue with Ceph https://tracker.ceph.com/issues/53060. There have been multiple patches to upstream snappy, but they have all been rejected and the reasoning has always been that snappy would like to be consistent in their build flags with chrome as mentioned at https://github.com/google/snappy/pull/144#issuecomment-968371042 add-option-to-enable-rtti-set-default-to-current-ben.patch --- CMakeLists.txt | 14 ++++++++++---- snappy-stubs-internal.h | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 672561e..cafdc59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,8 +53,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") add_definitions(-D_HAS_EXCEPTIONS=0) # Disable RTTI. - string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") + if(NOT SNAPPY_ENABLE_RTTI) + string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") + endif(SNAPPY_ENABLE_RTTI) else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") # Use -Wall for clang and gcc. if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall") @@ -78,8 +80,10 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") # Disable RTTI. - string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + if(NOT SNAPPY_ENABLE_RTTI) + string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + endif(SNAPPY_ENABLE_RTTI) endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make @@ -98,6 +102,8 @@ option(SNAPPY_REQUIRE_AVX2 "Target processors with AVX2 support." OFF) option(SNAPPY_INSTALL "Install Snappy's header and library" ON) +option(SNAPPY_ENABLE_RTTI "Enable RTTI for Snappy's library" OFF) + include(TestBigEndian) test_big_endian(SNAPPY_IS_BIG_ENDIAN) diff --git a/snappy-stubs-internal.h b/snappy-stubs-internal.h index c2a838f..5bf7870 100644 --- a/snappy-stubs-internal.h +++ b/snappy-stubs-internal.h @@ -100,7 +100,7 @@ // Inlining hints. #if HAVE_ATTRIBUTE_ALWAYS_INLINE -#define SNAPPY_ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline)) +#define SNAPPY_ATTRIBUTE_ALWAYS_INLINE #else #define SNAPPY_ATTRIBUTE_ALWAYS_INLINE #endif // HAVE_ATTRIBUTE_ALWAYS_INLINE -- 2.24.4
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2