[PATCH] D154399: [llvm] Allow undefined symbols on SerenityOS

Andrew Kaster via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 3 18:53:36 PDT 2023


ADKaster created this revision.
Herald added a project: All.
ADKaster requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Allow undefined symbols in LLVM libraries, which is needed because only
stubs are available for SerenityOS libraries when libc++ and libunwind
are built as part of a bootstrap cross-compile of the OS.

Depends on D154398 <https://reviews.llvm.org/D154398>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D154399

Files:
  llvm/cmake/modules/HandleLLVMOptions.cmake


Index: llvm/cmake/modules/HandleLLVMOptions.cmake
===================================================================
--- llvm/cmake/modules/HandleLLVMOptions.cmake
+++ llvm/cmake/modules/HandleLLVMOptions.cmake
@@ -236,7 +236,7 @@
 
 # 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|SerenityOS" OR
         WIN32 OR CYGWIN) AND
    NOT LLVM_USE_SANITIZER)
   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154399.536925.patch
Type: text/x-patch
Size: 675 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230704/a170baa6/attachment.bin>


More information about the llvm-commits mailing list