Skip to content

Commit f9aa6c1

Browse files
authored
Don't default to -fno-exceptions -fno-rtti (#7746)
We need exceptions/RTTI for non-core-only use cases (see #7736).
1 parent d30a0ca commit f9aa6c1

6 files changed

+14
-19
lines changed

CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,9 @@ if(EXECUTORCH_ENABLE_EVENT_TRACER)
146146
endif()
147147

148148
# -ffunction-sections -fdata-sections: breaks function and data into sections so
149-
# they can be properly gc'd. -s: strip symbol. -fno-exceptions -fno-rtti:
150-
# disables exceptions and runtime type.
149+
# they can be properly gc'd. -s: strip symbol.
151150
set(CMAKE_CXX_FLAGS_RELEASE
152-
"-ffunction-sections -fdata-sections -fno-exceptions -fno-rtti ${CMAKE_CXX_FLAGS_RELEASE}"
151+
"-ffunction-sections -fdata-sections ${CMAKE_CXX_FLAGS_RELEASE}"
153152
)
154153
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
155154
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")

backends/arm/scripts/build_quantized_ops_aot_lib.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ echo "--------------------------------------------------------------------------
2020

2121
# Since we only want to build the quantized_aot lib in the specified folder,
2222
# we want exactly the configuration set below and deleting the cache is OK.
23-
rm -f cmake-out-aot-lib/CMakeCache.txt
23+
rm -f cmake-out-aot-lib/CMakeCache.txt
2424

25-
cmake \
25+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake \
2626
-DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH" \
2727
-DCMAKE_BUILD_TYPE=${build_type} \
2828
-DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON \

backends/cadence/build_cadence_fusionG3.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ STEPWISE_BUILD=false
2121

2222
if $STEPWISE_BUILD; then
2323
echo "Building ExecuTorch"
24-
cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
24+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
2525
-DCMAKE_TOOLCHAIN_FILE=./backends/cadence/cadence.cmake \
2626
-DCMAKE_BUILD_TYPE=Release \
2727
-DEXECUTORCH_ENABLE_EVENT_TRACER=OFF \
@@ -37,7 +37,7 @@ if $STEPWISE_BUILD; then
3737
-Bcmake-out .
3838

3939
echo "Building any Cadence-specific binaries on top"
40-
cmake -DBUCK2="$BUCK" \
40+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DBUCK2="$BUCK" \
4141
-DCMAKE_TOOLCHAIN_FILE=/home/zonglinpeng/ws/zonglinpeng/executorch/backends/cadence/cadence.cmake \
4242
-DCMAKE_INSTALL_PREFIX=cmake-out \
4343
-DCMAKE_BUILD_TYPE=Release \
@@ -61,7 +61,7 @@ if $STEPWISE_BUILD; then
6161
else
6262
echo "Building Cadence toolchain with ExecuTorch packages"
6363
cmake_prefix_path="${PWD}/cmake-out/lib/cmake/ExecuTorch;${PWD}/cmake-out/third-party/gflags"
64-
cmake -DBUCK2="$BUCK" \
64+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DBUCK2="$BUCK" \
6565
-DCMAKE_PREFIX_PATH="${cmake_prefix_path}" \
6666
-DHAVE_SYS_STAT_H=ON \
6767
-DCMAKE_TOOLCHAIN_FILE=./backends/cadence/cadence.cmake \

backends/cadence/build_cadence_hifi4.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ STEPWISE_BUILD=false
2121

2222
if $STEPWISE_BUILD; then
2323
echo "Building ExecuTorch"
24-
cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
24+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
2525
-DCMAKE_TOOLCHAIN_FILE=./backends/cadence/cadence.cmake \
2626
-DCMAKE_BUILD_TYPE=Release \
2727
-DEXECUTORCH_ENABLE_EVENT_TRACER=OFF \
@@ -36,7 +36,7 @@ if $STEPWISE_BUILD; then
3636
-Bcmake-out .
3737

3838
echo "Building any Cadence-specific binaries on top"
39-
cmake -DBUCK2="$BUCK" \
39+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DBUCK2="$BUCK" \
4040
-DCMAKE_TOOLCHAIN_FILE=./backends/cadence/cadence.cmake \
4141
-DCMAKE_INSTALL_PREFIX=cmake-out \
4242
-DCMAKE_BUILD_TYPE=Release \
@@ -60,7 +60,7 @@ if $STEPWISE_BUILD; then
6060
else
6161
echo "Building Cadence toolchain with ExecuTorch packages"
6262
cmake_prefix_path="${PWD}/cmake-out/lib/cmake/ExecuTorch;${PWD}/cmake-out/third-party/gflags"
63-
cmake -DBUCK2="$BUCK" \
63+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DBUCK2="$BUCK" \
6464
-DCMAKE_PREFIX_PATH="${cmake_prefix_path}" \
6565
-DCMAKE_TOOLCHAIN_FILE=./backends/cadence/cadence.cmake \
6666
-DCMAKE_INSTALL_PREFIX=cmake-out \

backends/cadence/build_cadence_runner.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ main() {
2121
cd "${EXECUTORCH_ROOT}"
2222

2323
rm -rf cmake-out
24-
cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
24+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DCMAKE_INSTALL_PREFIX=cmake-out \
2525
-DCMAKE_BUILD_TYPE=Release \
2626
-DEXECUTORCH_BUILD_DEVTOOLS=ON \
2727
-DEXECUTORCH_ENABLE_EVENT_TRACER=ON \
@@ -33,7 +33,7 @@ main() {
3333
local build_dir="cmake-out/${example_dir}"
3434
local cmake_prefix_path="${PWD}/cmake-out/lib/cmake/ExecuTorch;${PWD}/cmake-out/third-party/gflags"
3535
rm -rf ${build_dir}
36-
cmake -DCMAKE_PREFIX_PATH="${cmake_prefix_path}" \
36+
CXXFLAGS="-fno-exceptions -fno-rtti" cmake -DCMAKE_PREFIX_PATH="${cmake_prefix_path}" \
3737
-DCMAKE_BUILD_TYPE=Release \
3838
-DEXECUTORCH_CADENCE_CPU_RUNNER=ON \
3939
-DEXECUTORCH_ENABLE_LOGGING=ON \

test/build_size_test.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ cmake_install_executorch_lib() {
1515
echo "Installing libexecutorch.a"
1616
clean_executorch_install_folders
1717

18-
retry cmake -DBUCK2="$BUCK2" \
18+
CXXFLAGS="-fno-exceptions -fno-rtti" retry cmake -DBUCK2="$BUCK2" \
1919
-DCMAKE_CXX_STANDARD_REQUIRED=ON \
2020
-DCMAKE_INSTALL_PREFIX=cmake-out \
2121
-DCMAKE_BUILD_TYPE=Release \
@@ -27,7 +27,7 @@ cmake_install_executorch_lib() {
2727
}
2828

2929
test_cmake_size_test() {
30-
retry cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=cmake-out -Bcmake-out/test test
30+
CXXFLAGS="-fno-exceptions -fno-rtti" retry cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=cmake-out -Bcmake-out/test test
3131

3232
echo "Build size test"
3333
cmake --build cmake-out/test -j9 --config Release
@@ -39,10 +39,6 @@ test_cmake_size_test() {
3939
ls -al cmake-out/test/size_test_all_ops
4040
}
4141

42-
if [[ -z $BUCK2 ]]; then
43-
BUCK2=buck2
44-
fi
45-
4642
if [[ -z $PYTHON_EXECUTABLE ]]; then
4743
PYTHON_EXECUTABLE=python3
4844
fi

0 commit comments

Comments
 (0)