diff options
8 files changed, 80 insertions, 328 deletions
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Fix-build-on-c23.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Fix-build-on-c23.patch new file mode 100644 index 0000000000..67669e2811 --- /dev/null +++ b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Fix-build-on-c23.patch | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | From 5afb9b9267b59f60b53978858e21ec2369659de7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 10 Nov 2025 18:53:38 -0800 | ||
| 4 | Subject: [PATCH] libheaptrack: Fix build on c23 | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | C23/glibc is now including once_init in stdlib.h | ||
| 10 | |||
| 11 | https://patchwork.sourceware.org/project/glibc/patch/78061085-f04a-0c45-107b-5a8a15521083@redhat.com/#213088 | ||
| 12 | |||
| 13 | This is a name collision with the new C once_flag/call_once that | ||
| 14 | glibc exposes (via <stdlib.h>) and C++’s std::once_flag/std::call_once | ||
| 15 | |||
| 16 | Fixes | ||
| 17 | ../sources/heaptrack-1.5.0+git/src/track/libheaptrack.cpp:301:16: error: reference to 'once_flag' is ambiguous | ||
| 18 | 301 | static once_flag once; | ||
| 19 | | ^ | ||
| 20 | ../recipe-sysroot/usr/include/bits/types/once_flag.h:24:21: note: candidate found by name lookup is 'once_flag' | ||
| 21 | 24 | typedef __once_flag once_flag; | ||
| 22 | | ^ | ||
| 23 | ../recipe-sysroot/usr/lib/aarch64-yoe-linux/15.2.0/../../../include/c++/15.2.0/mutex:809:10: note: candidate found by name lookup is 'std::once_flag' | ||
| 24 | 809 | struct once_flag | ||
| 25 | | ^ | ||
| 26 | |||
| 27 | Upstream-Status: Submitted [https://invent.kde.org/sdk/heaptrack/-/merge_requests/56] | ||
| 28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 29 | --- | ||
| 30 | src/track/libheaptrack.cpp | 4 ++-- | ||
| 31 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 32 | |||
| 33 | diff --git a/src/track/libheaptrack.cpp b/src/track/libheaptrack.cpp | ||
| 34 | index 4be3dcd..f7576a2 100644 | ||
| 35 | --- a/src/track/libheaptrack.cpp | ||
| 36 | +++ b/src/track/libheaptrack.cpp | ||
| 37 | @@ -298,8 +298,8 @@ public: | ||
| 38 | } | ||
| 39 | |||
| 40 | // do some once-only initializations | ||
| 41 | - static once_flag once; | ||
| 42 | - call_once(once, [] { | ||
| 43 | + static std::once_flag once; | ||
| 44 | + std::call_once(once, [] { | ||
| 45 | debugLog<MinimalOutput>("%s", "doing once-only initialization"); | ||
| 46 | |||
| 47 | Trace::setup(); | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Replace-__pid_t-with-pid_t.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Replace-__pid_t-with-pid_t.patch deleted file mode 100644 index 9681086a52..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-libheaptrack-Replace-__pid_t-with-pid_t.patch +++ /dev/null | |||
| @@ -1,26 +0,0 @@ | |||
| 1 | From 18671cd6028f996c138c6eb4282caf313f3fc605 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Nov 2020 15:25:18 -0800 | ||
| 4 | Subject: [PATCH] libheaptrack: Replace __pid_t with pid_t | ||
| 5 | |||
| 6 | __pid_t is for internal libc use | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/track/libheaptrack.cpp | 2 +- | ||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/src/track/libheaptrack.cpp b/src/track/libheaptrack.cpp | ||
| 15 | index e138bce..4120ecd 100644 | ||
| 16 | --- a/src/track/libheaptrack.cpp | ||
| 17 | +++ b/src/track/libheaptrack.cpp | ||
| 18 | @@ -79,7 +79,7 @@ chrono::milliseconds elapsedTime() | ||
| 19 | return chrono::duration_cast<chrono::milliseconds>(clock::now() - startTime()); | ||
| 20 | } | ||
| 21 | |||
| 22 | -__pid_t gettid() | ||
| 23 | +pid_t gettid() | ||
| 24 | { | ||
| 25 | return syscall(SYS_gettid); | ||
| 26 | } | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch deleted file mode 100644 index a6547eded8..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | From bcfc4c8d7dc70bd81367c183a68cc9ee02ab4744 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 28 May 2021 17:52:57 -0700 | ||
| 4 | Subject: [PATCH] track: Check for unw_set_caching_policy before using | ||
| 5 | |||
| 6 | llvm libunwind does not implement unw_cache_* functions yet | ||
| 7 | Include inttypes.h got PRI* macros | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/KDE/heaptrack/pull/33] | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | src/track/trace_libunwind.cpp | 3 +++ | ||
| 13 | 1 file changed, 3 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/src/track/trace_libunwind.cpp b/src/track/trace_libunwind.cpp | ||
| 16 | index c76337c..96b2176 100644 | ||
| 17 | --- a/src/track/trace_libunwind.cpp | ||
| 18 | +++ b/src/track/trace_libunwind.cpp | ||
| 19 | @@ -26,6 +26,7 @@ | ||
| 20 | |||
| 21 | #define UNW_LOCAL_ONLY | ||
| 22 | #include <libunwind.h> | ||
| 23 | +#include <inttypes.h> | ||
| 24 | |||
| 25 | #include <stdio.h> | ||
| 26 | |||
| 27 | @@ -60,9 +61,11 @@ void Trace::print() | ||
| 28 | void Trace::setup() | ||
| 29 | { | ||
| 30 | // configure libunwind for better speed | ||
| 31 | +#if UNW_CACHE_PER_THREAD | ||
| 32 | if (unw_set_caching_policy(unw_local_addr_space, UNW_CACHE_PER_THREAD)) { | ||
| 33 | fprintf(stderr, "WARNING: Failed to enable per-thread libunwind caching.\n"); | ||
| 34 | } | ||
| 35 | +#endif | ||
| 36 | #if LIBUNWIND_HAS_UNW_SET_CACHE_SIZE | ||
| 37 | if (unw_set_cache_size(unw_local_addr_space, 1024, 0)) { | ||
| 38 | fprintf(stderr, "WARNING: Failed to set libunwind cache size.\n"); | ||
| 39 | -- | ||
| 40 | 2.31.1 | ||
| 41 | |||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch deleted file mode 100644 index 5fa802cb38..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack/0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | From 8ebcf5f2dd27dbeb6c81e9c40a5d17916cb243e6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Nov 2020 15:26:31 -0800 | ||
| 4 | Subject: [PATCH] heaptrack_inject: Include dlfcn.h for dlopen/dlclose | ||
| 5 | |||
| 6 | Do not use __WORDSIZE which is for libc internal use | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/track/heaptrack_inject.cpp | 6 ++++-- | ||
| 12 | 1 file changed, 4 insertions(+), 2 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/src/track/heaptrack_inject.cpp b/src/track/heaptrack_inject.cpp | ||
| 15 | index 325d87e..fb1c154 100644 | ||
| 16 | --- a/src/track/heaptrack_inject.cpp | ||
| 17 | +++ b/src/track/heaptrack_inject.cpp | ||
| 18 | @@ -28,6 +28,7 @@ | ||
| 19 | #include <link.h> | ||
| 20 | #include <malloc.h> | ||
| 21 | #include <unistd.h> | ||
| 22 | +#include <dlfcn.h> | ||
| 23 | |||
| 24 | #include <sys/mman.h> | ||
| 25 | |||
| 26 | @@ -39,9 +40,10 @@ | ||
| 27 | * @brief Experimental support for symbol overloading after runtime injection. | ||
| 28 | */ | ||
| 29 | |||
| 30 | -#if __WORDSIZE == 64 | ||
| 31 | +#include <limits.h> | ||
| 32 | +#if ULONG_MAX == 0xffffffffffffffff | ||
| 33 | #define ELF_R_SYM(i) ELF64_R_SYM(i) | ||
| 34 | -#elif __WORDSIZE == 32 | ||
| 35 | +#elif ULONG_MAX == 0xffffffff | ||
| 36 | #define ELF_R_SYM(i) ELF32_R_SYM(i) | ||
| 37 | #else | ||
| 38 | #error unsupported word size | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch deleted file mode 100644 index c3c852e39e..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack/0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch +++ /dev/null | |||
| @@ -1,118 +0,0 @@ | |||
| 1 | From b8435c6523d9377f04d5e21629f3dc68b8865016 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Nov 2020 15:31:45 -0800 | ||
| 4 | Subject: [PATCH] heaptrack_preload: Make noexcept attribute conditional | ||
| 5 | |||
| 6 | musl does not define these functions with noexcept and hence compiler | ||
| 7 | complains about them | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | src/track/heaptrack_preload.cpp | 26 ++++++++++++++++---------- | ||
| 13 | 1 file changed, 16 insertions(+), 10 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/track/heaptrack_preload.cpp b/src/track/heaptrack_preload.cpp | ||
| 16 | index 63110ce..ee85331 100644 | ||
| 17 | --- a/src/track/heaptrack_preload.cpp | ||
| 18 | +++ b/src/track/heaptrack_preload.cpp | ||
| 19 | @@ -171,11 +171,17 @@ void init() | ||
| 20 | } | ||
| 21 | } | ||
| 22 | |||
| 23 | +#ifdef __GLIBC__ | ||
| 24 | +#define NOEXECPT noexcept | ||
| 25 | +#else | ||
| 26 | +#define NOEXECPT | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | extern "C" { | ||
| 30 | |||
| 31 | /// TODO: memalign, pvalloc, ...? | ||
| 32 | |||
| 33 | -void* malloc(size_t size) noexcept | ||
| 34 | +void* malloc(size_t size) NOEXECPT | ||
| 35 | { | ||
| 36 | if (!hooks::malloc) { | ||
| 37 | hooks::init(); | ||
| 38 | @@ -186,7 +192,7 @@ void* malloc(size_t size) noexcept | ||
| 39 | return ptr; | ||
| 40 | } | ||
| 41 | |||
| 42 | -void free(void* ptr) noexcept | ||
| 43 | +void free(void* ptr) NOEXECPT | ||
| 44 | { | ||
| 45 | if (!hooks::free) { | ||
| 46 | hooks::init(); | ||
| 47 | @@ -204,7 +210,7 @@ void free(void* ptr) noexcept | ||
| 48 | hooks::free(ptr); | ||
| 49 | } | ||
| 50 | |||
| 51 | -void* realloc(void* ptr, size_t size) noexcept | ||
| 52 | +void* realloc(void* ptr, size_t size) NOEXECPT | ||
| 53 | { | ||
| 54 | if (!hooks::realloc) { | ||
| 55 | hooks::init(); | ||
| 56 | @@ -219,7 +225,7 @@ void* realloc(void* ptr, size_t size) noexcept | ||
| 57 | return ret; | ||
| 58 | } | ||
| 59 | |||
| 60 | -void* calloc(size_t num, size_t size) noexcept | ||
| 61 | +void* calloc(size_t num, size_t size) NOEXECPT | ||
| 62 | { | ||
| 63 | if (!hooks::calloc) { | ||
| 64 | hooks::init(); | ||
| 65 | @@ -235,7 +241,7 @@ void* calloc(size_t num, size_t size) noexcept | ||
| 66 | } | ||
| 67 | |||
| 68 | #if HAVE_CFREE | ||
| 69 | -void cfree(void* ptr) noexcept | ||
| 70 | +void cfree(void* ptr) NOEXECPT | ||
| 71 | { | ||
| 72 | if (!hooks::cfree) { | ||
| 73 | hooks::init(); | ||
| 74 | @@ -252,7 +258,7 @@ void cfree(void* ptr) noexcept | ||
| 75 | } | ||
| 76 | #endif | ||
| 77 | |||
| 78 | -int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept | ||
| 79 | +int posix_memalign(void** memptr, size_t alignment, size_t size) NOEXECPT | ||
| 80 | { | ||
| 81 | if (!hooks::posix_memalign) { | ||
| 82 | hooks::init(); | ||
| 83 | @@ -268,7 +274,7 @@ int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept | ||
| 84 | } | ||
| 85 | |||
| 86 | #if HAVE_ALIGNED_ALLOC | ||
| 87 | -void* aligned_alloc(size_t alignment, size_t size) noexcept | ||
| 88 | +void* aligned_alloc(size_t alignment, size_t size) NOEXECPT | ||
| 89 | { | ||
| 90 | if (!hooks::aligned_alloc) { | ||
| 91 | hooks::init(); | ||
| 92 | @@ -285,7 +291,7 @@ void* aligned_alloc(size_t alignment, size_t size) noexcept | ||
| 93 | #endif | ||
| 94 | |||
| 95 | #if HAVE_VALLOC | ||
| 96 | -void* valloc(size_t size) noexcept | ||
| 97 | +void* valloc(size_t size) NOEXECPT | ||
| 98 | { | ||
| 99 | if (!hooks::valloc) { | ||
| 100 | hooks::init(); | ||
| 101 | @@ -301,7 +307,7 @@ void* valloc(size_t size) noexcept | ||
| 102 | } | ||
| 103 | #endif | ||
| 104 | |||
| 105 | -void* dlopen(const char* filename, int flag) noexcept | ||
| 106 | +void* dlopen(const char* filename, int flag) NOEXECPT | ||
| 107 | { | ||
| 108 | if (!hooks::dlopen) { | ||
| 109 | hooks::init(); | ||
| 110 | @@ -316,7 +322,7 @@ void* dlopen(const char* filename, int flag) noexcept | ||
| 111 | return ret; | ||
| 112 | } | ||
| 113 | |||
| 114 | -int dlclose(void* handle) noexcept | ||
| 115 | +int dlclose(void* handle) NOEXECPT | ||
| 116 | { | ||
| 117 | if (!hooks::dlclose) { | ||
| 118 | hooks::init(); | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0004-backtrace-Always-include-stdint.h.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0004-backtrace-Always-include-stdint.h.patch deleted file mode 100644 index 3db03cf85d..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack/0004-backtrace-Always-include-stdint.h.patch +++ /dev/null | |||
| @@ -1,42 +0,0 @@ | |||
| 1 | From 200f71ea8c0756594ac7e079ccc686d9a20cea5c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Nov 2020 15:32:58 -0800 | ||
| 4 | Subject: [PATCH] backtrace: Always include stdint.h | ||
| 5 | |||
| 6 | in OE we will always have system headers which supports C99/stdint.h | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [Unless upstream drops legacy] | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | 3rdparty/libbacktrace/backtrace.h | 16 ---------------- | ||
| 12 | 1 file changed, 16 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/3rdparty/libbacktrace/backtrace.h b/3rdparty/libbacktrace/backtrace.h | ||
| 15 | index 14863cf..d0ac38f 100644 | ||
| 16 | --- a/3rdparty/libbacktrace/backtrace.h | ||
| 17 | +++ b/3rdparty/libbacktrace/backtrace.h | ||
| 18 | @@ -36,24 +36,8 @@ POSSIBILITY OF SUCH DAMAGE. */ | ||
| 19 | #include <stddef.h> | ||
| 20 | #include <stdio.h> | ||
| 21 | |||
| 22 | -/* We want to get a definition for uintptr_t, but we still care about | ||
| 23 | - systems that don't have <stdint.h>. */ | ||
| 24 | -#if defined(__GLIBC__) && __GLIBC__ >= 2 | ||
| 25 | - | ||
| 26 | -#include <stdint.h> | ||
| 27 | - | ||
| 28 | -#elif defined(HAVE_STDINT_H) | ||
| 29 | - | ||
| 30 | #include <stdint.h> | ||
| 31 | |||
| 32 | -#else | ||
| 33 | - | ||
| 34 | -/* Systems that don't have <stdint.h> must provide gstdint.h, e.g., | ||
| 35 | - from GCC_HEADER_STDINT in configure.ac. */ | ||
| 36 | -#include "gstdint.h" | ||
| 37 | - | ||
| 38 | -#endif | ||
| 39 | - | ||
| 40 | #ifdef __cplusplus | ||
| 41 | extern "C" { | ||
| 42 | #endif | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb deleted file mode 100644 index 6896daf836..0000000000 --- a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb +++ /dev/null | |||
| @@ -1,63 +0,0 @@ | |||
| 1 | SUMMARY = "Heap memory profiler for Linux" | ||
| 2 | DESCRIPTION = "Heaptrack traces all memory allocations and annotates these \ | ||
| 3 | events with stack traces. Dedicated analysis tools then allow you to interpret \ | ||
| 4 | the heap memory profile to find hotspots to reduce memory, leaks, allocation \ | ||
| 5 | hotspots and temporary allocations" | ||
| 6 | HOMEPAGE = "https://phabricator.kde.org/source/heaptrack/" | ||
| 7 | LICENSE = "LGPL-2.1-only" | ||
| 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
| 9 | |||
| 10 | DEPENDS = "zlib boost libunwind elfutils" | ||
| 11 | |||
| 12 | SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https;branch=master \ | ||
| 13 | file://0001-libheaptrack-Replace-__pid_t-with-pid_t.patch \ | ||
| 14 | file://0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch \ | ||
| 15 | file://0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch \ | ||
| 16 | file://0004-backtrace-Always-include-stdint.h.patch \ | ||
| 17 | file://0001-track-Check-for-unw_set_caching_policy-before-using.patch \ | ||
| 18 | " | ||
| 19 | |||
| 20 | SRCREV = "bc9e3744bcc47de978673d1e382f4125a1ab5fa8" | ||
| 21 | |||
| 22 | |||
| 23 | inherit cmake | ||
| 24 | |||
| 25 | EXTRA_OECMAKE += "-DHEAPTRACK_BUILD_GUI=OFF \ | ||
| 26 | -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ | ||
| 27 | " | ||
| 28 | |||
| 29 | # libunwind is not yet ported to RISCV | ||
| 30 | COMPATIBLE_HOST:riscv32 = "null" | ||
| 31 | COMPATIBLE_HOST:riscv64 = "null" | ||
| 32 | |||
| 33 | BBCLASSEXTEND = "native" | ||
| 34 | |||
| 35 | # http://errors.yoctoproject.org/Errors/Details/766879/ | ||
| 36 | # buildResult: | ||
| 37 | # variable: "LIBUNWIND_HAS_UNW_BACKTRACE" | ||
| 38 | # cached: true | ||
| 39 | # stdout: | | ||
| 40 | # Change Dir: '/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO' | ||
| 41 | # | ||
| 42 | # Run Build Command(s): ninja -v cmTC_51d86 | ||
| 43 | # [1/2] ccache /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-gcc --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -DLIBUNWIND_HAS_UNW_BACKTRACE -mcpu=cortex-a72+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native= -o CMakeFiles/cmTC_51d86.dir/src.c.o -c /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO/src.c | ||
| 44 | # FAILED: CMakeFiles/cmTC_51d86.dir/src.c.o | ||
| 45 | # ccache /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-gcc --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -DLIBUNWIND_HAS_UNW_BACKTRACE -mcpu=cortex-a72+crc -mbranch-protection=standard -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Werror=return-type --sysroot=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/git=/usr/src/debug/heaptrack/1.2.0 -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build=/usr/src/debug/heaptrack/1.2.0 -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fmacro-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot= -fdebug-prefix-map=/OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/recipe-sysroot-native= -o CMakeFiles/cmTC_51d86.dir/src.c.o -c /OE/lge/build/webos/styhead/BUILD/work/raspberrypi4_64-webos-linux/heaptrack/1.2.0/build/CMakeFiles/CMakeScratch/TryCompile-kguYrO/src.c | ||
| 46 | # src.c: In function 'main': | ||
| 47 | # src.c:3:43: error: passing argument 1 of 'unw_backtrace' from incompatible pointer type [-Wincompatible-pointer-types] | ||
| 48 | # 3 | int main() { void* buf[10]; unw_backtrace(&buf, 10); return 0; } | ||
| 49 | # | ^~~~ | ||
| 50 | # | | | ||
| 51 | # | void * (*)[10] | ||
| 52 | # In file included from ../../../../recipe-sysroot/usr/include/libunwind-aarch64.h:232, | ||
| 53 | # from ../../../../recipe-sysroot/usr/include/libunwind-64.h:7, | ||
| 54 | # from ../../../../recipe-sysroot/usr/include/libunwind.h:27, | ||
| 55 | # from src.c:2: | ||
| 56 | # ../../../../recipe-sysroot/usr/include/libunwind-common.h:290:27: note: expected 'void **' but argument is of type 'void * (*)[10]' | ||
| 57 | # 290 | extern int unw_backtrace (void **, int); | ||
| 58 | # | ^~~~~~~ | ||
| 59 | # ninja: build stopped: subcommand failed. | ||
| 60 | # | ||
| 61 | # exitCode: 1 | ||
| 62 | # | ||
| 63 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.5.0.bb b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.5.0.bb new file mode 100644 index 0000000000..172a74fa6a --- /dev/null +++ b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.5.0.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | SUMMARY = "Heap memory profiler for Linux" | ||
| 2 | DESCRIPTION = "Heaptrack traces all memory allocations and annotates these \ | ||
| 3 | events with stack traces. Dedicated analysis tools then allow you to interpret \ | ||
| 4 | the heap memory profile to find hotspots to reduce memory, leaks, allocation \ | ||
| 5 | hotspots and temporary allocations" | ||
| 6 | HOMEPAGE = "https://phabricator.kde.org/source/heaptrack/" | ||
| 7 | LICENSE = "LGPL-2.1-only" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSES/Apache-2.0.txt;md5=c846ebb396f8b174b10ded4771514fcc \ | ||
| 9 | file://LICENSES/BSD-3-Clause.txt;md5=f225922a2c12dfa5218fb70c49db3ea6 \ | ||
| 10 | file://LICENSES/BSL-1.0.txt;md5=4c66a2bad475d1a8f152667a4d0ada34 \ | ||
| 11 | file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \ | ||
| 12 | file://LICENSES/LGPL-2.1-only.txt;md5=41890f71f740302b785c27661123bff5 \ | ||
| 13 | file://LICENSES/LGPL-2.1-or-later.txt;md5=147a320ed8b16b036829a0c71d424153 \ | ||
| 14 | file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663" | ||
| 15 | |||
| 16 | DEPENDS = "zlib boost libunwind elfutils" | ||
| 17 | |||
| 18 | SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https;branch=master \ | ||
| 19 | file://0001-libheaptrack-Fix-build-on-c23.patch \ | ||
| 20 | " | ||
| 21 | SRCREV = "0a15d643791e9829ef3f754ac10e3bed966152c5" | ||
| 22 | PV .= "+git" | ||
| 23 | |||
| 24 | inherit cmake | ||
| 25 | |||
| 26 | EXTRA_OECMAKE += "-DHEAPTRACK_BUILD_GUI=OFF" | ||
| 27 | |||
| 28 | # libunwind is not yet ported to RISCV32 | ||
| 29 | COMPATIBLE_HOST:riscv32 = "null" | ||
| 30 | |||
| 31 | BBCLASSEXTEND = "native" | ||
| 32 | |||
| 33 | TOOLCHAIN = "gcc" | ||
