Sync from SUSE:ALP:Source:Standard:1.0 dwarves revision d5b543a5a34ae8f4b51a1d28681df539

This commit is contained in:
Adrian Schröter 2023-10-24 13:23:18 +02:00
commit 24bdf1e8dc
7 changed files with 642 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

4
baselibs.conf Normal file
View File

@ -0,0 +1,4 @@
libdwarves1
libdwarves-devel
requires -libdwarves-<targettype>
requires "libdwarves1-<targettype> = <version>"

7
dwarves-1.25.tar.sign Normal file
View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZDGsjwAKCRCyPKLppCJ+
J617AP0RoCvYxPVlRH0Hjwc54uwZ4llO8OIiA2rzIqBzoGSpAgD/U/8xfhsy2Poq
A7aAUPbx/V2csJmZ79wNpmVZxZ8CJgE=
=+8Sa
-----END PGP SIGNATURE-----

BIN
dwarves-1.25.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

371
dwarves.changes Normal file
View File

@ -0,0 +1,371 @@
-------------------------------------------------------------------
Mon Oct 9 09:05:08 UTC 2023 - Michal Suchanek <msuchanek@suse.com>
- Fix have_libbpf conditional (jsc#PED-4593 bsc#1216042).
-------------------------------------------------------------------
Sat Apr 8 21:25:35 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.25
* Fixed the handling of DW_TAG_unspecified type in assembly
functions that came with binutils 2.40
* Allow the BTF encoding of optimized functions (ending in
.constprop, .isra),
* Exclude BTF optimized functions not following the calling
convention
* Support for DW_TAG_atomic_type
* Support for the DW_TAG_LLVM_annotation BTF equivalent
(BTF_KIND_TYPE_TAG) on the BTF loader and for now suppressing
it when pretty printing
- Drop 0001-pahole-Support-lang-lang_exclude-asm.patch,
0002-btf_encoder-Add-extra-debug-info-for-unsupported-DWA.patch,
0003-btf_encoder-Store-the-CU-being-processed-to-avoid-ch.patch,
0004-core-Add-DW_TAG_unspecified_type-to-tag__is_tag_type.patch,
0005-core-Record-if-a-CU-has-a-DW_TAG_unspecified_type.patch,
0006-btf_encoder-Encode-DW_TAG_unspecified_type-returning.patch,
0007-dwarves-Zero-initialize-struct-cu-in-cu__new-to-prev.patch
-------------------------------------------------------------------
Fri Feb 17 14:36:32 UTC 2023 - Martin Liška <mliska@suse.cz>
- Add 0001-pahole-Support-lang-lang_exclude-asm.patch,
0002-btf_encoder-Add-extra-debug-info-for-unsupported-DWA.patch,
0003-btf_encoder-Store-the-CU-being-processed-to-avoid-ch.patch,
0004-core-Add-DW_TAG_unspecified_type-to-tag__is_tag_type.patch,
0005-core-Record-if-a-CU-has-a-DW_TAG_unspecified_type.patch,
0006-btf_encoder-Encode-DW_TAG_unspecified_type-returning.patch,
0007-dwarves-Zero-initialize-struct-cu-in-cu__new-to-prev.patch
as in order to support DW_TAG_unspecified_type that is newly
emitted by binutils 2.40+.
-------------------------------------------------------------------
Tue Oct 4 17:04:49 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.24:
* Add support to BTF_KIND_ENUM64 to represent enumeration
entries with more than 32 bits.
* Support multithreaded encoding, in addition to DWARF
multithreaded loading, speeding up the process. Selected just
like DWARF multithreaded loading, using the 'pahole -j'
option.
* Encode 'char' type as signed.
* Add support to BTF_KIND_ENUM64.
* Introduce --lang and --lang_exclude to specify the language
the DWARF compile units were originated from to use or
filter.
* Introduce --compile to generate compilable code in a similar
fashion to: bpftool btf dump file vmlinux format c >
vmlinux.h As with 'bpftool', this will notice type shadowing,
i.e. multiple types with the same name and will disambiguate
by adding a suffix.
* Don't segfault when processing bogus files.
- add dwarves.keyring for source validation
-------------------------------------------------------------------
Wed Dec 8 14:18:26 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.23
* Ability to encode BTF tags.
* Ability to carry attributes to the kernel BPF verifier for
further checks.
* Inference of struct member unnatural alignment
(__attribute__(__aligned__(N))) to help in generating
compileable headers matching the original type layout from
BTF data.
-------------------------------------------------------------------
Mon Aug 23 23:31:59 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.22 (bsc#1190340).
* Ability to encode BTF to a separate file
* Multithreaded DWARF loading
* Details at https://marc.info/?l=dwarves&m=162975403628056&w=2
-------------------------------------------------------------------
Wed Aug 18 09:00:01 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- When building with system libbpf depend also on new enough Linux headers.
-------------------------------------------------------------------
Fri Aug 13 11:35:30 UTC 2021 - msuchanek@suse.com
- 15.4 has new elfutils, drop libebl-plugins dependency.
- Update to version 1.21+git177.1ef87b2:
* Fix crash with split BTF debuginfo
* CMakeList.txt: Bump version to the upcoming 1.22 release, not out of the door yet
- Remove upstreamed patch dwarves-Prep-1.22.patch
-------------------------------------------------------------------
Sat Jul 17 15:48:30 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- Use system libbpf when available (bsc#1188420 bsc#1188419 jsc#SLE-17288 jsc#SLE-18805).
-------------------------------------------------------------------
Thu Jul 15 20:04:36 UTC 2021 - msuchanek@suse.com
- Update to version 1.21+git175.1ef87b2 (jsc#SLE-17288):
* libbpf: bump dependency to >= 0.4.0
* CMakeLists.txt: Enable SHARED and STATIC lib creation
* libbpf: Allow to use packaged version
* btfdiff: Support diffing DWARF vs detached BTF
* pahole: Allow encoding BTF into a detached file
* pahole: Add --kabi_prefix flag
* btf_encoder: fix and complete filtering out zero-sized per-CPU variables
* btf: Remove ftrace filter
* pahole: Introduce --with_flexible_array option to show just types ending in a flexible array
* Many updates to btf_encoder and bug fixes
- Remove upstreamed patches
- btf_encoder-fix-and-complete-filtering-out-zero-sized-per-CPU-variables.patch
- remove-ftrace-filter.patch
- Pretend version 1.22 to make kernel happy
+ dwarves-Prep-1.22.patch
-------------------------------------------------------------------
Wed Jun 2 14:05:24 UTC 2021 - Dirk Müller <dmueller@suse.com>
- use https for url (and more beautification changes from spec-cleaner)
-------------------------------------------------------------------
Tue Jun 1 10:28:25 UTC 2021 - Michal Suchanek <msuchanek@suse.com>
- Handle zero sized per-cpu veriables in Linux BTF.
+ btf_encoder-fix-and-complete-filtering-out-zero-sized-per-CPU-variables.patch
-------------------------------------------------------------------
Mon May 3 08:45:43 UTC 2021 - Jiri Slaby <jslaby@suse.cz>
- add remove-ftrace-filter.patch
-------------------------------------------------------------------
Thu Apr 22 10:25:46 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Codify build requirement on elfutils >= 0.171
-------------------------------------------------------------------
Mon Apr 12 16:36:06 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.21
* Handle DWARF5 DW_OP_addrx and
subprogram ret type with abstract_origin properly.
-------------------------------------------------------------------
Fri Feb 5 01:08:01 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.20
* Addresses problems related to gcc 11 defaulting to DWARF5
for -g.
* Support SHN_XINDEX in st_shndx symbol indexes, to handle ELF
objects with more than 65534 sections, for instance, which
happens with kernels built with KCFLAGS="-ffunction-sections
-fdata-sections", Other cases may include when using FG-ASLR,
LTO.
* Fix BTF variable generation for kernel modules, not skipping
variables at offset zero.
* Fix address size to match what is in the ELF file being
processed, to fix using a 64-bit pahole binary to generate
BTF for a 32-bit vmlinux image.
-------------------------------------------------------------------
Wed Jan 6 06:07:31 UTC 2021 - Gary Ching-Pang Lin <glin@suse.com>
- Drop the version requirement of libdw-devel
+ DW_AT_alignment is defined in 1.19 so dwarves now is compatible
with older libdw.
-------------------------------------------------------------------
Tue Nov 24 13:26:05 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.19
* Support for split BTF.
* Support cross-compiled ELF binaries with different endianness.
* Support for showing typedefs for anonymous types, like structs,
unions and enums.
-------------------------------------------------------------------
Tue Oct 27 15:52:01 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Add _service file / move to 1.18.g19 (863e6f0f)
* btf_encoder: Ignore zero-sized ELF symbols
-------------------------------------------------------------------
Tue Oct 27 13:00:23 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 1.18_15g040fd7f (bsc#1177921):
* btf_encoder: Support cross-compiled ELF binaries with different endianness
* strings: use BTF's string APIs for strings management
* strings: Rename strings.h to avoid clashing with /usr/include/strings.h
* dwarf_loader: increase the size of lookup hash map
* btf_encoder: revamp how per-CPU variables are encoded
* btf_encoder: Discard CUs after BTF encoding
* btf_encoder: Fix emitting __ARRAY_SIZE_TYPE__ as index range type
* btf_encoder: Use libbpf APIs to encode BTF type info
* btf_loader: Use libbpf to load BTF
* dwarves: Expose and maintain active debug info loader operations
* btf_encoder: detect BTF encoding errors and exit
* libbpf: Update to latest libbpf version
* dwarf_loader: Conditionally define DW_AT_alignment
* pahole: Implement --packed
* man-pages: Fix 'coimbine' typo
- remove libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch (upstream)
-------------------------------------------------------------------
Fri Oct 2 22:00:47 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.18
* pahole now should be segfault free when handling gdb test
suit DWARF files, including ADA, FORTRAN, rust and dwp
compressed files (the latter is refused).
* Bail out on partial units for now, avoiding segfaults.
- Drop
dwarves-dwarf_loader-Ignore-entries-in-a-DW_TAG_partial_unit-for-now.patch,
dwarves-dwarf_loader-Bail-out-at-DW_TAG_imported_unit-tags.patch
(merged)
- Add forced ELF symvers because of ABI breaks
-------------------------------------------------------------------
Mon Sep 21 18:48:25 UTC 2020 - Tom de Vries <tdevries@suse.com>
- Backport fixes for segfault when processing dwz-ed kernel
[bsc#1176095,https://github.com/acmel/dwarves/issues/10].
* dwarves-dwarf_loader-Bail-out-at-DW_TAG_imported_unit-tags.patch
* dwarves-dwarf_loader-Ignore-entries-in-a-DW_TAG_partial_unit-for-now.patch
-------------------------------------------------------------------
Wed Sep 2 08:39:24 UTC 2020 - Jiri Slaby <jslaby@suse.com>
- add libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch
-------------------------------------------------------------------
Tue May 19 11:44:37 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Don't require libebl-plugins on suse_version >= 1550
-------------------------------------------------------------------
Sun Mar 15 18:57:27 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.17
* Support raw BTF as available in /sys/kernel/btf/vmlinux.
* Make --find_pointers_to consider unions.
* Make --contains and --find_pointers_to honour --unions.
* Add support for finding pointers to void.
* Make --contains and --find_pointers_to to work with base types.
-------------------------------------------------------------------
Mon Dec 16 15:50:02 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.16
* btf_loader: Add support for BTF_KIND_FUNC
-------------------------------------------------------------------
Thu Jun 27 11:22:47 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 1.15
* Avoid null dereference with NULL configs
* Fixup printing "const" early with "const void"
* Fix recursively printing named structs in --expand_types
-------------------------------------------------------------------
Thu May 2 00:00:00 CEST 2019 - dsterba@suse.cz
- version 1.13
- Use of the recently introduced BTF deduplication algorithm
- Introduce a 'btfdiff' utility
- Add a BTF loader, i.e. 'pahole -F btf' allows pretty printing of structs
and unions in the same fashion as with DWARF info
- Better union support
- Infer __attribute__((__packed__)) when structs have no alignment holes
- Support DWARF5's DW_AT_alignment
- Add a '--compile' option to 'pfunct'
-------------------------------------------------------------------
Thu Aug 16 21:20:17 UTC 2018 - jengelh@inai.de
- Update to new upstream release 1.12
* Added a BTF (BPF Type Format) encoder
* Initial support for DW_TAG_partial_unit
* Print cacheline boundaries in multiple union members
* Show offsets at union members
-------------------------------------------------------------------
Mon Mar 26 12:42:30 UTC 2018 - jengelh@inai.de
- dwarves needs elfutils to have the EBL plugins available
to carry out its work. [boo#1049871]
- Update to new upstream release 1.11
* dwarf_loader: Do not stop processing after finding
unsupported tags
* dwarf_loader: Support DW_FORM_data{4,8} for reading class
member offsets
* dwarf_fprintf: Handle DW_TAG_GNU_call_site{_parameter}
* dwarf_loader: Add support for DW_TAG_restrict_type
* dwarf_loader: Initial support for DW_TAG_unspecified_type
- Remove dwarves-no-DW_TAG_mutable.patch (already applied)
-------------------------------------------------------------------
Wed Feb 1 14:38:32 UTC 2017 - mpluskal@suse.com
- Use cmake macros
-------------------------------------------------------------------
Thu Jan 22 08:47:19 UTC 2015 - dimstar@opensuse.org
- Add dwarves-no-DW_TAG_mutable.patch: Fix build with newer
libdwarf versions: DW_TAG_mutable_type was a mistake in an early
DWARFv3 draft and was removed in the final version.
-------------------------------------------------------------------
Wed Oct 15 14:37:48 UTC 2014 - jengelh@inai.de
- Drop libdwarf dependency; it is not needed for build (libdw
is used instead)
-------------------------------------------------------------------
Wed Jun 6 21:39:25 UTC 2012 - jengelh@inai.de
- Update to new upstream release 1.10
* Initial DWARF4 support
* Add stubs for some new GNU tags
* Fix a crash when pahole is called with -R -S
-------------------------------------------------------------------
Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de
- Remove redundant tags/sections from specfile
(cf. packaging guidelines)
- Use %_smp_mflags for parallel build
- Implement baselibs config
-------------------------------------------------------------------
Thu Aug 11 14:47:15 UTC 2011 - jengelh@medozas.de
- Update to new upstream release 1.9
* Add the "scncopy" tool - like object copy but tries not to change
section content
* pfunct: Introduce the -P option
* dwarves fprintf: Add extra GNU tags
- Update group and description with something more detailed
- Remove redundant %clean section
- Strip duplicate changelog
- Remove redundant manual requires on libraries
- Update URL to acme's new location
-------------------------------------------------------------------
Wed Apr 13 16:37:41 UTC 2011 - mgorman@suse.de
- Remove %debug_package directive which is breaking build
-------------------------------------------------------------------
Mon May 3 14:20:14 UTC 2010 - lchiquitto@novell.com
- update to 1.8 release
-------------------------------------------------------------------
Fri Feb 29 18:33:01 CET 2008 - dmueller@suse.de
- update to 1.6 release
-------------------------------------------------------------------
Sat Dec 1 17:25:25 CET 2007 - dgollub@suse.de
- initial package of dwarves

102
dwarves.keyring Normal file
View File

@ -0,0 +1,102 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBE6gS9IBEAC68meGuRb+KJS7Vl3b7EP7aq/EBcJd6z2hTiY0Y3y0Er9x5lKq
/FJ6beafMb+kftnOH6oj5hlk0u8NEKUslL1y/wLm4Y1FeGDwFZDWUjKfplehN5LK
6eqgZu24z7rHHGnD20m2H6gzbnQOVgKOTlMunjyP3wSOImUCP3eI/qBpYNKAe1p6
qOsjqigT1QK6rVMrDx1kmMy6tpZ/nkKd56UZIOeW2ZD3d+9+d1zEMHDtOJly2CGP
jp3t4wktqCV1f+0UxNSTIBamUkep36DHiFxRWO4RbHvUMvrUx+ZbaAa8+58+pNfC
1piTKzOsD8VvyTTwY+Kk5RUEJBwNP92nDFeKdAx1eNsRJVVspwquQbJzAbPsecE7
v8Ii7UK2RZaS/82CdUbFHtW2rU6spaqn/QuNfX4+Skr+Bqh/R8d1rWtGeSR1Odfo
FjeHvFg6OpZQT0FWPw80jTM0rdCggnhjzKZk3WqD3ELGmalRfR6M87jP4QSfkQgP
a8XknI+3q9pI5z6sYeTvnbPVTCT8JmBzLcAHHeRfP+WSXBuNhocDZG0fYXmeaS3F
NUM0gNLZvbCaFP0gSrtUiiREPqEWrvgA69cnOkzCc0z/BCyhDrbfL1gXudu30jJW
4O6xuaUdqGKL1D3Hrlt9S72jFhHayu0wgrrUij70gfad3Z63DlQNhQcRywARAQAB
tCpBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAa2VybmVsLm9yZz6JAjgE
EwECACIFAlOjRuoCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJENZQFvNT
UqpARpsP/jc2H7xPN5xFm5sVRXjVOA4r1UDUprIO4P/NwAM/1Ae7F3lRo/O7q0mg
GuMssDN1SMXmtocMopBUMKYSwKzmTDv9+YdqPqGIL7VP/JINoH8hfSdoC++NN0Ar
E9cOe9uAemx/gW3Os0u0hlNo7fQZRL0q2WoSrCYnqYaiCDFxTl0miTjgUgvYfG26
77Q1lzvp2Zp1vebUhgnaZd/673bAI3NlVvD8D6FUzDiiXUu2h4zp3JGnUlykLDkv
d6DUZXP0haDQnjgWNMmHFQPGF2qN08nZ6t226J59+wFQ8yaX+MdTOhItHRVs+0It
IAHcPO+wedsNJwy5PQ3vvfOVlKyfinUeMjL80rLpJGsCSxRKdXHxF3aU/Yms4wzc
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
=YQ2c
-----END PGP PUBLIC KEY BLOCK-----

132
dwarves.spec Normal file
View File

@ -0,0 +1,132 @@
#
# spec file for package dwarves
#
# 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/
#
%if (0%{?sle_version} && 0%{?sle_version} >= 150600) || (0%{?suse_version} && 0%{?suse_version} > 1500)
# have libbpf >= 1.0.1 and linux-glibc-devel >= 5.16
%define have_libbpf 1
%endif
%if (0%{?sle_version} && 0%{?sle_version} <= 150300) || (0%{?suse_version} && 0%{?suse_version} < 1500)
%define have_libebl_plugins 1
%endif
Name: dwarves
Version: 1.25
Release: 0
Summary: DWARF utilities
License: GPL-2.0-only
Group: Development/Tools/Debuggers
URL: https://acmel.wordpress.com/
#Git-Clone: git://git.kernel.org/pub/scm/devel/pahole/pahole
#Git-Web: http://git.kernel.org/cgit/devel/pahole/pahole.git
Source: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.xz
Source2: https://fedorapeople.org/~acme/dwarves/dwarves-%version.tar.sign
Source8: dwarves.keyring
Source9: baselibs.conf
BuildRequires: cmake
BuildRequires: libdw-devel >= 0.171
BuildRequires: libelf-devel
BuildRequires: pkgconfig
%if 0%{?have_libbpf}
BuildRequires: linux-glibc-devel >= 5.16
BuildRequires: pkgconfig(libbpf) >= 1.0.0
%endif
BuildRequires: pkgconfig(zlib)
# Also known by its most prominent tool
Provides: pahole = %version-%release
%if 0%{?have_libebl_plugins}
BuildRequires: libebl-devel
%endif
%description
dwarves is a set of tools that use the DWARF debugging information
inserted in ELF binaries by compilers such as GCC, used by well known
debuggers such as GDB, and more recent ones such as systemtap.
Utilities in the dwarves suite include pahole, that can be used to
find alignment holes in structs and classes in languages such as C,
C++, but not limited to these.
It also extracts other information such as CPU cacheline alignment,
helping pack those structures to achieve more cache hits.
A diff like tool, codiff can be used to compare the effects changes
in source code generate on the resulting binaries.
Another tool is pfunct, that can be used to find all sorts of
information about functions, inlines, decisions made by the compiler
about inlining, etc.
%package -n libdwarves1
Summary: DWARF processing libraries of dwarves tools
Group: System/Libraries
%if 0%{?have_libebl_plugins}
Requires: libebl-plugins
%endif
%description -n libdwarves1
This package contains the libdwarves shared library for the dwarves
toolset, providing processing for DWARF, a debugging data format
for ELF files.
dwarves is a set of tools that use the DWARF debugging information
inserted in ELF binaries by compilers such as GCC, used by well known
debuggers such as GDB, and more recent ones such as systemtap.
%package -n libdwarves-devel
Summary: DWARF processing library development files
Group: Development/Libraries/C and C++
Requires: libdwarves1 = %version-%release
%description -n libdwarves-devel
This package contains the development files for libdwarves, a library
for processing DWARF, a debugging data format for ELF files.
%prep
%autosetup -p1
%build
sv="$PWD/lib.v"
ver=$(echo %version | cut -d+ -f1)
echo "DWARVES_$ver{ global: *; };" >"$sv"
%cmake \
%if 0%{?have_libbpf}
-DLIBBPF_EMBEDDED=OFF \
%endif
-DCMAKE_SHARED_LINKER_FLAGS:STRING="-Wl,--version-script=$sv"
%cmake_build
%install
%cmake_install
%post -n libdwarves1 -p /sbin/ldconfig
%postun -n libdwarves1 -p /sbin/ldconfig
%files
%doc README NEWS
%_bindir/*
%_mandir/man*/*
%files -n libdwarves1
%_libdir/*.so.1*
%files -n libdwarves-devel
%_libdir/*.so
%_includedir/*
%_datadir/%name
%changelog