diff options
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.patch | 41 |
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 @@ | |||
1 | From d504abaf2b0a514193f52df42098bc16de4718b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Oz <rik20@live.it> | ||
3 | Date: Fri, 17 Jan 2025 21:23:59 +0100 | ||
4 | Subject: [PATCH] Fix int8_t storage in BitPropVariant on Arm architectures | ||
5 | |||
6 | Upstream-Status: Backport [https://github.com/rikyoz/bit7z/commit/d504abaf2b0a514193f52df42098bc16de4718b2] | ||
7 | Signed-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 | |||
13 | diff --git a/include/bit7z/bitwindows.hpp b/include/bit7z/bitwindows.hpp | ||
14 | index 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; | ||
29 | diff --git a/src/bitpropvariant.cpp b/src/bitpropvariant.cpp | ||
30 | index 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() { | ||