diff options
author | thegeorg <thegeorg@yandex-team.com> | 2025-01-09 19:48:50 +0300 |
---|---|---|
committer | thegeorg <thegeorg@yandex-team.com> | 2025-01-09 20:10:05 +0300 |
commit | 5b95a133cb44f9f6dd65110f057cc55b36f9a859 (patch) | |
tree | 285d1cf873023a3d0e981a414f7799bbc88246cd /contrib | |
parent | 4164728ac2be8f2b58391faacb71ed11267db35e (diff) | |
download | ydb-5b95a133cb44f9f6dd65110f057cc55b36f9a859.tar.gz |
Cleanup libunwind import routine
commit_hash:edc483d8a602a84f9a90fe73a5889591c1d8ac46
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/libs/libunwind/.yandex_meta/__init__.py | 4 | ||||
-rw-r--r-- | contrib/libs/libunwind/.yandex_meta/override.nix | 5 | ||||
-rw-r--r-- | contrib/libs/libunwind/include/__libunwind_config.h | 4 | ||||
-rw-r--r-- | contrib/libs/libunwind/patches/04-wasm-config.patch | 19 | ||||
-rw-r--r-- | contrib/libs/libunwind/ya.make | 8 |
5 files changed, 36 insertions, 4 deletions
diff --git a/contrib/libs/libunwind/.yandex_meta/__init__.py b/contrib/libs/libunwind/.yandex_meta/__init__.py index f93d859c2e..d1a5b082d6 100644 --- a/contrib/libs/libunwind/.yandex_meta/__init__.py +++ b/contrib/libs/libunwind/.yandex_meta/__init__.py @@ -4,12 +4,12 @@ from devtools.yamaker.modules import Linkable, Switch def post_install(self): with self.yamakes["."] as libunwind: - libunwind.DISABLE.add("USE_LTO") libunwind.NO_COMPILER_WARNINGS = False + libunwind.NO_LTO = True libunwind.NO_RUNTIME = True libunwind.NO_SANITIZE = True libunwind.NO_SANITIZE_COVERAGE = True - libunwind.ADDINCL = [f"{self.arcdir}/include"] + # original build uses -f options heavily, keep only necessary subset libunwind.CFLAGS += ["-fno-exceptions", "-fno-rtti", "-funwind-tables"] libunwind.after("CFLAGS", Switch({"SANITIZER_TYPE == memory": "CFLAGS(-fPIC)"})) libunwind.PEERDIR.add("library/cpp/sanitizer/include") diff --git a/contrib/libs/libunwind/.yandex_meta/override.nix b/contrib/libs/libunwind/.yandex_meta/override.nix index f6fbeb5805..04e5939865 100644 --- a/contrib/libs/libunwind/.yandex_meta/override.nix +++ b/contrib/libs/libunwind/.yandex_meta/override.nix @@ -11,4 +11,9 @@ pkgs: attrs: with pkgs; with attrs; rec { patches = []; sourceRoot = "source/libunwind"; + + # Building without this option breaks build traces: https://st.yandex-team.ru/DTCC-589. + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-fno-integrated-cc1" + ]; } diff --git a/contrib/libs/libunwind/include/__libunwind_config.h b/contrib/libs/libunwind/include/__libunwind_config.h index 8db336b2d7..028b9e3baa 100644 --- a/contrib/libs/libunwind/include/__libunwind_config.h +++ b/contrib/libs/libunwind/include/__libunwind_config.h @@ -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-config.patch b/contrib/libs/libunwind/patches/04-wasm-config.patch new file mode 100644 index 0000000000..c093f47541 --- /dev/null +++ b/contrib/libs/libunwind/patches/04-wasm-config.patch @@ -0,0 +1,19 @@ +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/ya.make b/contrib/libs/libunwind/ya.make index 6556b688ee..062d702729 100644 --- a/contrib/libs/libunwind/ya.make +++ b/contrib/libs/libunwind/ya.make @@ -15,8 +15,6 @@ VERSION(18.1.0-rc1) ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/llvmorg-18.1.0-rc1.tar.gz) -DISABLE(USE_LTO) - PEERDIR( library/cpp/sanitizer/include ) @@ -29,11 +27,17 @@ NO_RUNTIME() NO_UTIL() +NO_LTO() + NO_SANITIZE() NO_SANITIZE_COVERAGE() CFLAGS( + -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER + -D_LIBUNWIND_IS_NATIVE_ONLY + -D_LIBUNWIND_LINK_DL_LIB + -D_LIBUNWIND_LINK_PTHREAD_LIB -fno-exceptions -fno-rtti -funwind-tables |