Christophe Marin 2024-08-20 08:57:31 +00:00 committed by Git OBS Bridge
commit cc5dfdecfd
8 changed files with 407 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,48 @@
From c6c45f3455a652c38aefa402aece5dafa492e8ab Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 15 Dec 2023 22:53:19 +0100
Subject: [PATCH] cmake: Fix C compatibility of libunwind probes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Future compilers such as GCC 14 are likely to enforce C type
compatibility rules by default and report errors like this one:
…/TryCompile-aAxUZn/src.c: In function main:
…/TryCompile-aAxUZn/src.c:3:43: error: passing argument 1 of unw_backtrace from incompatible pointer type
3 | int main() { void* buf[10]; unw_backtrace(&buf, 10); return 0; }
| ^~~~
| |
| void * (*)[10]
In file included from /usr/include/libunwind-x86_64.h:129,
from /usr/include/libunwind.h:23,
from …/TryCompile-aAxUZn/src.c:2:
/usr/include/libunwind-common.h:318:27: note: expected void ** but argument is of type void * (*)[10]
318 | extern int unw_backtrace (void **, int);
| ^~~~~~~
Removing the address operator ensures that the array type decays to
a pointer, and that the types are compatible.
---
cmake/FindLibunwind.cmake | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmake/FindLibunwind.cmake b/cmake/FindLibunwind.cmake
index 2dddfad..d597de9 100644
--- a/cmake/FindLibunwind.cmake
+++ b/cmake/FindLibunwind.cmake
@@ -57,8 +57,8 @@ if (LIBUNWIND_LIBRARY)
LIBUNWIND_HAS_UNW_GETCONTEXT)
check_c_source_compiles("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { unw_context_t context; unw_cursor_t cursor; unw_getcontext(&context); unw_init_local(&cursor, &context); return 0; }"
LIBUNWIND_HAS_UNW_INIT_LOCAL)
- check_c_source_compiles("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { void* buf[10]; unw_backtrace(&buf, 10); return 0; }" LIBUNWIND_HAS_UNW_BACKTRACE)
- check_c_source_compiles ("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { void* buf[10]; unw_backtrace_skip(&buf, 10, 2); return 0; }" LIBUNWIND_HAS_UNW_BACKTRACE_SKIP)
+ check_c_source_compiles("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { void* buf[10]; unw_backtrace(buf, 10); return 0; }" LIBUNWIND_HAS_UNW_BACKTRACE)
+ check_c_source_compiles ("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { void* buf[10]; unw_backtrace_skip(buf, 10, 2); return 0; }" LIBUNWIND_HAS_UNW_BACKTRACE_SKIP)
check_c_source_compiles ("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { return unw_set_cache_size(unw_local_addr_space, 1024, 0); }" LIBUNWIND_HAS_UNW_SET_CACHE_SIZE)
check_c_source_compiles ("#define UNW_LOCAL_ONLY 1\n#include <libunwind.h>\nint main() { return unw_set_caching_policy(unw_local_addr_space, UNW_CACHE_PER_THREAD); }" LIBUNWIND_HAS_UNW_CACHE_PER_THREAD)
set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
--
2.46.0

3
heaptrack-1.5.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a278d9d8f91e8bfb8a1c2f5b73eecab47fd45d0693f5dbea637536413cec2ea5
size 5447668

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEezawi1aUvUGg3A1+8zYW/HGdOX8FAmUXAxIACgkQ8zYW/HGd
OX8LJBAAho6XtoD1RlXG00X1yxoKqPTzJvu0aSUlYPp0mJupoHSs07CZGfnGlDEs
J396gZb0jXEXhe/gNdv50Q2kTomyTewFI4zy/UJ/9UvxNdAv8y8P0yWgisRJLzs6
GkigwBtDbdBhKUHk1+I3YJ+TQNeKcaElrfTLNdvzjcRG14BmeLEEKiG5NfAMhJGZ
/9jSDQQfNgVZ0XSHDph1e3G9hjaOzrpP1HNEnoKvu4qrbSmTKrjqxJnwkT681G9t
k+gAlo1p5rjLKLaCn/w7f42fVwFs99obRr2XFvHf1hr0aZPAVs7iDGAaIWmPmZG7
v2x1YcSFLPOmLLAtEp92HNR1zbtAglUVfItt/E8Z9VU5yb2P45ZrJ2ZGzoj5+Ydb
RJa59mZDAX8xvberaVwysCRLJTvPvAd5NEG+4xU01FK89A4or1qJU+XVFkUts0US
9UThjhPHTsKeQLNcHkgqJ9g2wmakDzCJXauTr0MJ7x38E1kbCbOpnnUvF6QhOUhv
h4xH8e34bCmy1cPQmED6aTWq9+NTmYUtSJEtc3yRv+lJOv6wc4iub4tMRNVCNsrH
oYitqjMg7X4kKgI3r0IHtQ/PD5d1ZGc5yOMdT+Av2V84Fls8G5pNIIlaRVXzgOkf
mPyxZaoq+QGmbY7lqovX9QkgXk6xWvldZzoX0Pv9yGHJqAWyEvc=
=fFiM
-----END PGP SIGNATURE-----

130
heaptrack.changes Normal file
View File

@ -0,0 +1,130 @@
-------------------------------------------------------------------
Tue Aug 20 08:55:48 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Add upstream change:
* 0001-cmake-Fix-C-compatibility-of-libunwind-probes.patch
-------------------------------------------------------------------
Wed Oct 4 07:50:05 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 1.5.0
https://www.kdab.com/heaptrack-v1-5-0-released/
* Elfutils is now used for symbolizing backtraces
* Various QOL improvements to the chart
* Various bug fixes and better platform support
- Drop patches, merged upstream:
* 0001-Fix-build-with-gcc-13-by-including-cstdint.patch
* 0001-Add-missing-include.patch
* 0001-Return-early-when-__libc_dlopen_mode-is-detected.patch
-------------------------------------------------------------------
Thu Feb 23 10:21:47 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Try another way to ignore the GLIBC_PRIVATE requirement
-------------------------------------------------------------------
Wed Feb 22 10:57:50 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Add upstream change:
* 0001-Return-early-when-__libc_dlopen_mode-is-detected.patch
- Define _filter_GLIBC_PRIVATE to fix installation on Leap
-------------------------------------------------------------------
Tue Feb 7 23:22:36 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Add GCC 13 and boost 1.81 compatibility patches:
* 0001-Fix-build-with-gcc-13-by-including-cstdint.patch
* 0001-Add-missing-include.patch
-------------------------------------------------------------------
Sun Nov 27 08:15:26 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 1.4.0
* Pass client exit code in heaptrack.sh
* Leverage non-deprecated mallinfo2
* Add support for the mimalloc allocator
* Explicitly encode which hooks are required and which are
optional
* Make mi_* symbols truly optional by usig weak symbols for them
* Prevent malloc from disappearing in inlining example
* handle calling heaptrack_stop() without debuginfo
* Ensure we don't try to overwrite invalid tables
* Make elf_symbol_table a view of const Elf::Sym
* Ensure we don't read outside the string table for symbol names
* Silence -Wuse-after-free for realloc call
-------------------------------------------------------------------
Sun Dec 19 15:09:15 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 1.3.0:
* New features:
+ Allocations can be filtered by time ranges
+ Support for suppression files, including the
__lsan_default_suppressions API
* Fixed bugs:
+ Fails to build on CentOS 7.0 (kde#441125)
+ Crash when filtering on a time range (kde#441132)
+ Heaptrack produces impossible/incorrect stack traces (kde#439897)
+ ERROR: failed to lock heaptrack output file (kde#408547)
+ Attaching to running process generates empty file (kde#394520)
+ heaptrack launch script help text shows wrong option name for --output-file (kde#439307)
+ Can the output file take hostname into account? (kde#435195)
+ Heaptrack GUI crash when opening a zst file (kde#427970)
* More details on https://invent.kde.org/sdk/heaptrack/-/releases/v1.3.0
- Use %autosetup
-------------------------------------------------------------------
Sun Jan 17 08:39:36 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Add quotes to text comparison to fix build with rpm 4.16.
-------------------------------------------------------------------
Sat Sep 5 16:11:52 UTC 2020 - Klaas Freitag <opensuse@freisturz.de>
- Update to upstream version 1.2.0, a bugfix release.
- Removed Fix-compile-on-32bit.patch as it was added upstream.
-------------------------------------------------------------------
Mon Aug 31 15:38:09 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Fix the plugins installation directory.
-------------------------------------------------------------------
Wed Jan 29 10:59:48 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Enable zstd support
-------------------------------------------------------------------
Wed May 23 15:06:59 UTC 2018 - wbauer@tmo.at
- Add Fix-compile-on-32bit.patch to make it build on 32bit
(kde#394330)
- Don't install office-chart-area icon from breeze to hicolor
anymore, heaptrack comes with its own application icon now
- Mark license files as %license instead of %doc
- Install README.md as well, it contains instructions on how to use
it
-------------------------------------------------------------------
Wed May 23 13:40:54 UTC 2018 - fabian@ritter-vogt.de
- Update to version 1.1.0:
* Stability and performance improvements
* When extended debug information is available, stack traces now include inlined frames.
* Split debug information in separate files is now supported.
* Compressed debug information is properly handled.
* The embedded flamegraph view is now searchable.
* More details available on https://www.kdab.com/heaptrack-v1-1-0-release/
- Remove patches, now upstream:
* fix-build.patch
-------------------------------------------------------------------
Sat Sep 2 15:03:19 UTC 2017 - wbauer@tmo.at
- Add fix-build.patch to fix build with glibc 2.26 in Factory
(kde#383889)
-------------------------------------------------------------------
Wed Apr 19 18:22:16 UTC 2017 - fabian@ritter-vogt.de
- Initial commit

63
heaptrack.keyring Normal file
View File

@ -0,0 +1,63 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=fanF
-----END PGP PUBLIC KEY BLOCK-----

123
heaptrack.spec Normal file
View File

@ -0,0 +1,123 @@
#
# spec file for package heaptrack
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Needed for Leap, see boo#468748
%global __requires_exclude GLIBC_PRIVATE
%bcond_without released
Name: heaptrack
Version: 1.5.0
Release: 0
Summary: Heap Memory Allocation Profiler
License: LGPL-2.1-or-later
URL: https://apps.kde.org/heaptrack/
Source0: https://download.kde.org/stable/heaptrack/%{version}/%{name}-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/stable/heaptrack/%{version}/%{name}-%{version}.tar.xz.sig
Source2: heaptrack.keyring
%endif
# PATCH-FIX-UPSTREAM -- gcc14 compat
Patch0: 0001-cmake-Fix-C-compatibility-of-libunwind-probes.patch
BuildRequires: extra-cmake-modules
BuildRequires: libboost_container-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_iostreams-devel
BuildRequires: libboost_program_options-devel
BuildRequires: libboost_system-devel
BuildRequires: libdwarf-devel
BuildRequires: libunwind-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: zlib-devel
BuildRequires: cmake(KChart) >= 2.6.0
BuildRequires: cmake(KF5ConfigWidgets)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5I18n)
BuildRequires: cmake(KF5IconThemes)
BuildRequires: cmake(KF5ItemModels)
BuildRequires: cmake(KF5KIO)
BuildRequires: cmake(KF5ThreadWeaver)
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Widgets)
BuildRequires: pkgconfig(libdw) >= 0.158
BuildRequires: pkgconfig(libzstd)
Suggests: heaptrack-gui
%description
A memory profiler for Linux, tracking heap allocations.
%package devel
Summary: Development files for the Heaptrack API
Requires: heaptrack = %{version}
%description devel
This package contains files needed to develop for the Heaptrack
API.
%package gui
Summary: GUI Frontend for Heaptrack
Requires: heaptrack = %{version}
%description gui
A Qt5/KF5 based GUI for Heaptrack.
%lang_package
%prep
%autosetup -p1
# Disable building tests, they're not used and post-build-checks trips over it
sed -i"" '/add_subdirectory(tests)/d' CMakeLists.txt
%build
%if "%{_lib}" == "lib64"
extra_opts="-DLIB_SUFFIX=64"
%endif
%cmake_kf5 -d build -- $extra_opts
%cmake_build
%install
%kf5_makeinstall -C build
%find_lang %{name} --all-name
# Fixup desktop file
%suse_update_desktop_file org.kde.heaptrack Development Profiling
%files
%license LICENSES/*
%doc README.md
%{_kf5_bindir}/heaptrack
%{_kf5_bindir}/heaptrack_print
%{_libdir}/heaptrack/
%files devel
%{_includedir}/heaptrack_api.h
%files gui
%{_kf5_bindir}/heaptrack_gui
%{_kf5_applicationsdir}/org.kde.heaptrack.desktop
%{_kf5_appstreamdir}/org.kde.heaptrack.appdata.xml
%dir %{_kf5_iconsdir}/hicolor/*
%dir %{_kf5_iconsdir}/hicolor/*/*
%{_kf5_iconsdir}/*/*/*/*.*
%files lang -f %{name}.lang
%changelog