[arch-commits] Commit in heaptrack/repos (3 files)
Bartłomiej Piotrowski
bpiotrowski at archlinux.org
Sat Dec 30 23:05:57 UTC 2017
Date: Saturday, December 30, 2017 @ 23:05:55
Author: bpiotrowski
Revision: 277500
archrelease: copy trunk to community-staging-x86_64
Added:
heaptrack/repos/community-staging-x86_64/
heaptrack/repos/community-staging-x86_64/PKGBUILD
(from rev 277499, heaptrack/trunk/PKGBUILD)
heaptrack/repos/community-staging-x86_64/heaptrack-glibc-2.26.patch
(from rev 277499, heaptrack/trunk/heaptrack-glibc-2.26.patch)
----------------------------+
PKGBUILD | 38 ++++++++++++++
heaptrack-glibc-2.26.patch | 114 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 152 insertions(+)
Copied: heaptrack/repos/community-staging-x86_64/PKGBUILD (from rev 277499, heaptrack/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2017-12-30 23:05:55 UTC (rev 277500)
@@ -0,0 +1,38 @@
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+
+pkgname=heaptrack
+pkgver=1.0.0
+pkgrel=3
+arch=(x86_64)
+pkgdesc="A heap memory profiler for Linux"
+url="http://milianw.de/tag/heaptrack"
+license=(GPL)
+depends=(kdiagram threadweaver kitemmodels kio boost-libs)
+makedepends=(extra-cmake-modules boost python sparsehash)
+source=(http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig}
+ heaptrack-glibc-2.26.patch)
+sha256sums=('01d87ea1b424a67f943483ff141c0a32a46c5b6109834e2e832ebef898a4474f'
+ 'SKIP'
+ '39a04e0bacb99ecd91d1d8225b944cc9c852853813520b7538b10bcd5ec6d591')
+validpgpkeys=(3D8568869097C65C98F8D2760C0EB212CD1D1393) # Milian Wolff <mail at milianw.de>
+
+prepare() {
+ mkdir -p build
+
+ cd $pkgname-$pkgver
+ patch -p1 -i ../heaptrack-glibc-2.26.patch # fix build with glibc 2.26
+}
+
+build() {
+ cd build
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_TESTING=OFF
+ make
+}
+
+package(){
+ cd build
+ make DESTDIR="$pkgdir" install
+}
Copied: heaptrack/repos/community-staging-x86_64/heaptrack-glibc-2.26.patch (from rev 277499, heaptrack/trunk/heaptrack-glibc-2.26.patch)
===================================================================
--- community-staging-x86_64/heaptrack-glibc-2.26.patch (rev 0)
+++ community-staging-x86_64/heaptrack-glibc-2.26.patch 2017-12-30 23:05:55 UTC (rev 277500)
@@ -0,0 +1,114 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8cc25bd..5df5f4d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -73,6 +73,11 @@ if (NOT HAVE_LINUX_HEADERS)
+ message(FATAL_ERROR "You are missing some Linux headers required to compile heaptrack.")
+ endif()
+
++# cfree() does not exist in glibc 2.26+.
++# See: https://bugs.kde.org/show_bug.cgi?id=383889
++include(CheckSymbolExists)
++check_symbol_exists(cfree malloc.h HAVE_CFREE)
++
+ set(BIN_INSTALL_DIR "bin")
+ set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
+ set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+diff --git a/src/track/heaptrack_inject.cpp b/src/track/heaptrack_inject.cpp
+index 0bf75f8..2956613 100644
+--- a/src/track/heaptrack_inject.cpp
++++ b/src/track/heaptrack_inject.cpp
+@@ -18,6 +18,7 @@
+ */
+
+ #include "libheaptrack.h"
++#include "util/config.h"
+
+ #include <cstdlib>
+ #include <cstring>
+@@ -43,12 +44,6 @@
+ #error unsupported word size
+ #endif
+
+-#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || defined(__USE_MISC)
+-#define HAVE_CFREE 1
+-#else
+-#define HAVE_CFREE 0
+-#endif
+-
+ namespace {
+
+ namespace Elf {
+diff --git a/src/track/heaptrack_preload.cpp b/src/track/heaptrack_preload.cpp
+index b106bcd..343b193 100644
+--- a/src/track/heaptrack_preload.cpp
++++ b/src/track/heaptrack_preload.cpp
+@@ -18,6 +18,7 @@
+ */
+
+ #include "libheaptrack.h"
++#include "util/config.h"
+
+ #include <cstdio>
+ #include <cstdlib>
+@@ -30,7 +31,6 @@
+ using namespace std;
+
+ #define HAVE_ALIGNED_ALLOC defined(_ISOC11_SOURCE)
+-#define HAVE_CFREE (defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || defined(__USE_MISC))
+
+ namespace {
+
+diff --git a/src/util/config.h.cmake b/src/util/config.h.cmake
+index d24034a..8239ae3 100644
+--- a/src/util/config.h.cmake
++++ b/src/util/config.h.cmake
+@@ -30,4 +30,8 @@
+
+ #define HEAPTRACK_DEBUG_BUILD @HEAPTRACK_DEBUG_BUILD@
+
++// cfree() does not exist in glibc 2.26+.
++// See: https://bugs.kde.org/show_bug.cgi?id=383889
++#cmakedefine01 HAVE_CFREE
++
+ #endif // HEAPTRACK_CONFIG_H
+diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt
+index 63f9526..4bbbbb6 100644
+--- a/tests/manual/CMakeLists.txt
++++ b/tests/manual/CMakeLists.txt
+@@ -2,6 +2,10 @@ set(CMAKE_BUILD_TYPE Debug)
+
+ add_executable(test_c test.c)
+ add_executable(test_cpp test.cpp)
++set_target_properties(test_cpp PROPERTIES
++ INCLUDE_DIRECTORIES ${CMAKE_CURRENT_BINARY_DIR}/../../src/
++)
++
+ add_executable(threaded threaded.cpp)
+ target_link_libraries(threaded ${CMAKE_THREAD_LIBS_INIT})
+
+diff --git a/tests/manual/test.cpp b/tests/manual/test.cpp
+index e3f1870..1e9c267 100644
+--- a/tests/manual/test.cpp
++++ b/tests/manual/test.cpp
+@@ -1,6 +1,8 @@
+ #include <cstdio>
+ #include <cstdlib>
+
++#include "util/config.h"
++
+ #define HAVE_ALIGNED_ALLOC defined(_ISOC11_SOURCE)
+
+ struct Foo
+@@ -60,7 +62,11 @@ int main()
+
+ buf = calloc(5, 5);
+ printf("calloc: %p\n", buf);
++#if HAVE_CFREE
+ cfree(buf);
++#else
++ free(buf);
++#endif
+
+ #if HAVE_ALIGNED_ALLOC
+ buf = aligned_alloc(16, 160);
More information about the arch-commits
mailing list