From 18837ef9843fe1915659b7c15d6e13b4a52efb1d6a0772a9214217152cec2192 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Jul 2024 17:49:12 +0000 Subject: [PATCH] [info=dc004630e2b638b1a09e638e633bdf498f2544c4eff9af58429b5c75a263ff78] OBS-URL: https://build.opensuse.org/package/show/devel:tools/dwarves?expand=0&rev=101 --- .gitattributes | 23 +++ .gitignore | 1 + _scmsync.obsinfo | 4 + baselibs.conf | 5 + build.specials.obscpio | 3 + dwarves-1.27.tar.sign | 7 + dwarves-1.27.tar.xz | 3 + dwarves.changes | 390 +++++++++++++++++++++++++++++++++++++++++ dwarves.keyring | 102 +++++++++++ dwarves.spec | 133 ++++++++++++++ 10 files changed, 671 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _scmsync.obsinfo create mode 100644 baselibs.conf create mode 100644 build.specials.obscpio create mode 100644 dwarves-1.27.tar.sign create mode 100644 dwarves-1.27.tar.xz create mode 100644 dwarves.changes create mode 100644 dwarves.keyring create mode 100644 dwarves.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..e1bba0b --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1718285866 +commit: dc004630e2b638b1a09e638e633bdf498f2544c4eff9af58429b5c75a263ff78 +url: https://src.opensuse.org/jengelh/dwarves +revision: master diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..05969c7 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,5 @@ +libdwarves1 +dwarves-devel + obsoletes "libdwarves-devel < -" + provides "libdwarves-devel = -" + requires "libdwarves1- = " diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..a008a9e --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad99583347ea6e496f9724b4bd06bd3b2117c696fd62833d5fa59876a5d4bbf1 +size 256 diff --git a/dwarves-1.27.tar.sign b/dwarves-1.27.tar.sign new file mode 100644 index 0000000..7097a50 --- /dev/null +++ b/dwarves-1.27.tar.sign @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCZmio+QAKCRCyPKLppCJ+ +JyE1AQD5BWhUPOeQEwVh/rBTXsc6uWZ34DBSsv0fV0eOXCVGTwD9FP/16dH1btvC +C1PAX7DVCD2+G5Dama5ilsYG8oLnWA0= +=NexU +-----END PGP SIGNATURE----- diff --git a/dwarves-1.27.tar.xz b/dwarves-1.27.tar.xz new file mode 100644 index 0000000..fb459d6 --- /dev/null +++ b/dwarves-1.27.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81e227af6fe6a3228d64211a80209f7cd86022a6bd48c53302124cef76154505 +size 2254968 diff --git a/dwarves.changes b/dwarves.changes new file mode 100644 index 0000000..15d8769 --- /dev/null +++ b/dwarves.changes @@ -0,0 +1,390 @@ +------------------------------------------------------------------- +Wed Jun 12 09:09:41 UTC 2024 - Jan Engelhardt + +- Update to release 1.27 + * Inject kfunc decl tags into BTF from the BTF IDs ELF section + in the Linux kernel vmlinux file. + * Support parallel reproducible builds, where it doesn't matter + how many threads are used, the end BTF encoding result is the + same. + * Initial support for BTF_KIND_DECL_TAG + * Fix pretty-printing of hole discovery with inheritance in C++. + +------------------------------------------------------------------- +Wed Feb 28 20:35:36 UTC 2024 - Jan Engelhardt + +- Update to release 1.26 + * Show more holes (the ones in contained types) + * Ability to express the BTF features to encode + +------------------------------------------------------------------- +Mon Oct 9 09:05:08 UTC 2023 - Michal Suchanek + +- Fix have_libbpf conditional (jsc#PED-4593 bsc#1216042). + +------------------------------------------------------------------- +Sat Apr 8 21:25:35 UTC 2023 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- use https for url (and more beautification changes from spec-cleaner) + +------------------------------------------------------------------- +Tue Jun 1 10:28:25 UTC 2021 - Michal Suchanek + +- 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 + +- add remove-ftrace-filter.patch + +------------------------------------------------------------------- +Thu Apr 22 10:25:46 UTC 2021 - Jan Engelhardt + +- Codify build requirement on elfutils >= 0.171 + +------------------------------------------------------------------- +Mon Apr 12 16:36:06 UTC 2021 - Jan Engelhardt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- add libbpf-Fix-libbpf-hashmap-on-I-LP32-architectures.patch + +------------------------------------------------------------------- +Tue May 19 11:44:37 UTC 2020 - Ismail Dönmez + +- Don't require libebl-plugins on suse_version >= 1550 + +------------------------------------------------------------------- +Sun Mar 15 18:57:27 UTC 2020 - Jan Engelhardt + +- 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 + +- Update to release 1.16 + * btf_loader: Add support for BTF_KIND_FUNC + +------------------------------------------------------------------- +Thu Jun 27 11:22:47 UTC 2019 - Jan Engelhardt + +- 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 + diff --git a/dwarves.keyring b/dwarves.keyring new file mode 100644 index 0000000..6bfb9af --- /dev/null +++ b/dwarves.keyring @@ -0,0 +1,102 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=YQ2c +-----END PGP PUBLIC KEY BLOCK----- diff --git a/dwarves.spec b/dwarves.spec new file mode 100644 index 0000000..fe21a50 --- /dev/null +++ b/dwarves.spec @@ -0,0 +1,133 @@ +# +# spec file for package dwarves +# +# Copyright (c) 2024 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.27 +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 devel +Summary: DWARF processing library development files +Group: Development/Libraries/C and C++ +Requires: libdwarves1 = %version-%release +Obsoletes: libdwarves-devel < %version-%release +Provides: libdwarves-devel = %version-%release + +%description 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 + +%ldconfig_scriptlets -n libdwarves1 + +%files +%doc README NEWS +%_bindir/* +%_mandir/man*/* + +%files -n libdwarves1 +%_libdir/*.so.1* + +%files devel +%_libdir/*.so +%_includedir/* +%_datadir/%name + +%changelog