blob: a2c9f8290009e1e7f678273fea5e3685ae753e44 [file] [log] [blame]
# SPDX-License-Identifier: Apache-2.0
if(CONFIG_X86_64)
string(PREPEND CMAKE_ASM_FLAGS "-m64 ")
string(PREPEND CMAKE_C_FLAGS "-m64 ")
string(PREPEND CMAKE_CXX_FLAGS "-m64 ")
else()
string(PREPEND CMAKE_ASM_FLAGS "-m32 ")
string(PREPEND CMAKE_C_FLAGS "-m32 ")
string(PREPEND CMAKE_CXX_FLAGS "-m32 ")
if(CONFIG_X86_FP_USE_SOFT_FLOAT)
list(APPEND TOOLCHAIN_C_FLAGS -msoft-float)
list(APPEND TOOLCHAIN_LD_FLAGS -msoft-float)
endif()
endif()
# Flags not supported by llext linker
# (regexps are supported and match whole word)
set(LLEXT_REMOVE_FLAGS
-fno-pic
-fno-pie
-ffunction-sections
-fdata-sections
-g.*
-Os
)
# Force compiler and linker match
if(CONFIG_X86_64)
set(LLEXT_APPEND_FLAGS
-m64
)
else()
set(LLEXT_APPEND_FLAGS
-m32
)
endif()
# GNU Assembler, by default on non-Linux targets, treats slashes as
# start of comments on i386.
# (https://sourceware.org/binutils/docs-2.33.1/as/i386_002dChars.html#i386_002dChars)
# In order to use division, `--divide` needs to be passed to
# the assembler.
list(APPEND TOOLCHAIN_C_FLAGS -Wa,--divide)