[llvm] Remove -Wl, -z, defs linker flag when building shared libraries using llvm with emscripten (PR #123396)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 17 14:24:33 PST 2025


https://github.com/mcbarton updated https://github.com/llvm/llvm-project/pull/123396

>From 63481ca624717cdb6d1cf798ce3ca14e4fa46156 Mon Sep 17 00:00:00 2001
From: mcbarton <150042563+mcbarton at users.noreply.github.com>
Date: Fri, 17 Jan 2025 21:01:54 +0000
Subject: [PATCH] Remove -Wl,-z,defs linker flag when building shared libraries
 using llvm with emscripten

Co-Authored-By: Vassil Vassilev <v.g.vassilev at gmail.com>
---
 llvm/cmake/modules/HandleLLVMOptions.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake
index f19125eb6bf273..3d59bc2f5f28fb 100644
--- a/llvm/cmake/modules/HandleLLVMOptions.cmake
+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -312,7 +312,7 @@ endif()
 
 # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
 # build might work on ELF but fail on MachO/COFF.
-if(NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin|FreeBSD|OpenBSD|DragonFly|AIX|OS390" OR
+if(NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin|FreeBSD|OpenBSD|DragonFly|AIX|OS390|Emscripten" OR
         WIN32 OR CYGWIN) AND
    NOT LLVM_USE_SANITIZER)
   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")



More information about the llvm-commits mailing list