diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2024-03-21 19:29:34 +0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-03-21 08:46:06 -0700 |
commit | 2037afbc3289769ce1b02173306b5cdaccfbc255 (patch) | |
tree | b05597d64d0e856b2bc13b826388c9c57c047dc2 /meta-oe | |
parent | cb27ff9dcb2258e9cf07dd6ab95bfb408c8232af (diff) | |
download | meta-openembedded-2037afbc3289769ce1b02173306b5cdaccfbc255.tar.gz |
gperftools: 2.10 -> 2.15
* Remove 0001-Support-Atomic-ops-on-clang.patch because of:
commit 54605b8a5807fe893a4b9ff8def982a264cdc6c9
Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Date: Wed Jun 21 10:39:18 2023 -0400
amputate old atomic ops implementation
* Remove sgidef.patch because of:
commit e78238d94d41764dc72edb37e3d6510255d3dcd4
Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Date: Wed Jun 21 10:39:38 2023 -0400
reworked heap leak checker for more portability
* Remove 0001-Define-off64_t-as-off_t-on-musl.patch because of:
commit 8be84e4a5c28c33bfdb7da3ee0c92d9620cd552f
Author: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Date: Fri Jul 21 14:18:12 2023 -0400
drop old mmap hooks and introduce internal & simpler mmap_hook.h
* Rebased 0001-Support-Atomic-ops-on-clang.patch for 2.15
* Rebased ppc-musl.patch for 2.15
* Add 0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch to fix
build error for 32bit machine.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/0001-Define-off64_t-as-off_t-on-musl.patch | 33 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch | 31 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch | 8 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch | 59 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch | 38 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools/sgidef.patch | 23 | ||||
-rw-r--r-- | meta-oe/recipes-support/gperftools/gperftools_2.15.bb (renamed from meta-oe/recipes-support/gperftools/gperftools_2.10.bb) | 6 |
7 files changed, 74 insertions, 124 deletions
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Define-off64_t-as-off_t-on-musl.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Define-off64_t-as-off_t-on-musl.patch deleted file mode 100644 index 2b782c2040..0000000000 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-Define-off64_t-as-off_t-on-musl.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 41260e21e271eb1dc8b34f952ea3f90a0dc35e9e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 25 Dec 2022 20:01:29 -0800 -Subject: [PATCH] Define off64_t as off_t on musl - -Musl's default bitlength for off_t is always 64bit therefore define -off64_t as off_t on musl - -Upstream-Status: Submitted [https://github.com/gperftools/gperftools/pull/1379] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - src/malloc_hook_mmap_linux.h | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h -index c7d8b4b..a10687e 100644 ---- a/src/malloc_hook_mmap_linux.h -+++ b/src/malloc_hook_mmap_linux.h -@@ -45,6 +45,11 @@ - #include <sys/syscall.h> - #include <unistd.h> - -+// musl's off_t is already 64-bit -+#if defined(__linux__) && !defined(__GLIBC__) -+typedef off_t off64_t; -+#endif -+ - // The x86-32 case and the x86-64 case differ: - // 32b has a mmap2() syscall, 64b does not. - // 64b and 32b have different calling conventions for mmap(). --- -2.39.0 - diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch deleted file mode 100644 index 2fd21c2783..0000000000 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch +++ /dev/null @@ -1,31 +0,0 @@ -From aa0a63209af6813d87255ec3ab339f2dbbf27d6d Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 6 Mar 2017 13:38:46 -0800 -Subject: [PATCH] Support Atomic ops on clang - -clang pretends to be gcc 4.2 which is a lie -it actually supports a lot more features then -gcc 4.2, here it depends on gcc 4.7 to enable -the atomics and fails for clang - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending - ---- - src/base/atomicops.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/base/atomicops.h b/src/base/atomicops.h -index dac95be..390733c 100644 ---- a/src/base/atomicops.h -+++ b/src/base/atomicops.h -@@ -124,7 +124,7 @@ - #include "base/atomicops-internals-linuxppc.h" - #elif defined(__GNUC__) && defined(__mips__) - #include "base/atomicops-internals-mips.h" --#elif defined(__GNUC__) && GCC_VERSION >= 40700 -+#elif defined(__GNUC__) && GCC_VERSION >= 40700 || defined(__clang__) - #include "base/atomicops-internals-gcc.h" - #elif defined(__clang__) && CLANG_VERSION >= 30400 - #include "base/atomicops-internals-gcc.h" diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch index e3e857f0c2..2ea54e48c9 100644 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch @@ -11,12 +11,14 @@ Upstream-Status: Pending configure.ac | 2 ++ 1 file changed, 2 insertions(+) +diff --git a/configure.ac b/configure.ac +index 68fd51c..4cb71fe 100644 --- a/configure.ac +++ b/configure.ac @@ -53,6 +53,8 @@ case "$host" in - *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;; - *-freebsd*) default_enable_heap_checker=no;; - *-darwin*) default_enable_heap_checker=no;; + need_nanosleep=no;; + *-cygwin*) default_enable_cpu_profiler=no;; + *-linux*) default_enable_heap_checker=yes; heap_checker_supported=yes;; + *-musl*) default_enable_heap_checker=no; default_enable_heap_profiler=no; + default_enable_debugalloc=no; default_enable_libunwind=no; esac diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch new file mode 100644 index 0000000000..1142df0be9 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch @@ -0,0 +1,59 @@ +From d675808d300278a9e7143428cfecf3fda61cc9a2 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 21 Mar 2024 10:59:29 +0000 +Subject: [PATCH] src/mmap_hook.cc: Fix build for 32bit machine + +Fixed build error on 32bit machine: + +../git/src/mmap_hook.cc:309:31: error: static assertion failed + 309 | static_assert(sizeof(int32_t) == sizeof(off_t), ""); + +This is because oe's off_t is 64bit on both 32 and 64bit system, which is the +default value of glibc, so the assertion would be failed on 32bit system, and +remove mmap() and mmap64() to fix the redefined error. + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + src/mmap_hook.cc | 22 ---------------------- + 1 file changed, 22 deletions(-) + +diff --git a/src/mmap_hook.cc b/src/mmap_hook.cc +index 0a0f62f..27425e4 100644 +--- a/src/mmap_hook.cc ++++ b/src/mmap_hook.cc +@@ -302,30 +302,8 @@ void* mmap(void* start, size_t length, int prot, int flags, int fd, off_t off) _ + + #define HOOKED_MMAP + +-#elif defined(DEFINED_DO_MMAP) && defined(__linux__) && !GOOD_LINUX_SYSTEM +-// Linuxes with 32-bit off_t. We're being careful with mmap64 being +-// 64-bit and mmap being 32-bit. +- +-static_assert(sizeof(int32_t) == sizeof(off_t), ""); +- +-extern "C" void* mmap64(void* start, size_t length, int prot, int flags, int fd, int64_t off) +- __THROW ATTRIBUTE_SECTION(malloc_hook); +-extern "C" void* mmap(void* start, size_t length, int prot, int flags, int fd, off_t off) +- __THROW ATTRIBUTE_SECTION(malloc_hook); +- +-void* mmap(void *start, size_t length, int prot, int flags, int fd, off_t off) __THROW { +- return do_mmap_with_hooks(start, length, prot, flags, fd, off); +-} +- +-void* mmap64(void *start, size_t length, int prot, int flags, int fd, int64_t off) __THROW { +- return do_mmap_with_hooks(start, length, prot, flags, fd, off); +-} +- +-#define HOOKED_MMAP +- + #endif // Linux/32-bit off_t case + +- + #ifdef HOOKED_MMAP + + extern "C" int munmap(void* start, size_t length) __THROW ATTRIBUTE_SECTION(malloc_hook); +-- +2.35.5 + diff --git a/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch b/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch index 3034e20176..800fa3a84f 100644 --- a/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch +++ b/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch @@ -6,49 +6,27 @@ Subject: [PATCH] Compatibility fixes for musl. --- Upstream-Status: Pending - m4/pc_from_ucontext.m4 | 4 +++- - src/getpc.h | 3 +++ + src/getpc.h | 4 ++++ src/stacktrace_powerpc-linux-inl.h | 8 ++++++-- - 3 files changed, 12 insertions(+), 3 deletions(-) + 2 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/m4/pc_from_ucontext.m4 b/m4/pc_from_ucontext.m4 -index 7f09dd7..5f4ee8c 100644 ---- a/m4/pc_from_ucontext.m4 -+++ b/m4/pc_from_ucontext.m4 -@@ -34,6 +34,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT], - pc_fields="$pc_fields uc_mcontext.gregs[[R15]]" # Linux (arm old [untested]) - pc_fields="$pc_fields uc_mcontext.arm_pc" # Linux (arm arch 5) - pc_fields="$pc_fields uc_mcontext.gp_regs[[PT_NIP]]" # Suse SLES 11 (ppc64) -+ pc_fields="$pc_fields uc_mcontext.gregs[[PT_NIP]]" - pc_fields="$pc_fields uc_mcontext.mc_eip" # FreeBSD (i386) - pc_fields="$pc_fields uc_mcontext.mc_srr0" # FreeBSD (powerpc, powerpc64) - pc_fields="$pc_fields uc_mcontext.mc_rip" # FreeBSD (x86_64 [untested]) -@@ -77,7 +78,8 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT], - pc_field_found=true) - elif test "x$ac_cv_header_ucontext_h" = xyes; then - AC_TRY_COMPILE([#define _GNU_SOURCE 1 -- #include <ucontext.h>], -+ #include <ucontext.h> -+ #include <asm/ptrace.h>], - [ucontext_t u; return u.$pc_field == 0;], - AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field, - How to access the PC from a struct ucontext) diff --git a/src/getpc.h b/src/getpc.h -index 9605363..cd8ccfa 100644 +index 87d18b6..c569731 100644 --- a/src/getpc.h +++ b/src/getpc.h -@@ -68,6 +68,9 @@ +@@ -68,6 +68,10 @@ typedef ucontext ucontext_t; #endif +#if defined(__powerpc__) && !defined(PT_NIP) +#define PT_NIP 32 +#endif ++ + namespace tcmalloc { + namespace getpc { - // Take the example where function Foo() calls function Bar(). For - // many architectures, Bar() is responsible for setting up and tearing diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h -index a301a46..efca426 100644 +index 883e7d2..212bd25 100644 --- a/src/stacktrace_powerpc-linux-inl.h +++ b/src/stacktrace_powerpc-linux-inl.h @@ -186,7 +186,7 @@ static int GET_STACK_TRACE_OR_FRAMES { diff --git a/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch deleted file mode 100644 index b01cba39cd..0000000000 --- a/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 259b420444c52463795b4b582a2ab7511149eea7 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 16 Oct 2017 21:26:40 -0700 -Subject: [PATCH] sgidef.h does not exist on musl and its not needed to compile - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending - ---- - src/base/linux_syscall_support.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/src/base/linux_syscall_support.h -+++ b/src/base/linux_syscall_support.h -@@ -164,7 +164,7 @@ extern "C" { - #include <endian.h> - #include <fcntl.h> - --#ifdef __mips__ -+#if defined(__mips__) && defined(__glibc__) - /* Include definitions of the ABI currently in use. */ - #include <sgidefs.h> - #endif diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.10.bb b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb index 8db0cecbfd..bd3b2afaea 100644 --- a/meta-oe/recipes-support/gperftools/gperftools_2.10.bb +++ b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb @@ -10,13 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" DEPENDS:append:libc-musl = " libucontext" -SRCREV = "bf8b714bf5075d0a6f2f28504b43095e2b1e11c5" +SRCREV = "365060c4213a48adb27f63d5dfad41b3dfbdd62e" SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https \ - file://0001-Support-Atomic-ops-on-clang.patch \ file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ file://disable_libunwind_aarch64.patch \ - file://sgidef.patch \ - file://0001-Define-off64_t-as-off_t-on-musl.patch \ + file://0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch \ " SRC_URI:append:libc-musl = " file://ppc-musl.patch" |