diff mbox series

[meta-oe,PATCHv2] snappy: upgrade 1.1.9 -> 1.1.10

Message ID 20231208082952.248187-1-alperyasinak1@gmail.com
State Accepted
Headers show
Series [meta-oe,PATCHv2] snappy: upgrade 1.1.9 -> 1.1.10 | expand

Commit Message

Alper Ak Dec. 8, 2023, 8:29 a.m. UTC
* 0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch removed because fixed in the new version
* Added fix-build-on-32bit-arm.patch to fix arm build

Changelog:

* Performance improvements
* Compilation fixes for various environments

Signed-off-by: alperak <alperyasinak1@gmail.com>
---
 ...-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch | 71 -------------------
 .../snappy/fix-build-on-32bit-arm.patch       | 33 +++++++++
 .../{snappy_1.1.9.bb => snappy_1.1.10.bb}     |  8 +--
 3 files changed, 37 insertions(+), 75 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch
 create mode 100644 meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch
 rename meta-oe/recipes-extended/snappy/{snappy_1.1.9.bb => snappy_1.1.10.bb} (86%)

Comments

Khem Raj Dec. 13, 2023, 7:07 a.m. UTC | #1
On Fri, 08 Dec 2023 11:29:52 +0300, alperak wrote:
> * 0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch removed because fixed in the new version
> * Added fix-build-on-32bit-arm.patch to fix arm build
> 
> Changelog:
> 
> * Performance improvements
> * Compilation fixes for various environments
> 
> [...]

Applied, thanks!

[1/1] snappy: upgrade 1.1.9 -> 1.1.10
      commit: 0f0c4c96d90d0eaf78ef6fa93a150dd5fa8fa182

Best regards,
diff mbox series

Patch

diff --git a/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch
deleted file mode 100644
index 27357d88a..000000000
--- a/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch
+++ /dev/null
@@ -1,71 +0,0 @@ 
-From 4728803cc8687431449c8c9fbfabb1da04943400 Mon Sep 17 00:00:00 2001
-From: "Georgi D. Sotirov" <gdsotirov@gmail.com>
-Date: Wed, 5 May 2021 14:16:46 +0300
-Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-
-Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to
-fix the following compilation errors and a warning with GCC:
-
-[  2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o
-/usr/bin/c++   -DHAVE_CONFIG_H -Dsnappy_EXPORTS
--I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9  -O3
--march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3
--DNDEBUG -fPIC   -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c
-/tmp/snappy-1.1.9/snappy.cc
-/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline
-function might not be inlinable [-Wattributes]
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-        ^
-/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair<const
-unsigned char*, int> snappy::DecompressBranchless(const uint8_t*, const
-uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned
-char; ptrdiff_t = int]':
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
-         size_t tag_type = AdvanceToNextTag(&ip, &tag);
-                                                     ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-        ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
-         size_t tag_type = AdvanceToNextTag(&ip, &tag);
-                                                     ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-        ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
-         size_t tag_type = AdvanceToNextTag(&ip, &tag);
-                                                     ^
-CMakeFiles/snappy.dir/build.make:137: recipe for target
-'CMakeFiles/snappy.dir/snappy.cc.o' failed
-
-Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++
-inline specifier.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Upstream-Status: Submitted [https://github.com/google/snappy/pull/128]
----
- snappy.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/snappy.cc b/snappy.cc
-index 79dc0e8..51157be 100644
---- a/snappy.cc
-+++ b/snappy.cc
-@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) {
- }
- 
- SNAPPY_ATTRIBUTE_ALWAYS_INLINE
--size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-   const uint8_t*& ip = *ip_p;
-   // This section is crucial for the throughput of the decompression loop.
-   // The latency of an iteration is fundamentally constrained by the
diff --git a/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch b/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch
new file mode 100644
index 000000000..b6ab149e1
--- /dev/null
+++ b/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch
@@ -0,0 +1,33 @@ 
+From ecb3bcc283ce740a34d6342cbcda569f3193ade9 Mon Sep 17 00:00:00 2001
+From: David Michael <fedora.dm0@gmail.com>
+Date: Mon, 1 May 2023 11:14:32 -0400
+Subject: [PATCH] Specifically check for NEON for ARMv8 CPUs.
+
+The actual NEON implementation uses instructions that are not
+supported on 32-bit CPUs.  Make the CMake test reflect this so that
+ARMv7 builds succeed again.
+
+Upstream-Status: Submitted [https://github.com/google/snappy/pull/169]
+
+Signed-off-by: David Michael <fedora.dm0@gmail.com>
+Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 85afe58e..e8775859 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -207,9 +207,9 @@ int main() {
+ check_cxx_source_compiles("
+ #include <arm_neon.h>
+ int main() {
+-  uint8_t val = 3, dup[8];
++  uint8_t val = 3;
+   uint8x16_t v = vld1q_dup_u8(&val);
+-  vst1q_u8(dup, v);
++  val = vmaxvq_u8(v);
+   return 0;
+ }" SNAPPY_HAVE_NEON)
+ 
diff --git a/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
similarity index 86%
rename from meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
rename to meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
index 9e0e43ce8..bc3bc3aa4 100644
--- a/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
+++ b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
@@ -11,11 +11,11 @@  LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
 
 SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
-    file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \
-"
-SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f"
-S = "${WORKDIR}/git"
+	   file://fix-build-on-32bit-arm.patch"
+
+SRCREV = "dc05e026488865bc69313a68bcc03ef2e4ea8e83"
 
+S = "${WORKDIR}/git"
 
 inherit cmake pkgconfig