From 08582ac033595c0b2ab283d8c4f07c94dba7623a Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 10 Aug 2026 14:58:33 -0700 Subject: [PATCH] Export TLS information by default on wasip3 --- cmake/wasi-sdk-toolchain.cmake | 3 +++ src/llvm-pr-215413.patch | 14 ++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/llvm-pr-215413.patch diff --git a/cmake/wasi-sdk-toolchain.cmake b/cmake/wasi-sdk-toolchain.cmake index 2585f50..a0086b4 100644 --- a/cmake/wasi-sdk-toolchain.cmake +++ b/cmake/wasi-sdk-toolchain.cmake @@ -264,6 +264,9 @@ ExternalProject_Add(llvm-build COMMAND ${CMAKE_COMMAND} -E chdir .. bash -c "git apply ${CMAKE_SOURCE_DIR}/src/llvm-pr-209282.patch || git apply ${CMAKE_SOURCE_DIR}/src/llvm-pr-209282.patch -R --check" + COMMAND + ${CMAKE_COMMAND} -E chdir .. bash -c + "git apply ${CMAKE_SOURCE_DIR}/src/llvm-pr-215413.patch || git apply ${CMAKE_SOURCE_DIR}/src/llvm-pr-215413.patch -R --check" ) add_custom_target(build ALL DEPENDS llvm-build) diff --git a/src/llvm-pr-215413.patch b/src/llvm-pr-215413.patch new file mode 100644 index 0000000..d862fb6 --- /dev/null +++ b/src/llvm-pr-215413.patch @@ -0,0 +1,14 @@ +diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp +index 740e8878c6e03..da5a5d6092c1e 100644 +--- a/lld/wasm/Driver.cpp ++++ b/lld/wasm/Driver.cpp +@@ -1004,6 +1004,9 @@ static void createSyntheticSymbols() { + ctx.sym.getTLSBase = + createUndefinedFunction("__wasm_get_tls_base", &getTLSBaseSignature); + ctx.sym.getTLSBase->markLive(); ++ ctx.arg.exportedSymbols.insert(ctx.sym.tlsSize->getName()); ++ ctx.arg.exportedSymbols.insert(ctx.sym.tlsAlign->getName()); ++ ctx.arg.exportedSymbols.insert(ctx.sym.initTLS->getName()); + } + } + }