From 974d37a25ddfdf2fa978a80b3fe304bbf73483f1 Mon Sep 17 00:00:00 2001 From: "Enrico Fraccaroli (Galfurian)" Date: Fri, 2 Jun 2023 15:22:37 -0400 Subject: [PATCH] Try setting text section address differently in macos. --- .github/workflows/macos.yml | 2 +- programs/CMakeLists.txt | 6 +++++- programs/tests/CMakeLists.txt | 6 +++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 720d361..a4784f4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -33,4 +33,4 @@ jobs: - name: Build run: | cmake -B build - cmake --build build --parallel 2 --verbose + cmake --build build --parallel 2 diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt index 5e36d4c..c632555 100644 --- a/programs/CMakeLists.txt +++ b/programs/CMakeLists.txt @@ -117,7 +117,11 @@ foreach(PROGRAM ${PROGRAMS}) add_dependencies(${TARGET_NAME} libc) # Add the linking properties. - set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-Ttext=0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000") + if((${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") OR APPLE) + set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-segaddr __TEXT 0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000") + else() + set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-Ttext 0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000") + endif() # Add the final target that strips the debugging symbols from the program. add_custom_command(TARGET ${TARGET_NAME} diff --git a/programs/tests/CMakeLists.txt b/programs/tests/CMakeLists.txt index 6f18f91..27ec68f 100644 --- a/programs/tests/CMakeLists.txt +++ b/programs/tests/CMakeLists.txt @@ -121,7 +121,11 @@ foreach(TEST ${TESTS}) add_dependencies(${TARGET_NAME} libc) # Add the linking properties. - set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-Ttext=0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000,-e_start") + if((${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") OR APPLE) + set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-segaddr __TEXT 0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000") + else() + set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-Wl,-Ttext 0x${TEXADDR_FIRST}${TEXADDR_INFIX}0000") + endif() # Add the final target that strips the debugging symbols from the program. add_custom_command(TARGET ${TARGET_NAME}