Skip to content

Commit 3c337dc

Browse files
authored
fix: Wrong compiler parameter on MSVC (#4778)
* fix: Wrong compiler parameter on MSVC * refactor: Move gcc flags to common build script. * refactor: Add both C/CXX flags
1 parent 257d475 commit 3c337dc

File tree

23 files changed

+7
-119
lines changed

23 files changed

+7
-119
lines changed

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,6 @@ if (NOT WIN32)
131131
string (REGEX REPLACE " *" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
132132
endif()
133133

134-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
135-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
136-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
137-
endif ()
138-
endif ()
139-
140134
# The following flags are to enhance security, but it may impact performance,
141135
# we disable them by default.
142136
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

build-scripts/config_common.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,14 @@ if (WAMR_BUILD_TARGET MATCHES "ARM.*")
7979
elseif (WAMR_BUILD_TARGET MATCHES "THUMB.*")
8080
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mthumb")
8181
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-mthumb")
82+
elseif (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
83+
if (CMAKE_C_COMPILER_ID MATCHES ".*GNU")
84+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
85+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mindirect-branch-register")
86+
endif ()
8287
endif ()
8388

89+
8490
include (${CMAKE_CURRENT_LIST_DIR}/warnings.cmake)
8591

8692
if (NOT WAMR_BUILD_INTERP EQUAL 1)

core/iwasm/libraries/wasi-nn/cmake/iwasm_helper.cmake

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat -Wformat-security -W
2828

2929
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wformat -Wformat-security -Wno-unused")
3030

31-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
32-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
33-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
34-
endif ()
35-
endif ()
36-
3731
set (WAMR_BUILD_INTERP 1)
3832
set (WAMR_BUILD_AOT 1)
3933
set (WAMR_BUILD_JIT 0)

product-mini/platforms/android/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,12 +111,6 @@ set_version_info (vmlib)
111111

112112
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -pie -fPIE")
113113

114-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
115-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
116-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
117-
endif ()
118-
endif ()
119-
120114
# The following flags are to enhance security, but it may impact performance,
121115
# we disable them by default.
122116
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

product-mini/platforms/cosmopolitan/CMakeLists.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,6 @@ set_version_info (vmlib)
136136

137137
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections")
138138

139-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
140-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
141-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
142-
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mindirect-branch-register")
143-
# UNDEFINED BEHAVIOR, refer to https://en.cppreference.com/w/cpp/language/ub
144-
endif ()
145-
endif ()
146-
147139
# The following flags are to enhance security, but it may impact performance,
148140
# we disable them by default.
149141
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

product-mini/platforms/ios/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,6 @@ include (${WAMR_ROOT_DIR}/build-scripts/runtime_lib.cmake)
113113

114114
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections -pie -fPIE")
115115

116-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
117-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
118-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
119-
endif ()
120-
endif ()
121-
122116
# The following flags are to enhance security, but it may impact performance,
123117
# we disable them by default.
124118
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

product-mini/platforms/linux/CMakeLists.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,6 @@ check_pie_supported()
139139

140140
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections")
141141

142-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
143-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
144-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
145-
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mindirect-branch-register")
146-
# UNDEFINED BEHAVIOR, refer to https://en.cppreference.com/w/cpp/language/ub
147-
endif ()
148-
endif ()
149-
150142
# The following flags are to enhance security, but it may impact performance,
151143
# we disable them by default.
152144
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

product-mini/platforms/windows/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,6 @@ if (NOT MINGW)
114114
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
115115
endif ()
116116

117-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
118-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang" OR MSVC))
119-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
120-
endif ()
121-
endif ()
122-
123117
# The following flags are to enhance security, but it may impact performance,
124118
# we disable them by default.
125119
#if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")

samples/basic/CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ if (NOT MSVC)
6060
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
6161
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections")
6262
endif ()
63-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
64-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
65-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
66-
endif ()
67-
endif ()
6863
endif ()
6964

7065
# build out vmlib

samples/file/src/CMakeLists.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,6 @@ if (NOT MSVC)
6161
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
6262
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections")
6363
endif ()
64-
if (WAMR_BUILD_TARGET MATCHES "X86_.*" OR WAMR_BUILD_TARGET STREQUAL "AMD_64")
65-
if (NOT (CMAKE_C_COMPILER MATCHES ".*clang.*" OR CMAKE_C_COMPILER_ID MATCHES ".*Clang"))
66-
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mindirect-branch-register")
67-
endif ()
68-
endif ()
6964
endif ()
7065

7166
# build out vmlib

0 commit comments

Comments
 (0)