aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/googlebenchmark
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/googlebenchmark')
-rw-r--r--meta-oe/recipes-support/googlebenchmark/googlebenchmark/0001-cycleclock-Fix-type-conversion-to-match-function-ret.patch33
-rw-r--r--meta-oe/recipes-support/googlebenchmark/googlebenchmark/0002-cycleclock-Fix-type-conversion-to-match-function-ret.patch32
-rw-r--r--meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.4.bb (renamed from meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb)6
3 files changed, 69 insertions, 2 deletions
diff --git a/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0001-cycleclock-Fix-type-conversion-to-match-function-ret.patch b/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0001-cycleclock-Fix-type-conversion-to-match-function-ret.patch
new file mode 100644
index 0000000000..3017314abe
--- /dev/null
+++ b/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0001-cycleclock-Fix-type-conversion-to-match-function-ret.patch
@@ -0,0 +1,33 @@
+From 7f0e99af540a333108b92d792923ec7fc9e9fad9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 May 2024 20:14:54 -0700
+Subject: [PATCH] cycleclock: Fix type conversion to match function return type
+ (#1794)
+
+fixes build with clang19
+
+src/cycleclock.h:208:52: error: implicit conversion changes signedness: 'uint64_t' (aka 'unsigned long long') to 'int64_t' (aka 'long long') [-Werror,-Wsign-conversion]
+ 208 | return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo;
+ | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
+1 error generated.
+
+Upstream-Status: Backport [https://github.com/google/benchmark/commit/7f0e99af540a333108b92d792923ec7fc9e9fad9]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cycleclock.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/cycleclock.h b/src/cycleclock.h
+index a25843760..c657414e5 100644
+--- a/src/cycleclock.h
++++ b/src/cycleclock.h
+@@ -205,7 +205,8 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
+ "sub %0, zero, %0\n"
+ "and %1, %1, %0\n"
+ : "=r"(cycles_hi0), "=r"(cycles_lo), "=r"(cycles_hi1));
+- return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo;
++ return static_cast<int64_t>((static_cast<uint64_t>(cycles_hi1) << 32) |
++ cycles_lo);
+ #else
+ uint64_t cycles;
+ asm volatile("rdtime %0" : "=r"(cycles));
diff --git a/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0002-cycleclock-Fix-type-conversion-to-match-function-ret.patch b/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0002-cycleclock-Fix-type-conversion-to-match-function-ret.patch
new file mode 100644
index 0000000000..cc22a7e8a9
--- /dev/null
+++ b/meta-oe/recipes-support/googlebenchmark/googlebenchmark/0002-cycleclock-Fix-type-conversion-to-match-function-ret.patch
@@ -0,0 +1,32 @@
+From 54bca09aca6ccec41f852cb1f834463bc51290d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 10 Jun 2024 21:45:22 -0700
+Subject: [PATCH] cycleclock: Fix type conversion to match function return type
+ on riscv64
+
+Fixes builds with clang
+
+src/cycleclock.h:213:10: error: implicit conversion changes signedness: 'uint64_t' (aka 'unsigned long') to 'int64_t' (aka 'long') [-Werror,-Wsign-conversion]
+ 213 | return cycles;
+ | ~~~~~~ ^~~~~~
+ 1 error generated.
+
+Upstream-Status: Submitted [https://github.com/google/benchmark/pull/1802]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cycleclock.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cycleclock.h b/src/cycleclock.h
+index c657414..bd62f5d 100644
+--- a/src/cycleclock.h
++++ b/src/cycleclock.h
+@@ -210,7 +210,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
+ #else
+ uint64_t cycles;
+ asm volatile("rdtime %0" : "=r"(cycles));
+- return cycles;
++ return static_cast<int64_t>(cycles);
+ #endif
+ #elif defined(__e2k__) || defined(__elbrus__)
+ struct timeval tv;
diff --git a/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb b/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.4.bb
index b44d3bee27..706862f24a 100644
--- a/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb
+++ b/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.4.bb
@@ -4,8 +4,10 @@ SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
-SRCREV = "0d98dba29d66e93259db7daa53a9327df767a415"
+SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main \
+ file://0001-cycleclock-Fix-type-conversion-to-match-function-ret.patch \
+ file://0002-cycleclock-Fix-type-conversion-to-match-function-ret.patch"
+SRCREV = "a4cf155615c63e019ae549e31703bf367df5b471"
S = "${WORKDIR}/git"