[libunwind] [libunwind][WebAssembly] Don't build libunwind.cpp (PR #73196)

Heejin Ahn via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 22 18:22:22 PST 2023


https://github.com/aheejin created https://github.com/llvm/llvm-project/pull/73196

Wasm doesn't use that file; Wasm does not allow access of system registers and those functionalities are provided from the VM. Wasm only uses
https://github.com/llvm/llvm-project/blob/main/libunwind/src/Unwind-wasm.c, which implements a few interface functions.

>From f26f6ec29e6ce735696b1aeb6b73e7221b008316 Mon Sep 17 00:00:00 2001
From: Heejin Ahn <aheejin at gmail.com>
Date: Wed, 22 Nov 2023 18:18:19 -0800
Subject: [PATCH] [libunwind][WebAssembly] Don't build libunwind.cpp

Wasm doesn't use that file; Wasm does not allow access of system
registers and those functionalities are provided from the VM. Wasm only
uses
https://github.com/llvm/llvm-project/blob/main/libunwind/src/Unwind-wasm.c,
which implements a few interface functions.
---
 libunwind/src/libunwind.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libunwind/src/libunwind.cpp b/libunwind/src/libunwind.cpp
index 1bd18659b7860c0..cd610377b63de8d 100644
--- a/libunwind/src/libunwind.cpp
+++ b/libunwind/src/libunwind.cpp
@@ -26,7 +26,7 @@
 #include <sanitizer/asan_interface.h>
 #endif
 
-#if !defined(__USING_SJLJ_EXCEPTIONS__)
+#if !defined(__USING_SJLJ_EXCEPTIONS__) || !defined(__USING_WASM_EXCEPTIONS__)
 #include "AddressSpace.hpp"
 #include "UnwindCursor.hpp"
 
@@ -347,7 +347,8 @@ void __unw_remove_dynamic_eh_frame_section(unw_word_t eh_frame_start) {
 }
 
 #endif // defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
-#endif // !defined(__USING_SJLJ_EXCEPTIONS__)
+#endif // !defined(__USING_SJLJ_EXCEPTIONS__) ||
+       // !defined(__USING_WASM_EXCEPTIONS__)
 
 #ifdef __APPLE__
 



More information about the cfe-commits mailing list