From 7b0f3b68119b09d7f8417aa29116aec3cc639c64 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sat, 19 Feb 2022 12:51:19 -0700 Subject: [PATCH] Toolchain: Set CMAKE_NM for Clang and GNU toolchain files Make sure that we set CMAKE_NM, it's possible that some version of CMake could choose a host nm binary instead of the ones we just built. It's unlikely that host nm will understand our .dyn.relr segments unless it's from binutils 2.38 or higher, so it might complain. --- Toolchain/CMake/ClangToolchain.txt.in | 5 +++-- Toolchain/CMake/GNUToolchain.txt.in | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Toolchain/CMake/ClangToolchain.txt.in b/Toolchain/CMake/ClangToolchain.txt.in index 51eb4af1d4..308700697c 100644 --- a/Toolchain/CMake/ClangToolchain.txt.in +++ b/Toolchain/CMake/ClangToolchain.txt.in @@ -21,11 +21,12 @@ set(CMAKE_CXX_COMPILER_TARGET ${triple}) set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PATH}/clang) set(CMAKE_ASM_COMPILER_TARGET ${triple}) set(CMAKE_LINKER ${TOOLCHAIN_PATH}/ld.lld) +set(CMAKE_AR ${TOOLCHAIN_PATH}/llvm-ar) +set(CMAKE_NM ${TOOLCHAIN_PATH}/llvm-nm) +set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}/llvm-objcopy) set(CMAKE_RANLIB ${TOOLCHAIN_PATH}/llvm-ranlib) set(CMAKE_STRIP ${TOOLCHAIN_PATH}/llvm-strip) -set(CMAKE_AR ${TOOLCHAIN_PATH}/llvm-ar) set(SERENITY_CXXFILT ${TOOLCHAIN_PATH}/llvm-cxxfilt) -set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}/llvm-objcopy) set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--hash-style=gnu,-z,relro,-z,now,-z,noexecstack,-z,max-page-size=0x1000,-z,separate-code") diff --git a/Toolchain/CMake/GNUToolchain.txt.in b/Toolchain/CMake/GNUToolchain.txt.in index 918bc5fd0c..ae09c1e7df 100644 --- a/Toolchain/CMake/GNUToolchain.txt.in +++ b/Toolchain/CMake/GNUToolchain.txt.in @@ -18,10 +18,11 @@ set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}gcc) set(CMAKE_LINKER ${TOOLCHAIN_PREFIX}ld) +set(CMAKE_AR ${TOOLCHAIN_PREFIX}gcc-ar) +set(CMAKE_NM ${TOOLCHAIN_PREFIX}gcc-nm) +set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) set(CMAKE_RANLIB ${TOOLCHAIN_PREFIX}gcc-ranlib) set(CMAKE_STRIP ${TOOLCHAIN_PREFIX}strip) -set(CMAKE_AR ${TOOLCHAIN_PREFIX}gcc-ar) -set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) set(SERENITY_CXXFILT ${TOOLCHAIN_PREFIX}c++filt) set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,--hash-style=gnu,-z,relro,-z,now,-z,noexecstack,-z,max-page-size=0x1000,-z,separate-code")