From 7d5dc608ddab89f8d856a8aa39544f2fade55dba Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 21 Mar 2025 11:03:54 -0700 Subject: [PATCH] babeltrace2: Fix build with clang on 32bit hosts clang-20 unveils more build issues Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...ob_get_length-return-size_t-instead-.patch | 37 +++++++++++++++++++ .../recipes-kernel/lttng/babeltrace2_2.1.0.bb | 1 + 2 files changed, 38 insertions(+) create mode 100644 meta/recipes-kernel/lttng/babeltrace2/0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch 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 index 00000000000..d923437a2ab --- /dev/null +++ b/meta/recipes-kernel/lttng/babeltrace2/0001-Make-bt_field_blob_get_length-return-size_t-instead-.patch @@ -0,0 +1,37 @@ +From 1b514ab2e878216426acc493eeab96088576faf9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +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::data(this->libObjPtr()), this->length()}; +| | ^~~~~~~~~~~~~~ +| ../../git/src/plugins/ctf/common/src/msg-iter.cpp:744:56: note: in instantiation of member function 'bt2::CommonBlobField::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::data(this->libObjPtr()), this->length()}; +| | ^~~~~~~~~~~~~~ +| | static_cast( ) + +Upstream-Status: Submitted [https://github.com/efficios/babeltrace/pull/120] +Signed-off-by: Khem Raj +--- + 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::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()); + } diff --git a/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb b/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb index bf9df2a32dd..a9a3a9961be 100644 --- a/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb +++ b/meta/recipes-kernel/lttng/babeltrace2_2.1.0.bb @@ -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(?P2(\.\d+)+)$" -- 2.47.3