From b0bb74c25d3a2caab032e5facfd9608724de3e05 Mon Sep 17 00:00:00 2001 From: Alexey Gavrilov Date: Thu, 2 Apr 2026 18:52:26 +0700 Subject: Correct CRTXBUNDLE static targets into separate objects This correct refers to a wrong order of linking CRT objects. When targets are separates into 4: CRTI, CRTBEGIN, CRTEND, CRTN the order became a little bit correct. TODO - Image with grub bootloader creation - Build under window platform (optional) Signed-off-by: Alexey Gavrilov --- libgcc/x86/CMakeLists.txt | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'libgcc/x86') diff --git a/libgcc/x86/CMakeLists.txt b/libgcc/x86/CMakeLists.txt index 8b2eb67..8dac6ba 100644 --- a/libgcc/x86/CMakeLists.txt +++ b/libgcc/x86/CMakeLists.txt @@ -1,21 +1,20 @@ -add_library(CRTI INTERFACE) -add_library(CRTIBUNDLE STATIC) -target_sources(CRTIBUNDLE PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/crti.nasm - $ +add_library(CRTI OBJECT) +target_sources(CRTI PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/crti.nasm ) -target_link_libraries(CRTIBUNDLE PUBLIC - ASM_NASM_COMPILER_REQUIREMENTS + +target_link_libraries(CRTI + PUBLIC + ASM_NASM_COMPILER_REQUIREMENTS ) -target_link_libraries(CRTI INTERFACE CRTIBUNDLE) -add_library(CRTN INTERFACE) -add_library(CRTNBUNDLE STATIC) -target_sources(CRTNBUNDLE PRIVATE +add_library(CRTN OBJECT) +target_sources(CRTN PRIVATE ${CMAKE_CURRENT_LIST_DIR}/crtn.nasm - $ ) -target_link_libraries(CRTNBUNDLE PUBLIC - ASM_NASM_COMPILER_REQUIREMENTS + +target_link_libraries(CRTN + PUBLIC + ASM_NASM_COMPILER_REQUIREMENTS + ) -target_link_libraries(CRTN INTERFACE CRTNBUNDLE) -- cgit v1.2.3