summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2018-09-07 10:25:44 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2018-09-07 10:25:44 +0200
commit80653675645ad2f437c230fe7034f9e275ef24e4 (patch)
tree56ae8507a2c861eba1bc08ab058ddc03c4380ecd /community
parentfcd3e761035173bf0ed663c179f7e38d636d1c83 (diff)
downloadpackages-80653675645ad2f437c230fe7034f9e275ef24e4.tar.xz
community/heaptrack: backported 32-bit fixes to 1.1.0
Diffstat (limited to 'community')
-rw-r--r--community/heaptrack/49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch25
-rw-r--r--community/heaptrack/76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch16
-rw-r--r--community/heaptrack/PKGBUILD15
-rw-r--r--community/heaptrack/c456f6a1575fb2834238a1f693e7c7787d768d42.patch13
4 files changed, 69 insertions, 0 deletions
diff --git a/community/heaptrack/49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch b/community/heaptrack/49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch
new file mode 100644
index 00000000..9ddad81e
--- /dev/null
+++ b/community/heaptrack/49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch
@@ -0,0 +1,25 @@
+diff --git a/tests/auto/tst_io.cpp b/tests/auto/tst_io.cpp
+index 48abda6..fd31b31 100644
+--- a/tests/auto/tst_io.cpp
++++ b/tests/auto/tst_io.cpp
+@@ -27,6 +27,11 @@
+
+ using namespace std;
+
++constexpr uint64_t operator""_u64(unsigned long long v)
++{
++ return static_cast<uint64_t>(v);
++}
++
+ TEST_CASE ("write data", "[write]") {
+ TempFile file;
+ REQUIRE(file.open());
+@@ -124,7 +129,7 @@ TEST_CASE ("read line 64bit", "[read]") {
+ REQUIRE(reader >> module);
+ REQUIRE(module == "/tmp/KDevelop-5.2.1-x86_64/usr/lib/libKF5Completion.so.5");
+
+- for (uint64_t expected : {0x7f48beedc00ul, 0x0ul, 0x36854ul, 0x236858ul, 0x2700ul}) {
++ for (auto expected : {0x7f48beedc00_u64, 0x0_u64, 0x36854_u64, 0x236858_u64, 0x2700_u64}) {
+ uint64_t addr = 0;
+ REQUIRE(reader >> addr);
+ REQUIRE(addr == expected);
diff --git a/community/heaptrack/76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch b/community/heaptrack/76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch
new file mode 100644
index 00000000..8448d679
--- /dev/null
+++ b/community/heaptrack/76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch
@@ -0,0 +1,16 @@
+diff --git a/src/util/linewriter.h b/src/util/linewriter.h
+index 73a7930..e895e87 100644
+--- a/src/util/linewriter.h
++++ b/src/util/linewriter.h
+@@ -158,6 +158,11 @@ public:
+ return __builtin_clzl(V);
+ }
+
++ inline static unsigned clz(long long unsigned V)
++ {
++ return __builtin_clzll(V);
++ }
++
+ template <typename V>
+ static char* writeHexNumber(char* buffer, V value)
+ {
diff --git a/community/heaptrack/PKGBUILD b/community/heaptrack/PKGBUILD
new file mode 100644
index 00000000..86e5c06b
--- /dev/null
+++ b/community/heaptrack/PKGBUILD
@@ -0,0 +1,15 @@
+# backport 32-bit specific fixed from trunk to 1.1.0
+
+source+=('76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch' '49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch' 'c456f6a1575fb2834238a1f693e7c7787d768d42.patch')
+sha256sums+=('7e5256b5f129d5b88c72b8621fc676322c4bcbb4388973d3b5c9b7ff2c874334' '2ef8e8b95792cbebfb33a1959e2fdb8fcbb24edd0243cccd0f25958d1592aaab' 'a8ad15176973a074e97492d7008555ecd895a8fbe7f0805a9f4562054311091d')
+
+eval "$(
+ declare -f prepare | \
+ sed '
+ /}/ i \
+ cd ${pkgname}-${pkgver}\n \
+ patch -Np1 < ${srcdir}/76fd2e84ba133e96d2cfdf90cb715e66e923eb8f.patch\n \
+ patch -Np1 < ${srcdir}/49577e019ea791ee63962cdfe7e9c0c5b5c6ea4b.patch\n \
+ patch -Np1 < ${srcdir}/c456f6a1575fb2834238a1f693e7c7787d768d42.patch
+ '
+)"
diff --git a/community/heaptrack/c456f6a1575fb2834238a1f693e7c7787d768d42.patch b/community/heaptrack/c456f6a1575fb2834238a1f693e7c7787d768d42.patch
new file mode 100644
index 00000000..e6b8f739
--- /dev/null
+++ b/community/heaptrack/c456f6a1575fb2834238a1f693e7c7787d768d42.patch
@@ -0,0 +1,13 @@
+diff --git a/src/track/libheaptrack.cpp b/src/track/libheaptrack.cpp
+index 8646893..af1ba5e 100644
+--- a/src/track/libheaptrack.cpp
++++ b/src/track/libheaptrack.cpp
+@@ -121,7 +121,7 @@ inline void debugLog(const char fmt[], Args... args)
+ if (debugLevel <= s_debugVerbosity) {
+ RecursionGuard guard;
+ flockfile(stderr);
+- fprintf(stderr, "heaptrack debug(%d) [%d:%d]@%lu ", static_cast<int>(debugLevel), getpid(), gettid(),
++ fprintf(stderr, "heaptrack debug(%d) [%d:%d]@%" PRIu64 " ", static_cast<int>(debugLevel), getpid(), gettid(),
+ elapsedTime().count());
+ fprintf(stderr, fmt, args...);
+ fputc('\n', stderr);