From bbf09580e1e07551aff82837fdf70dd4736459a3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 17 Apr 2023 16:54:02 -0700 Subject: libcereal: Fix TMPDIR leaking into debug_str section Fixes errors like File /usr/lib/libcereal/ptest/tests/.debug/test_unordered_map in package libcereal-dbg contains reference to TMPDIR Signed-off-by: Khem Raj (cherry picked from commit 8eb74815c2e6ddebd7f28ff703b4b91f90b468d3) Signed-off-by: Armin Kuster --- .../0001-doctest-Do-not-use-unnamed-class.patch | 38 ++++++++++++++++++++++ .../recipes-support/libcereal/libcereal_1.3.2.bb | 1 + 2 files changed, 39 insertions(+) create mode 100644 meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch diff --git a/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch b/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch new file mode 100644 index 0000000000..9396cc5d01 --- /dev/null +++ b/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch @@ -0,0 +1,38 @@ +From 03bbb1b055c41ec652470f775b55a7cf80d664ef Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 17 Apr 2023 16:46:12 -0700 +Subject: [PATCH] doctest: Do not use unnamed class + +When compiling with clang this results in emitting absolute path into +debug info, especially .debug_str section has + +~(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5) +(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5) + +Therefore use a name for the class instead and help get rid of this +absolute path in debug info. This fixes + +File /usr/lib/libcereal/ptest/tests/.debug/test_unordered_map in package libcereal-dbg contains reference to TMPDIR + +Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/788] +Signed-off-by: Khem Raj +--- + unittests/doctest.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/unittests/doctest.h b/unittests/doctest.h +index cd5b44d6..e6d8f7f9 100644 +--- a/unittests/doctest.h ++++ b/unittests/doctest.h +@@ -6424,7 +6424,7 @@ void Context::setCout(std::ostream* out) { p->cout = out; } + static class DiscardOStream : public std::ostream + { + private: +- class : public std::streambuf ++ class discardBufStream: public std::streambuf + { + private: + // allowing some buffering decreases the amount of calls to overflow +-- +2.40.0 + diff --git a/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb b/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb index f15927554b..c5f26ecb4e 100644 --- a/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb +++ b/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb @@ -21,6 +21,7 @@ SRCREV = "ebef1e929807629befafbb2918ea1a08c7194554" SRC_URI = "git://github.com/USCiLab/cereal.git;branch=master;protocol=https \ file://0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch \ file://0001-cmake-Use-idirafter-instead-of-isystem.patch \ + file://0001-doctest-Do-not-use-unnamed-class.patch \ file://run-ptest \ " -- cgit v1.2.3-54-g00ecf