gperftools: Fix build with musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Khem Raj
2017-09-02 12:02:04 -07:00
committed by Martin Jansa
parent 10c8c39c25
commit e70416c59b
3 changed files with 50 additions and 2 deletions
@@ -0,0 +1,25 @@
From b5961f17e9d7f2bc44da611b3e4b27c8a641fc72 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Sep 2017 08:07:17 -0700
Subject: [PATCH] disbale heap checkers and debug allocator on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
configure.ac | 2 ++
1 file changed, 2 insertions(+)
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
+++ git/configure.ac
@@ -51,6 +51,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;;
+ *-musl*) default_enable_heap_checker=no; default_enable_heap_profiler=no;
+ default_enable_debugalloc=no; default_enable_libunwind=no;
esac
# Currently only backtrace works on s390.
@@ -0,0 +1,23 @@
Disable libunwind on aarch64
Fixes hangs when using libtcmalloc.so
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
+++ git/configure.ac
@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re
[default_enable_libunwind=yes
default_tcmalloc_pagesize=8])
+# Disable libunwind linking on aarch64 by default.
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __aarch64__])],
+ [default_enable_libunwind=no],
+ [default_enable_libunwind=yes])
+
AC_ARG_ENABLE([cpu-profiler],
[AS_HELP_STRING([--disable-cpu-profiler],
[do not build the cpu profiler])],
@@ -10,6 +10,8 @@ SRC_URI = "git://github.com/gperftools/gperftools \
file://0001-Use-ucontext_t-instead-of-struct-ucontext.patch \
file://0001-fix-build-with-musl-libc.patch \
file://0001-include-fcntl.h-for-loff_t-definition.patch \
file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
file://disable_libunwind_aarch64.patch \
"
inherit autotools
@@ -20,8 +22,6 @@ S = "${WORKDIR}/git"
# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
# Segmentation fault (core dumped)
COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|arm|aarch64).*-linux*"
# On aarch64, add this option to avoid system hanging when using libtcmalloc.so.
EXTRA_OECONF_aarch64 += "--disable-libunwind"
# Disable thumb1
# {standard input}: Assembler messages:
# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'