From be3eecf7cd4fad2e945854fc6be24fe19efbb789 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Mon, 30 Mar 2020 02:26:59 -0700 Subject: gperftools: upgrade 2.7 -> 2.7.90 refresh 0001-fix-build-with-musl-libc.patch Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- .../gperftools/0001-fix-build-with-musl-libc.patch | 34 ++++------------- .../gperftools/gperftools_2.7.90.bb | 44 ++++++++++++++++++++++ .../recipes-support/gperftools/gperftools_2.7.bb | 44 ---------------------- 3 files changed, 51 insertions(+), 71 deletions(-) create mode 100644 meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb delete mode 100644 meta-oe/recipes-support/gperftools/gperftools_2.7.bb diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch index 49d5c21676..cb4ead3176 100644 --- a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch +++ b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch @@ -6,26 +6,12 @@ Subject: [PATCH] fix build with musl libc Patch from https://github.com/gperftools/gperftools/pull/765/ Signed-off-by: Khem Raj - --- - configure.ac | 1 + - src/malloc_hook_mmap_linux.h | 8 ++++++-- - 2 files changed, 7 insertions(+), 2 deletions(-) + src/malloc_hook_mmap_linux.h | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index 497103e..f9efc3e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -188,6 +188,7 @@ AC_HEADER_STDC - AC_CHECK_TYPES([__int64]) # defined in some windows platforms - AC_CHECK_TYPES([struct mallinfo],,, [#include ]) - AC_CHECK_TYPES([Elf32_Versym],,, [#include ]) # for vdso_support.h -+AC_CHECK_FUNCS(__sbrk) # for intercepting glibc memory allocator - AC_CHECK_FUNCS(sbrk) # for tcmalloc to get memory - AC_CHECK_FUNCS(geteuid) # for turning off services when run as root - AC_CHECK_FUNCS(fork) # for the pthread_atfork setup diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h -index 2f6116f..0605855 100755 +index e2efb05..66b3110 100644 --- a/src/malloc_hook_mmap_linux.h +++ b/src/malloc_hook_mmap_linux.h @@ -46,6 +46,10 @@ @@ -39,7 +25,7 @@ index 2f6116f..0605855 100755 // 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(). -@@ -168,7 +172,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, +@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags, return result; } @@ -48,12 +34,6 @@ index 2f6116f..0605855 100755 extern "C" void* mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset) __THROW { -@@ -206,7 +210,7 @@ extern "C" void* mremap(void* old_addr, size_t old_size, size_t new_size, - return result; - } - --#ifndef __UCLIBC__ -+#if HAVE___SBRK - // libc's version: - extern "C" void* __sbrk(intptr_t increment); - +-- +2.17.1 + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb b/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb new file mode 100644 index 0000000000..9dfb0d974f --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools_2.7.90.bb @@ -0,0 +1,44 @@ +SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" +HOMEPAGE = "https://github.com/gperftools/gperftools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" + +SRCREV = "db7aa547abb5abdd558587a15502584cbc825438" +SRC_URI = "git://github.com/gperftools/gperftools \ + file://0001-Support-Atomic-ops-on-clang.patch \ + file://0001-fix-build-with-musl-libc.patch \ + file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ + file://disable_libunwind_aarch64.patch \ + file://sgidef.patch \ + " + +inherit autotools + +S = "${WORKDIR}/git" + +# On mips, we have the following error. +# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 +# Segmentation fault (core dumped) +COMPATIBLE_HOST_mipsarch = "null" +# Disable thumb1 +# {standard input}: Assembler messages: +# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' +# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" + +PACKAGECONFIG ?= "libunwind static" +PACKAGECONFIG_remove_arm_libc-musl = "libunwind" + +PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" +PACKAGECONFIG[static] = "--enable-static,--disable-static," + +PACKAGE_BEFORE_PN += "libtcmalloc-minimal" +FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" + +# pprof tool requires Getopt::long and POSIX perl5 modules. +# Also runs `objdump` on each cpuprofile data file +RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix" + +RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" + diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.7.bb b/meta-oe/recipes-support/gperftools/gperftools_2.7.bb deleted file mode 100644 index ee34acec24..0000000000 --- a/meta-oe/recipes-support/gperftools/gperftools_2.7.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" -HOMEPAGE = "https://github.com/gperftools/gperftools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" - -SRCREV = "9608fa3bcf8020d35f59fbf70cd3cbe4b015b972" -SRC_URI = "git://github.com/gperftools/gperftools \ - file://0001-Support-Atomic-ops-on-clang.patch \ - file://0001-fix-build-with-musl-libc.patch \ - file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \ - file://disable_libunwind_aarch64.patch \ - file://sgidef.patch \ - " - -inherit autotools - -S = "${WORKDIR}/git" - -# On mips, we have the following error. -# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008 -# Segmentation fault (core dumped) -COMPATIBLE_HOST_mipsarch = "null" -# Disable thumb1 -# {standard input}: Assembler messages: -# {standard input}:434: Error: lo register required -- `ldr pc,[sp]' -# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm" - -PACKAGECONFIG ?= "libunwind static" -PACKAGECONFIG_remove_arm_libc-musl = "libunwind" - -PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind" -PACKAGECONFIG[static] = "--enable-static,--disable-static," - -PACKAGE_BEFORE_PN += "libtcmalloc-minimal" -FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}" - -# pprof tool requires Getopt::long and POSIX perl5 modules. -# Also runs `objdump` on each cpuprofile data file -RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix" - -RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})" - -- cgit v1.2.3-54-g00ecf