aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libunwind
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.ru>2022-06-01 16:38:25 +0300
committerthegeorg <thegeorg@yandex-team.ru>2022-06-01 16:38:25 +0300
commitecc2138bec815d318384b806e3212198d17aa04b (patch)
tree9be9019f2e6f83b47303448839fbbb0fdaeebde4 /contrib/libs/libunwind
parent63a84accbe6624a8f7258f16c3568b903845ce9a (diff)
downloadydb-ecc2138bec815d318384b806e3212198d17aa04b.tar.gz
Update contrib/libs/libunwind to 14.0.4
ref:76a5526f0f92eccff5df4823c8016614eea76c86
Diffstat (limited to 'contrib/libs/libunwind')
-rw-r--r--contrib/libs/libunwind/src/DwarfInstructions.hpp4
-rw-r--r--contrib/libs/libunwind/src/UnwindRegistersSave.S2
-rw-r--r--contrib/libs/libunwind/src/assembly.h2
-rw-r--r--contrib/libs/libunwind/src/config.h11
4 files changed, 9 insertions, 10 deletions
diff --git a/contrib/libs/libunwind/src/DwarfInstructions.hpp b/contrib/libs/libunwind/src/DwarfInstructions.hpp
index c1a241c55c..ab83b0c87a 100644
--- a/contrib/libs/libunwind/src/DwarfInstructions.hpp
+++ b/contrib/libs/libunwind/src/DwarfInstructions.hpp
@@ -91,8 +91,8 @@ typename A::pint_t DwarfInstructions<A, R>::getSavedRegister(
return (pint_t)addressSpace.getRegister(cfa + (pint_t)savedReg.value);
case CFI_Parser<A>::kRegisterInCFADecrypt: // sparc64 specific
- return addressSpace.getP(cfa + (pint_t)savedReg.value) ^
- getSparcWCookie(registers, 0);
+ return (pint_t)(addressSpace.getP(cfa + (pint_t)savedReg.value) ^
+ getSparcWCookie(registers, 0));
case CFI_Parser<A>::kRegisterAtExpression:
return (pint_t)addressSpace.getRegister(evaluateExpression(
diff --git a/contrib/libs/libunwind/src/UnwindRegistersSave.S b/contrib/libs/libunwind/src/UnwindRegistersSave.S
index 9566bb0335..b39489235c 100644
--- a/contrib/libs/libunwind/src/UnwindRegistersSave.S
+++ b/contrib/libs/libunwind/src/UnwindRegistersSave.S
@@ -603,9 +603,11 @@ DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext)
stw 30,128(3)
stw 31,132(3)
+#if defined(__ALTIVEC__)
// save VRSave register
mfspr 0, 256
stw 0, 156(3)
+#endif
// save CR registers
mfcr 0
stw 0, 136(3)
diff --git a/contrib/libs/libunwind/src/assembly.h b/contrib/libs/libunwind/src/assembly.h
index 978f6bd619..89293a555b 100644
--- a/contrib/libs/libunwind/src/assembly.h
+++ b/contrib/libs/libunwind/src/assembly.h
@@ -15,7 +15,7 @@
#ifndef UNWIND_ASSEMBLY_H
#define UNWIND_ASSEMBLY_H
-#if (defined(__i386__) || defined(__x86_64__)) && defined(__linux__)
+#if defined(__linux__) && defined(__CET__)
#include <cet.h>
#define _LIBUNWIND_CET_ENDBR _CET_ENDBR
#else
diff --git a/contrib/libs/libunwind/src/config.h b/contrib/libs/libunwind/src/config.h
index 560edda04e..5ae1604f65 100644
--- a/contrib/libs/libunwind/src/config.h
+++ b/contrib/libs/libunwind/src/config.h
@@ -109,13 +109,10 @@
#define _LIBUNWIND_SUPPORT_FRAME_APIS
#endif
-#if defined(__i386__) || defined(__x86_64__) || \
- defined(__ppc__) || defined(__ppc64__) || defined(__powerpc64__) || \
- (!defined(__APPLE__) && defined(__arm__)) || \
- defined(__aarch64__) || \
- defined(__mips__) || \
- defined(__riscv) || \
- defined(__hexagon__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || \
+ (!defined(__APPLE__) && defined(__arm__)) || defined(__aarch64__) || \
+ defined(__mips__) || defined(__riscv) || defined(__hexagon__) || \
+ defined(__sparc__)
#if !defined(_LIBUNWIND_BUILD_SJLJ_APIS)
#define _LIBUNWIND_BUILD_ZERO_COST_APIS
#endif