]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
babeltrace2: Fix build with clang on 32bit hosts
authorKhem Raj <raj.khem@gmail.com>
Fri, 21 Mar 2025 18:03:54 +0000 (11:03 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 24 Mar 2025 17:14:06 +0000 (17:14 +0000)
clang-20 unveils more build issues

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/lttng/babeltrace2/0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch [new file with mode: 0644]
meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb

diff --git a/meta/recipes-kernel/lttng/babeltrace2/0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch b/meta/recipes-kernel/lttng/babeltrace2/0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch
new file mode 100644 (file)
index 0000000..d923437
--- /dev/null
@@ -0,0 +1,37 @@
+From 1b514ab2e878216426acc493eeab96088576faf9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Mar 2025 18:10:08 -0700
+Subject: [PATCH] Make bt_field_blob_get_length return size_t instead of
+ uint64_t
+
+Fixes errors e.g.
+| ../../git/src/cpp-common/bt2/field.hpp:1139:82: error: non-constant-expression cannot be narrowed from type 'std::uint64_t' (aka 'unsigned long long') to 'size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
+|  1139 |         return {internal::CommonBlobFieldSpec<LibObjT>::data(this->libObjPtr()), this->length()};
+|       |                                                                                  ^~~~~~~~~~~~~~
+| ../../git/src/plugins/ctf/common/src/msg-iter.cpp:744:56: note: in instantiation of member function 'bt2::CommonBlobField<bt_field>::data' requested here
+|   744 |     std::memcpy(&this->_stackTopCurSubField().asBlob().data()[_mCurBlobFieldDataOffset],
+|       |                                                        ^
+| ../../git/src/cpp-common/bt2/field.hpp:1139:82: note: insert an explicit cast to silence this issue
+|  1139 |         return {internal::CommonBlobFieldSpec<LibObjT>::data(this->libObjPtr()), this->length()};
+|       |                                                                                  ^~~~~~~~~~~~~~
+|       |                                                                                  static_cast<size_type>( )
+
+Upstream-Status: Submitted [https://github.com/efficios/babeltrace/pull/120]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cpp-common/bt2/field.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cpp-common/bt2/field.hpp b/src/cpp-common/bt2/field.hpp
+index 8b291f7a1..cbfff84f0 100644
+--- a/src/cpp-common/bt2/field.hpp
++++ b/src/cpp-common/bt2/field.hpp
+@@ -1139,7 +1139,7 @@ public:
+         return {internal::CommonBlobFieldSpec<LibObjT>::data(this->libObjPtr()), this->length()};
+     }
+-    std::uint64_t length() const noexcept
++    std::size_t length() const noexcept
+     {
+         return bt_field_blob_get_length(this->libObjPtr());
+     }
index bf9df2a32dd29ba2a07fc4a9f23b9ac795083617..a9a3a9961bedeaf5a2bb84e628649416036a586d 100644 (file)
@@ -12,6 +12,7 @@ SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.1;protocol=http
            file://0001-Make-manpages-multilib-identical.patch \
            file://0001-tests-fix-test-applications-in-cpp-common.patch \
            file://0001-tests-set-the-correct-plugin-directory.patch \
+           file://0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch \
            "
 SRCREV = "e61d41ff3c3ac6a123930d4e60cf710ff9ea18e0"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>2(\.\d+)+)$"