diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2025-01-11 12:39:04 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2025-01-11 12:57:10 +0300 |
commit | c0cafa96b3eb8b9cea45553a452016f4fce4bd14 (patch) | |
tree | 75f0f7181b40e6a55e0e48ea08aba0e4c280d965 /contrib | |
parent | 2d3b7f1966f9716551a0d7db72a9608addab8ecf (diff) | |
download | ydb-c0cafa96b3eb8b9cea45553a452016f4fce4bd14.tar.gz |
Update contrib/libs/libunwind to 19.1.5
commit_hash:26df5425466c047cc00493ac63a5422c221053ca
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/libs/libunwind/.yandex_meta/__init__.py | 3 | ||||
-rw-r--r-- | contrib/libs/libunwind/.yandex_meta/override.nix | 4 | ||||
-rw-r--r-- | contrib/libs/libunwind/patches/03-unused.patch | 9 | ||||
-rw-r--r-- | contrib/libs/libunwind/patches/04-wasm-config.patch | 19 | ||||
-rw-r--r-- | contrib/libs/libunwind/patches/04-wasm-exceptions.patch | 6 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/Registers.hpp | 7 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/Unwind-wasm.c | 4 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/UnwindCursor.hpp | 18 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/UnwindLevel1.c | 36 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/UnwindRegistersRestore.S | 18 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/UnwindRegistersSave.S | 4 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/assembly.h | 25 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/cet_unwind.h | 22 | ||||
-rw-r--r-- | contrib/libs/libunwind/src/libunwind.cpp | 5 | ||||
-rw-r--r-- | contrib/libs/libunwind/ya.make | 9 |
15 files changed, 124 insertions, 65 deletions
diff --git a/contrib/libs/libunwind/.yandex_meta/__init__.py b/contrib/libs/libunwind/.yandex_meta/__init__.py index 803baf46fb..0e5950112a 100644 --- a/contrib/libs/libunwind/.yandex_meta/__init__.py +++ b/contrib/libs/libunwind/.yandex_meta/__init__.py @@ -25,7 +25,6 @@ def post_install(self): { "NOT OS_EMSCRIPTEN": Linkable( SRCS=sources, - CFLAGS=["-D_LIBUNWIND_IS_NATIVE_ONLY"], ), "OS_EMSCRIPTEN AND ARCH_WASM32": Linkable( SRCS=["src/Unwind-wasm.c"], @@ -39,7 +38,7 @@ def post_install(self): PEERDIR=["contrib/restricted/emscripten/include"], CFLAGS=[ "-D_LIBUNWIND_HIDE_SYMBOLS", - "-D__USING_WASM_EXCEPTIONS__", + "-D__WASM_EXCEPTIONS__", ], ), } diff --git a/contrib/libs/libunwind/.yandex_meta/override.nix b/contrib/libs/libunwind/.yandex_meta/override.nix index 04e5939865..3b7ed16a16 100644 --- a/contrib/libs/libunwind/.yandex_meta/override.nix +++ b/contrib/libs/libunwind/.yandex_meta/override.nix @@ -1,11 +1,11 @@ pkgs: attrs: with pkgs; with attrs; rec { - version = "18.1.0-rc1"; + version = "19.1.5"; src = fetchFromGitHub { owner = "llvm"; repo = "llvm-project"; rev = "llvmorg-${version}"; - hash = "sha256-I9VUoDv+P/3C6R1I9VozGYJDjK4KBAkezVkpPMLjMuU="; + hash = "sha256-QxQL4QwUH6e5HWpBvI8yIbZYBNwqqRsZqPH0w/JSiHQ="; }; patches = []; diff --git a/contrib/libs/libunwind/patches/03-unused.patch b/contrib/libs/libunwind/patches/03-unused.patch index 0b59655a26..4001186411 100644 --- a/contrib/libs/libunwind/patches/03-unused.patch +++ b/contrib/libs/libunwind/patches/03-unused.patch @@ -13,15 +13,6 @@ diff --git a/contrib/libs/libunwind/src/Unwind-EHABI.cpp b/contrib/libs/libunwin diff --git a/contrib/libs/libunwind/src/UnwindLevel1.c b/contrib/libs/libunwind/src/UnwindLevel1.c --- a/contrib/libs/libunwind/src/UnwindLevel1.c +++ b/contrib/libs/libunwind/src/UnwindLevel1.c -@@ -195,7 +195,7 @@ - - // uc is initialized by __unw_getcontext in the parent frame. The first stack - // frame walked is unwind_phase2. -- unsigned framesWalked = 1; -+ unsigned framesWalked __attribute__((unused)) = 1; - #ifdef _LIBUNWIND_USE_CET - unsigned long shadowStackTop = _get_ssp(); - #endif @@ -330,7 +330,7 @@ // uc is initialized by __unw_getcontext in the parent frame. The first stack diff --git a/contrib/libs/libunwind/patches/04-wasm-config.patch b/contrib/libs/libunwind/patches/04-wasm-config.patch deleted file mode 100644 index c093f47541..0000000000 --- a/contrib/libs/libunwind/patches/04-wasm-config.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 080afaf1ef8e81cfdc26850560b639acd0c88733 -author: robot-contrib -date: 2024-12-28T08:39:56+03:00 - - Update contrib/libs/libunwind to 19.1.5 - ---- contrib/libs/libunwind/include/__libunwind_config.h (cc7e7e3cd08b4064e3856fcec6df5aa39b8cc0a4) -+++ contrib/libs/libunwind/include/__libunwind_config.h (080afaf1ef8e81cfdc26850560b639acd0c88733) -@@ -180,6 +180,10 @@ - #endif - #define _LIBUNWIND_HIGHEST_DWARF_REGISTER \ - _LIBUNWIND_HIGHEST_DWARF_REGISTER_LOONGARCH -+#elif defined(__wasm__) -+// Unused -+#define _LIBUNWIND_CONTEXT_SIZE 0 -+#define _LIBUNWIND_CURSOR_SIZE 0 - # else - # error "Unsupported architecture." - # endif diff --git a/contrib/libs/libunwind/patches/04-wasm-exceptions.patch b/contrib/libs/libunwind/patches/04-wasm-exceptions.patch index 22b0ead0e6..167b0a5d78 100644 --- a/contrib/libs/libunwind/patches/04-wasm-exceptions.patch +++ b/contrib/libs/libunwind/patches/04-wasm-exceptions.patch @@ -4,11 +4,11 @@ #include "config.h" --#ifdef __USING_WASM_EXCEPTIONS__ +-#ifdef __WASM_EXCEPTIONS__ #include "unwind.h" + -+#ifdef __USING_WASM_EXCEPTIONS__ ++#ifdef __WASM_EXCEPTIONS__ #include <threads.h> _Unwind_Reason_Code __gxx_personality_wasm0(int version, _Unwind_Action actions, @@ -24,4 +24,4 @@ +_Unwind_RaiseException(_Unwind_Exception *exception_object __attribute__((unused))) { + abort(); +} - #endif // defined(__USING_WASM_EXCEPTIONS__) + #endif // defined(__WASM_EXCEPTIONS__) diff --git a/contrib/libs/libunwind/src/Registers.hpp b/contrib/libs/libunwind/src/Registers.hpp index d11ddb3426..861e6b5f6f 100644 --- a/contrib/libs/libunwind/src/Registers.hpp +++ b/contrib/libs/libunwind/src/Registers.hpp @@ -1815,6 +1815,13 @@ inline const char *Registers_ppc64::getRegisterName(int regNum) { /// process. class _LIBUNWIND_HIDDEN Registers_arm64; extern "C" void __libunwind_Registers_arm64_jumpto(Registers_arm64 *); + +#if defined(_LIBUNWIND_USE_GCS) +extern "C" void *__libunwind_cet_get_jump_target() { + return reinterpret_cast<void *>(&__libunwind_Registers_arm64_jumpto); +} +#endif + class _LIBUNWIND_HIDDEN Registers_arm64 { public: Registers_arm64(); diff --git a/contrib/libs/libunwind/src/Unwind-wasm.c b/contrib/libs/libunwind/src/Unwind-wasm.c index 379e66e80d..f1fa0fd25f 100644 --- a/contrib/libs/libunwind/src/Unwind-wasm.c +++ b/contrib/libs/libunwind/src/Unwind-wasm.c @@ -17,7 +17,7 @@ #include "unwind.h" -#ifdef __USING_WASM_EXCEPTIONS__ +#ifdef __WASM_EXCEPTIONS__ #include <threads.h> _Unwind_Reason_Code __gxx_personality_wasm0(int version, _Unwind_Action actions, @@ -129,4 +129,4 @@ _LIBUNWIND_EXPORT _Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception *exception_object __attribute__((unused))) { abort(); } -#endif // defined(__USING_WASM_EXCEPTIONS__) +#endif // defined(__WASM_EXCEPTIONS__) diff --git a/contrib/libs/libunwind/src/UnwindCursor.hpp b/contrib/libs/libunwind/src/UnwindCursor.hpp index e251e13520..30a889d102 100644 --- a/contrib/libs/libunwind/src/UnwindCursor.hpp +++ b/contrib/libs/libunwind/src/UnwindCursor.hpp @@ -36,7 +36,6 @@ #include <errno.h> #include <signal.h> #include <sys/syscall.h> -#include <sys/uio.h> #include <unistd.h> #define _LIBUNWIND_CHECK_LINUX_SIGRETURN 1 #endif @@ -472,7 +471,7 @@ public: } #endif -#if defined(_LIBUNWIND_USE_CET) +#if defined(_LIBUNWIND_USE_CET) || defined(_LIBUNWIND_USE_GCS) virtual void *get_registers() { _LIBUNWIND_ABORT("get_registers not implemented"); } @@ -955,7 +954,7 @@ public: virtual uintptr_t getDataRelBase(); #endif -#if defined(_LIBUNWIND_USE_CET) +#if defined(_LIBUNWIND_USE_CET) || defined(_LIBUNWIND_USE_GCS) virtual void *get_registers() { return &_registers; } #endif @@ -2416,7 +2415,7 @@ int UnwindCursor<A, R>::stepWithTBTable(pint_t pc, tbtable *TBTable, } // Reset LR in the current context. - newRegisters.setLR(NULL); + newRegisters.setLR(static_cast<uintptr_t>(NULL)); _LIBUNWIND_TRACE_UNWINDING( "Extract info from lastStack=%p, returnAddress=%p", @@ -2590,6 +2589,15 @@ void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) { --pc; #endif +#if !(defined(_LIBUNWIND_SUPPORT_SEH_UNWIND) && defined(_WIN32)) && \ + !defined(_LIBUNWIND_SUPPORT_TBTAB_UNWIND) + // In case of this is frame of signal handler, the IP saved in the signal + // handler points to first non-executed instruction, while FDE/CIE expects IP + // to be after the first non-executed instruction. + if (_isSignalFrame) + ++pc; +#endif + // Ask address space object to find unwind sections for this pc. UnwindInfoSections sects; if (_addressSpace.findUnwindSections(pc, sects)) { @@ -2997,7 +3005,7 @@ bool UnwindCursor<A, R>::isReadableAddr(const pint_t addr) const { } #endif -#if defined(_LIBUNWIND_USE_CET) +#if defined(_LIBUNWIND_USE_CET) || defined(_LIBUNWIND_USE_GCS) extern "C" void *__libunwind_cet_get_registers(unw_cursor_t *cursor) { AbstractUnwindCursor *co = (AbstractUnwindCursor *)cursor; return co->get_registers(); diff --git a/contrib/libs/libunwind/src/UnwindLevel1.c b/contrib/libs/libunwind/src/UnwindLevel1.c index 39a261c0f8..17a06189b2 100644 --- a/contrib/libs/libunwind/src/UnwindLevel1.c +++ b/contrib/libs/libunwind/src/UnwindLevel1.c @@ -31,7 +31,8 @@ #include "libunwind_ext.h" #include "unwind.h" -#if !defined(_LIBUNWIND_ARM_EHABI) && !defined(__USING_SJLJ_EXCEPTIONS__) +#if !defined(_LIBUNWIND_ARM_EHABI) && !defined(__USING_SJLJ_EXCEPTIONS__) && \ + !defined(__wasm__) #ifndef _LIBUNWIND_SUPPORT_SEH_UNWIND @@ -43,7 +44,7 @@ // _LIBUNWIND_POP_CET_SSP is used to adjust CET shadow stack pointer and we // directly jump to __libunwind_Registers_x86/x86_64_jumpto instead of using // a regular function call to avoid pushing to CET shadow stack again. -#if !defined(_LIBUNWIND_USE_CET) +#if !defined(_LIBUNWIND_USE_CET) && !defined(_LIBUNWIND_USE_GCS) #define __unw_phase2_resume(cursor, fn) \ do { \ (void)fn; \ @@ -71,6 +72,19 @@ __asm__ volatile("jmpq *%%rdx\n\t" :: "D"(cetRegContext), \ "d"(cetJumpAddress)); \ } while (0) +#elif defined(_LIBUNWIND_TARGET_AARCH64) +#define __cet_ss_step_size 8 +#define __unw_phase2_resume(cursor, fn) \ + do { \ + _LIBUNWIND_POP_CET_SSP((fn)); \ + void *cetRegContext = __libunwind_cet_get_registers((cursor)); \ + void *cetJumpAddress = __libunwind_cet_get_jump_target(); \ + __asm__ volatile("mov x0, %0\n\t" \ + "br %1\n\t" \ + : \ + : "r"(cetRegContext), "r"(cetJumpAddress) \ + : "x0"); \ + } while (0) #endif static _Unwind_Reason_Code @@ -186,6 +200,10 @@ unwind_phase1(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except } extern int __unw_step_stage2(unw_cursor_t *); +#if defined(_LIBUNWIND_USE_GCS) +// Enable the GCS target feature to permit gcspop instructions to be used. +__attribute__((target("gcs"))) +#endif static _Unwind_Reason_Code unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object) { __unw_init_local(cursor, uc); @@ -195,9 +213,13 @@ unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except // uc is initialized by __unw_getcontext in the parent frame. The first stack // frame walked is unwind_phase2. - unsigned framesWalked __attribute__((unused)) = 1; -#ifdef _LIBUNWIND_USE_CET + unsigned framesWalked = 1; +#if defined(_LIBUNWIND_USE_CET) unsigned long shadowStackTop = _get_ssp(); +#elif defined(_LIBUNWIND_USE_GCS) + unsigned long shadowStackTop = 0; + if (__chkfeat(_CHKFEAT_GCS)) + shadowStackTop = (unsigned long)__gcspr(); #endif // Walk each frame until we reach where search phase said to stop. while (true) { @@ -254,7 +276,7 @@ unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except // against return address stored in CET shadow stack, if the 2 addresses don't // match, it means return address in normal stack has been corrupted, we return // _URC_FATAL_PHASE2_ERROR. -#ifdef _LIBUNWIND_USE_CET +#if defined(_LIBUNWIND_USE_CET) || defined(_LIBUNWIND_USE_GCS) if (shadowStackTop != 0) { unw_word_t retInNormalStack; __unw_get_reg(cursor, UNW_REG_IP, &retInNormalStack); @@ -322,6 +344,10 @@ unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *except return _URC_FATAL_PHASE2_ERROR; } +#if defined(_LIBUNWIND_USE_GCS) +// Enable the GCS target feature to permit gcspop instructions to be used. +__attribute__((target("gcs"))) +#endif static _Unwind_Reason_Code unwind_phase2_forced(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object, diff --git a/contrib/libs/libunwind/src/UnwindRegistersRestore.S b/contrib/libs/libunwind/src/UnwindRegistersRestore.S index 42c2488fc7..9d34c7909e 100644 --- a/contrib/libs/libunwind/src/UnwindRegistersRestore.S +++ b/contrib/libs/libunwind/src/UnwindRegistersRestore.S @@ -20,7 +20,7 @@ .text #endif -#if !defined(__USING_SJLJ_EXCEPTIONS__) +#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) #if defined(__i386__) DEFINE_LIBUNWIND_FUNCTION(__libunwind_Registers_x86_jumpto) @@ -629,6 +629,10 @@ Lnovec: #elif defined(__aarch64__) +#if defined(__ARM_FEATURE_GCS_DEFAULT) +.arch_extension gcs +#endif + // // extern "C" void __libunwind_Registers_arm64_jumpto(Registers_arm64 *); // @@ -680,6 +684,16 @@ DEFINE_LIBUNWIND_FUNCTION(__libunwind_Registers_arm64_jumpto) ldr x16, [x0, #0x0F8] ldp x0, x1, [x0, #0x000] // restore x0,x1 mov sp,x16 // restore sp +#if defined(__ARM_FEATURE_GCS_DEFAULT) + // If GCS is enabled we need to push the address we're returning to onto the + // GCS stack. We can't just return using br, as there won't be a BTI landing + // pad instruction at the destination. + mov x16, #1 + chkfeat x16 + cbnz x16, Lnogcs + gcspushm x30 +Lnogcs: +#endif ret x30 // jump to pc #elif defined(__arm__) && !defined(__APPLE__) @@ -1232,7 +1246,7 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind19Registers_loongarch6jumptoEv) #endif -#endif /* !defined(__USING_SJLJ_EXCEPTIONS__) */ +#endif /* !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) */ NO_EXEC_STACK_DIRECTIVE diff --git a/contrib/libs/libunwind/src/UnwindRegistersSave.S b/contrib/libs/libunwind/src/UnwindRegistersSave.S index 19a0e87d68..5bf6055fe4 100644 --- a/contrib/libs/libunwind/src/UnwindRegistersSave.S +++ b/contrib/libs/libunwind/src/UnwindRegistersSave.S @@ -20,7 +20,7 @@ .text #endif -#if !defined(__USING_SJLJ_EXCEPTIONS__) +#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) #if defined(__i386__) @@ -1177,6 +1177,6 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext) WEAK_ALIAS(__unw_getcontext, unw_getcontext) -#endif /* !defined(__USING_SJLJ_EXCEPTIONS__) */ +#endif /* !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) */ NO_EXEC_STACK_DIRECTIVE diff --git a/contrib/libs/libunwind/src/assembly.h b/contrib/libs/libunwind/src/assembly.h index fb07d04071..f8e83e138e 100644 --- a/contrib/libs/libunwind/src/assembly.h +++ b/contrib/libs/libunwind/src/assembly.h @@ -82,7 +82,22 @@ #define PPC64_OPD2 #endif -#if defined(__aarch64__) && defined(__ARM_FEATURE_BTI_DEFAULT) +#if defined(__aarch64__) +#if defined(__ARM_FEATURE_GCS_DEFAULT) && defined(__ARM_FEATURE_BTI_DEFAULT) +// Set BTI, PAC, and GCS gnu property bits +#define GNU_PROPERTY 7 +// We indirectly branch to __libunwind_Registers_arm64_jumpto from +// __unw_phase2_resume, so we need to use bti jc. +#define AARCH64_BTI bti jc +#elif defined(__ARM_FEATURE_GCS_DEFAULT) +// Set GCS gnu property bit +#define GNU_PROPERTY 4 +#elif defined(__ARM_FEATURE_BTI_DEFAULT) +// Set BTI and PAC gnu property bits +#define GNU_PROPERTY 3 +#define AARCH64_BTI bti c +#endif +#ifdef GNU_PROPERTY .pushsection ".note.gnu.property", "a" SEPARATOR \ .balign 8 SEPARATOR \ .long 4 SEPARATOR \ @@ -91,12 +106,12 @@ .asciz "GNU" SEPARATOR \ .long 0xc0000000 SEPARATOR /* GNU_PROPERTY_AARCH64_FEATURE_1_AND */ \ .long 4 SEPARATOR \ - .long 3 SEPARATOR /* GNU_PROPERTY_AARCH64_FEATURE_1_BTI AND */ \ - /* GNU_PROPERTY_AARCH64_FEATURE_1_PAC */ \ + .long GNU_PROPERTY SEPARATOR \ .long 0 SEPARATOR \ .popsection SEPARATOR -#define AARCH64_BTI bti c -#else +#endif +#endif +#if !defined(AARCH64_BTI) #define AARCH64_BTI #endif diff --git a/contrib/libs/libunwind/src/cet_unwind.h b/contrib/libs/libunwind/src/cet_unwind.h index c364ed3e12..47d7616a73 100644 --- a/contrib/libs/libunwind/src/cet_unwind.h +++ b/contrib/libs/libunwind/src/cet_unwind.h @@ -35,6 +35,28 @@ } while (0) #endif +// On AArch64 we use _LIBUNWIND_USE_GCS to indicate that GCS is supported. We +// need to guard any use of GCS instructions with __chkfeat though, as GCS may +// not be enabled. +#if defined(_LIBUNWIND_TARGET_AARCH64) && defined(__ARM_FEATURE_GCS_DEFAULT) +#include <arm_acle.h> + +// We can only use GCS if arm_acle.h defines the GCS intrinsics. +#ifdef _CHKFEAT_GCS +#define _LIBUNWIND_USE_GCS 1 +#endif + +#define _LIBUNWIND_POP_CET_SSP(x) \ + do { \ + if (__chkfeat(_CHKFEAT_GCS)) { \ + unsigned tmp = (x); \ + while (tmp--) \ + __gcspopm(); \ + } \ + } while (0) + +#endif + extern void *__libunwind_cet_get_registers(unw_cursor_t *); extern void *__libunwind_cet_get_jump_target(void); diff --git a/contrib/libs/libunwind/src/libunwind.cpp b/contrib/libs/libunwind/src/libunwind.cpp index 217dde9098..cf39ec5f7d 100644 --- a/contrib/libs/libunwind/src/libunwind.cpp +++ b/contrib/libs/libunwind/src/libunwind.cpp @@ -26,7 +26,7 @@ #include <sanitizer/asan_interface.h> #endif -#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__USING_WASM_EXCEPTIONS__) +#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) #include "AddressSpace.hpp" #include "UnwindCursor.hpp" @@ -347,8 +347,7 @@ void __unw_remove_dynamic_eh_frame_section(unw_word_t eh_frame_start) { } #endif // defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) -#endif // !defined(__USING_SJLJ_EXCEPTIONS__) && - // !defined(__USING_WASM_EXCEPTIONS__) +#endif // !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__) #ifdef __APPLE__ diff --git a/contrib/libs/libunwind/ya.make b/contrib/libs/libunwind/ya.make index 062d702729..4abb1db13b 100644 --- a/contrib/libs/libunwind/ya.make +++ b/contrib/libs/libunwind/ya.make @@ -11,9 +11,9 @@ LICENSE( LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(18.1.0-rc1) +VERSION(19.1.5) -ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/llvmorg-18.1.0-rc1.tar.gz) +ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/llvmorg-19.1.5.tar.gz) PEERDIR( library/cpp/sanitizer/include @@ -50,9 +50,6 @@ IF (SANITIZER_TYPE == memory) ENDIF() IF (NOT OS_EMSCRIPTEN) - CFLAGS( - -D_LIBUNWIND_IS_NATIVE_ONLY - ) SRCS( src/Unwind-EHABI.cpp src/Unwind-seh.cpp @@ -80,7 +77,7 @@ ELSEIF (OS_EMSCRIPTEN AND NOT ARCH_WASM32) ) CFLAGS( -D_LIBUNWIND_HIDE_SYMBOLS - -D__USING_WASM_EXCEPTIONS__ + -D__WASM_EXCEPTIONS__ ) SRCS( src/Unwind-wasm.c |