[qt/qt-creator/elfutils]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt-creator/elfutils
Pushed by mirror-service into branch 'upstream/users/serhei/try-stackprof-fixup'.
Changed from 0000000000000000000000000000000000000000 to c387fe6824eaf287489cb56be5a95f7d08dffcca
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 3f21a6a0893dbaf12277df1f11b4f64949a125b6 by Serhei Makarov on 22/07/2026 at 19:52..
eblinitreg_sample.c: guard ebl_set_initial_registers_sample

The generic code in ebl_set_initial_registers_sample is meant to be
used on arches with simple/small register files and a contiguous
linear mapping of perf_regs<->dwarf_regs. Make sure to guard it with a
check of ebl->perf_frame_regs_mask (the canonical sign that
sample_regs is supported for this arch).

Otherwise, a hypothetical call to ebl_set_initial_registers_sample()
on an unsupported arch with many regs falls through to the generic
code and ends up writing out of bounds to the dwarf_regs array,
(at least in builds where the assert is also compiled out).

Based on Sayed Kaif's patch and problem report cf
https://sourceware.org/pipermail/elfutils-devel/2026q2/009378.html

* libebl/eblinitreg_sample.c (ebl_set_initial_registers_sample):
  Guard the generic code on ebl->perf_frame_regs_mask != 0.

Reported-by: Sayed Kaif <[email protected]>
Signed-off-by: Serhei Makarov <[email protected]>
https://invent.kde.org/qt/qt-creator/elfutils/-/commit/3f21a6a0893dbaf12277df1f11b4f64949a125b6

Git commit 17c9e131db4914da58a32efca49858d3d5b321ad by Serhei Makarov on 22/07/2026 at 20:09..
configure.ac, src/: add C++20, add new stackprof tool

eu-stackprof is a new tool which profiles processes on a Linux system
using perf_events and outputs gprof gmon.out format program counter
histograms and callgraph-arc profiles; intended as an updated demo of
libdwfl_stacktrace functionality and as a data-gathering tool for the
profiledb initiative.

* configure.ac: Add configure checks for C++20, eu-stackprof
  perf/libpfm dependencies.
* config/elfutils.spec.in: Add stackprof.
* po/POTFILES.in: Add stackprof.cxx.
* src/Makefile.am (bin_PROGRAMS): Add stackprof.
  (stackprof_*): Add stackprof SOURCES, LDADD, and so forth.
* src/stackprof.cxx: New file.

Co-authored-by: Frank Ch. Eigler <[email protected]>
Signed-off-by: Serhei Makarov <[email protected]>
https://invent.kde.org/qt/qt-creator/elfutils/-/commit/17c9e131db4914da58a32efca49858d3d5b321ad

Git commit 06aeae192100b0cff77d444a96c5fd0d57d0ce91 by Serhei Makarov on 22/07/2026 at 20:21..
tests/: add test suite for stackprof

Together with the stackprof tool we add some test cases to exercise
it, and the underlying libdwfl_stacktrace functionality as well.

* tests/stackprof-subr.sh: Common subroutines for checking
  perf_events availability and verifying gmon.*.out files.
* tests/run-stackprof-system.sh: New file.
* tests/run-stackprof-system-gprof.sh: New file.
* tests/run-stackprof-user.sh: New file.
* tests/run-stackprof-user-gprof.sh: New file.
* tests/Makefile.am (TESTS): add the new testcases.

Co-authored-by: Frank Ch. Eigler <[email protected]>
Signed-off-by: Serhei Makarov <[email protected]>
https://invent.kde.org/qt/qt-creator/elfutils/-/commit/06aeae192100b0cff77d444a96c5fd0d57d0ce91

Git commit 83b017baab8e3fcbc3f4f6b7066fa47d524b03d5 by Serhei Makarov on 22/07/2026 at 20:23..
doc/stackprof.1: add man page and NEWS for stackprof

* doc/Makefile.am (dist_man1_MANS): Add stackprof.1.
* doc/stackprof.1: New file.
* NEWS: Add stackprof.

Co-authored-by: Frank Ch. Eigler <[email protected]>
Signed-off-by: Serhei Makarov <[email protected]>
https://invent.kde.org/qt/qt-creator/elfutils/-/commit/83b017baab8e3fcbc3f4f6b7066fa47d524b03d5

Git commit c387fe6824eaf287489cb56be5a95f7d08dffcca by Serhei Makarov on 22/07/2026 at 20:23..
src/stacktrace.c: remove in favour of stackprof

Now that stackprof is added, the existing src/stacktrace.c tool is
officially obsolete as a demo -- it relies on a custom patchset for
Sysprof (communicating via pipe, not contributed to mainline, in
favour of the sysprof-live-unwinder tool which links elfutils as a
library), whereas stackprof pulls data from perf_events directly.

Likewise, stackprof includes all of the eu-stacktrace functionality
for logging/statistics.

* configure.ac: Remove eu-stacktrace related bits.
  The configure checks for stackprof are simpler (just perf_events.h
  and libpfm).
* config/elfutils.spec.in: Remove eu-stacktrace.
* po/POTFILES.in: Remove stacktrace.c.
* src/Makefile.am: Remove eu-stacktrace related bits.
* src/stacktrace.c: Remove.
* .forgejo/workflows/check-fedora.yaml: Remove sysprof-capture-devel.

Co-authored-by: Frank Ch. Eigler <[email protected]>
Signed-off-by: Serhei Makarov <[email protected]>
https://invent.kde.org/qt/qt-creator/elfutils/-/commit/c387fe6824eaf287489cb56be5a95f7d08dffcca
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.