diff options
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); |