Skip to content

Commit

Permalink
app-emulation/FEX: filter x86/amd64 LDFLAGS
Browse files Browse the repository at this point in the history
Wow shocker undocumented CMake variable whodathunk

Signed-off-by: James Calligeros <[email protected]>
  • Loading branch information
chadmed committed Aug 30, 2024
1 parent d50117a commit abfef0d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
2 changes: 2 additions & 0 deletions app-emulation/FEX/FEX-2408.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ src_configure() {

export X86_CFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/cc} c ${CFLAGS} ${LDFLAGS})"
export X86_CXXFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/c++} c++ ${CXXFLAGS} ${LDFLAGS})"
export X86_LDFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/cc} c ${LDFLAGS})"

my-filter-var X86_CFLAGS '-flto*' -fwhole-program-vtables '-fsanitize=cfi*'
my-filter-var X86_CXXFLAGS '-flto*' -fwhole-program-vtables '-fsanitize=cfi*'
Expand All @@ -300,6 +301,7 @@ src_configure() {
-DBUILD_THUNKS=$(usex thunks True False)
-DX86_CFLAGS="${X86_CFLAGS}"
-DX86_CXXFLAGS="${X86_CXXFLAGS}"
-DX86_LDFLAGS="${X86_LDFLAGS}"
)
cmake_src_configure
}
Expand Down
23 changes: 15 additions & 8 deletions app-emulation/FEX/files/FEX-thunks-toolchain-paths.patch
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ca4c22..ce42968 100644
index 76371883e..be0b9e8e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -467,6 +467,8 @@ if (BUILD_THUNKS)
@@ -467,6 +467,9 @@ if (BUILD_THUNKS)
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
"-DFEX_PROJECT_SOURCE_DIR=${FEX_PROJECT_SOURCE_DIR}"
"-DGENERATOR_EXE=$<TARGET_FILE:thunkgen>"
+ "-DX86_CFLAGS=${X86_CFLAGS}"
+ "-DX86_CXXFLAGS=${X86_CXXFLAGS}"
+ "-DX86_LDFLAGS=${X86_LDFLAGS}"
INSTALL_COMMAND ""
BUILD_ALWAYS ON
DEPENDS thunkgen
diff --git a/ThunkLibs/GuestLibs/CMakeLists.txt b/ThunkLibs/GuestLibs/CMakeLists.txt
index cff9943..8b928bb 100644
index cff9943e9..3b7482489 100644
--- a/ThunkLibs/GuestLibs/CMakeLists.txt
+++ b/ThunkLibs/GuestLibs/CMakeLists.txt
@@ -67,10 +67,10 @@ function(generate NAME SOURCE_FILE)
Expand All @@ -37,7 +38,7 @@ index cff9943..8b928bb 100644
target_link_libraries(${NAME}-guest PRIVATE lib${NAME}-guest-deps)

diff --git a/ThunkLibs/libwayland-client/libwayland-client_interface.cpp b/ThunkLibs/libwayland-client/libwayland-client_interface.cpp
index 575d2e1..c82672e 100644
index 575d2e195..c82672e3f 100644
--- a/ThunkLibs/libwayland-client/libwayland-client_interface.cpp
+++ b/ThunkLibs/libwayland-client/libwayland-client_interface.cpp
@@ -1,3 +1,8 @@
Expand All @@ -50,10 +51,10 @@ index 575d2e1..c82672e 100644

#include <wayland-client.h>
diff --git a/toolchain_x86_32.cmake b/toolchain_x86_32.cmake
index 89e3134..701d3e7 100644
index 89e3134d3..8bd7ca3f8 100644
--- a/toolchain_x86_32.cmake
+++ b/toolchain_x86_32.cmake
@@ -15,6 +15,8 @@ if (ENABLE_CLANG_THUNKS)
@@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}")
else()
Expand All @@ -63,12 +64,15 @@ index 89e3134..701d3e7 100644
+ set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}")
+ set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__)
+ set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__)
+ set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}")
endif()
diff --git a/toolchain_x86_64.cmake b/toolchain_x86_64.cmake
index 9aa856a..a862049 100644
index 9aa856a01..6dacf17c5 100644
--- a/toolchain_x86_64.cmake
+++ b/toolchain_x86_64.cmake
@@ -15,6 +15,8 @@ if (ENABLE_CLANG_THUNKS)
@@ -15,6 +15,12 @@ if (ENABLE_CLANG_THUNKS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}")
else()
Expand All @@ -78,4 +82,7 @@ index 9aa856a..a862049 100644
+ set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}")
+ set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__)
+ set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__)
+ set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}")
endif()

0 comments on commit abfef0d

Please sign in to comment.