summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch')
-rw-r--r--meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch b/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch
new file mode 100644
index 0000000000..b1bf6923f2
--- /dev/null
+++ b/meta-oe/recipes-extended/7zip/bit7z/0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch
@@ -0,0 +1,41 @@
1From d504abaf2b0a514193f52df42098bc16de4718b2 Mon Sep 17 00:00:00 2001
2From: Oz <rik20@live.it>
3Date: Fri, 17 Jan 2025 21:23:59 +0100
4Subject: [PATCH] Fix int8_t storage in BitPropVariant on Arm architectures
5
6Upstream-Status: Backport [https://github.com/rikyoz/bit7z/commit/d504abaf2b0a514193f52df42098bc16de4718b2]
7Signed-off-by: Peter Marko <peter.marko@siemens.com>
8---
9 include/bit7z/bitwindows.hpp | 4 ++++
10 src/bitpropvariant.cpp | 2 +-
11 2 files changed, 5 insertions(+), 1 deletion(-)
12
13diff --git a/include/bit7z/bitwindows.hpp b/include/bit7z/bitwindows.hpp
14index 5849b956..2f29a989 100644
15--- a/include/bit7z/bitwindows.hpp
16+++ b/include/bit7z/bitwindows.hpp
17@@ -126,7 +126,11 @@ struct PROPVARIANT {
18 WORD wReserved2;
19 WORD wReserved3;
20 union {
21+#if defined( __arm__ ) || defined( __aarch64__ )
22+ signed char cVal;
23+#else
24 char cVal;
25+#endif
26 unsigned char bVal;
27 short iVal;
28 unsigned short uiVal;
29diff --git a/src/bitpropvariant.cpp b/src/bitpropvariant.cpp
30index 1e7f094f..642e1268 100644
31--- a/src/bitpropvariant.cpp
32+++ b/src/bitpropvariant.cpp
33@@ -157,7 +157,7 @@ BitPropVariant::BitPropVariant( uint64_t value ) noexcept: PROPVARIANT() {
34 BitPropVariant::BitPropVariant( int8_t value ) noexcept: PROPVARIANT() {
35 vt = VT_I1;
36 wReserved1 = 0;
37- cVal = static_cast< char >( value );
38+ cVal = static_cast< decltype(cVal) >( value );
39 }
40
41 BitPropVariant::BitPropVariant( int16_t value ) noexcept: PROPVARIANT() {