diff mbox series

[1/2] babeltrace2: Fix build with clang on 32bit hosts

Message ID 20250321180355.1072128-1-raj.khem@gmail.com
State Accepted, archived
Commit 7d5dc608ddab89f8d856a8aa39544f2fade55dba
Headers show
Series [1/2] babeltrace2: Fix build with clang on 32bit hosts | expand

Commit Message

Khem Raj March 21, 2025, 6:03 p.m. UTC
clang-20 unveils more build issues

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...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 mbox series

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 <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());
+     }
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(?P<pver>2(\.\d+)+)$"