MDEV-37502: clang/debug/rocksdb - stack frame size

Follow up to MDEV-34388 82d7419e06

Relax limit on specific files only.

clang-20 + CMAKE_BUILD_TYPE=Debug:

options/cf_options.cc:0:0: stack frame size (17624) exceeds limit (16384) in function '__cxx_global_var_init.33'
options/db_options.cc:0:0: stack frame size (34328) exceeds limit (32768) in function '__cxx_global_var_init.45'

Reviewer: Jimmy Hu <jimmy.hu@mariadb.com>
This commit is contained in:
Daniel Black 2025-08-27 08:01:31 +10:00
commit 4f1170d9db
2 changed files with 4 additions and 7 deletions

View file

@ -9,13 +9,6 @@ SET(CPACK_RPM_rocksdb-engine_PACKAGE_SUMMARY "RocksDB storage engine for MariaDB
SET(CPACK_RPM_rocksdb-engine_PACKAGE_DESCRIPTION "The RocksDB storage engine is a high performance storage engine, aimed
at maximising storage efficiency while maintaining InnoDB-like performance." PARENT_SCOPE)
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "-Wframe-larger-than=[0-9]*" ""
CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
MY_CHECK_AND_SET_COMPILER_FLAG(-Wframe-larger-than=32768)
MY_CHECK_AND_SET_COMPILER_FLAG(-Wno-range-loop-construct)
MY_CHECK_AND_SET_COMPILER_FLAG(-Wno-effc++ DEBUG RELWITHDEBINFO)

View file

@ -507,6 +507,10 @@ if(MSVC)
# Workaround Win8.1 SDK bug, that breaks /permissive-
string(REPLACE "/permissive-" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else()
set_source_files_properties(${ROCKSDB_SOURCE_DIR}/options/db_options.cc
PROPERTIES COMPILE_FLAGS "-Wframe-larger-than=40960")
set_source_files_properties(${ROCKSDB_SOURCE_DIR}/options/cf_options.cc
PROPERTIES COMPILE_FLAGS "-Wframe-larger-than=32768")
set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul ${CXX11_FLAGS}")
CHECK_CXX_SOURCE_COMPILES("