tbb: mallinfo patch to fix build w/musl, fix w/clang
This commit is contained in:
parent
f96d0d114e
commit
29b012e177
2 changed files with 45 additions and 0 deletions
|
@ -16,6 +16,8 @@ with stdenv.lib; stdenv.mkDerivation rec {
|
|||
optional (stdver != null) "stdver=${stdver}"
|
||||
);
|
||||
|
||||
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ./glibc-struct-mallinfo.patch;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{lib,share/doc}
|
||||
cp "build/"*release*"/"*${stdenv.hostPlatform.extensions.sharedLibrary}* $out/lib/
|
||||
|
|
43
pkgs/development/libraries/tbb/glibc-struct-mallinfo.patch
Normal file
43
pkgs/development/libraries/tbb/glibc-struct-mallinfo.patch
Normal file
|
@ -0,0 +1,43 @@
|
|||
From b577153a10c98f4e13405dc93ea2ab1a7b990e07 Mon Sep 17 00:00:00 2001
|
||||
From: David Huffman <storedbox+alpine@outlook.com>
|
||||
Date: Wed, 6 Jan 2016 07:09:30 -0500
|
||||
Subject: [PATCH] hard-code glibc's definition of struct mallinfo
|
||||
|
||||
---
|
||||
src/tbbmalloc/proxy.h | 20 ++++++++++++++++++++
|
||||
1 file changed, 20 insertions(+)
|
||||
|
||||
diff --git a/src/tbbmalloc/proxy.h b/src/tbbmalloc/proxy.h
|
||||
index 781cadc..e1ea1ae 100644
|
||||
--- a/src/tbbmalloc/proxy.h
|
||||
+++ b/src/tbbmalloc/proxy.h
|
||||
@@ -32,6 +32,26 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
+// The following definition was taken from /usr/include/malloc.h as provided by
|
||||
+// the glibc-devel-2.19-17.4.x86_64 package on openSUSE Leap 42.1; it is
|
||||
+// made available under the GNU Lesser General Public License v2.1 or later.
|
||||
+// See <https://www.gnu.org/licenses>.
|
||||
+//
|
||||
+// Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
+struct mallinfo
|
||||
+{
|
||||
+ int arena; /* non-mmapped space allocated from system */
|
||||
+ int ordblks; /* number of free chunks */
|
||||
+ int smblks; /* number of fastbin blocks */
|
||||
+ int hblks; /* number of mmapped regions */
|
||||
+ int hblkhd; /* space in mmapped regions */
|
||||
+ int usmblks; /* maximum total allocated space */
|
||||
+ int fsmblks; /* space available in freed fastbin blocks */
|
||||
+ int uordblks; /* total allocated space */
|
||||
+ int fordblks; /* total free space */
|
||||
+ int keepcost; /* top-most, releasable (via malloc_trim) space */
|
||||
+};
|
||||
+
|
||||
extern "C" {
|
||||
void * scalable_malloc(size_t size);
|
||||
void * scalable_calloc(size_t nobj, size_t size);
|
||||
--
|
||||
2.6.2
|
||||
|
Loading…
Reference in a new issue