cmake: ld: Disable manual linking of libgcc components for host
When the host toolchain is used, `-nostdlib` option is not specified and therefore all default libraries, including the libgcc and its components, are automatically linked -- so it is not necessary to manually link them here. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit is contained in:
parent
733240378e
commit
1836f10bb7
|
@ -13,14 +13,16 @@ endif()
|
|||
|
||||
set_ifndef(LINKERFLAGPREFIX -Wl)
|
||||
|
||||
if(CONFIG_EXCEPTIONS)
|
||||
# When building with C++ Exceptions, it is important that crtbegin and crtend
|
||||
# are linked at specific locations.
|
||||
# The location is so important that we cannot let this be controlled by normal
|
||||
# link libraries, instead we must control the link command specifically as
|
||||
# part of toolchain.
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> ${LIBGCC_DIR}/crtbegin.o <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${LIBGCC_DIR}/crtend.o")
|
||||
if(NOT "${ZEPHYR_TOOLCHAIN_VARIANT}" STREQUAL "host")
|
||||
if(CONFIG_EXCEPTIONS)
|
||||
# When building with C++ Exceptions, it is important that crtbegin and crtend
|
||||
# are linked at specific locations.
|
||||
# The location is so important that we cannot let this be controlled by normal
|
||||
# link libraries, instead we must control the link command specifically as
|
||||
# part of toolchain.
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> ${LIBGCC_DIR}/crtbegin.o <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${LIBGCC_DIR}/crtend.o")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Run $LINKER_SCRIPT file through the C preprocessor, producing ${linker_script_gen}
|
||||
|
|
Loading…
Reference in a new issue