mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 02:31:27 +00:00
snappy: upgrade 1.1.9 -> 1.1.10
* 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> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
-71
@@ -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
|
|
||||||
@@ -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)
|
||||||
|
|
||||||
+4
-4
@@ -11,11 +11,11 @@ LICENSE = "BSD-3-Clause"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
|
||||||
|
|
||||||
SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
|
SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
|
||||||
file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \
|
file://fix-build-on-32bit-arm.patch"
|
||||||
"
|
|
||||||
SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f"
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
|
SRCREV = "dc05e026488865bc69313a68bcc03ef2e4ea8e83"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
inherit cmake pkgconfig
|
inherit cmake pkgconfig
|
||||||
|
|
||||||
Reference in New Issue
Block a user