From: Matthias Klose Date: Tue, 12 Mar 2024 10:42:59 +0000 (+0100) Subject: elfutils (0.191-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/0.191-2+rpi1~1^2~9 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8661a04c935a6137c07c042c2d57492dcdc83e56;p=elfutils.git elfutils (0.191-1) unstable; urgency=medium * New upstream version. * Add translations (it, sv). Closes: #1050108, #1049367. * Fix cross build failure (Helmut Grohne). Closes: #1057813. [dgit import unpatched elfutils 0.191-1] --- 8661a04c935a6137c07c042c2d57492dcdc83e56 diff --cc debian/changelog index 0000000,0000000..eedb8cd new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,1071 @@@ ++elfutils (0.191-1) unstable; urgency=medium ++ ++ * New upstream version. ++ * Add translations (it, sv). Closes: #1050108, #1049367. ++ * Fix cross build failure (Helmut Grohne). Closes: #1057813. ++ ++ -- Matthias Klose Tue, 12 Mar 2024 11:42:59 +0100 ++ ++elfutils (0.190-1.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Rename libraries for 64-bit time_t transition. ++ ++ -- Michael Hudson-Doyle Thu, 29 Feb 2024 00:13:08 +0000 ++ ++elfutils (0.190-1) unstable; urgency=medium ++ ++ * New upstream version. ++ ++ -- Matthias Klose Thu, 16 Nov 2023 14:54:07 +0100 ++ ++elfutils (0.189-4) unstable; urgency=medium ++ ++ * Remove bashism in maintainer script. Closes: #999414. ++ ++ -- Matthias Klose Tue, 04 Jul 2023 11:37:16 +0200 ++ ++elfutils (0.189-3) unstable; urgency=medium ++ ++ * libelf-dev: Depend on libzstd-dev. Closes: #1040071. ++ ++ -- Matthias Klose Sun, 02 Jul 2023 09:41:46 +0200 ++ ++elfutils (0.189-2) unstable; urgency=medium ++ ++ * Use sh instead of bash in maintainer script. Closes: #999414. ++ * Add Romanian debconf templates translation (Remus-Gabriel Chelu). ++ Closes: #1031867. ++ * Fix syntax in debian/copyright (Bastian Germann). Closes: #1032126. ++ * Bump standards version. ++ ++ -- Matthias Klose Sat, 01 Jul 2023 13:35:22 +0200 ++ ++elfutils (0.189-1) experimental; urgency=medium ++ ++ * New upstream version. ++ * Refresh patches. ++ * Build-depend on libzstd-dev and zstd. ++ ++ -- Matthias Klose Tue, 11 Apr 2023 12:51:29 +0200 ++ ++elfutils (0.188-2.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Add debconf template translation ++ - Dutch translation. ++ Thanks to Frans Spiesschaert (Closes: #994141) ++ - French translation. ++ Thanks Jean-Pierre Giraud (Closes: #994667) ++ - German translation. ++ Thanks Helge Kreutzmann (Closes: #997891) ++ - Portuguese translation. ++ Thanks Américo Monteiro (Closes: #1001920) ++ - Spanish translation. ++ Thanks Camaleón (Closes: #1003517) ++ - Brazilian Portuguese translation. ++ Thanks Paulo Henrique de Lima Santana (Closes: #1025512) ++ ++ -- Helge Kreutzmann Sat, 14 Jan 2023 14:54:50 +0100 ++ ++elfutils (0.188-2) unstable; urgency=medium ++ ++ [ Bastian Germann ] ++ * d/copyright: Convert to machine-readable format, adding missing ++ licenses. (Closes: #1019937) ++ ++ -- Sergio Durigan Junior Wed, 21 Dec 2022 15:13:47 -0500 ++ ++elfutils (0.188-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * d/p/{hurd-hacks.diff,kfreebsd-debuginfod,kfreebsd-mremap-stub}: ++ Refresh patches against new upstream version. ++ * d/{libdebuginfod1,libdw1}.symbols: Add new symbols. ++ * d/rules: Remove debuginfod.service.8 during installation. ++ Currently, we don't install debuginfod.service. ++ * Rename upstream's signing key file. ++ - d/u/signing-key.asc: Rename from d/upstream-signing-key.pgp. ++ - d/s/included-binaries: Remove. ++ ++ -- Sergio Durigan Junior Sun, 13 Nov 2022 20:52:25 -0500 ++ ++elfutils (0.187-4) unstable; urgency=medium ++ ++ * Fix Ubuntu upgrade path for libdebuginfod-common. (LP: #1990638) ++ - d/libdebuginfod-common.postinst: Split Ubuntu-specific code into a ++ separate function. Clean up ucf/ucfr configuration files when ++ upgrading from libdebuginfod-common versions before 0.187-3. Create ++ links for the debuginfod shell snippets directly. ++ - d/libdebuginfod-common.postrm: Handle Debian and Ubuntu purge ++ differently. ++ ++ -- Sergio Durigan Junior Sat, 24 Sep 2022 16:34:05 -0400 ++ ++elfutils (0.187-3) unstable; urgency=medium ++ ++ * Always install debuginfod shell snippets in Ubuntu. ++ - d/libdebuginfod-common.config: Remove snippet to db_input the Ubuntu ++ question. ++ - d/libdebuginfod-common.postinst: Always install debuginfod shell ++ snippets in Ubuntu. ++ - d/libdebuginfod-common.templates: Remove ++ libdebuginfod/useubuntudebuginfod question. ++ ++ -- Sergio Durigan Junior Wed, 21 Sep 2022 19:08:05 -0400 ++ ++elfutils (0.187-2) unstable; urgency=medium ++ ++ * Pass --sysconfdir to configure and install elfutils.urls. ++ - d/rules: Pass --sysconfdir to configure; don't delete elfutils.urls. ++ - d/libdebuginfod-common.install: Adjust paths and install ++ elfutils.urls. ++ * d/rules: Cleanup debuginfod code and support Ubuntu's debuginfod. ++ * d/libdebuginfod-common.templates: New question for Ubuntu's debuginfod. ++ * d/libdebuginfod-common.config: Ask about Ubuntu's debuginfod. ++ * d/libdebuginfod-common.post{inst,rm}: Cleanup code, fix problems ++ and support Ubuntu. ++ Thanks to наб (Closes: #987787) ++ ++ -- Sergio Durigan Junior Fri, 02 Sep 2022 17:11:29 -0400 ++ ++elfutils (0.187-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Matthias Klose Wed, 04 May 2022 01:08:42 +0200 ++ ++elfutils (0.186-1build1) jammy; urgency=medium ++ ++ * No-change rebuild for ppc64el baseline bump. ++ ++ -- Łukasz 'sil2100' Zemczak Wed, 23 Mar 2022 14:51:35 +0100 ++ ++elfutils (0.186-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Don't yet install elfutils.urls. ++ * Update symbols file. ++ ++ -- Matthias Klose Wed, 17 Nov 2021 21:49:08 +0100 ++ ++elfutils (0.185-2) unstable; urgency=medium ++ ++ * Upload to unstable. ++ ++ -- Matthias Klose Sun, 15 Aug 2021 18:27:02 +0200 ++ ++elfutils (0.185-1) experimental; urgency=medium ++ ++ * New upstream release. ++ * Refresh patches. ++ ++ -- Matthias Klose Tue, 25 May 2021 20:31:36 +0200 ++ ++elfutils (0.184-1) experimental; urgency=medium ++ ++ * New upstream release. ++ ++ -- Matthias Klose Mon, 17 May 2021 12:10:27 +0200 ++ ++elfutils (0.183-8) experimental; urgency=medium ++ ++ * libdebuginfod1: Relax dependency on libdebuginfod-common. Closes: #986375. ++ * libdebuginfod-common: Update package description. Closes: #987036. ++ * Always install the shell snippets into /etc/profile.d/. ++ ++ -- Matthias Klose Sat, 17 Apr 2021 09:58:41 +0200 ++ ++elfutils (0.183-7) experimental; urgency=medium ++ ++ [ Sergio Durigan Junior ] ++ * d/rules: Populate binary-indep with proper build instructions. ++ * d/control: Remove ${shlibs:Depends} from libdebuginfod-common. ++ ++ [ Matthias Klose ] ++ * d/rules: Move dh_install to the install target. ++ * d/rules: Add -a/-i options to the dh_ commands. ++ ++ -- Matthias Klose Thu, 15 Apr 2021 17:49:43 +0200 ++ ++elfutils (0.183-6) experimental; urgency=medium ++ ++ * d/libdebuginfod-common.install: Remove file. ++ * d/rules: ++ Implement logic to decide whether to install the debuginfod shell ++ snippets under /etc/profile.d/ based on the existence of a debuginfod ++ service available for the current distribution. This is needed mostly ++ for Ubuntu and other derivatives which don't have debuginfod services ++ available yet. ++ ++ -- Sergio Durigan Junior Fri, 26 Mar 2021 01:14:28 -0400 ++ ++elfutils (0.183-5) experimental; urgency=medium ++ ++ * d/libdebuginfod-common.install: ++ Install the debuginfod profile.d snippets under ++ /usr/share/libdebuginfod-common/ instead of directly under ++ /etc/profile.d/. ++ * d/libdebuginfod-common.config: ++ Check for the "debuginfod.sh" snippet under ++ /usr/share/libdebuginfod-common/. ++ * d/libdebuginfod-common.postinst: ++ Perform modifications in the debuginfod shell snippets that now live ++ under /usr/share/libdebuginfod-common/, before moving them (using ucf) ++ to /etc/profile.d/. (Closes: #985044) ++ * d/libdebuginfod-common.postrm: ++ New postrm file which takes care of purging the debuginfod shell ++ snippets under /etc/profile.d/. ++ * d/control: Make libdebuginfod-common depend on ucf. ++ ++ -- Sergio Durigan Junior Fri, 19 Mar 2021 15:58:25 -0400 ++ ++elfutils (0.183-4) experimental; urgency=medium ++ ++ * Apply KFreeBSD patches (Christoph Berg), not forwarded. ++ * Fix build on the Hurd. ++ ++ -- Matthias Klose Tue, 09 Mar 2021 20:10:42 +0100 ++ ++elfutils (0.183-2) unstable; urgency=medium ++ ++ * d/control: ++ - B-D on lsb-release. ++ - B-D on po-debconf. ++ - Create new libdebuginfod-common package. ++ - Add myself to Uploaders. ++ * d/rules: ++ - Use https://debuginfod.debian.net as our default service. ++ Also, revamp the code responsible for determining libdebuginfod ++ configuration flags. ++ - Invoke dh_installdebconf. ++ * d/libdebuginfod-common.templates: Create a debconf template. ++ Also, create d/po/POTFILES.in and d/po/templates.pot. ++ This template is for the question of whether the user accepts GDB or ++ another debuginfo consumer program to connect to Debian's debuginfod ++ server. ++ * d/libdebuginfod-common.config: Ask if the user accepts to use Debian's ++ debuginfod. ++ * d/libdebuginfod-common.postinst: Act upon the user's answer to the ++ debconf question. ++ If the user has accepted to use Debian's debuginfod, then the script ++ confirms the value of the DEBUGINFOD_URLS environment variable present ++ in the shell excerpts under /etc/profile.d. Otherwise, the script ++ will set the variable to an empty value, disabling the remote ++ connection to the debuginfod server. (Closes: #983434) ++ * d/libdebuginfod-common.install: Install the profile.d snippets. ++ ++ -- Sergio Durigan Junior Sun, 28 Feb 2021 21:07:16 -0500 ++ ++elfutils (0.183-1) unstable; urgency=medium ++ ++ * New upstream release. Changes compared to the snapshot: ++ - backends/ppc_initreg.c: include . ++ - NEWS and version, and copyright updates. ++ ++ -- Matthias Klose Mon, 08 Feb 2021 09:56:24 +0100 ++ ++elfutils (0.182+20210205-1) unstable; urgency=high ++ ++ * Snapshot, taken three days before the 0.183 release. Create a source ++ tarball using make dist. ++ * Make the build reproducible (Helmut Grohne). Closes: #981835, #981924. ++ ++ -- Matthias Klose Fri, 05 Feb 2021 19:07:32 +0100 ++ ++elfutils (0.182+20210203-1) unstable; urgency=medium ++ ++ * Snapshot, taken five days before the 0.183 release. ++ * Update libdebuginfod1 symbols file. ++ ++ -- Matthias Klose Wed, 03 Feb 2021 14:59:12 +0100 ++ ++elfutils (0.182-3) unstable; urgency=medium ++ ++ * Build with -flto-partition=none when building with -flto. ++ * Stop building with -fpermissive. ++ * tests/dwfl-proc-attach.c: Remove old glibc hack. ++ ++ -- Matthias Klose Wed, 06 Jan 2021 14:05:13 +0100 ++ ++elfutils (0.182-2) unstable; urgency=medium ++ ++ * Fix FTCBFS: perform bootstrap build with dummy libdebuginfod and without ++ debuginfod (Helmut Grohne). Closes: #973981. ++ * Fix build profile pkg.elfutils.nodebuginfod. Closes: #976875. ++ * Don't use MAKEFLAGS in the packaging. Closes: #965955. ++ * Fix unwinding support for 32bit S390, taken from the trunk. ++ Thanks to Andreas Krebbel and Frank Heimes. LP: #1908756. ++ * Call dh_dwz. ++ * Bump standards version. ++ ++ -- Matthias Klose Thu, 31 Dec 2020 12:52:31 +0100 ++ ++elfutils (0.182-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * Fix typo in debian/copyright. Closes: #914414. ++ * Add pkg.elfutils.nodebuginfod build profile (Helmut Grohne). ++ Closes: #966705. ++ ++ -- Matthias Klose Sat, 07 Nov 2020 10:22:37 +0100 ++ ++elfutils (0.181-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- Matthias Klose Tue, 15 Sep 2020 22:31:59 +0200 ++ ++elfutils (0.180-1) unstable; urgency=medium ++ ++ * Transfer to team maintenance, add Kurt Roeckx and myself as uploaders. ++ * Add VCS attributes to the control file. ++ * New upstream release. ++ * Build-depend on pkg-config, libarchive-dev, libmicrohttpd-dev, ++ libcurl4-gnutls-dev, libsqlite3-dev. ++ * Build with -fpermissive. ++ * Don't package debuginfod yet. ++ * New binary packages debuginfod, libdebuginfod1, libdebuginfod-dev. ++ * Use dh_autoreconf. ++ ++ -- Matthias Klose Thu, 16 Jul 2020 19:34:22 +0200 ++ ++elfutils (0.176-1.1) unstable; urgency=medium ++ ++ * Non-maintainer upload with maintainer permission ++ * Fixes FTBFS on riscv64 (Closes: #928832) ++ ++ -- Karsten Merker Tue, 28 May 2019 20:53:12 +0200 ++ ++elfutils (0.176-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Fixes CVE-2019-7150 (Closes: #920909) ++ - Fixes CVE-2019-7149 (Closes: #920910) ++ - Fixes CVE-2019-7146 (Closes: #920911) ++ - Fixes CVE-2019-7665 (Closes: #921880) ++ - Fixes CVE-2019-7664 (Closes: #921881) ++ - Fixes CVE-2019-7148 ++ - Drop 0001-tests-Call-test_cleanup-in-backtrace-subr.sh-check_u.patch, ++ applied upstream. ++ * Update upstream PGP key to new one ++ ++ -- Kurt Roeckx Sat, 16 Feb 2019 14:54:50 +0100 ++ ++elfutils (0.175-2) unstable; urgency=medium ++ ++ * Add support for the mips ABI CFI callback ++ * Properly clean up in test suite on skipped tests ++ ++ -- Kurt Roeckx Sun, 30 Dec 2018 15:02:01 +0100 ++ ++elfutils (0.175-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Build with gcc-8 (Closes: #911276) ++ - Drop fix-gcc7-ftbfs.diff ++ - Drop GNU_variable_value.patch ++ - Drop locviews.patch ++ - Update patches ++ * Fixes CVE-2018-18521 (Closes: #911413) ++ * Fixes CVE-2018-18520 (Closes: #911414) ++ * Fixes CVE-2018-18310 (Closes: #911083) ++ * Fixes CVE-2018-16403 ++ * Fixes CVE-2018-16402 ++ * Fixes CVE-2018-16062 (Closes: #907562) ++ ++ -- Kurt Roeckx Sun, 18 Nov 2018 23:01:23 +0100 ++ ++elfutils (0.170-0.5) unstable; urgency=medium ++ ++ * Non-maintainer upload acked by Kurt Roeckx. ++ * Fix FTCBFS: Add zlib1g-dev:native to Build-Depends. (Closes: #901748) ++ ++ -- Helmut Grohne Sun, 24 Jun 2018 20:54:50 +0200 ++ ++elfutils (0.170-0.4) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Backport patches for DWARF locview support (Mark Wielaard). ++ ++ -- Matthias Klose Mon, 09 Apr 2018 14:21:19 +0200 ++ ++elfutils (0.170-0.3) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Add disable_werror.patch. (Closes: #886004) ++ ++ -- Helmut Grohne Sun, 28 Jan 2018 14:52:20 +0100 ++ ++elfutils (0.170-0.2) unstable; urgency=medium ++ ++ * Non-maintainer upload, acked by maintainer. ++ * libelf-dev,libdw-dev: Add missing dependencies for packages that ++ our pkg-config files requires (zlib1g-dev, liblzma-dev). ++ (Closes: #885071) ++ ++ -- Andreas Henriksson Sat, 30 Dec 2017 18:14:17 +0100 ++ ++elfutils (0.170-0.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * New upstream release ++ * Fix fallthrough warnings exposed by GCC 7. Closes: #853387. ++ * Bump standards version. ++ * Configure with --disable-silent-rules. ++ * Update libdw1 symbols file. ++ ++ -- Matthias Klose Tue, 12 Sep 2017 00:07:19 +0200 ++ ++elfutils (0.168-1) unstable; urgency=medium ++ ++ * Fix CVE-2017-7607 (Closes: #859996) ++ * Fix CVE-2017-7608 (Closes: #859995) ++ * Fix CVE-2017-7609 (Closes: #859994) ++ * Fix CVE-2017-7610 (Closes: #859993) ++ * Fix CVE-2017-7611 (Closes: #859992) ++ * Fix CVE-2017-7612 (Closes: #859991) ++ * Fix CVE-2017-7613 (Closes: #859990) ++ ++ -- Kurt Roeckx Sat, 27 May 2017 15:05:37 +0200 ++ ++elfutils (0.168-0.2) unstable; urgency=medium ++ ++ * debian/copyright: Update to the current licensing, as introduced ++ with elfutils 0.154. ++ * Drop the m68k_backend.diff patch. ++ ++ -- Matthias Klose Thu, 29 Dec 2016 14:23:54 +0100 ++ ++elfutils (0.168-0.1) experimental; urgency=medium ++ ++ * Non-maintainer upload. ++ * New upstream release ++ - m68k_backend.diff: Don't apply. ++ - testsuite-amd64-fix-backtrace-native.patch: Remove, applied upstream. ++ - Refresh patches. ++ - Build failure on non Linux targets fixed. Closes: #816394. ++ * Update libdw1 symbols file. ++ * Improve DEB_BUILD_OPTIONS=nocheck handling (Helmut Grohne). See #832456. ++ - Don't treat DEB_BUILD_OPTIONS=casinocheck as nocheck. ++ - Don't default to nocheck for cross building. ++ - Annotate Build-Depends: gcc-multilib with profile. ++ * Update reference to new sourceware.org home. ++ ++ -- Matthias Klose Thu, 29 Dec 2016 06:09:04 +0100 ++ ++elfutils (0.166-2.2) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * testsuite-amd64-fix-backtrace-native.patch: Backport upstream ++ patch to fix FTBFS on amd64 (Closes: #841124) ++ ++ -- James Clarke Tue, 18 Oct 2016 08:13:34 +0100 ++ ++elfutils (0.166-2.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Build-Depend on gcc-multilib and libc6-dbg on sparc64 (Closes: #832584) ++ ++ -- James Clarke Fri, 07 Oct 2016 15:16:09 +0100 ++ ++elfutils (0.166-2) unstable; urgency=medium ++ ++ * Actually add ignore_strmerge.diff to the patch series. ++ ++ -- Kurt Roeckx Sat, 23 Jul 2016 18:46:20 +0200 ++ ++elfutils (0.166-1) unstable; urgency=medium ++ ++ * New upstream release ++ * Ignore run-native-test on Hurd, the maps file doesn't have ++ paths in it. Patch from Samuel Thibault ++ (Closes: #682101) ++ * Make cross compilation actually work. Patch from Helmut Grohne ++ (Closes: #818099) ++ * Add libebl.a to libdw-dev (Closes: #825747, #647918) ++ * Ignore strmerge test failured, needed on at least mips. Patch ++ from Jurica Stanojkovic ++ (Closes: #818485) ++ * Change versioned build-depends on debhelper from 8.1.3 to 9 to ++ make lintian happy. ++ * Update Standards-Version to 3.9.8, no changes required. ++ ++ -- Kurt Roeckx Sat, 23 Jul 2016 17:25:04 +0200 ++ ++elfutils (0.165-3) unstable; urgency=medium ++ ++ * Add patches from Mark Wielaard to fix non-Linux issues. ++ ++ -- Kurt Roeckx Sat, 16 Jan 2016 17:53:34 +0100 ++ ++elfutils (0.165-2) unstable; urgency=medium ++ ++ * Make the new libelf.h work with older elf.h from glibc (Closes: #810885) ++ ++ -- Kurt Roeckx Wed, 13 Jan 2016 17:50:08 +0100 ++ ++elfutils (0.165-1) unstable; urgency=medium ++ ++ * New upstream release ++ * Install libelf.pc and libdw.pc file. ++ * Update libelf1.symbols and libdw1.symbols with 0.165 version ++ ++ -- Kurt Roeckx Mon, 11 Jan 2016 21:28:32 +0100 ++ ++elfutils (0.164-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Fixes sparc64 issues (Closes: #805630) ++ - Drop patches applied upstream: 0001-Reduce-scope-of-some-includes.patch, ++ 0002-tests-Mark-an-unused-argument-as-such.patch, ++ 0003-tests-dwfl-bug-fd-leak-Guard-against-null-module-add.patch, ++ 0004-tests-skip-run-deleted.sh-when-dwfl_linux_proc_attac.patch, ++ pr18792.diff ++ - Remove redhat-portability.diff and scanf-format.patch ++ - Update backend to use to stop using the old-style function ++ definition: hppa_backend.diff, m68k_backend.diff, mips_backend.diff ++ ++ -- Kurt Roeckx Sat, 26 Dec 2015 20:55:48 +0100 ++ ++elfutils (0.163-5.1) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Fix finding the detached debug info when no build-id's are used. ++ Closes: #795386. ++ ++ -- Matthias Klose Fri, 14 Aug 2015 12:25:05 +0200 ++ ++elfutils (0.163-5) unstable; urgency=medium ++ ++ * Fix typo in 0003-Add-mips-n64-relocation-format-hack.patch that ++ causing crash (Closes: #794488) ++ ++ -- Kurt Roeckx Sat, 08 Aug 2015 15:12:31 +0200 ++ ++elfutils (0.163-4) unstable; urgency=medium ++ ++ * More fixes for kfreebsd and hurd ++ ++ -- Kurt Roeckx Tue, 21 Jul 2015 11:39:55 +0000 ++ ++elfutils (0.163-3) unstable; urgency=medium ++ ++ * Fix build failures on kfreebsd and hurd ++ ++ -- Kurt Roeckx Tue, 21 Jul 2015 13:01:57 +0200 ++ ++elfutils (0.163-2) unstable; urgency=medium ++ ++ * Drop non_linux.patch, it has been applied upstream ++ ++ -- Kurt Roeckx Mon, 20 Jul 2015 15:49:09 +0200 ++ ++elfutils (0.163-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Drop arm_unsupported.patch, arm64.patch, CVE-2014-9447.patch, ++ arm_syscall.patch, arm_func_value.patch, arm_unwind_ret_mask.patch, ++ unaligned.patch, aarch64-run-native-test-fix.patch: applied upstream ++ - Added ppc64el support (Closes: #754798) ++ - Fixed too much string replacement (Closes: #775117) ++ * Add flex and bison to build-depends ++ * Change hppa, m68k and mips backend to not use the removed DW_TAG_mutable_type. ++ * Ignore errors on kfreebsd in the native test suite (Closes: #649038) ++ * Add mips64el support (Closes: #774639) ++ * install known-dwarf.h in libdw-dev ++ * Update libdw1.symbols file ++ ++ -- Kurt Roeckx Mon, 20 Jul 2015 14:30:21 +0200 ++ ++elfutils (0.159-4.2) unstable; urgency=medium ++ ++ * Non-maintainer upload. ++ * Apply an upstream patch to fix the build failure on arm64 (closes: #776523). ++ ++ -- Michael Gilbert Fri, 13 Feb 2015 22:30:44 +0000 ++ ++elfutils (0.159-4.1) unstable; urgency=high ++ ++ * Non-maintainer upload by the Security Team. ++ * Fix CVE-2014-9447: path traversal issue in ar (closes: #775536). ++ ++ -- Michael Gilbert Mon, 26 Jan 2015 01:49:30 +0000 ++ ++elfutils (0.159-4) unstable; urgency=medium ++ ++ [ Wookey ] ++ * Fix failing run-native-test on arm64 (from Mark Wielaard) ++ (Closes: #753552) ++ ++ -- Kurt Roeckx Sun, 06 Jul 2014 15:21:48 +0200 ++ ++elfutils (0.159-3) unstable; urgency=medium ++ ++ * Make it build again on the non linux ports. ++ * Handle unaligned data when reading core files. ++ ++ -- Kurt Roeckx Tue, 24 Jun 2014 22:14:25 +0200 ++ ++elfutils (0.159-2) unstable; urgency=medium ++ ++ * Add patches from Mark Wielaard to make ++ things work on armhf. ++ * Build-Depends on libc6-dbg on arm* to make the backtrace ++ tests work instead of skip. ++ ++ -- Kurt Roeckx Sun, 15 Jun 2014 16:15:55 +0200 ++ ++elfutils (0.159-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Removed patches applied upstream: elfutils-robustify.patch, ++ core_filename.patch, CVE-2014-0172.patch, unwind_non_linux.patch ++ - Add libdwelf.h to libdw-dev ++ - New functions in libdw: udpate symbols file ++ * Also output tests/test-suite.log on failure ++ * Also Build-Depend on libc6-dbg on powerpcspe, ppc64 and ppc64el ++ ++ -- Kurt Roeckx Mon, 26 May 2014 22:03:29 +0200 ++ ++elfutils (0.158-2) unstable; urgency=medium ++ ++ * There is no support for unwinding on non-Linux ports, make it ++ build on them and make the test suite skip the tests. ++ * Build-Depend on libc6-dbg on powerpc so that we have unwind ++ information. This is a work around for things not being ++ build using -fasynchronous-unwind-tables ++ * Output tests/test-suite.log ++ * Add support for parallel building ++ ++ -- Kurt Roeckx Thu, 01 May 2014 19:04:06 +0200 ++ ++elfutils (0.158-1) unstable; urgency=medium ++ ++ * New upstream release ++ - Drop patch applied upstream ++ - Add supports for arm64 (Closes: #745368) ++ - Update libdw1.symbols. ++ * Apply core_filename.patch from Matthias Klose ++ * Fix CVE-2014-0172 (Closes: #744017) ++ * Add upstream signing key. ++ * Remove config/ar-lib file during clean ++ ++ -- Kurt Roeckx Mon, 21 Apr 2014 12:59:25 +0200 ++ ++elfutils (0.157-3) unstable; urgency=low ++ ++ * Build-Depend on gcc-multilib on [any-amd64] instead of [amd64] ++ ++ -- Kurt Roeckx Sun, 17 Nov 2013 22:54:31 +0100 ++ ++elfutils (0.157-2) unstable; urgency=low ++ ++ * Application in the readelf binary package, libdw1 itself use internal ++ APIs from libelf and so need a strict dependency on the same libelf1 ++ binary package. libasm1 also needs a strict dependency on libdw1 since ++ it uses libebl.a and so uses the MODVERSION to open the backends. The ++ dependency from libasm1 to libdw1 was missing. ++ Disabling the thread safety resulted in struct Elf's size changing ++ causing things like eu-readelf to break when an older libelf1 was ++ installed. ++ * Apply patch from upstream to fix the IA64 regression failure ++ with a powerpc binary ++ ++ -- Kurt Roeckx Sun, 03 Nov 2013 15:20:06 +0100 ++ ++elfutils (0.157-1) unstable; urgency=low ++ ++ * New upstream release ++ - Update portability and robustify patch ++ - Make arm_backend.diff apply to the new upstream version ++ - Adjust symbol files for new symbols ++ * Adjust addrcfi test results for arm to work with our arm patch. ++ ++ -- Kurt Roeckx Tue, 01 Oct 2013 18:21:23 +0200 ++ ++elfutils (0.156-1) unstable; urgency=low ++ ++ * New upstream release ++ - Update portability and robustify patch ++ - Make hppa_backend.diff, arm_backend.diff, mips_backend.diff, ++ m68k_backend.diff, testsuite-ignore-elflint apply to the new ++ upstream version ++ - Drop patches elf_end_unlock.patch, alldts.patch, strip_sh_type.patch: ++ applied upstream ++ - Works with binutils-gold (Closes: #647359) ++ - Works with gcc 4.8 (Closes: #701271) ++ * drop elf_additions.diff, it's not used. ++ * Remove config.h.in and test-driver during clean (Closes: #695927) ++ * Add build dependency on gcc-multilib [amd64] to have a working gcc -m32 ++ for the test suite. ++ * arm backend: change r12 back to signed, no idea why it was made unsigned. ++ * arm backend: rename the "special" set to "state". ++ * Our arm backend patch adds more registers, update the arm_backend.diff to ++ expectd those changes in the test suite ++ * disable thread safety, it's not tested upstream. ++ * Update libdw1.symbols ++ ++ -- Kurt Roeckx Sun, 28 Jul 2013 14:32:23 +0200 ++ ++elfutils (0.153-2) unstable; urgency=low ++ ++ * Make it actually build properly using build-arch. (Closes: #684528) ++ * Call rwlock_unlock() before rwlock_fini(). The lock was still held ++ causing problems on kfreebsd. (Closes: #662041) ++ * Don't exclude sh_type >= SHT_NUM from stripping, it's set to ++ SHT_MIPS_DWARF on mips. (Closes: #662041) ++ * readelf -w didn't show the content of debug sections on mips ++ because sh_type was set to SHT_MIPS_DWARF. ++ ++ -- Kurt Roeckx Tue, 18 Sep 2012 21:12:08 +0200 ++ ++elfutils (0.153-1) unstable; urgency=low ++ ++ [ Jonathan Nieder ] ++ * Run autotools at build time. ++ - debian/control: Build-Depends: autoconf, automake. ++ - debian/rules: ++ - config.status: ++ - depend on configure.ac, not configure. ++ - autoreconf -fis. ++ - clean: remove autotools-generated files to avoid .diff.gz ++ changes when built twice in a row. ++ - debian/patches: remove do-autoreconf.diff. ++ ++ [ Marcin Juszkiewicz ] ++ * Convert to multiarch. (Closes: #657139) ++ * Added build-{arch,indep} targets. ++ * Switched to use 'dh_prep' instead of 'dh_clean -k' ++ ++ [ Kurt Roeckx ] ++ * New upstream release ++ - Portability patch has workaround for broken bswap_32 macro. ++ This should also have been fixed in glibc code. (Closes: #595496) ++ - Fix bashism in configure script (Closes: #647350) ++ * Remove Christian Aichinger from uploaders (Closes: #661119) ++ * Make the m68k port functional, thanks to a patch from ++ Thorsten Glaser (Patch in #595496, #384794) ++ * Fix test suite to set up test environment (alldts.patch). ++ * Use dpkg-buildflags. Build-Depend on dpkg-dev (>= 1.16.1~) for ++ buildflags.mk. ++ * Call configure with --enable-maintainer-mode so all files get regenerated ++ Also add Build-Depends on gawk for this to work. ++ * Revert %m[ to %a[ change in addr2line and line2addr from the portability ++ patch. ++ * Clean up more files (Makefile.in, libdw/known-dwarf.h) ++ * Set libdir to the multiarch dir, so that the rpath gets set up correctly ++ and that we don't have to move the files in the rules file. ++ ++ -- Kurt Roeckx Fri, 24 Feb 2012 20:23:08 +0100 ++ ++elfutils (0.152-1) unstable; urgency=low ++ ++ * New upstream release ++ - Update portability and robustify patch. ++ - Update symbol file for libdw1, 2 new functions. ++ * Remove obsolete files from the debian dir. ++ * Update watch file to work with newer versions. ++ ++ -- Kurt Roeckx Wed, 08 Sep 2010 19:54:20 +0200 ++ ++elfutils (0.148-1) unstable; urgency=low ++ ++ * New upstream release ++ - Drop debug_filename.patch, applied upstream. ++ - New symbols in libdw1, update symbols file. ++ ++ -- Kurt Roeckx Sat, 03 Jul 2010 15:01:59 +0200 ++ ++elfutils (0.147-2) unstable; urgency=low ++ ++ * Open the proper file with debug info in case they have the same ++ name. (Closes: #555549) ++ ++ -- Kurt Roeckx Thu, 17 Jun 2010 18:38:27 +0200 ++ ++elfutils (0.147-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Kurt Roeckx Mon, 24 May 2010 10:49:05 +0200 ++ ++elfutils (0.146-1) unstable; urgency=low ++ ++ * New upstream release ++ - adds better support for the sh arch ++ - Add build-depedency on liblzma-dev ++ - Add build-depedency on gettext ++ - Add tanslations to libelf1. All packges making use of those ++ files depend on it. ++ - New symbols dwfl_core_file_report in libdw1, update symbol file. ++ * Call configure with --enable-thread-safety ++ ++ -- Kurt Roeckx Sat, 24 Apr 2010 11:55:24 +0200 ++ ++elfutils (0.145-1) unstable; urgency=low ++ ++ * New upstream release ++ * Make elfutils depend libdw1 (= ${binary:Version}). The static libebl.a ++ that it used by the applications in changes MODVERSION on rebuild. It's ++ the only thing making use of libebl.a ++ ++ -- Kurt Roeckx Wed, 24 Feb 2010 19:36:07 +0100 ++ ++elfutils (0.144-1) unstable; urgency=low ++ ++ * New upstream version ++ - Fixes segfault in systemtap (Closes: #556133) ++ - Remove elflint-comment.diff and nobits.diff, applied upstream. ++ - dwarf_aggregate_size got added in libdw1, ++ elf_getphdrnum got added to libelf: update symbol file. ++ * Switch to dpkg-source 3.0 (quilt) format ++ * hppa: Use dwarf_aggregate_size(). ++ * Add ${misc:Depends} to all packages ++ * Change Standards-Version to 3.8.4, no changes required. ++ ++ -- Kurt Roeckx Mon, 15 Feb 2010 23:27:18 +0100 ++ ++elfutils (0.143-2) unstable; urgency=low ++ ++ * Prevent segfault from debug only files. (Closes: #556133) ++ ++ -- Kurt Roeckx Mon, 16 Nov 2009 18:22:43 +0100 ++ ++elfutils (0.143-1) unstable; urgency=low ++ ++ * New upstream release. ++ - Upstream added new symbols in libdw1, adjust symbol file. ++ * Remove the fix-bswap-warnings.diff and pointer_cast.diff ++ patch, they weren't used anyway. ++ * Remove posix_fadvise.diff and namelen.diff, applied upstream. ++ * Add elflint-comment.diff, from upstream git. Fixes a regression ++ suite error with newer binutils. ++ ++ -- Kurt Roeckx Mon, 21 Sep 2009 21:06:21 +0000 ++ ++elfutils (0.142-1) unstable; urgency=low ++ ++ * New upstream version ++ * Provide a static version of libdw. Do not use it unless you ++ know what you're doing. (Closes: #538375) ++ * Replace elf_getshstrndx by elf_getshdrstrndx in the mips backend. ++ elf_getshstrndx has been deprecated. ++ * Upstream added new symbols, adjust symbol files. ++ ++ -- Kurt Roeckx Fri, 14 Aug 2009 13:56:30 +0200 ++ ++elfutils (0.141-2) unstable; urgency=low ++ ++ * Make libdw-dev Depend on libdw1 (Closes: #526824) ++ ++ -- Kurt Roeckx Sun, 03 May 2009 22:07:59 +0200 ++ ++elfutils (0.141-1) unstable; urgency=low ++ ++ * New upstream release ++ - Update redhat-robustify.diff and redhat-portability.diff ++ - Remove redhat-strip-copy-symtab.diff, does not seem to be used anymore. ++ Also remove things in the rules file that deal with it, and ++ drop sharutils from build-depends. ++ - Remove elflint_initialization.diff, unaligned.diff, pointer_cast.diff, ++ gnu_inline.diff, readelf_subelf.diff, gcc-4.3_support: applied or ++ fixed some other way upstream ++ * Update watch file to new location. ++ * Make libasm-dev conflict with libasm0-dev (Closes: #509042) ++ * Create a shared version of libdw, and move libebl's file ++ in the libdw1 package. Drop the static versions of libdw and libebl. ++ There is no libebl-dev anymore. (Closes: #457543) ++ * Add elfutils/version.h to libelf-dev ++ * Run test suite with LC_CTYPE=C, to have the same sort ordering. ++ * Add Build-Dependency on zlib1g-dev, libbz2-dev and m4. ++ * Start using dpkg-gensymbols: ++ - libasm1: Upstream added disasm_begin, disasm_cb, disasm_end ++ and disasm_str to ELFUTILS_1.0 in 0.132, the others are there ++ since 0.120. ++ - libelf1: ELFUTILS_1.2 was added in 0.122, ELFUTILS_1.3 in ++ 0.130 and ELFUTILS_1.4 in 0.132. gelf_rawchunk ++ and gelf_freechunk got removed in 0.131. ++ - libdw1: Versions are when get got introduced. dwarf_getelf ++ was removed from ELFUTILS_0.122 and changed to ELFUTILS_0.126 ++ in 0.126 ++ * libasm1 and libelf1 added new functions, bump shlibs ++ * Update Standards-Version to 3.8.1 ++ - Change ${Source-Version} to ${binary:Version} ++ - Add support for DEB_BUILD_OPTIONS nocheck ++ - Add upstream Homepage ++ * Don't use -$(MAKE) distclean ++ * Remove debian/dirs file. ++ ++ -- Kurt Roeckx Sat, 02 May 2009 16:30:39 +0200 ++ ++elfutils (0.131-4) unstable; urgency=low ++ ++ * Move static functions the only file that uses it. Avoids warning ++ using gcc-4.3. Thanks to Maximiliano Curia for the patch. ++ (Closes: #467103) ++ ++ -- Kurt Roeckx Sat, 05 Apr 2008 13:40:13 +0000 ++ ++elfutils (0.131-3) unstable; urgency=low ++ ++ * Add m68k backend. ++ * Fix copyright file to point to /usr/share/common-licenses/GPL-2 ++ ++ -- Kurt Roeckx Wed, 26 Dec 2007 19:53:09 +0100 ++ ++elfutils (0.131-2) unstable; urgency=low ++ ++ * Bump shlibs for libelf1 since it added new functions. ++ ++ -- Kurt Roeckx Mon, 17 Dec 2007 18:33:45 +0100 ++ ++elfutils (0.131-1) unstable; urgency=low ++ ++ * New usptream version. (Closes: #455878) ++ - ebl_core_note() changed function arguments. ++ - libelf: Add functions: gelf_getauxv(), gelf_update_auxv(), ++ gelf_getnote(), elf_getdata_rawchunk(). ++ removed gelf_rawchunk(), gelf_freechunk() ++ - Changed some types from off_t to off64_t. The library ++ was always build with LFS, so it's just a correction of the types. ++ * merge patches ++ * arm, hppa and mips backend: Use dwarf_attr_integrate() instead of ++ dwarf_attr(), and dwarf_hasattr_integrate() instead of dwarf_hasattr(). ++ * Add patch from Aurelien Jarno to support ++ GNU/kFreeBSD (Closes: #452428) ++ ++ -- Kurt Roeckx Sat, 15 Dec 2007 20:31:14 +0100 ++ ++elfutils (0.128-1) unstable; urgency=low ++ ++ * New upstream release: ++ Remove patch alpha_backend_regs.diff, upstream implemented ++ it themself (with the aliases for the register names). ++ * Make libasm-dev conflict with libelfsh0-dev again, the 0.123-3 change ++ got lost. (Closes: #404054) ++ * First cast main to an intptr_t before casting it to a 64 bit int. ++ Directly casting from a pointer to 64 bit int gives a warning ++ on 32 bit systems (with gcc-4.2). (Closes: #431455) ++ * Also check for /proc/$$. ++ ++ -- Kurt Roeckx Sun, 08 Jul 2007 19:28:46 +0000 ++ ++elfutils (0.127-4) unstable; urgency=low ++ ++ * Use the gnu_inline attribute for inline functions so it build with ++ gcc-4.2. (Closes: #424548) ++ * Add check for maps and auxv file in the proc dir to try and debug ++ the sparc build failure. ++ ++ -- Kurt Roeckx Fri, 18 May 2007 13:41:35 +0200 ++ ++elfutils (0.127-3) unstable; urgency=low ++ ++ * Update unaligned patch to also work when we're using -O2. ++ ++ -- Kurt Roeckx Sun, 13 May 2007 22:48:57 +0200 ++ ++elfutils (0.127-2) unstable; urgency=low ++ ++ * Remove duplicate initialization of DT_PLTRELSZ in elflint. ++ (Closes: #393812) ++ * Only using posix_fadvise() when we have POSIX_FADV_SEQUENTIAL since ++ some arches like kFreeBSD don't support it. (Closes: #404091) ++ * Fix unaligned accesses on IA64. Added patch unaligned.diff. ++ ++ -- Kurt Roeckx Sun, 13 May 2007 18:12:01 +0200 ++ ++elfutils (0.127-1) unstable; urgency=low ++ ++ * New upstream release: ++ Remove patches applied upstream: fix-testsuite.diff, maintainer_mode.diff, ++ fix-distclean-to-really-distclean.diff, sparc_retval-backend.diff, ++ elflint-alpha.diff, fix-readelf.diff, fix-alignment-sparc.diff, ++ native-pid.diff, unalligned-endian.diff ++ * register_name() got replaced by register_info(). Update backends ++ to add dwarf type and number of bits info for those backends: ++ alpha, arm, hppa, mips ++ * Added redhat-strip-copy-symtab.diff patch. Inlucde ++ testfile16.symtab.bz2 and testfile16.symtab.debug.bz2 test files. ++ Add sharutils to build-depends for uudecode. ++ * Updated redhat-portability.diff: Now includes fix-mipsel-ftbfs.diff ++ so remove it. ++ * Add various types to elf.h ++ * Update watch file to use a different url. ++ ++ -- Kurt Roeckx Sat, 5 May 2007 15:59:46 +0200 ++ ++elfutils (0.123-2) unstable; urgency=low ++ ++ [ Kurt Roeckx ] ++ * Add backend support for alpha: adding the registers. ++ * Add backend support for arm: adding regs and retval. ++ Thanks to Eugeniy Meshcheryakov ++ * Add backend support for hppa, thanks to ++ Eugeniy Meshcheryakov ++ * Add some missing ELFOSABI_* and EM_* to elf.h ++ ++ [ Christian Aichinger ] ++ * Fix sparc backend retval ++ * Add mips backend. ++ * Rewrite the static backend so making changes to the backends ++ is easier. ++ ++ -- Kurt Roeckx Sun, 27 Aug 2006 15:48:23 +0000 ++ ++elfutils (0.123-1) unstable; urgency=low ++ ++ * New upstream release ++ - Add IA64 backend support ++ - Remove redhat-fix-cast.diff, applied upstream ++ - Make patches apply to new upstream version. ++ * Include configure and all Makefile.in's in the configure patch. ++ ++ -- Kurt Roeckx Tue, 15 Aug 2006 19:42:44 +0000 ++ ++elfutils (0.122-4) unstable; urgency=low ++ ++ [ Kurt Roeckx ] ++ * The backends init functions should be functions, not pointers ++ to functions. Also thanks to Eugeniy Meshcheryakov ++ for pointing out the same. This should fix the segmentation faults ++ seen on ia64. ++ * When doing x && y &, bash retuns the pid for x, while the script ++ expected the one for y. Other shells I've tried return that of y. ++ As a result the run-native-test.sh keeps a "native" process running. ++ Removed the &&, so it always gets the correct pid. (Closes: #382758) ++ * Fix endiannes problems for opening files of your own endiannes ++ when not avoiding unaligned access. This didn't affect ++ i386 and amd64. ++ ++ -- Kurt Roeckx Sun, 13 Aug 2006 15:08:32 +0000 ++ ++elfutils (0.122-3) unstable; urgency=low ++ ++ [ Kurt Roeckx ] ++ * Add build dependency on bzip2, so that all the regression ++ tests can run. ++ * elflint: Add EM_ALPHA to valid_e_machine. ++ ++ [ Christian Aichinger] ++ * Add retval to the sparc backend. ++ * Ignore testsuite failures that elflint reports. ++ * readelf should check destshdr instead of shdr. ++ * Fix alignment problems in libdw_alloc seen on sparc. ++ ++ -- Kurt Roeckx Wed, 9 Aug 2006 19:21:05 +0000 ++ ++elfutils (0.122-2) unstable; urgency=low ++ ++ * Make libelf-dev Conflict with libelfg0-dev since they both ship ++ the same library and headers. ++ ++ -- Kurt Roeckx Fri, 4 Aug 2006 19:38:32 +0000 ++ ++elfutils (0.122-1) unstable; urgency=low ++ ++ * Initial release (Closes: #368248) ++ ++ -- Kurt Roeckx Sun, 21 May 2006 15:03:01 +0000 ++ diff --cc debian/compat index 0000000,0000000..b4de394 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++11 diff --cc debian/control index 0000000,0000000..5974e83 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,181 @@@ ++Source: elfutils ++Priority: optional ++Maintainer: Debian Elfutils Maintainers ++Uploaders: Kurt Roeckx , ++ Matthias Klose , ++ Sergio Durigan Junior , ++Build-Depends: dpkg-dev (>= 1.22.5), debhelper (>= 11), ++ autoconf, automake, lsb-release, ++ bzip2, zlib1g-dev, zlib1g-dev:native, libbz2-dev, liblzma-dev, ++ libzstd-dev, zstd , ++ m4, gettext, po-debconf, ++ gawk, dpkg-dev (>= 1.16.1~), ++ gcc-multilib [any-amd64 sparc64] , ++ libc6-dbg [powerpc powerpcspe ppc64 ppc64el armel armhf arm64 sparc64 riscv64], ++ flex, bison, ++ pkg-config, ++ libarchive-dev , ++ libmicrohttpd-dev , libcurl4-gnutls-dev , libsqlite3-dev , ++Build-Conflicts: autoconf2.13 ++Standards-Version: 4.6.2 ++Section: libs ++Homepage: https://sourceware.org/elfutils/ ++Vcs-Browser: https://salsa.debian.org/toolchain-team/elfutils ++Vcs-Git: https://salsa.debian.org/toolchain-team/elfutils.git ++ ++Package: elfutils ++Section: utils ++Architecture: any ++Multi-Arch: foreign ++Depends: ${shlibs:Depends}, ${misc:Depends}, ++ libelf1t64 (= ${binary:Version}), libdw1t64 (= ${binary:Version}) ++Description: collection of utilities to handle ELF objects ++ Elfutils is a collection of utilities, including eu-ld (a linker), ++ eu-nm (for listing symbols from object files), eu-size (for listing the ++ section sizes of an object or archive file), eu-strip (for discarding ++ symbols), eu-readelf (to see the raw ELF file structures), and eu-elflint ++ (to check for well-formed ELF files). ++ ++Package: libelf1t64 ++Provides: ${t64:Provides} ++Replaces: libelf1 ++Breaks: libelf1 (<< ${source:Version}) ++Architecture: any ++Multi-Arch: same ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Pre-Depends: ${misc:Pre-Depends} ++Description: library to read and write ELF files ++ The libelf1t64 package provides a shared library which allows reading and ++ writing ELF files on a high level. Third party programs depend on ++ this package to read internals of ELF files. The programs of the ++ elfutils package use it also to generate new ELF files. ++ . ++ This library is part of elfutils. ++ ++Package: libelf-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libelf1t64 (= ${binary:Version}), ${misc:Depends}, ++ zlib1g-dev, libzstd-dev ++Conflicts: libelfg0-dev ++Description: libelf1t64 development libraries and header files ++ libelf1t64 provides a shared library which allows reading and writing of ELF ++ files on a high level. ++ . ++ This package contains development libraries and header files for libelf1. ++ ++Package: libdw-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libelf-dev, libdw1t64 (= ${binary:Version}), ${misc:Depends}, ++ zlib1g-dev, liblzma-dev ++Description: libdw1t64 development libraries and header files ++ libdw1t64 provides a library that provides access to DWARF debug information ++ stored inside ELF files. ++ . ++ This package contains development libraries and header files for libdw1. ++ . ++ It also contains a static version of libdw. Only link to the static version ++ for special cases and when you don't need anything from the ebl backends. ++ ++Package: libdw1t64 ++Provides: ${t64:Provides} ++Replaces: libdw1 ++Breaks: libdw1 (<< ${source:Version}) ++Architecture: any ++Multi-Arch: same ++Depends: ${shlibs:Depends}, libelf1t64 (= ${binary:Version}), ${misc:Depends} ++Pre-Depends: ${misc:Pre-Depends} ++Description: library that provides access to the DWARF debug information ++ libdw1t64 provides a library that provides access to DWARF debug information ++ stored inside ELF files. ++ . ++ This library is part of elfutils. ++ ++Package: libasm1t64 ++Provides: ${t64:Provides} ++Replaces: libasm1 ++Breaks: libasm1 (<< ${source:Version}) ++Architecture: any ++Multi-Arch: same ++Depends: ${shlibs:Depends}, ${misc:Depends}, ++ libelf1t64 (= ${binary:Version}), libdw1t64 (= ${binary:Version}) ++Pre-Depends: ${misc:Pre-Depends} ++Description: library with a programmable assembler interface ++ The libasm1t64 package provides a library with a programmable assembler ++ interface. It allows you to create ELF files on a low level. ++ . ++ This library is part of elfutils. ++ ++Package: libasm-dev ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libasm1t64 (= ${binary:Version}), libelf-dev, ${misc:Depends} ++Conflicts: libelfsh0-dev, libasm0-dev ++Description: libasm development libraries and header files ++ libasm1t64 allows you to create ELF files on a low level. ++ . ++ This package contains development libraries and header files for libasm1. ++ ++Package: libdebuginfod1t64 ++Provides: ${t64:Provides} ++Replaces: libdebuginfod1 ++Breaks: libdebuginfod1 (<< ${source:Version}) ++Build-Profiles: ++Architecture: any ++Multi-Arch: same ++Depends: ${shlibs:Depends}, ${misc:Depends}, ++ libelf1t64 (= ${binary:Version}), libdw1t64 (= ${binary:Version}), ++ libdebuginfod-common (>= ${source:Version}) ++Pre-Depends: ${misc:Pre-Depends} ++Description: library to interact with debuginfod (development files) ++ The libdebuginfo1 package provides a library with an interface to interact ++ with debuginfod. ++ . ++ This library is part of elfutils. ++ ++Package: libdebuginfod-dev ++Build-Profiles: ++Section: libdevel ++Architecture: any ++Multi-Arch: same ++Depends: libdebuginfod1t64 (= ${binary:Version}), ${misc:Depends}, libelf-dev, ++Description: libdebuginfod development libraries and header files ++ libasm1t64 allows you to interact with debuginfod. ++ . ++ This package contains development libraries and header files for ++ libdebuginfod1. ++ ++Package: debuginfod ++Build-Profiles: ++Section: devel ++Architecture: any ++Depends: libdebuginfod1t64 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} ++Description: debuginfo-related http file-server daemon ++ Server, client tool and library to index and fetch ELF/DWARF files ++ addressed by build-id through HTTP. ++ ++Package: libdebuginfod-common ++Build-Profiles: ++Section: devel ++Architecture: all ++Multi-Arch: foreign ++Depends: ${misc:Depends}, ucf ++Pre-Depends: ${misc:Pre-Depends}, debconf ++Description: configuration to enable the Debian debug info server ++ This package asks if it should enable use of the Debian debug info ++ server with debugging tools that use libdebuginfo such as GDB. ++ . ++ When this is allowed by the sysadmin, a snippet will be added to the ++ shell configuration. You will need to restart your shell after ++ installing this package before the snippet will work. ++ . ++ The Debian debug info server will be contacted every time debugging ++ tools attempt to look up debug info for binaries or libraries but the ++ server does not log requests for debug info. ++ . ++ The Debian debug info server uses https to securely transfer debugging ++ files but does not offer OpenPGP signing of debug info. diff --cc debian/copyright index 0000000,0000000..fd158ed new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,209 @@@ ++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Comment: This package was debianized by Kurt Roeckx . ++Upstream-Name: elfutils ++Upstream-Contact: elfutils-devel@sourceware.org ++Source: https://sourceware.org/elfutils/ftp/ ++ ++Files: * ++Copyright: (C) 1996-2019 Red Hat, Inc. ++ (C) 2022 Mark J. Wielaard ++ (C) 2015, 2016 Oracle, Inc. ++ (C) 2017 The Qt Company ++ (C) 2018, 2021 Facebook, Inc. ++ (C) 2021 Runsafe Security, Inc. ++ (C) H.J. Lu , 2015. ++ (C) 2020 Tom Tromey ++Comment: Written by: ++ Ulrich Drepper ++ Jeff Johnson ++ Alexander Larsson ++ Jakub Jelinek ++ Roland McGrath . ++ See more in the AUTHORS file. ++License: GPL-3+ ++ ++Files: backends/* ++ config/* ++ debuginfod/* ++ lib* ++ version.h ++ debian/patches/mips_cfi.patch ++Copyright: (C) 1996-2019 Red Hat, Inc. ++ (C) 2021, 2022 Mark J. Wielaard ++ (C) 2015 Oracle, Inc. ++ (C) 2016, 2017 The Qt Company Ltd. ++ (C) 2021 Google, Inc. ++ (C) 2012 Tilera Corporation ++ (C) 2019 Hangzhou C-SKY Microsystems co.,ltd. ++ (C) H.J. Lu , 2015. ++ (c) 2021 Dmitry V. Levin ++ (C) 2018 Sifive, Inc. ++ (C) 2018 Kurt Roeckx, Inc. ++Comment: Most of the libraries (lib, libelf, libebl, libdw, libdwfl) have ++ the following license: ++License: LGPL-3+ or GPL-2+ ++ This file is free software; you can redistribute it and/or modify ++ it under the terms of either ++ . ++ * the GNU Lesser General Public License as published by the Free ++ Software Foundation; either version 3 of the License, or (at ++ your option) any later version ++ . ++ or ++ . ++ * the GNU General Public License as published by the Free ++ Software Foundation; either version 2 of the License, or (at ++ your option) any later version ++ . ++ or both in parallel, as here. ++ . ++ elfutils is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ . ++ You should have received copies of the GNU General Public License and ++ the GNU Lesser General Public License along with this program. If ++ not, see . ++Comment: ++ On Debian GNU/Linux systems, the complete text of the GNU General ++ Public License version 2 can be found in ++ `/usr/share/common-licenses/GPL-2' and the complete text of the GNU ++ Lesser General Public License version 3 can be found in ++ `/usr/share/common-licenses/LGPL-3'. ++ ++Files: lib/stdatomic-fbsd.h ++Copyright: (c) 2011 Ed Schouten ++ David Chisnall ++ All rights reserved. ++License: BSD-2-clause ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions ++ are met: ++ 1. Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ 2. Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ . ++ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ SUCH DAMAGE. ++ ++Files: doc/readelf.1 ++Copyright: (c) 1991-2018 Free Software Foundation, Inc. ++ (c) 2019 Red Hat Inc. ++License: GFDL-NIV-1.3 ++ Permission is granted to copy, distribute and/or modify this document ++ under the terms of the GNU Free Documentation License, Version 1.3 ++ or any later version published by the Free Software Foundation; ++ with no Invariant Sections, no Front-Cover Texts, and no ++ Back-Cover Texts. A copy of the license is included in the ++ section entitled "GNU Free Documentation License". ++Comment: ++ On Debian GNU/Linux systems, the complete text of the GNU ++ Free Documentation License version 1.3 can be found in ++ `/usr/share/common-licenses/GFDL-1.3' ++ ++Files: libelf/dl-hash.h ++ libelf/elf.h ++Copyright: (C) 1995-2022 Free Software Foundation, Inc. ++Comment: This file is part of the GNU C Library. ++License: LGPL-2.1+ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ . ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ . ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . ++Comment: ++ On Debian GNU/Linux systems, the complete text of the GNU ++ Lesser General Public License version 2.1 can be found in ++ `/usr/share/common-licenses/LGPL-2.1'. ++ ++Files: libcpu/i386_parse.* ++Copyright: (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, ++ Inc. ++License: GPL-3+ with Bison exception ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ . ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ . ++ As a special exception, you may create a larger work that contains ++ part or all of the Bison parser skeleton and distribute that work ++ under terms of your choice, so long as that work isn't itself a ++ parser generator using the skeleton or a modified version thereof ++ as a parser skeleton. Alternatively, if you modify or redistribute ++ the parser skeleton itself, you may (at your option) remove this ++ special exception, which will cause the skeleton and the resulting ++ Bison output files to be licensed under the GNU General Public ++ License without this special exception. ++ . ++ This special exception was added by the Free Software Foundation in ++ version 2.2 of Bison. ++ ++Files: debian/po/de.po ++Copyright: (C) 2021, Helge Kreutzmann ++License: GPL-3+ ++ ++Files: debian/po/es.po ++Copyright: (C) 2022, Camaleón ++License: GPL-3+ ++ ++Files: debian/po/fr.po ++Copyright: (C) 2021, Jean-Pierre Giraud ++License: GPL-3+ ++ ++Files: debian/po/nl.po ++Copyright: (C) 2021, Frans Spiesschaert ++License: GPL-3+ ++ ++Files: debian/po/pt_BR.po ++Copyright: (C) 2021, Sergio Durigan Junior ++License: GPL-3+ ++ ++Files: debian/po/pt.po ++Copyright: (C) 2021, Américo Monteiro ++License: GPL-3+ ++ ++License: GPL-3+ ++ This file is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ . ++ elfutils is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++Comment: GPL-3+ ++ On Debian GNU/Linux systems, the complete text of the GNU ++ General Public License version 3 can be found in ++ `/usr/share/common-licenses/GPL-3' diff --cc debian/debuginfod.install index 0000000,0000000..344d740 new file mode 100644 --- /dev/null +++ b/debian/debuginfod.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/bin/debuginfod ++usr/bin/debuginfod-find ++usr/share/man/man1/debuginfod-find.1 ++usr/share/man/man8/debuginfod.8 diff --cc debian/docs index 0000000,0000000..5502ed8 new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,3 @@@ ++NEWS ++README ++TODO diff --cc debian/elfutils.install index 0000000,0000000..dce3e5d new file mode 100644 --- /dev/null +++ b/debian/elfutils.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/bin ++usr/share/man/man1/eu-elfclassify.1 ++usr/share/man/man1/eu-readelf.1 ++usr/share/man/man1/eu-srcfiles.1 diff --cc debian/libasm-dev.install index 0000000,0000000..7c0a960 new file mode 100644 --- /dev/null +++ b/debian/libasm-dev.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/include/elfutils/libasm.h ++usr/lib/*/libasm.a ++usr/lib/*/libasm.so diff --cc debian/libasm1t64.install index 0000000,0000000..aa35d27 new file mode 100644 --- /dev/null +++ b/debian/libasm1t64.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/*/libasm.so.1 ++usr/lib/*/libasm-*.so diff --cc debian/libasm1t64.lintian-overrides index 0000000,0000000..37b9aa9 new file mode 100644 --- /dev/null +++ b/debian/libasm1t64.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++libasm1t64: package-name-doesnt-match-sonames libasm1 diff --cc debian/libasm1t64.symbols index 0000000,0000000..5a68307 new file mode 100644 --- /dev/null +++ b/debian/libasm1t64.symbols @@@ -1,0 -1,0 +1,6 @@@ ++libasm.so.1 libasm1t64 #MINVER# ++ *@ELFUTILS_1.0 0.120 ++ disasm_begin@ELFUTILS_1.0 0.132 ++ disasm_cb@ELFUTILS_1.0 0.132 ++ disasm_end@ELFUTILS_1.0 0.132 ++ disasm_str@ELFUTILS_1.0 0.132 diff --cc debian/libdebuginfod-common.config index 0000000,0000000..9f9b13a new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-common.config @@@ -1,0 -1,0 +1,20 @@@ ++#!/bin/sh ++ ++set -e ++ ++. /usr/share/debconf/confmodule ++ ++CONFTEMPLATEPATH="/usr/share/libdebuginfod-common" ++ ++db_version 2.0 ++db_capb ++ ++# Ask whether the user is OK with using debuginfod. We just bother ++# with the question if there is actually a debuginfod profile.d script ++# available. ++if [ -f "${CONFTEMPLATEPATH}"/debuginfod.sh ]; then ++ if grep -qFx "ID=debian" /etc/os-release; then ++ db_input medium libdebuginfod/usedebiandebuginfod || true ++ fi ++ db_go || true ++fi diff --cc debian/libdebuginfod-common.install index 0000000,0000000..2956675 new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-common.install @@@ -1,0 -1,0 +1,3 @@@ ++etc/profile.d/debuginfod.* usr/share/libdebuginfod-common/ ++usr/share/man/man7/debuginfod-client-config.7 ++etc/debuginfod/elfutils.urls etc/debuginfod/ diff --cc debian/libdebuginfod-common.postinst index 0000000,0000000..a1b6eda new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-common.postinst @@@ -1,0 -1,0 +1,83 @@@ ++#!/bin/bash ++ ++set -e ++ ++. /usr/share/debconf/confmodule ++ ++readonly CONFTEMPLATEPATH="/usr/share/libdebuginfod-common" ++ ++configure_debuginfod_debian() ++{ ++ local RET="false" ++ ++ db_get libdebuginfod/usedebiandebuginfod || RET="false" ++ ++ for ext in sh csh; do ++ [ -f "${CONFTEMPLATEPATH}/debuginfod.${ext}" ] || continue ++ ++ if [ "$RET" = "true" ]; then ++ UCF_FORCE_CONFMISS=1 ucf --three-way --debconf-ok \ ++ "${CONFTEMPLATEPATH}/debuginfod.${ext}" \ ++ "/etc/profile.d/debuginfod.${ext}" ++ ucfr libdebuginfod-common "/etc/profile.d/debuginfod.${ext}" ++ chmod 0644 "/etc/profile.d/debuginfod.${ext}" ++ else ++ rm -f "/etc/profile.d/debuginfod.${ext}" ++ fi ++ done ++} ++ ++configure_debuginfod_ubuntu() ++{ ++ local -r OLDVER="$1" ++ ++ # Handle previous versions where the debuginfod configuration was ++ # optional. ++ if dpkg --compare-versions "${OLDVER}" le-nl "0.187-3"; then ++ for ext in sh csh; do ++ ucf --purge "/etc/profile.d/debuginfod.${ext}" ++ ucfr --purge libdebuginfod-common "/etc/profile.d/debuginfod.${ext}" ++ ++ rm -f "/etc/profile.d/debuginfod.${ext}" ++ done ++ fi ++ ++ for ext in sh csh; do ++ [ -e "/etc/profile.d/debuginfod.${ext}" ] && continue ++ ++ ln -s "${CONFTEMPLATEPATH}/debuginfod.${ext}" \ ++ "/etc/profile.d/debuginfod.${ext}" ++ done ++} ++ ++configure_debuginfod() ++{ ++ local -r OLDVER="$1" ++ ++ if grep -qFx "ID=debian" /etc/os-release; then ++ configure_debuginfod_debian "${OLDVER}" ++ elif grep -qFx "ID=ubuntu" /etc/os-release; then ++ configure_debuginfod_ubuntu "${OLDVER}" ++ fi ++} ++ ++case "$1" in ++ configure) ++ configure_debuginfod "$2" ++ ;; ++ ++ abort-upgrade|abort-remove|abort-deconfigure) ++ ;; ++ ++ *) ++ echo "postinst called with unknown argument \`$1'" >&2 ++ exit 1 ++ ;; ++esac ++ ++# dh_installdeb will replace this with shell code automatically ++# generated by other debhelper scripts. ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/libdebuginfod-common.postrm index 0000000,0000000..11d7150 new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-common.postrm @@@ -1,0 -1,0 +1,59 @@@ ++#!/bin/sh ++ ++set -e ++ ++purge_debuginfod_debian() ++{ ++ for ext in sh csh; do ++ [ -f /etc/profile.d/debuginfod."${ext}" ] || continue ++ ++ if command -v ucf > /dev/null; then ++ ucf --purge /etc/profile.d/debuginfod."${ext}" ++ fi ++ if command -v ucfr > /dev/null; then ++ ucfr --purge libdebuginfod-common /etc/profile.d/debuginfod."${ext}" ++ fi ++ rm -f /etc/profile.d/debuginfod."${ext}" ++ done ++} ++ ++purge_debuginfod_ubuntu() ++{ ++ CONFTEMPLATEPATH="/usr/share/libdebuginfod-common" ++ ++ for ext in sh csh; do ++ [ -L "/etc/profile.d/debuginfod.${ext}" ] || continue ++ ++ # Only remove the file if it's a symlink to the file we ++ # installed under ${CONFTEMPLATEPATH}. ++ if [ "$(readlink -m /etc/profile.d/debuginfod.${ext})" \ ++ = "${CONFTEMPLATEPATH}/debuginfod.${ext}" ]; then ++ rm -f "/etc/profile.d/debuginfod.${ext}" ++ fi ++ done ++} ++ ++case "$1" in ++ purge) ++ if grep -qFx "ID=debian" /etc/os-release; then ++ purge_debuginfod_ubuntu ++ elif grep -qFx "ID=ubuntu" /etc/os-release; then ++ purge_debuginfod_ubuntu ++ fi ++ ;; ++ ++ remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ++ ;; ++ ++ *) ++ echo "postrm called with unknown argument \`$1'" >&2 ++ exit 1 ++ ;; ++esac ++ ++# dh_installdeb will replace this with shell code automatically ++# generated by other debhelper scripts. ++ ++#DEBHELPER# ++ ++exit 0 diff --cc debian/libdebuginfod-common.templates index 0000000,0000000..45f33ef new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-common.templates @@@ -1,0 -1,0 +1,12 @@@ ++Template: libdebuginfod/usedebiandebuginfod ++Type: boolean ++Default: false ++_Description: Connect to Debian's debuginfod server to download debug symbols? ++ While debugging programs (with GDB, for example) or using ++ debuginfo-consumer applications, it is possible to connect to ++ Debian's debuginfod server and download the necessary debug ++ information for the program you are debugging on-the-fly, without the ++ need to configure the debian-debug apt repository nor installing ++ any dbgsym packages. This service is maintained by Debian, and the ++ only information you will have to send to it is the Build-ID hash of ++ the program(s)/library(ies) being debugged. diff --cc debian/libdebuginfod-dev.install index 0000000,0000000..f809099 new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/lib/*/libdebuginfod.so ++usr/lib/*/pkgconfig/libdebuginfod.pc ++usr/include/elfutils/debuginfod.h ++usr/share/man/man3/debuginfod_*.3 diff --cc debian/libdebuginfod1t64.install index 0000000,0000000..62b1838 new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod1t64.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/*/libdebuginfod.so.* ++usr/lib/*/libdebuginfod-*.so diff --cc debian/libdebuginfod1t64.lintian-overrides index 0000000,0000000..e0c52fa new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod1t64.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++libdebuginfod1t64: package-name-doesnt-match-sonames libdebuginfod1 diff --cc debian/libdebuginfod1t64.symbols index 0000000,0000000..ba42e7a new file mode 100644 --- /dev/null +++ b/debian/libdebuginfod1t64.symbols @@@ -1,0 -1,0 +1,6 @@@ ++libdebuginfod.so.1 libdebuginfod1t64 #MINVER# ++ (symver)ELFUTILS_0.178 0.180 ++ (symver)ELFUTILS_0.179 0.180 ++ (symver)ELFUTILS_0 0.180 ++ (symver)ELFUTILS_0.183 0.182+20210203 ++ (symver)ELFUTILS_0.188 0.188 diff --cc debian/libdw-dev.install index 0000000,0000000..4e08f98 new file mode 100644 --- /dev/null +++ b/debian/libdw-dev.install @@@ -1,0 -1,0 +1,8 @@@ ++usr/include/dwarf.h ++usr/include/elfutils/libdw.h ++usr/include/elfutils/libdwfl.h ++usr/include/elfutils/libdwelf.h ++usr/include/elfutils/known-dwarf.h ++usr/lib/*/libdw.so ++usr/lib/*/libdw.a ++usr/lib/*/pkgconfig/libdw.pc diff --cc debian/libdw1t64.install index 0000000,0000000..344fc0f new file mode 100644 --- /dev/null +++ b/debian/libdw1t64.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/lib/*/libdw.so.1 ++usr/lib/*/libdw-0.*.so diff --cc debian/libdw1t64.lintian-overrides index 0000000,0000000..4065c6f new file mode 100644 --- /dev/null +++ b/debian/libdw1t64.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++libdw1t64: package-name-doesnt-match-sonames libdw1 diff --cc debian/libdw1t64.symbols index 0000000,0000000..f20d61b new file mode 100644 --- /dev/null +++ b/debian/libdw1t64.symbols @@@ -1,0 -1,0 +1,30 @@@ ++libdw.so.1 libdw1t64 #MINVER# ++ *@ELFUTILS_0.122 0.126 ++ *@ELFUTILS_0.126 0.126 ++ *@ELFUTILS_0.127 0.127 ++ *@ELFUTILS_0.130 0.130 ++ *@ELFUTILS_0.136 0.136 ++ *@ELFUTILS_0.138 0.138 ++ *@ELFUTILS_0.142 0.142 ++ *@ELFUTILS_0.143 0.143 ++ *@ELFUTILS_0.144 0.144 ++ *@ELFUTILS_0.146 0.146 ++ *@ELFUTILS_0.148 0.148 ++ *@ELFUTILS_0.149 0.149 ++ *@ELFUTILS_0.156 0.156 ++ *@ELFUTILS_0.157 0.157 ++ *@ELFUTILS_0.158 0.158 ++ *@ELFUTILS_0.159 0.159 ++ *@ELFUTILS_0.160 0.160 ++ *@ELFUTILS_0.161 0.161 ++ *@ELFUTILS_0.165 0.165 ++ *@ELFUTILS_0.167 0.167 ++ *@ELFUTILS_0.170 0.170 ++ *@ELFUTILS_0.171 0.171 ++ *@ELFUTILS_0.173 0.173 ++ *@ELFUTILS_0.175 0.175 ++ *@ELFUTILS_0.177 0.177 ++ *@ELFUTILS_0.186 0.186 ++ *@ELFUTILS_0.188 0.188 ++ *@ELFUTILS_0.191 0.191 ++ *@ELFUTILS_0 0.126 diff --cc debian/libelf-dev.install index 0000000,0000000..6e14773 new file mode 100644 --- /dev/null +++ b/debian/libelf-dev.install @@@ -1,0 -1,0 +1,9 @@@ ++usr/include/libelf.h ++usr/include/gelf.h ++usr/include/nlist.h ++usr/include/elfutils/elf-knowledge.h ++usr/include/elfutils/version.h ++usr/lib/*/libelf.a ++usr/lib/*/libelf.so ++usr/lib/*/pkgconfig/libelf.pc ++usr/share/man/man3/elf_*.3 diff --cc debian/libelf1t64.install index 0000000,0000000..4e2d096 new file mode 100644 --- /dev/null +++ b/debian/libelf1t64.install @@@ -1,0 -1,0 +1,3 @@@ ++usr/lib/*/libelf.so.1 ++usr/lib/*/libelf-*.so ++usr/share/locale/ diff --cc debian/libelf1t64.lintian-overrides index 0000000,0000000..aaf10ca new file mode 100644 --- /dev/null +++ b/debian/libelf1t64.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++libelf1t64: package-name-doesnt-match-sonames libelf1 diff --cc debian/libelf1t64.symbols index 0000000,0000000..f7c48a2 new file mode 100644 --- /dev/null +++ b/debian/libelf1t64.symbols @@@ -1,0 -1,0 +1,10 @@@ ++libelf.so.1 libelf1t64 #MINVER# ++ *@ELFUTILS_1.0 0.131 ++ *@ELFUTILS_1.1 0.131 ++ *@ELFUTILS_1.1.1 0.131 ++ *@ELFUTILS_1.2 0.131 ++ *@ELFUTILS_1.3 0.131 ++ *@ELFUTILS_1.4 0.132 ++ *@ELFUTILS_1.5 0.142 ++ *@ELFUTILS_1.6 0.144 ++ *@ELFUTILS_1.7 0.165 diff --cc debian/patches/0001-Ignore-differences-between-mips-machine-identifiers.patch index 0000000,0000000..a9a7210 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-Ignore-differences-between-mips-machine-identifiers.patch @@@ -1,0 -1,0 +1,31 @@@ ++From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001 ++From: James Cowgill ++Date: Mon, 5 Jan 2015 15:16:58 +0000 ++Subject: [PATCH 1/3] Ignore differences between mips machine identifiers ++ ++Little endian binaries actually use EM_MIPS so you can't tell the endianness ++from the elf machine id. Also, the EM_MIPS_RS3_LE machine is dead anyway (the ++kernel will not load binaries containing it). ++ ++Signed-off-by: James Cowgill ++--- ++ backends/mips_init.c | 6 +----- ++ 1 file changed, 1 insertion(+), 5 deletions(-) ++ ++Index: b/backends/mips_init.c ++=================================================================== ++--- a/backends/mips_init.c +++++ b/backends/mips_init.c ++@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unus ++ return NULL; ++ ++ /* We handle it. */ ++- if (machine == EM_MIPS) ++- eh->name = "MIPS R3000 big-endian"; ++- else if (machine == EM_MIPS_RS3_LE) ++- eh->name = "MIPS R3000 little-endian"; ++- +++ eh->name = "MIPS"; ++ mips_init_reloc (eh); ++ HOOK (eh, reloc_simple_type); ++ HOOK (eh, return_value_location); diff --cc debian/patches/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch index 0000000,0000000..72125c9 new file mode 100644 --- /dev/null +++ b/debian/patches/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch @@@ -1,0 -1,0 +1,168 @@@ ++From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001 ++From: James Cowgill ++Date: Mon, 5 Jan 2015 15:17:01 +0000 ++Subject: [PATCH 2/3] Add support for mips64 abis in mips_retval.c ++ ++Signed-off-by: James Cowgill ++--- ++ backends/mips_retval.c | 104 ++++++++++++++++++++++++++++++++++++++++++++----- ++ 1 file changed, 94 insertions(+), 10 deletions(-) ++ ++diff --git a/backends/mips_retval.c b/backends/mips_retval.c ++index 33f12a7..d5c6ef0 100644 ++--- a/backends/mips_retval.c +++++ b/backends/mips_retval.c ++@@ -91,6 +91,8 @@ enum mips_abi find_mips_abi(Elf *elf) ++ default: ++ if ((elf_flags & EF_MIPS_ABI2)) ++ return MIPS_ABI_N32; +++ else if ((ehdr->e_ident[EI_CLASS] == ELFCLASS64)) +++ return MIPS_ABI_N64; ++ } ++ ++ /* GCC creates a pseudo-section whose name describes the ABI. */ ++@@ -195,6 +197,57 @@ static const Dwarf_Op loc_aggregate[] = ++ }; ++ #define nloc_aggregate 1 ++ +++/* Test if a struct member is a float */ +++static int is_float_child(Dwarf_Die *childdie) +++{ +++ /* Test if this is actually a struct member */ +++ if (dwarf_tag(childdie) != DW_TAG_member) +++ return 0; +++ +++ /* Get type of member */ +++ Dwarf_Attribute attr_mem; +++ Dwarf_Die child_type_mem; +++ Dwarf_Die *child_typedie = +++ dwarf_formref_die(dwarf_attr_integrate(childdie, +++ DW_AT_type, +++ &attr_mem), &child_type_mem); +++ +++ if (dwarf_tag(child_typedie) != DW_TAG_base_type) +++ return 0; +++ +++ /* Get base subtype */ +++ Dwarf_Word encoding; +++ if (dwarf_formudata (dwarf_attr_integrate (child_typedie, +++ DW_AT_encoding, +++ &attr_mem), &encoding) != 0) +++ return 0; +++ +++ return encoding == DW_ATE_float; +++} +++ +++/* Returns the number of fpregs which can be returned in the given struct */ +++static int get_struct_fpregs(Dwarf_Die *structtypedie) +++{ +++ Dwarf_Die child_mem; +++ int fpregs = 0; +++ +++ /* Get first structure member */ +++ if (dwarf_child(structtypedie, &child_mem) != 0) +++ return 0; +++ +++ do +++ { +++ /* Ensure this register is a float */ +++ if (!is_float_child(&child_mem)) +++ return 0; +++ +++ fpregs++; +++ } +++ while (dwarf_siblingof (&child_mem, &child_mem) == 0); +++ +++ return fpregs; +++} +++ ++ int ++ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) ++ { ++@@ -240,6 +293,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) ++ tag = dwarf_tag (typedie); ++ } ++ +++ Dwarf_Word size; ++ switch (tag) ++ { ++ case -1: ++@@ -258,8 +312,6 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) ++ case DW_TAG_enumeration_type: ++ case DW_TAG_pointer_type: ++ case DW_TAG_ptr_to_member_type: ++- { ++- Dwarf_Word size; ++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, ++ &attr_mem), &size) != 0) ++ { ++@@ -289,7 +341,7 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) ++ if (size <= 4*regsize && abi == MIPS_ABI_O32) ++ return nloc_fpregquad; ++ ++- goto aggregate; +++ goto large; ++ } ++ } ++ *locp = ABI_LOC(loc_intreg, regsize); ++@@ -298,18 +350,50 @@ mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) ++ if (size <= 2*regsize) ++ return nloc_intregpair; ++ ++- /* Else fall through. Shouldn't happen though (at least with gcc) */ ++- } +++ /* Else pass in memory. Shouldn't happen though (at least with gcc) */ +++ goto large; ++ ++ case DW_TAG_structure_type: ++ case DW_TAG_class_type: ++ case DW_TAG_union_type: ++- case DW_TAG_array_type: ++- aggregate: ++- /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */ ++- if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64)) ++- return -2; +++ /* Handle special cases for structures <= 128 bytes in newer ABIs */ +++ if (abi == MIPS_ABI_EABI32 || abi == MIPS_ABI_EABI64 || +++ abi == MIPS_ABI_N32 || abi == MIPS_ABI_N64) +++ { +++ if (dwarf_aggregate_size (typedie, &size) == 0 && size <= 16) +++ { +++ /* +++ * Special case in N64 / N32 - +++ * structures containing only floats are returned in fp regs. +++ * Everything else is returned in integer regs. +++ */ +++ if (tag != DW_TAG_union_type && +++ (abi == MIPS_ABI_N32 || abi == MIPS_ABI_N64)) +++ { +++ int num_fpregs = get_struct_fpregs(typedie); +++ if (num_fpregs == 1 || num_fpregs == 2) +++ { +++ *locp = loc_fpreg; +++ if (num_fpregs == 1) +++ return nloc_fpreg; +++ else +++ return nloc_fpregpair; +++ } +++ } +++ +++ *locp = loc_intreg; +++ if (size <= 8) +++ return nloc_intreg; +++ else +++ return nloc_intregpair; +++ } +++ } +++ +++ /* Fallthrough to handle large types */ ++ +++ case DW_TAG_array_type: +++ large: +++ /* Return large structures in memory */ ++ *locp = loc_aggregate; ++ return nloc_aggregate; ++ } ++-- ++2.1.4 ++ diff --cc debian/patches/0003-Add-mips-n64-relocation-format-hack.patch index 0000000,0000000..7cefeae new file mode 100644 --- /dev/null +++ b/debian/patches/0003-Add-mips-n64-relocation-format-hack.patch @@@ -1,0 -1,0 +1,226 @@@ ++From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001 ++From: James Cowgill ++Date: Mon, 5 Jan 2015 15:17:02 +0000 ++Subject: [PATCH 3/3] Add mips n64 relocation format hack ++ ++MIPSEL N64 ELF files use a slightly different format for storing relocation ++entries which is incompatible with the normal R_SYM / R_INFO macros. ++To workaround this, we rearrange the bytes in the relocation's r_info field ++when reading and writing the relocations. ++ ++This patch also ensures that strip.c sets the correct value of e_machine ++before manipulating relocations so that these changes take effect. ++ ++Signed-off-by: James Cowgill ++--- ++ libelf/gelf_getrel.c | 25 +++++++++++++++++++++++-- ++ libelf/gelf_getrela.c | 25 +++++++++++++++++++++++-- ++ libelf/gelf_update_rel.c | 20 +++++++++++++++++++- ++ libelf/gelf_update_rela.c | 20 +++++++++++++++++++- ++ src/strip.c | 17 +++++++++++++++++ ++ 5 files changed, 101 insertions(+), 6 deletions(-) ++ ++Index: elfutils-0.175/libelf/gelf_getrel.c ++=================================================================== ++--- elfutils-0.175.orig/libelf/gelf_getrel.c +++++ elfutils-0.175/libelf/gelf_getrel.c ++@@ -36,6 +36,7 @@ ++ ++ #include "libelfP.h" ++ +++#define EF_MIPS_ABI 0x0000F000 ++ ++ GElf_Rel * ++ gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst) ++@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GE ++ result = NULL; ++ } ++ else ++- result = memcpy (dst, &((Elf64_Rel *) data_scn->d.d_buf)[ndx], ++- sizeof (Elf64_Rel)); +++ { +++ GElf_Ehdr hdr; +++ result = memcpy (dst, &((Elf64_Rel *) data_scn->d.d_buf)[ndx], +++ sizeof (Elf64_Rel)); +++ +++ if (gelf_getehdr(scn->elf, &hdr) != NULL && +++ hdr.e_ident[EI_DATA] == ELFDATA2LSB && +++ hdr.e_machine == EM_MIPS && +++ (hdr.e_flags & EF_MIPS_ABI) == 0) +++ { +++ /* +++ * The relocation format is mangled on MIPSEL N64 +++ * We'll adjust it so at least R_SYM will work on it +++ */ +++ GElf_Xword r_info = dst->r_info; +++ dst->r_info = (r_info << 32) | +++ ((r_info >> 8) & 0xFF000000) | +++ ((r_info >> 24) & 0x00FF0000) | +++ ((r_info >> 40) & 0x0000FF00) | +++ ((r_info >> 56) & 0x000000FF); +++ } +++ } ++ } ++ ++ rwlock_unlock (scn->elf->lock); ++Index: elfutils-0.175/libelf/gelf_getrela.c ++=================================================================== ++--- elfutils-0.175.orig/libelf/gelf_getrela.c +++++ elfutils-0.175/libelf/gelf_getrela.c ++@@ -36,6 +36,7 @@ ++ ++ #include "libelfP.h" ++ +++#define EF_MIPS_ABI 0x0000F000 ++ ++ GElf_Rela * ++ gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst) ++@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, G ++ result = NULL; ++ } ++ else ++- result = memcpy (dst, &((Elf64_Rela *) data_scn->d.d_buf)[ndx], ++- sizeof (Elf64_Rela)); +++ { +++ GElf_Ehdr hdr; +++ result = memcpy (dst, &((Elf64_Rela *) data_scn->d.d_buf)[ndx], +++ sizeof (Elf64_Rela)); +++ +++ if (gelf_getehdr(scn->elf, &hdr) != NULL && +++ hdr.e_ident[EI_DATA] == ELFDATA2LSB && +++ hdr.e_machine == EM_MIPS && +++ (hdr.e_flags & EF_MIPS_ABI) == 0) +++ { +++ /* +++ * The relocation format is mangled on MIPSEL N64 +++ * We'll adjust it so at least R_SYM will work on it +++ */ +++ GElf_Xword r_info = dst->r_info; +++ dst->r_info = (r_info << 32) | +++ ((r_info >> 8) & 0xFF000000) | +++ ((r_info >> 24) & 0x00FF0000) | +++ ((r_info >> 40) & 0x0000FF00) | +++ ((r_info >> 56) & 0x000000FF); +++ } +++ } ++ } ++ ++ rwlock_unlock (scn->elf->lock); ++Index: elfutils-0.175/libelf/gelf_update_rel.c ++=================================================================== ++--- elfutils-0.175.orig/libelf/gelf_update_rel.c +++++ elfutils-0.175/libelf/gelf_update_rel.c ++@@ -36,6 +36,7 @@ ++ ++ #include "libelfP.h" ++ +++#define EF_MIPS_ABI 0x0000F000 ++ ++ int ++ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src) ++@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx, ++ } ++ else ++ { +++ GElf_Ehdr hdr; +++ GElf_Rel value = *src; +++ ++ /* Check whether we have to resize the data buffer. */ ++ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) ++ { ++@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx, ++ goto out; ++ } ++ ++- ((Elf64_Rel *) data_scn->d.d_buf)[ndx] = *src; +++ if (gelf_getehdr(scn->elf, &hdr) != NULL && +++ hdr.e_ident[EI_DATA] == ELFDATA2LSB && +++ hdr.e_machine == EM_MIPS && +++ (hdr.e_flags & EF_MIPS_ABI) == 0) +++ { +++ /* Undo the MIPSEL N64 hack from gelf_getrel */ +++ GElf_Xword r_info = value.r_info; +++ value.r_info = (r_info >> 32) | +++ ((r_info << 8) & 0x000000FF00000000) | +++ ((r_info << 24) & 0x0000FF0000000000) | +++ ((r_info << 40) & 0x00FF000000000000) | +++ ((r_info << 56) & 0xFF00000000000000); +++ } +++ +++ ((Elf64_Rel *) data_scn->d.d_buf)[ndx] = value; ++ } ++ ++ result = 1; ++Index: elfutils-0.175/libelf/gelf_update_rela.c ++=================================================================== ++--- elfutils-0.175.orig/libelf/gelf_update_rela.c +++++ elfutils-0.175/libelf/gelf_update_rela.c ++@@ -36,6 +36,7 @@ ++ ++ #include "libelfP.h" ++ +++#define EF_MIPS_ABI 0x0000F000 ++ ++ int ++ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src) ++@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx ++ } ++ else ++ { +++ GElf_Ehdr hdr; +++ GElf_Rela value = *src; +++ ++ /* Check whether we have to resize the data buffer. */ ++ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) ++ { ++@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx ++ goto out; ++ } ++ ++- ((Elf64_Rela *) data_scn->d.d_buf)[ndx] = *src; +++ if (gelf_getehdr(scn->elf, &hdr) != NULL && +++ hdr.e_ident[EI_DATA] == ELFDATA2LSB && +++ hdr.e_machine == EM_MIPS && +++ (hdr.e_flags & EF_MIPS_ABI) == 0) +++ { +++ /* Undo the MIPSEL N64 hack from gelf_getrel */ +++ GElf_Xword r_info = value.r_info; +++ value.r_info = (r_info >> 32) | +++ ((r_info << 8) & 0x000000FF00000000) | +++ ((r_info << 24) & 0x0000FF0000000000) | +++ ((r_info << 40) & 0x00FF000000000000) | +++ ((r_info << 56) & 0xFF00000000000000); +++ } +++ +++ ((Elf64_Rela *) data_scn->d.d_buf)[ndx] = value; ++ } ++ ++ result = 1; ++Index: elfutils-0.175/src/strip.c ++=================================================================== ++--- elfutils-0.175.orig/src/strip.c +++++ elfutils-0.175/src/strip.c ++@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char ++ goto fail; ++ } ++ +++ /* Copy identity part of the ELF header now */ +++ newehdr = gelf_getehdr (newelf, &newehdr_mem); +++ if (newehdr == NULL) +++ INTERNAL_ERROR (fname); +++ +++ memcpy (newehdr->e_ident, ehdr->e_ident, EI_NIDENT); +++ newehdr->e_type = ehdr->e_type; +++ newehdr->e_machine = ehdr->e_machine; +++ newehdr->e_version = ehdr->e_version; +++ +++ if (gelf_update_ehdr (newelf, newehdr) == 0) +++ { +++ error (0, 0, gettext ("%s: error while creating ELF header: %s"), +++ fname, elf_errmsg (-1)); +++ return 1; +++ } +++ ++ /* Copy over the old program header if needed. */ ++ if (phnum > 0) ++ { diff --cc debian/patches/arm_backend.diff index 0000000,0000000..6a85baf new file mode 100644 --- /dev/null +++ b/debian/patches/arm_backend.diff @@@ -1,0 -1,0 +1,600 @@@ ++Index: elfutils-0.175/backends/arm_init.c ++=================================================================== ++--- elfutils-0.175.orig/backends/arm_init.c +++++ elfutils-0.175/backends/arm_init.c ++@@ -35,20 +35,31 @@ ++ #define RELOC_PREFIX R_ARM_ ++ #include "libebl_CPU.h" ++ +++#include "libebl_arm.h" +++ ++ /* This defines the common reloc hooks based on arm_reloc.def. */ ++ #include "common-reloc.c" ++ ++ ++ const char * ++-arm_init (Elf *elf __attribute__ ((unused)), +++arm_init (Elf *elf, ++ GElf_Half machine __attribute__ ((unused)), ++ Ebl *eh, ++ size_t ehlen) ++ { +++ int soft_float = 0; +++ ++ /* Check whether the Elf_BH object has a sufficent size. */ ++ if (ehlen < sizeof (Ebl)) ++ return NULL; ++ +++ if (elf) { +++ GElf_Ehdr ehdr_mem; +++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); +++ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT)) +++ soft_float = 1; +++ } +++ ++ /* We handle it. */ ++ eh->name = "ARM"; ++ arm_init_reloc (eh); ++@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unuse ++ HOOK (eh, core_note); ++ HOOK (eh, auxv_info); ++ HOOK (eh, check_object_attribute); ++- HOOK (eh, return_value_location); +++ if (soft_float) +++ eh->return_value_location = arm_return_value_location_soft; +++ else +++ eh->return_value_location = arm_return_value_location_hard; ++ HOOK (eh, abi_cfi); ++ HOOK (eh, check_reloc_target_type); ++ HOOK (eh, symbol_type_name); ++Index: elfutils-0.175/backends/arm_regs.c ++=================================================================== ++--- elfutils-0.175.orig/backends/arm_regs.c +++++ elfutils-0.175/backends/arm_regs.c ++@@ -31,6 +31,7 @@ ++ #endif ++ ++ #include +++#include ++ #include ++ ++ #define BACKEND arm_ ++@@ -76,6 +77,9 @@ arm_register_info (Ebl *ebl __attribute_ ++ break; ++ ++ case 16 + 0 ... 16 + 7: +++ /* AADWARF says that there are no registers in that range, +++ * but gcc maps FPA registers here +++ */ ++ regno += 96 - 16; ++ FALLTHROUGH; ++ case 96 + 0 ... 96 + 7: ++@@ -87,11 +91,139 @@ arm_register_info (Ebl *ebl __attribute_ ++ namelen = 2; ++ break; ++ +++ case 64 + 0 ... 64 + 9: +++ *setname = "VFP"; +++ *bits = 32; +++ *type = DW_ATE_float; +++ name[0] = 's'; +++ name[1] = regno - 64 + '0'; +++ namelen = 2; +++ break; +++ +++ case 64 + 10 ... 64 + 31: +++ *setname = "VFP"; +++ *bits = 32; +++ *type = DW_ATE_float; +++ name[0] = 's'; +++ name[1] = (regno - 64) / 10 + '0'; +++ name[2] = (regno - 64) % 10 + '0'; +++ namelen = 3; +++ break; +++ +++ case 104 + 0 ... 104 + 7: +++ /* XXX TODO: +++ * This can be either intel wireless MMX general purpose/control +++ * registers or xscale accumulator, which have different usage. +++ * We only have the intel wireless MMX here now. +++ * The name needs to be changed for the xscale accumulator too. */ +++ *setname = "MMX"; +++ *type = DW_ATE_unsigned; +++ *bits = 32; +++ memcpy(name, "wcgr", 4); +++ name[4] = regno - 104 + '0'; +++ namelen = 5; +++ break; +++ +++ case 112 + 0 ... 112 + 9: +++ *setname = "MMX"; +++ *type = DW_ATE_unsigned; +++ *bits = 64; +++ name[0] = 'w'; +++ name[1] = 'r'; +++ name[2] = regno - 112 + '0'; +++ namelen = 3; +++ break; +++ +++ case 112 + 10 ... 112 + 15: +++ *setname = "MMX"; +++ *type = DW_ATE_unsigned; +++ *bits = 64; +++ name[0] = 'w'; +++ name[1] = 'r'; +++ name[2] = '1'; +++ name[3] = regno - 112 - 10 + '0'; +++ namelen = 4; +++ break; +++ ++ case 128: +++ *setname = "state"; ++ *type = DW_ATE_unsigned; ++ return stpcpy (name, "spsr") + 1 - name; ++ +++ case 129: +++ *setname = "state"; +++ *type = DW_ATE_unsigned; +++ return stpcpy(name, "spsr_fiq") + 1 - name; +++ +++ case 130: +++ *setname = "state"; +++ *type = DW_ATE_unsigned; +++ return stpcpy(name, "spsr_irq") + 1 - name; +++ +++ case 131: +++ *setname = "state"; +++ *type = DW_ATE_unsigned; +++ return stpcpy(name, "spsr_abt") + 1 - name; +++ +++ case 132: +++ *setname = "state"; +++ *type = DW_ATE_unsigned; +++ return stpcpy(name, "spsr_und") + 1 - name; +++ +++ case 133: +++ *setname = "state"; +++ *type = DW_ATE_unsigned; +++ return stpcpy(name, "spsr_svc") + 1 - name; +++ +++ case 144 ... 150: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1; +++ +++ case 151 ... 157: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1; +++ +++ case 158 ... 159: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1; +++ +++ case 160 ... 161: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1; +++ +++ case 162 ... 163: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_und", regno - 162 + 13) + 1; +++ +++ case 164 ... 165: +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1; +++ +++ case 192 ... 199: +++ *setname = "MMX"; +++ *bits = 32; +++ *type = DW_ATE_unsigned; +++ name[0] = 'w'; +++ name[1] = 'c'; +++ name[2] = regno - 192 + '0'; +++ namelen = 3; +++ break; +++ ++ case 256 + 0 ... 256 + 9: +++ /* XXX TODO: Neon also uses those registers and can contain +++ * both float and integers */ ++ *setname = "VFP"; ++ *type = DW_ATE_float; ++ *bits = 64; ++Index: elfutils-0.175/backends/arm_retval.c ++=================================================================== ++--- elfutils-0.175.orig/backends/arm_retval.c +++++ elfutils-0.175/backends/arm_retval.c ++@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] = ++ #define nloc_intreg 1 ++ #define nloc_intregs(n) (2 * (n)) ++ +++/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */ +++static const Dwarf_Op loc_fpreg[] = +++ { +++ { .atom = DW_OP_reg16 }, +++ }; +++#define nloc_fpreg 1 +++ ++ /* The return value is a structure and is actually stored in stack space ++ passed in a hidden argument by the caller. But, the compiler ++ helpfully returns the address of that space in r0. */ ++@@ -58,8 +65,9 @@ static const Dwarf_Op loc_aggregate[] = ++ #define nloc_aggregate 1 ++ ++ ++-int ++-arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++static int +++arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, +++ int soft_float) ++ { ++ /* Start with the function's type, and get the DW_AT_type attribute, ++ which is the type of the return value. */ ++@@ -98,6 +106,21 @@ arm_return_value_location (Dwarf_Die *fu ++ else ++ return -1; ++ } +++ if (tag == DW_TAG_base_type) +++ { +++ Dwarf_Word encoding; +++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, +++ &attr_mem), &encoding) != 0) +++ return -1; +++ +++ if ((encoding == DW_ATE_float) && !soft_float) +++ { +++ *locp = loc_fpreg; +++ if (size <= 8) +++ return nloc_fpreg; +++ goto aggregate; +++ } +++ } ++ if (size <= 16) ++ { ++ intreg: ++@@ -106,6 +129,7 @@ arm_return_value_location (Dwarf_Die *fu ++ } ++ ++ aggregate: +++ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */ ++ *locp = loc_aggregate; ++ return nloc_aggregate; ++ } ++@@ -125,3 +149,18 @@ arm_return_value_location (Dwarf_Die *fu ++ DWARF and might be valid. */ ++ return -2; ++ } +++ +++/* return location for -mabi=apcs-gnu -msoft-float */ +++int +++arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++{ +++ return arm_return_value_location_ (functypedie, locp, 1); +++} +++ +++/* return location for -mabi=apcs-gnu -mhard-float (current default) */ +++int +++arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++{ +++ return arm_return_value_location_ (functypedie, locp, 0); +++} +++ ++Index: elfutils-0.175/libelf/elf.h ++=================================================================== ++--- elfutils-0.175.orig/libelf/elf.h +++++ elfutils-0.175/libelf/elf.h ++@@ -2694,6 +2694,9 @@ enum ++ #define EF_ARM_EABI_VER4 0x04000000 ++ #define EF_ARM_EABI_VER5 0x05000000 ++ +++/* EI_OSABI values */ +++#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */ +++ ++ /* Additional symbol types for Thumb. */ ++ #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ ++ #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ ++@@ -2711,12 +2714,19 @@ enum ++ ++ /* Processor specific values for the Phdr p_type field. */ ++ #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ +++#define PT_ARM_UNWIND PT_ARM_EXIDX ++ ++ /* Processor specific values for the Shdr sh_type field. */ ++ #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ ++ #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ ++ #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ ++ +++/* Processor specific values for the Dyn d_tag field. */ +++#define DT_ARM_RESERVED1 (DT_LOPROC + 0) +++#define DT_ARM_SYMTABSZ (DT_LOPROC + 1) +++#define DT_ARM_PREEMTMAB (DT_LOPROC + 2) +++#define DT_ARM_RESERVED2 (DT_LOPROC + 3) +++#define DT_ARM_NUM 4 ++ ++ /* AArch64 relocs. */ ++ ++@@ -3009,6 +3019,7 @@ enum ++ TLS block (LDR, STR). */ ++ #define R_ARM_TLS_IE12GP 111 /* 12 bit GOT entry relative ++ to GOT origin (LDR). */ +++/* 112 - 127 private range */ ++ #define R_ARM_ME_TOO 128 /* Obsolete. */ ++ #define R_ARM_THM_TLS_DESCSEQ 129 ++ #define R_ARM_THM_TLS_DESCSEQ16 129 ++Index: elfutils-0.175/backends/libebl_arm.h ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/libebl_arm.h ++@@ -0,0 +1,9 @@ +++#ifndef _LIBEBL_ARM_H +++#define _LIBEBL_ARM_H 1 +++ +++#include +++ +++extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp); +++extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp); +++ +++#endif ++Index: elfutils-0.175/tests/run-allregs.sh ++=================================================================== ++--- elfutils-0.175.orig/tests/run-allregs.sh +++++ elfutils-0.175/tests/run-allregs.sh ++@@ -2672,7 +2672,28 @@ integer registers: ++ 13: sp (sp), address 32 bits ++ 14: lr (lr), address 32 bits ++ 15: pc (pc), address 32 bits ++- 128: spsr (spsr), unsigned 32 bits +++ 144: r8_usr (r8_usr), signed 32 bits +++ 145: r9_usr (r9_usr), signed 32 bits +++ 146: r10_usr (r10_usr), signed 32 bits +++ 147: r11_usr (r11_usr), signed 32 bits +++ 148: r12_usr (r12_usr), signed 32 bits +++ 149: r13_usr (r13_usr), signed 32 bits +++ 150: r14_usr (r14_usr), signed 32 bits +++ 151: r8_fiq (r8_fiq), signed 32 bits +++ 152: r9_fiq (r9_fiq), signed 32 bits +++ 153: r10_fiq (r10_fiq), signed 32 bits +++ 154: r11_fiq (r11_fiq), signed 32 bits +++ 155: r12_fiq (r12_fiq), signed 32 bits +++ 156: r13_fiq (r13_fiq), signed 32 bits +++ 157: r14_fiq (r14_fiq), signed 32 bits +++ 158: r13_irq (r13_irq), signed 32 bits +++ 159: r14_irq (r14_irq), signed 32 bits +++ 160: r13_abt (r13_abt), signed 32 bits +++ 161: r14_abt (r14_abt), signed 32 bits +++ 162: r13_und (r13_und), signed 32 bits +++ 163: r14_und (r14_und), signed 32 bits +++ 164: r13_svc (r13_svc), signed 32 bits +++ 165: r14_svc (r14_svc), signed 32 bits ++ FPA registers: ++ 16: f0 (f0), float 96 bits ++ 17: f1 (f1), float 96 bits ++@@ -2690,7 +2711,72 @@ FPA registers: ++ 101: f5 (f5), float 96 bits ++ 102: f6 (f6), float 96 bits ++ 103: f7 (f7), float 96 bits +++MMX registers: +++ 104: wcgr0 (wcgr0), unsigned 32 bits +++ 105: wcgr1 (wcgr1), unsigned 32 bits +++ 106: wcgr2 (wcgr2), unsigned 32 bits +++ 107: wcgr3 (wcgr3), unsigned 32 bits +++ 108: wcgr4 (wcgr4), unsigned 32 bits +++ 109: wcgr5 (wcgr5), unsigned 32 bits +++ 110: wcgr6 (wcgr6), unsigned 32 bits +++ 111: wcgr7 (wcgr7), unsigned 32 bits +++ 112: wr0 (wr0), unsigned 64 bits +++ 113: wr1 (wr1), unsigned 64 bits +++ 114: wr2 (wr2), unsigned 64 bits +++ 115: wr3 (wr3), unsigned 64 bits +++ 116: wr4 (wr4), unsigned 64 bits +++ 117: wr5 (wr5), unsigned 64 bits +++ 118: wr6 (wr6), unsigned 64 bits +++ 119: wr7 (wr7), unsigned 64 bits +++ 120: wr8 (wr8), unsigned 64 bits +++ 121: wr9 (wr9), unsigned 64 bits +++ 122: wr10 (wr10), unsigned 64 bits +++ 123: wr11 (wr11), unsigned 64 bits +++ 124: wr12 (wr12), unsigned 64 bits +++ 125: wr13 (wr13), unsigned 64 bits +++ 126: wr14 (wr14), unsigned 64 bits +++ 127: wr15 (wr15), unsigned 64 bits +++ 192: wc0 (wc0), unsigned 32 bits +++ 193: wc1 (wc1), unsigned 32 bits +++ 194: wc2 (wc2), unsigned 32 bits +++ 195: wc3 (wc3), unsigned 32 bits +++ 196: wc4 (wc4), unsigned 32 bits +++ 197: wc5 (wc5), unsigned 32 bits +++ 198: wc6 (wc6), unsigned 32 bits +++ 199: wc7 (wc7), unsigned 32 bits ++ VFP registers: +++ 64: s0 (s0), float 32 bits +++ 65: s1 (s1), float 32 bits +++ 66: s2 (s2), float 32 bits +++ 67: s3 (s3), float 32 bits +++ 68: s4 (s4), float 32 bits +++ 69: s5 (s5), float 32 bits +++ 70: s6 (s6), float 32 bits +++ 71: s7 (s7), float 32 bits +++ 72: s8 (s8), float 32 bits +++ 73: s9 (s9), float 32 bits +++ 74: s10 (s10), float 32 bits +++ 75: s11 (s11), float 32 bits +++ 76: s12 (s12), float 32 bits +++ 77: s13 (s13), float 32 bits +++ 78: s14 (s14), float 32 bits +++ 79: s15 (s15), float 32 bits +++ 80: s16 (s16), float 32 bits +++ 81: s17 (s17), float 32 bits +++ 82: s18 (s18), float 32 bits +++ 83: s19 (s19), float 32 bits +++ 84: s20 (s20), float 32 bits +++ 85: s21 (s21), float 32 bits +++ 86: s22 (s22), float 32 bits +++ 87: s23 (s23), float 32 bits +++ 88: s24 (s24), float 32 bits +++ 89: s25 (s25), float 32 bits +++ 90: s26 (s26), float 32 bits +++ 91: s27 (s27), float 32 bits +++ 92: s28 (s28), float 32 bits +++ 93: s29 (s29), float 32 bits +++ 94: s30 (s30), float 32 bits +++ 95: s31 (s31), float 32 bits ++ 256: d0 (d0), float 64 bits ++ 257: d1 (d1), float 64 bits ++ 258: d2 (d2), float 64 bits ++@@ -2723,6 +2809,13 @@ VFP registers: ++ 285: d29 (d29), float 64 bits ++ 286: d30 (d30), float 64 bits ++ 287: d31 (d31), float 64 bits +++state registers: +++ 128: spsr (spsr), unsigned 32 bits +++ 129: spsr_fiq (spsr_fiq), unsigned 32 bits +++ 130: spsr_irq (spsr_irq), unsigned 32 bits +++ 131: spsr_abt (spsr_abt), unsigned 32 bits +++ 132: spsr_und (spsr_und), unsigned 32 bits +++ 133: spsr_svc (spsr_svc), unsigned 32 bits ++ EOF ++ ++ # See run-readelf-mixed-corenote.sh for instructions to regenerate ++Index: elfutils-0.175/tests/run-readelf-mixed-corenote.sh ++=================================================================== ++--- elfutils-0.175.orig/tests/run-readelf-mixed-corenote.sh +++++ elfutils-0.175/tests/run-readelf-mixed-corenote.sh ++@@ -31,12 +31,11 @@ Note segment of 892 bytes at offset 0x27 ++ pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 ++ utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000 ++ orig_r0: -1, fpvalid: 1 ++- r0: 1 r1: -1091672508 r2: -1091672500 ++- r3: 0 r4: 0 r5: 0 ++- r6: 33728 r7: 0 r8: 0 ++- r9: 0 r10: -1225703496 r11: -1091672844 ++- r12: 0 sp: 0xbeee64f4 lr: 0xb6dc3f48 ++- pc: 0x00008500 spsr: 0x60000010 +++ r0: 1 r1: -1091672508 r2: -1091672500 r3: 0 +++ r4: 0 r5: 0 r6: 33728 r7: 0 +++ r8: 0 r9: 0 r10: -1225703496 r11: -1091672844 +++ r12: 0 sp: 0xbeee64f4 lr: 0xb6dc3f48 pc: 0x00008500 +++ spsr: 0x60000010 ++ CORE 124 PRPSINFO ++ state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500 ++ uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 ++Index: elfutils-0.175/tests/run-addrcfi.sh ++=================================================================== ++--- elfutils-0.175.orig/tests/run-addrcfi.sh +++++ elfutils-0.175/tests/run-addrcfi.sh ++@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matc ++ FPA reg21 (f5): undefined ++ FPA reg22 (f6): undefined ++ FPA reg23 (f7): undefined +++ VFP reg64 (s0): undefined +++ VFP reg65 (s1): undefined +++ VFP reg66 (s2): undefined +++ VFP reg67 (s3): undefined +++ VFP reg68 (s4): undefined +++ VFP reg69 (s5): undefined +++ VFP reg70 (s6): undefined +++ VFP reg71 (s7): undefined +++ VFP reg72 (s8): undefined +++ VFP reg73 (s9): undefined +++ VFP reg74 (s10): undefined +++ VFP reg75 (s11): undefined +++ VFP reg76 (s12): undefined +++ VFP reg77 (s13): undefined +++ VFP reg78 (s14): undefined +++ VFP reg79 (s15): undefined +++ VFP reg80 (s16): undefined +++ VFP reg81 (s17): undefined +++ VFP reg82 (s18): undefined +++ VFP reg83 (s19): undefined +++ VFP reg84 (s20): undefined +++ VFP reg85 (s21): undefined +++ VFP reg86 (s22): undefined +++ VFP reg87 (s23): undefined +++ VFP reg88 (s24): undefined +++ VFP reg89 (s25): undefined +++ VFP reg90 (s26): undefined +++ VFP reg91 (s27): undefined +++ VFP reg92 (s28): undefined +++ VFP reg93 (s29): undefined +++ VFP reg94 (s30): undefined +++ VFP reg95 (s31): undefined ++ FPA reg96 (f0): undefined ++ FPA reg97 (f1): undefined ++ FPA reg98 (f2): undefined ++@@ -3562,7 +3594,66 @@ dwarf_cfi_addrframe (.eh_frame): no matc ++ FPA reg101 (f5): undefined ++ FPA reg102 (f6): undefined ++ FPA reg103 (f7): undefined ++- integer reg128 (spsr): undefined +++ MMX reg104 (wcgr0): undefined +++ MMX reg105 (wcgr1): undefined +++ MMX reg106 (wcgr2): undefined +++ MMX reg107 (wcgr3): undefined +++ MMX reg108 (wcgr4): undefined +++ MMX reg109 (wcgr5): undefined +++ MMX reg110 (wcgr6): undefined +++ MMX reg111 (wcgr7): undefined +++ MMX reg112 (wr0): undefined +++ MMX reg113 (wr1): undefined +++ MMX reg114 (wr2): undefined +++ MMX reg115 (wr3): undefined +++ MMX reg116 (wr4): undefined +++ MMX reg117 (wr5): undefined +++ MMX reg118 (wr6): undefined +++ MMX reg119 (wr7): undefined +++ MMX reg120 (wr8): undefined +++ MMX reg121 (wr9): undefined +++ MMX reg122 (wr10): undefined +++ MMX reg123 (wr11): undefined +++ MMX reg124 (wr12): undefined +++ MMX reg125 (wr13): undefined +++ MMX reg126 (wr14): undefined +++ MMX reg127 (wr15): undefined +++ state reg128 (spsr): undefined +++ state reg129 (spsr_fiq): undefined +++ state reg130 (spsr_irq): undefined +++ state reg131 (spsr_abt): undefined +++ state reg132 (spsr_und): undefined +++ state reg133 (spsr_svc): undefined +++ integer reg144 (r8_usr): undefined +++ integer reg145 (r9_usr): undefined +++ integer reg146 (r10_usr): undefined +++ integer reg147 (r11_usr): undefined +++ integer reg148 (r12_usr): undefined +++ integer reg149 (r13_usr): undefined +++ integer reg150 (r14_usr): undefined +++ integer reg151 (r8_fiq): undefined +++ integer reg152 (r9_fiq): undefined +++ integer reg153 (r10_fiq): undefined +++ integer reg154 (r11_fiq): undefined +++ integer reg155 (r12_fiq): undefined +++ integer reg156 (r13_fiq): undefined +++ integer reg157 (r14_fiq): undefined +++ integer reg158 (r13_irq): undefined +++ integer reg159 (r14_irq): undefined +++ integer reg160 (r13_abt): undefined +++ integer reg161 (r14_abt): undefined +++ integer reg162 (r13_und): undefined +++ integer reg163 (r14_und): undefined +++ integer reg164 (r13_svc): undefined +++ integer reg165 (r14_svc): undefined +++ MMX reg192 (wc0): undefined +++ MMX reg193 (wc1): undefined +++ MMX reg194 (wc2): undefined +++ MMX reg195 (wc3): undefined +++ MMX reg196 (wc4): undefined +++ MMX reg197 (wc5): undefined +++ MMX reg198 (wc6): undefined +++ MMX reg199 (wc7): undefined ++ VFP reg256 (d0): undefined ++ VFP reg257 (d1): undefined ++ VFP reg258 (d2): undefined diff --cc debian/patches/disable-some-tests.diff index 0000000,0000000..7e79223 new file mode 100644 --- /dev/null +++ b/debian/patches/disable-some-tests.diff @@@ -1,0 -1,0 +1,11 @@@ ++--- a/tests/Makefile.am +++++ b/tests/Makefile.am ++@@ -37,7 +37,7 @@ tests_rpath = no ++ endif ++ ++ check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \ ++- showptable update1 update2 update3 update4 test-nlist \ +++ showptable update1 update2 update3 update4 \ ++ show-die-info get-files next-files get-lines next-lines \ ++ get-pubnames \ ++ get-aranges allfcts line2addr addrscopes funcscopes \ diff --cc debian/patches/disable_werror.patch index 0000000,0000000..0ce76ba new file mode 100644 --- /dev/null +++ b/debian/patches/disable_werror.patch @@@ -1,0 -1,0 +1,25 @@@ ++From: Helmut Grohne ++Subject: disable -Werror as it tends to break with new gcc versions ++Bug-Debian: https://bugs.debian.org/886004 ++Last-Update: 2018-01-01 ++ ++Index: b/config/eu.am ++=================================================================== ++--- a/config/eu.am +++++ b/config/eu.am ++@@ -99,7 +99,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W ++ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ ++ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ ++ $(USE_AFTER_FREE3_WARNING) \ ++- $(if $($(*F)_no_Werror),,-Werror) \ ++ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ ++ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ ++ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ ++@@ -109,7 +108,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow ++ $(TRAMPOLINES_WARNING) \ ++ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ ++ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ ++- $(if $($(*F)_no_Werror),,-Werror) \ ++ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ ++ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ ++ $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --cc debian/patches/hppa_backend.diff index 0000000,0000000..658c4b2 new file mode 100644 --- /dev/null +++ b/debian/patches/hppa_backend.diff @@@ -1,0 -1,0 +1,778 @@@ ++--- /dev/null +++++ b/backends/parisc_init.c ++@@ -0,0 +1,73 @@ +++/* Initialization of PA-RISC specific backend library. +++ Copyright (C) 2002, 2005, 2006 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ Written by Ulrich Drepper , 2002. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#define BACKEND parisc_ +++#define RELOC_PREFIX R_PARISC_ +++#include "libebl_CPU.h" +++#include "libebl_parisc.h" +++ +++/* This defines the common reloc hooks based on parisc_reloc.def. */ +++#include "common-reloc.c" +++ +++ +++const char * +++parisc_init (Elf *elf __attribute__ ((unused)), +++ GElf_Half machine __attribute__ ((unused)), +++ Ebl *eh, +++ size_t ehlen) +++{ +++ int pa64 = 0; +++ +++ /* Check whether the Elf_BH object has a sufficent size. */ +++ if (ehlen < sizeof (Ebl)) +++ return NULL; +++ +++ if (elf) { +++ GElf_Ehdr ehdr_mem; +++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); +++ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE)) +++ pa64 = 1; +++ } +++ /* We handle it. */ +++ eh->name = "PA-RISC"; +++ parisc_init_reloc (eh); +++ HOOK (eh, reloc_simple_type); +++ HOOK (eh, machine_flag_check); +++ HOOK (eh, symbol_type_name); +++ HOOK (eh, segment_type_name); +++ HOOK (eh, section_type_name); +++ HOOK (eh, register_info); +++ if (pa64) +++ eh->return_value_location = parisc_return_value_location_64; +++ else +++ eh->return_value_location = parisc_return_value_location_32; +++ +++ return MODVERSION; +++} ++--- /dev/null +++++ b/backends/parisc_regs.c ++@@ -0,0 +1,159 @@ +++/* Register names and numbers for PA-RISC DWARF. +++ Copyright (C) 2005, 2006 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++ +++#define BACKEND parisc_ +++#include "libebl_CPU.h" +++ +++ssize_t +++parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen, +++ const char **prefix, const char **setname, +++ int *bits, int *type) +++{ +++ int pa64 = 0; +++ +++ if (ebl->elf) { +++ GElf_Ehdr ehdr_mem; +++ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem); +++ if (ehdr->e_flags & EF_PARISC_WIDE) +++ pa64 = 1; +++ } +++ +++ int nregs = pa64 ? 127 : 128; +++ +++ if (name == NULL) +++ return nregs; +++ +++ if (regno < 0 || regno >= nregs || namelen < 6) +++ return -1; +++ +++ *prefix = "%"; +++ +++ if (regno < 32) +++ { +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ if (pa64) +++ { +++ *bits = 64; +++ } +++ else +++ { +++ *bits = 32; +++ } +++ } +++ else if (regno == 32) +++ { +++ *setname = "special"; +++ if (pa64) +++ { +++ *bits = 6; +++ } +++ else +++ { +++ *bits = 5; +++ } +++ *type = DW_ATE_unsigned; +++ } +++ else +++ { +++ *setname = "FPU"; +++ *type = DW_ATE_float; +++ if (pa64) +++ { +++ *bits = 64; +++ } +++ else +++ { +++ *bits = 32; +++ } +++ } +++ +++ if (regno < 33) { +++ switch (regno) +++ { +++ case 0 ... 9: +++ name[0] = 'r'; +++ name[1] = regno + '0'; +++ namelen = 2; +++ break; +++ case 10 ... 31: +++ name[0] = 'r'; +++ name[1] = regno / 10 + '0'; +++ name[2] = regno % 10 + '0'; +++ namelen = 3; +++ break; +++ case 32: +++ *prefix = NULL; +++ name[0] = 'S'; +++ name[1] = 'A'; +++ name[2] = 'R'; +++ namelen = 3; +++ break; +++ } +++ } +++ else { +++ if (pa64 && ((regno - 72) % 2)) { +++ *setname = NULL; +++ return 0; +++ } +++ +++ switch (regno) +++ { +++ case 72 + 0 ... 72 + 11: +++ name[0] = 'f'; +++ name[1] = 'r'; +++ name[2] = (regno + 8 - 72) / 2 + '0'; +++ namelen = 3; +++ if ((regno + 8 - 72) % 2) { +++ name[3] = 'R'; +++ namelen++; +++ } +++ break; +++ case 72 + 12 ... 72 + 55: +++ name[0] = 'f'; +++ name[1] = 'r'; +++ name[2] = (regno + 8 - 72) / 2 / 10 + '0'; +++ name[3] = (regno + 8 - 72) / 2 % 10 + '0'; +++ namelen = 4; +++ if ((regno + 8 - 72) % 2) { +++ name[4] = 'R'; +++ namelen++; +++ } +++ break; +++ default: +++ *setname = NULL; +++ return 0; +++ } +++ } +++ name[namelen++] = '\0'; +++ return namelen; +++} ++--- /dev/null +++++ b/backends/parisc_reloc.def ++@@ -0,0 +1,128 @@ +++/* List the relocation types for PA-RISC. -*- C -*- +++ Copyright (C) 2005 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++/* NAME, REL|EXEC|DYN */ +++ +++RELOC_TYPE (NONE, EXEC|DYN) +++RELOC_TYPE (DIR32, REL|EXEC|DYN) +++RELOC_TYPE (DIR21L, REL|EXEC|DYN) +++RELOC_TYPE (DIR17R, REL) +++RELOC_TYPE (DIR17F, REL) +++RELOC_TYPE (DIR14R, REL|DYN) +++RELOC_TYPE (PCREL32, REL) +++RELOC_TYPE (PCREL21L, REL) +++RELOC_TYPE (PCREL17R, REL) +++RELOC_TYPE (PCREL17F, REL) +++RELOC_TYPE (PCREL14R, REL|EXEC) +++RELOC_TYPE (DPREL21L, REL) +++RELOC_TYPE (DPREL14WR, REL) +++RELOC_TYPE (DPREL14DR, REL) +++RELOC_TYPE (DPREL14R, REL) +++RELOC_TYPE (GPREL21L, 0) +++RELOC_TYPE (GPREL14R, 0) +++RELOC_TYPE (LTOFF21L, REL) +++RELOC_TYPE (LTOFF14R, REL) +++RELOC_TYPE (DLTIND14F, 0) +++RELOC_TYPE (SETBASE, 0) +++RELOC_TYPE (SECREL32, REL) +++RELOC_TYPE (BASEREL21L, 0) +++RELOC_TYPE (BASEREL17R, 0) +++RELOC_TYPE (BASEREL14R, 0) +++RELOC_TYPE (SEGBASE, 0) +++RELOC_TYPE (SEGREL32, REL) +++RELOC_TYPE (PLTOFF21L, 0) +++RELOC_TYPE (PLTOFF14R, 0) +++RELOC_TYPE (PLTOFF14F, 0) +++RELOC_TYPE (LTOFF_FPTR32, 0) +++RELOC_TYPE (LTOFF_FPTR21L, 0) +++RELOC_TYPE (LTOFF_FPTR14R, 0) +++RELOC_TYPE (FPTR64, 0) +++RELOC_TYPE (PLABEL32, REL|DYN) +++RELOC_TYPE (PCREL64, 0) +++RELOC_TYPE (PCREL22C, 0) +++RELOC_TYPE (PCREL22F, 0) +++RELOC_TYPE (PCREL14WR, 0) +++RELOC_TYPE (PCREL14DR, 0) +++RELOC_TYPE (PCREL16F, 0) +++RELOC_TYPE (PCREL16WF, 0) +++RELOC_TYPE (PCREL16DF, 0) +++RELOC_TYPE (DIR64, REL|DYN) +++RELOC_TYPE (DIR14WR, REL) +++RELOC_TYPE (DIR14DR, REL) +++RELOC_TYPE (DIR16F, REL) +++RELOC_TYPE (DIR16WF, REL) +++RELOC_TYPE (DIR16DF, REL) +++RELOC_TYPE (GPREL64, 0) +++RELOC_TYPE (GPREL14WR, 0) +++RELOC_TYPE (GPREL14DR, 0) +++RELOC_TYPE (GPREL16F, 0) +++RELOC_TYPE (GPREL16WF, 0) +++RELOC_TYPE (GPREL16DF, 0) +++RELOC_TYPE (LTOFF64, 0) +++RELOC_TYPE (LTOFF14WR, 0) +++RELOC_TYPE (LTOFF14DR, 0) +++RELOC_TYPE (LTOFF16F, 0) +++RELOC_TYPE (LTOFF16WF, 0) +++RELOC_TYPE (LTOFF16DF, 0) +++RELOC_TYPE (SECREL64, 0) +++RELOC_TYPE (BASEREL14WR, 0) +++RELOC_TYPE (BASEREL14DR, 0) +++RELOC_TYPE (SEGREL64, 0) +++RELOC_TYPE (PLTOFF14WR, 0) +++RELOC_TYPE (PLTOFF14DR, 0) +++RELOC_TYPE (PLTOFF16F, 0) +++RELOC_TYPE (PLTOFF16WF, 0) +++RELOC_TYPE (PLTOFF16DF, 0) +++RELOC_TYPE (LTOFF_FPTR64, 0) +++RELOC_TYPE (LTOFF_FPTR14WR, 0) +++RELOC_TYPE (LTOFF_FPTR14DR, 0) +++RELOC_TYPE (LTOFF_FPTR16F, 0) +++RELOC_TYPE (LTOFF_FPTR16WF, 0) +++RELOC_TYPE (LTOFF_FPTR16DF, 0) +++RELOC_TYPE (COPY, EXEC) +++RELOC_TYPE (IPLT, EXEC|DYN) +++RELOC_TYPE (EPLT, 0) +++RELOC_TYPE (TPREL32, DYN) +++RELOC_TYPE (TPREL21L, 0) +++RELOC_TYPE (TPREL14R, 0) +++RELOC_TYPE (LTOFF_TP21L, 0) +++RELOC_TYPE (LTOFF_TP14R, 0) +++RELOC_TYPE (LTOFF_TP14F, 0) +++RELOC_TYPE (TPREL64, 0) +++RELOC_TYPE (TPREL14WR, 0) +++RELOC_TYPE (TPREL14DR, 0) +++RELOC_TYPE (TPREL16F, 0) +++RELOC_TYPE (TPREL16WF, 0) +++RELOC_TYPE (TPREL16DF, 0) +++RELOC_TYPE (LTOFF_TP64, 0) +++RELOC_TYPE (LTOFF_TP14WR, 0) +++RELOC_TYPE (LTOFF_TP14DR, 0) +++RELOC_TYPE (LTOFF_TP16F, 0) +++RELOC_TYPE (LTOFF_TP16WF, 0) +++RELOC_TYPE (LTOFF_TP16DF, 0) +++RELOC_TYPE (TLS_DTPMOD32, DYN) +++RELOC_TYPE (TLS_DTPMOD64, DYN) +++ +++#define NO_RELATIVE_RELOC 1 ++--- /dev/null +++++ b/backends/parisc_retval.c ++@@ -0,0 +1,213 @@ +++/* Function return value location for Linux/PA-RISC ABI. +++ Copyright (C) 2005 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++ +++#define BACKEND parisc_ +++#include "libebl_CPU.h" +++#include "libebl_parisc.h" +++ +++/* %r28, or pair %r28, %r29. */ +++static const Dwarf_Op loc_intreg32[] = +++ { +++ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 }, +++ }; +++ +++static const Dwarf_Op loc_intreg[] = +++ { +++ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 }, +++ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 }, +++ }; +++#define nloc_intreg 1 +++#define nloc_intregpair 4 +++ +++/* %fr4L, or pair %fr4L, %fr4R on pa-32 */ +++static const Dwarf_Op loc_fpreg32[] = +++ { +++ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 }, +++ }; +++#define nloc_fpreg32 2 +++#define nloc_fpregpair32 4 +++ +++/* $fr4 */ +++static const Dwarf_Op loc_fpreg[] = +++ { +++ { .atom = DW_OP_regx, .number = 72 }, +++ }; +++#define nloc_fpreg 1 +++ +++#if 0 +++/* The return value is a structure and is actually stored in stack space +++ passed in a hidden argument by the caller. Address of the location is stored +++ in %r28 before function call, but it may be changed by function. */ +++static const Dwarf_Op loc_aggregate[] = +++ { +++ { .atom = DW_OP_breg28 }, +++ }; +++#define nloc_aggregate 1 +++#endif +++ +++static int +++parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64) +++{ +++ Dwarf_Word regsize = pa64 ? 8 : 4; +++ +++ /* Start with the function's type, and get the DW_AT_type attribute, +++ which is the type of the return value. */ +++ +++ Dwarf_Attribute attr_mem; +++ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); +++ if (attr == NULL) +++ /* The function has no return value, like a `void' function in C. */ +++ return 0; +++ +++ Dwarf_Die die_mem; +++ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); +++ int tag = dwarf_tag (typedie); +++ +++ /* Follow typedefs and qualifiers to get to the actual type. */ +++ while (tag == DW_TAG_typedef +++ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type +++ || tag == DW_TAG_restrict_type) +++ { +++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); +++ typedie = dwarf_formref_die (attr, &die_mem); +++ tag = dwarf_tag (typedie); +++ } +++ +++ switch (tag) +++ { +++ case -1: +++ return -1; +++ +++ case DW_TAG_subrange_type: +++ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) +++ { +++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); +++ typedie = dwarf_formref_die (attr, &die_mem); +++ tag = dwarf_tag (typedie); +++ } +++ /* Fall through. */ +++ +++ case DW_TAG_base_type: +++ case DW_TAG_enumeration_type: +++ case DW_TAG_pointer_type: +++ case DW_TAG_ptr_to_member_type: +++ { +++ Dwarf_Word size; +++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, +++ &attr_mem), &size) != 0) +++ { +++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) +++ size = 4; +++ else +++ return -1; +++ } +++ if (tag == DW_TAG_base_type) +++ { +++ Dwarf_Word encoding; +++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, +++ &attr_mem), &encoding) != 0) +++ return -1; +++ +++ if (encoding == DW_ATE_float) +++ { +++ if (pa64) { +++ *locp = loc_fpreg; +++ if (size <= 8) +++ return nloc_fpreg; +++ } +++ else { +++ *locp = loc_fpreg32; +++ if (size <= 4) +++ return nloc_fpreg32; +++ else if (size <= 8) +++ return nloc_fpregpair32; +++ } +++ goto aggregate; +++ } +++ } +++ if (pa64) +++ *locp = loc_intreg; +++ else +++ *locp = loc_intreg32; +++ if (size <= regsize) +++ return nloc_intreg; +++ if (size <= 2 * regsize) +++ return nloc_intregpair; +++ +++ /* Else fall through. */ +++ } +++ +++ case DW_TAG_structure_type: +++ case DW_TAG_class_type: +++ case DW_TAG_union_type: +++ case DW_TAG_array_type: +++ aggregate: { +++ Dwarf_Word size; +++ if (dwarf_aggregate_size (typedie, &size) != 0) +++ return -1; +++ if (pa64) +++ *locp = loc_intreg; +++ else +++ *locp = loc_intreg32; +++ if (size <= regsize) +++ return nloc_intreg; +++ if (size <= 2 * regsize) +++ return nloc_intregpair; +++#if 0 +++ /* there should be some way to know this location... But I do not see it. */ +++ *locp = loc_aggregate; +++ return nloc_aggregate; +++#endif +++ /* fall through. */ +++ } +++ } +++ +++ /* XXX We don't have a good way to return specific errors from ebl calls. +++ This value means we do not understand the type, but it is well-formed +++ DWARF and might be valid. */ +++ return -2; +++} +++ +++int +++parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++{ +++ return parisc_return_value_location_ (functypedie, locp, 0); +++} +++ +++int +++parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++{ +++ return parisc_return_value_location_ (functypedie, locp, 1); +++} +++ ++--- /dev/null +++++ b/backends/parisc_symbol.c ++@@ -0,0 +1,113 @@ +++/* PA-RISC specific symbolic name handling. +++ Copyright (C) 2002, 2005 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ Written by Ulrich Drepper , 2002. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++ +++#define BACKEND parisc_ +++#include "libebl_CPU.h" +++ +++const char * +++parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)), +++ size_t len __attribute__ ((unused))) +++{ +++ switch (segment) +++ { +++ case PT_PARISC_ARCHEXT: +++ return "PARISC_ARCHEXT"; +++ case PT_PARISC_UNWIND: +++ return "PARISC_UNWIND"; +++ default: +++ break; +++ } +++ return NULL; +++} +++ +++/* Return symbolic representation of symbol type. */ +++const char * +++parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)), +++ size_t len __attribute__ ((unused))) +++{ +++ if (symbol == STT_PARISC_MILLICODE) +++ return "PARISC_MILLI"; +++ return NULL; +++} +++ +++/* Return symbolic representation of section type. */ +++const char * +++parisc_section_type_name (int type, +++ char *buf __attribute__ ((unused)), +++ size_t len __attribute__ ((unused))) +++{ +++ switch (type) +++ { +++ case SHT_PARISC_EXT: +++ return "PARISC_EXT"; +++ case SHT_PARISC_UNWIND: +++ return "PARISC_UNWIND"; +++ case SHT_PARISC_DOC: +++ return "PARISC_DOC"; +++ } +++ +++ return NULL; +++} +++ +++/* Check whether machine flags are valid. */ +++bool +++parisc_machine_flag_check (GElf_Word flags) +++{ +++ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB | +++ EF_PARISC_WIDE | EF_PARISC_NO_KABP | +++ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH)) +++ return 0; +++ +++ GElf_Word arch = flags & EF_PARISC_ARCH; +++ +++ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) || +++ (arch == EFA_PARISC_2_0)); +++} +++ +++/* Check for the simple reloc types. */ +++Elf_Type +++parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type, +++ int *addsub __attribute__ ((unused))) +++{ +++ switch (type) +++ { +++ case R_PARISC_DIR64: +++ case R_PARISC_SECREL64: +++ return ELF_T_XWORD; +++ case R_PARISC_DIR32: +++ case R_PARISC_SECREL32: +++ return ELF_T_WORD; +++ default: +++ return ELF_T_NUM; +++ } +++} ++--- /dev/null +++++ b/backends/libebl_parisc.h ++@@ -0,0 +1,9 @@ +++#ifndef _LIBEBL_HPPA_H +++#define _LIBEBL_HPPA_H 1 +++ +++#include +++ +++extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp); +++extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp); +++ +++#endif ++--- a/backends/Makefile.am +++++ b/backends/Makefile.am ++@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I ++ noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a ++ ++ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ ++- tilegx m68k bpf riscv csky +++ tilegx m68k bpf riscv csky parisc ++ ++ i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \ ++ i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \ ++@@ -49,6 +49,9 @@ x86_64_SRCS = x86_64_init.c x86_64_symbo ++ x86_64_retval.c x86_64_regs.c x86_64_syscall.c x86_64_initreg.c \ ++ x86_64_unwind.c x32_corenote.c ++ +++parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c +++libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) +++am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) ++ ++ ia64_SRCS = ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c ++ ++--- a/libelf/elf.h +++++ b/libelf/elf.h ++@@ -2182,16 +2182,24 @@ enum ++ #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */ ++ #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */ ++ #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */ +++#define R_PARISC_DPREL14WR 19 +++#define R_PARISC_DPREL14DR 20 ++ #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */ ++ #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */ ++ #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */ ++ #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */ ++ #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */ +++#define R_PARISC_DLTIND14F 39 +++#define R_PARISC_SETBASE 40 ++ #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */ +++#define R_PARISC_BASEREL21L 42 +++#define R_PARISC_BASEREL17R 43 +++#define R_PARISC_BASEREL14R 46 ++ #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */ ++ #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */ ++ #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */ ++ #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */ +++#define R_PARISC_PLTOFF14F 55 ++ #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */ ++ #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */ ++ #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */ ++@@ -2200,6 +2208,7 @@ enum ++ #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */ ++ #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */ ++ #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */ +++#define R_PARISC_PCREL22C 73 ++ #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */ ++ #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */ ++ #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */ ++@@ -2225,6 +2234,8 @@ enum ++ #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */ ++ #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */ ++ #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */ +++#define R_PARISC_BASEREL14WR 107 +++#define R_PARISC_BASEREL14DR 108 ++ #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */ ++ #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */ ++ #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */ diff --cc debian/patches/hurd-hacks.diff index 0000000,0000000..758dbb9 new file mode 100644 --- /dev/null +++ b/debian/patches/hurd-hacks.diff @@@ -1,0 -1,0 +1,58 @@@ ++--- a/debuginfod/debuginfod-client.c +++++ b/debuginfod/debuginfod-client.c ++@@ -47,6 +47,10 @@ ++ #include ++ #include ++ +++#ifndef PATH_MAX +++#define PATH_MAX 1024 +++#endif +++ ++ /* We might be building a bootstrap dummy library, which is really simple. */ ++ #ifdef DUMMY_LIBDEBUGINFOD ++ ++--- a/debuginfod/debuginfod.cxx +++++ b/debuginfod/debuginfod.cxx ++@@ -53,7 +53,6 @@ extern "C" { ++ #include "debuginfod.h" ++ #include ++ ++-#include ++ #ifdef __GNUC__ ++ #undef __attribute__ /* glibc bug - rhbz 1763325 */ ++ #endif ++@@ -132,6 +131,8 @@ using namespace std; ++ #define tid() pthread_self() ++ #endif ++ +++#include +++ ++ extern "C" { ++ #include "printversion.h" ++ #include "system.h" ++@@ -695,10 +696,10 @@ parse_opt (int key, char *arg, ++ argp_failure(state, 1, EINVAL, "scan checkpoint"); ++ break; ++ // case 'h': argp_state_help (state, stderr, ARGP_HELP_LONG|ARGP_HELP_EXIT_OK); ++- default: return ARGP_ERR_UNKNOWN; +++ default: return (error_t) ARGP_ERR_UNKNOWN; ++ } ++ ++- return 0; +++ return (error_t)0; ++ } ++ ++ ++--- a/tests/backtrace.c +++++ b/tests/backtrace.c ++@@ -40,6 +40,10 @@ ++ #endif ++ #include "system.h" ++ +++#ifndef PATH_MAX +++#define PATH_MAX 1024 +++#endif +++ ++ #ifndef __linux__ ++ ++ int diff --cc debian/patches/hurd_path.patch index 0000000,0000000..4440e39 new file mode 100644 --- /dev/null +++ b/debian/patches/hurd_path.patch @@@ -1,0 -1,0 +1,14 @@@ ++Index: elfutils-0.165/tests/run-native-test.sh ++=================================================================== ++--- elfutils-0.165.orig/tests/run-native-test.sh +++++ elfutils-0.165/tests/run-native-test.sh ++@@ -83,6 +83,9 @@ native_test() ++ # "cannot attach to process: Function not implemented". ++ [ "$(uname)" = "GNU/kFreeBSD" ] && exit 77 ++ +++# hurd's /proc/$PID/maps does not give paths yet. +++[ "$(uname)" = "GNU" ] && exit 77 +++ ++ native_test ${abs_builddir}/allregs ++ native_test ${abs_builddir}/funcretval ++ diff --cc debian/patches/ignore_strmerge.diff index 0000000,0000000..1e6d7a2 new file mode 100644 --- /dev/null +++ b/debian/patches/ignore_strmerge.diff @@@ -1,0 -1,0 +1,11 @@@ ++--- elfutils-0.165.orig/tests/run-strip-strmerge.sh +++++ elfutils-0.165/tests/run-strip-strmerge.sh ++@@ -30,7 +30,7 @@ remerged=remerged.elf ++ tempfiles $merged $stripped $debugfile $remerged ++ ++ echo elflint $input ++-testrun ${abs_top_builddir}/src/elflint --gnu $input +++testrun_on_self_skip ${abs_top_builddir}/src/elflint --gnu $input ++ echo elfstrmerge ++ testrun ${abs_top_builddir}/tests/elfstrmerge -o $merged $input ++ echo elflint $merged diff --cc debian/patches/kfreebsd-debuginfod index 0000000,0000000..33dd8f8 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd-debuginfod @@@ -1,0 -1,0 +1,25 @@@ ++Index: elfutils-0.188/debuginfod/debuginfod-client.c ++=================================================================== ++--- elfutils-0.188.orig/debuginfod/debuginfod-client.c 2022-11-13 15:20:25.177144304 -0500 +++++ elfutils-0.188/debuginfod/debuginfod-client.c 2022-11-13 15:20:25.173144291 -0500 ++@@ -84,7 +84,9 @@ ++ #include ++ #include ++ #include +++#ifdef __linux__ ++ #include +++#endif ++ #include ++ #include ++ #include ++@@ -115,6 +117,10 @@ ++ curl_global_init(CURL_GLOBAL_DEFAULT); ++ } ++ +++#ifndef ETIME +++#define ETIME ETIMEDOUT /* Timer expired, fallback if not found in errno.h like on Linux */ +++#endif +++ ++ struct debuginfod_client ++ { ++ /* Progress/interrupt callback function. */ diff --cc debian/patches/kfreebsd-mremap-stub index 0000000,0000000..9c3e217 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd-mremap-stub @@@ -1,0 -1,0 +1,19 @@@ ++Index: elfutils-0.188/libelf/elf_update.c ++=================================================================== ++--- elfutils-0.188.orig/libelf/elf_update.c 2022-11-13 15:20:31.189166291 -0500 +++++ elfutils-0.188/libelf/elf_update.c 2022-11-13 15:20:31.189166291 -0500 ++@@ -37,6 +37,14 @@ ++ ++ #include "libelfP.h" ++ +++#if defined(__FreeBSD_kernel__) || defined(__gnu_hurd__) +++void *mremap(void *old_address, size_t old_size, +++ size_t new_size, int flags, ... /* void *new_address */) +++{ +++ errno = ENOMEM; +++ return MAP_FAILED; +++} +++#endif ++ ++ static int64_t ++ write_file (Elf *elf, int64_t size, int change_bo, size_t shnum) diff --cc debian/patches/kfreebsd_path.patch index 0000000,0000000..9a19b58 new file mode 100644 --- /dev/null +++ b/debian/patches/kfreebsd_path.patch @@@ -1,0 -1,0 +1,17 @@@ ++Index: b/tests/run-native-test.sh ++=================================================================== ++--- a/tests/run-native-test.sh +++++ b/tests/run-native-test.sh ++@@ -77,6 +77,12 @@ native_test() ++ test $native -eq 0 || testrun "$@" -p $native > /dev/null ++ } ++ +++# On the Debian buildds, GNU/kFreeBSD linprocfs /proc/$PID/maps does +++# not give absolute paths due to sbuild's bind mounts (bug #570805) +++# therefore the next two test programs are expected to fail with +++# "cannot attach to process: Function not implemented". +++[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77 +++ ++ native_test ${abs_builddir}/allregs ++ native_test ${abs_builddir}/funcretval ++ diff --cc debian/patches/mips_backend.diff index 0000000,0000000..29b72c4 new file mode 100644 --- /dev/null +++ b/debian/patches/mips_backend.diff @@@ -1,0 -1,0 +1,685 @@@ ++Index: elfutils-0.175/backends/mips_init.c ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_init.c ++@@ -0,0 +1,59 @@ +++/* Initialization of mips specific backend library. +++ Copyright (C) 2006 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#define BACKEND mips_ +++#define RELOC_PREFIX R_MIPS_ +++#include "libebl_CPU.h" +++ +++/* This defines the common reloc hooks based on mips_reloc.def. */ +++#include "common-reloc.c" +++ +++const char * +++mips_init (Elf *elf __attribute__ ((unused)), +++ GElf_Half machine __attribute__ ((unused)), +++ Ebl *eh, +++ size_t ehlen) +++{ +++ /* Check whether the Elf_BH object has a sufficent size. */ +++ if (ehlen < sizeof (Ebl)) +++ return NULL; +++ +++ /* We handle it. */ +++ if (machine == EM_MIPS) +++ eh->name = "MIPS R3000 big-endian"; +++ else if (machine == EM_MIPS_RS3_LE) +++ eh->name = "MIPS R3000 little-endian"; +++ +++ mips_init_reloc (eh); +++ HOOK (eh, reloc_simple_type); +++ HOOK (eh, return_value_location); +++ HOOK (eh, register_info); +++ +++ return MODVERSION; +++} ++Index: elfutils-0.175/backends/mips_regs.c ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_regs.c ++@@ -0,0 +1,104 @@ +++/* Register names and numbers for MIPS DWARF. +++ Copyright (C) 2006 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++ +++#define BACKEND mips_ +++#include "libebl_CPU.h" +++ +++ssize_t +++mips_register_info (Ebl *ebl __attribute__((unused)), +++ int regno, char *name, size_t namelen, +++ const char **prefix, const char **setname, +++ int *bits, int *type) +++{ +++ if (name == NULL) +++ return 66; +++ +++ if (regno < 0 || regno > 65 || namelen < 4) +++ return -1; +++ +++ *prefix = "$"; +++ +++ if (regno < 32) +++ { +++ *setname = "integer"; +++ *type = DW_ATE_signed; +++ *bits = 32; +++ if (regno < 32 + 10) +++ { +++ name[0] = regno + '0'; +++ namelen = 1; +++ } +++ else +++ { +++ name[0] = (regno / 10) + '0'; +++ name[1] = (regno % 10) + '0'; +++ namelen = 2; +++ } +++ } +++ else if (regno < 64) +++ { +++ *setname = "FPU"; +++ *type = DW_ATE_float; +++ *bits = 32; +++ name[0] = 'f'; +++ if (regno < 32 + 10) +++ { +++ name[1] = (regno - 32) + '0'; +++ namelen = 2; +++ } +++ else +++ { +++ name[1] = (regno - 32) / 10 + '0'; +++ name[2] = (regno - 32) % 10 + '0'; +++ namelen = 3; +++ } +++ } +++ else if (regno == 64) +++ { +++ *type = DW_ATE_signed; +++ *bits = 32; +++ name[0] = 'h'; +++ name[1] = 'i'; +++ namelen = 2; +++ } +++ else +++ { +++ *type = DW_ATE_signed; +++ *bits = 32; +++ name[0] = 'l'; +++ name[1] = 'o'; +++ namelen = 2; +++ } +++ +++ name[namelen++] = '\0'; +++ return namelen; +++} ++Index: elfutils-0.175/backends/mips_reloc.def ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_reloc.def ++@@ -0,0 +1,79 @@ +++/* List the relocation types for mips. -*- C -*- +++ Copyright (C) 2006 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++/* NAME, REL|EXEC|DYN */ +++ +++RELOC_TYPE (NONE, 0) +++RELOC_TYPE (16, 0) +++RELOC_TYPE (32, 0) +++RELOC_TYPE (REL32, 0) +++RELOC_TYPE (26, 0) +++RELOC_TYPE (HI16, 0) +++RELOC_TYPE (LO16, 0) +++RELOC_TYPE (GPREL16, 0) +++RELOC_TYPE (LITERAL, 0) +++RELOC_TYPE (GOT16, 0) +++RELOC_TYPE (PC16, 0) +++RELOC_TYPE (CALL16, 0) +++RELOC_TYPE (GPREL32, 0) +++ +++RELOC_TYPE (SHIFT5, 0) +++RELOC_TYPE (SHIFT6, 0) +++RELOC_TYPE (64, 0) +++RELOC_TYPE (GOT_DISP, 0) +++RELOC_TYPE (GOT_PAGE, 0) +++RELOC_TYPE (GOT_OFST, 0) +++RELOC_TYPE (GOT_HI16, 0) +++RELOC_TYPE (GOT_LO16, 0) +++RELOC_TYPE (SUB, 0) +++RELOC_TYPE (INSERT_A, 0) +++RELOC_TYPE (INSERT_B, 0) +++RELOC_TYPE (DELETE, 0) +++RELOC_TYPE (HIGHER, 0) +++RELOC_TYPE (HIGHEST, 0) +++RELOC_TYPE (CALL_HI16, 0) +++RELOC_TYPE (CALL_LO16, 0) +++RELOC_TYPE (SCN_DISP, 0) +++RELOC_TYPE (REL16, 0) +++RELOC_TYPE (ADD_IMMEDIATE, 0) +++RELOC_TYPE (PJUMP, 0) +++RELOC_TYPE (RELGOT, 0) +++RELOC_TYPE (JALR, 0) +++RELOC_TYPE (TLS_DTPMOD32, 0) +++RELOC_TYPE (TLS_DTPREL32, 0) +++RELOC_TYPE (TLS_DTPMOD64, 0) +++RELOC_TYPE (TLS_DTPREL64, 0) +++RELOC_TYPE (TLS_GD, 0) +++RELOC_TYPE (TLS_LDM, 0) +++RELOC_TYPE (TLS_DTPREL_HI16, 0) +++RELOC_TYPE (TLS_DTPREL_LO16, 0) +++RELOC_TYPE (TLS_GOTTPREL, 0) +++RELOC_TYPE (TLS_TPREL32, 0) +++RELOC_TYPE (TLS_TPREL64, 0) +++RELOC_TYPE (TLS_TPREL_HI16, 0) +++RELOC_TYPE (TLS_TPREL_LO16, 0) +++ +++#define NO_COPY_RELOC 1 +++#define NO_RELATIVE_RELOC 1 ++Index: elfutils-0.175/backends/mips_retval.c ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_retval.c ++@@ -0,0 +1,321 @@ +++/* Function return value location for Linux/mips ABI. +++ Copyright (C) 2005 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++#include +++#include +++ +++#include "../libebl/libeblP.h" +++#include "../libdw/libdwP.h" +++ +++#define BACKEND mips_ +++#include "libebl_CPU.h" +++ +++/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ +++#define EF_MIPS_ABI 0x0000F000 +++ +++/* The original o32 abi. */ +++#define E_MIPS_ABI_O32 0x00001000 +++ +++/* O32 extended to work on 64 bit architectures */ +++#define E_MIPS_ABI_O64 0x00002000 +++ +++/* EABI in 32 bit mode */ +++#define E_MIPS_ABI_EABI32 0x00003000 +++ +++/* EABI in 64 bit mode */ +++#define E_MIPS_ABI_EABI64 0x00004000 +++ +++/* All the possible MIPS ABIs. */ +++enum mips_abi +++ { +++ MIPS_ABI_UNKNOWN = 0, +++ MIPS_ABI_N32, +++ MIPS_ABI_O32, +++ MIPS_ABI_N64, +++ MIPS_ABI_O64, +++ MIPS_ABI_EABI32, +++ MIPS_ABI_EABI64, +++ MIPS_ABI_LAST +++ }; +++ +++/* Find the mips ABI of the current file */ +++enum mips_abi find_mips_abi(Elf *elf) +++{ +++ GElf_Ehdr ehdr_mem; +++ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); +++ +++ if (ehdr == NULL) +++ return MIPS_ABI_LAST; +++ +++ GElf_Word elf_flags = ehdr->e_flags; +++ +++ /* Check elf_flags to see if it specifies the ABI being used. */ +++ switch ((elf_flags & EF_MIPS_ABI)) +++ { +++ case E_MIPS_ABI_O32: +++ return MIPS_ABI_O32; +++ case E_MIPS_ABI_O64: +++ return MIPS_ABI_O64; +++ case E_MIPS_ABI_EABI32: +++ return MIPS_ABI_EABI32; +++ case E_MIPS_ABI_EABI64: +++ return MIPS_ABI_EABI64; +++ default: +++ if ((elf_flags & EF_MIPS_ABI2)) +++ return MIPS_ABI_N32; +++ } +++ +++ /* GCC creates a pseudo-section whose name describes the ABI. */ +++ size_t shstrndx; +++ if (elf_getshdrstrndx (elf, &shstrndx) < 0) +++ return MIPS_ABI_LAST; +++ +++ const char *name; +++ Elf_Scn *scn = NULL; +++ while ((scn = elf_nextscn (elf, scn)) != NULL) +++ { +++ GElf_Shdr shdr_mem; +++ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); +++ if (shdr == NULL) +++ return MIPS_ABI_LAST; +++ +++ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: ""; +++ if (strncmp (name, ".mdebug.", 8) != 0) +++ continue; +++ +++ if (strcmp (name, ".mdebug.abi32") == 0) +++ return MIPS_ABI_O32; +++ else if (strcmp (name, ".mdebug.abiN32") == 0) +++ return MIPS_ABI_N32; +++ else if (strcmp (name, ".mdebug.abi64") == 0) +++ return MIPS_ABI_N64; +++ else if (strcmp (name, ".mdebug.abiO64") == 0) +++ return MIPS_ABI_O64; +++ else if (strcmp (name, ".mdebug.eabi32") == 0) +++ return MIPS_ABI_EABI32; +++ else if (strcmp (name, ".mdebug.eabi64") == 0) +++ return MIPS_ABI_EABI64; +++ else +++ return MIPS_ABI_UNKNOWN; +++ } +++ +++ return MIPS_ABI_UNKNOWN; +++} +++ +++unsigned int +++mips_abi_regsize (enum mips_abi abi) +++{ +++ switch (abi) +++ { +++ case MIPS_ABI_EABI32: +++ case MIPS_ABI_O32: +++ return 4; +++ case MIPS_ABI_N32: +++ case MIPS_ABI_N64: +++ case MIPS_ABI_O64: +++ case MIPS_ABI_EABI64: +++ return 8; +++ case MIPS_ABI_UNKNOWN: +++ case MIPS_ABI_LAST: +++ default: +++ return 0; +++ } +++} +++ +++ +++/* $v0 or pair $v0, $v1 */ +++static const Dwarf_Op loc_intreg_o32[] = +++ { +++ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 }, +++ }; +++ +++static const Dwarf_Op loc_intreg[] = +++ { +++ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 }, +++ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 }, +++ }; +++#define nloc_intreg 1 +++#define nloc_intregpair 4 +++ +++/* $f0 (float), or pair $f0, $f1 (double). +++ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */ +++static const Dwarf_Op loc_fpreg_o32[] = +++ { +++ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 }, +++ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 }, +++ }; +++ +++/* $f0, or pair $f0, $f2. */ +++static const Dwarf_Op loc_fpreg[] = +++ { +++ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 }, +++ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 }, +++ }; +++#define nloc_fpreg 1 +++#define nloc_fpregpair 4 +++#define nloc_fpregquad 8 +++ +++/* The return value is a structure and is actually stored in stack space +++ passed in a hidden argument by the caller. But, the compiler +++ helpfully returns the address of that space in $v0. */ +++static const Dwarf_Op loc_aggregate[] = +++ { +++ { .atom = DW_OP_breg2, .number = 0 } +++ }; +++#define nloc_aggregate 1 +++ +++int +++mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) +++{ +++ /* First find the ABI used by the elf object */ +++ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf); +++ +++ /* Something went seriously wrong while trying to figure out the ABI */ +++ if (abi == MIPS_ABI_LAST) +++ return -1; +++ +++ /* We couldn't identify the ABI, but the file seems valid */ +++ if (abi == MIPS_ABI_UNKNOWN) +++ return -2; +++ +++ /* Can't handle EABI variants */ +++ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64)) +++ return -2; +++ +++ unsigned int regsize = mips_abi_regsize (abi); +++ if (!regsize) +++ return -2; +++ +++ /* Start with the function's type, and get the DW_AT_type attribute, +++ which is the type of the return value. */ +++ +++ Dwarf_Attribute attr_mem; +++ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); +++ if (attr == NULL) +++ /* The function has no return value, like a `void' function in C. */ +++ return 0; +++ +++ Dwarf_Die die_mem; +++ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); +++ int tag = dwarf_tag (typedie); +++ +++ /* Follow typedefs and qualifiers to get to the actual type. */ +++ while (tag == DW_TAG_typedef +++ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type +++ || tag == DW_TAG_restrict_type) +++ { +++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); +++ typedie = dwarf_formref_die (attr, &die_mem); +++ tag = dwarf_tag (typedie); +++ } +++ +++ switch (tag) +++ { +++ case -1: +++ return -1; +++ +++ case DW_TAG_subrange_type: +++ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) +++ { +++ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); +++ typedie = dwarf_formref_die (attr, &die_mem); +++ tag = dwarf_tag (typedie); +++ } +++ /* Fall through. */ +++ +++ case DW_TAG_base_type: +++ case DW_TAG_enumeration_type: +++ case DW_TAG_pointer_type: +++ case DW_TAG_ptr_to_member_type: +++ { +++ Dwarf_Word size; +++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, +++ &attr_mem), &size) != 0) +++ { +++ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) +++ size = regsize; +++ else +++ return -1; +++ } +++ if (tag == DW_TAG_base_type) +++ { +++ Dwarf_Word encoding; +++ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, +++ &attr_mem), &encoding) != 0) +++ return -1; +++ +++#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc)) +++ +++ if (encoding == DW_ATE_float) +++ { +++ *locp = ABI_LOC(loc_fpreg, regsize); +++ if (size <= regsize) +++ return nloc_fpreg; +++ +++ if (size <= 2*regsize) +++ return nloc_fpregpair; +++ +++ if (size <= 4*regsize && abi == MIPS_ABI_O32) +++ return nloc_fpregquad; +++ +++ goto aggregate; +++ } +++ } +++ *locp = ABI_LOC(loc_intreg, regsize); +++ if (size <= regsize) +++ return nloc_intreg; +++ if (size <= 2*regsize) +++ return nloc_intregpair; +++ +++ /* Else fall through. Shouldn't happen though (at least with gcc) */ +++ } +++ +++ case DW_TAG_structure_type: +++ case DW_TAG_class_type: +++ case DW_TAG_union_type: +++ case DW_TAG_array_type: +++ aggregate: +++ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */ +++ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64)) +++ return -2; +++ +++ *locp = loc_aggregate; +++ return nloc_aggregate; +++ } +++ +++ /* XXX We don't have a good way to return specific errors from ebl calls. +++ This value means we do not understand the type, but it is well-formed +++ DWARF and might be valid. */ +++ return -2; +++} ++Index: elfutils-0.175/backends/mips_symbol.c ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_symbol.c ++@@ -0,0 +1,53 @@ +++/* MIPS specific symbolic name handling. +++ Copyright (C) 2002, 2003, 2005 Red Hat, Inc. +++ This file is part of Red Hat elfutils. +++ Written by Jakub Jelinek , 2002. +++ +++ Red Hat elfutils is free software; you can redistribute it and/or modify +++ it under the terms of the GNU General Public License as published by the +++ Free Software Foundation; version 2 of the License. +++ +++ Red Hat elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received a copy of the GNU General Public License along +++ with Red Hat elfutils; if not, write to the Free Software Foundation, +++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +++ +++ Red Hat elfutils is an included package of the Open Invention Network. +++ An included package of the Open Invention Network is a package for which +++ Open Invention Network licensees cross-license their patents. No patent +++ license is granted, either expressly or impliedly, by designation as an +++ included package. Should you wish to participate in the Open Invention +++ Network licensing program, please visit www.openinventionnetwork.com +++ . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++#include +++ +++#define BACKEND mips_ +++#include "libebl_CPU.h" +++ +++/* Check for the simple reloc types. */ +++Elf_Type +++mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type, +++ int *addsub __attribute__ ((unused))) +++{ +++ switch (type) +++ { +++ case R_MIPS_16: +++ return ELF_T_HALF; +++ case R_MIPS_32: +++ return ELF_T_WORD; +++ case R_MIPS_64: +++ return ELF_T_XWORD; +++ default: +++ return ELF_T_NUM; +++ } +++} ++Index: elfutils-0.175/libebl/eblopenbackend.c ++=================================================================== ++--- elfutils-0.175.orig/libebl/eblopenbackend.c +++++ elfutils-0.175/libebl/eblopenbackend.c ++@@ -71,6 +71,8 @@ static const struct ++ { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, ++ { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, ++ { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, +++ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, +++ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, ++ ++ { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, ++ { "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB }, ++Index: elfutils-0.175/backends/Makefile.am ++=================================================================== ++--- elfutils-0.175.orig/backends/Makefile.am +++++ elfutils-0.175/backends/Makefile.am ++@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I ++ ++ ++ modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \ ++- tilegx m68k bpf riscv parisc +++ tilegx m68k bpf riscv parisc mips ++ libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ ++ libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ ++ libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \ ++ libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \ ++ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \ ++- libebl_parisc_pic.a +++ libebl_parisc_pic.a libebl_mips_pic.a ++ noinst_LIBRARIES = $(libebl_pic) ++ noinst_DATA = $(libebl_pic:_pic.a=.so) ++ ++@@ -141,6 +141,10 @@ parisc_SRCS = parisc_init.c parisc_symbo ++ libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) ++ am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) ++ +++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c +++libebl_mips_pic_a_SOURCES = $(mips_SRCS) +++am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) +++ ++ libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu) ++ @rm -f $(@:.so=.map) ++ $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ diff --cc debian/patches/mips_cfi.patch index 0000000,0000000..8dada52 new file mode 100644 --- /dev/null +++ b/debian/patches/mips_cfi.patch @@@ -1,0 -1,0 +1,114 @@@ ++Description: Add MIPS ABI CFI callback ++Author: Kurt Roeckx ++Last-Update: 2018-12-30 ++ ++Index: elfutils-0.175/backends/Makefile.am ++=================================================================== ++--- elfutils-0.175.orig/backends/Makefile.am +++++ elfutils-0.175/backends/Makefile.am ++@@ -141,7 +141,7 @@ parisc_SRCS = parisc_init.c parisc_symbo ++ libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) ++ am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) ++ ++-mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c +++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c ++ libebl_mips_pic_a_SOURCES = $(mips_SRCS) ++ am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) ++ ++Index: elfutils-0.175/backends/mips_cfi.c ++=================================================================== ++--- /dev/null +++++ elfutils-0.175/backends/mips_cfi.c ++@@ -0,0 +1,80 @@ +++/* MIPS ABI-specified defaults for DWARF CFI. +++ Copyright (C) 2018 Kurt Roeckx, Inc. +++ This file is part of elfutils. +++ +++ This file is free software; you can redistribute it and/or modify +++ it under the terms of either +++ +++ * the GNU Lesser General Public License as published by the Free +++ Software Foundation; either version 3 of the License, or (at +++ your option) any later version +++ +++ or +++ +++ * the GNU General Public License as published by the Free +++ Software Foundation; either version 2 of the License, or (at +++ your option) any later version +++ +++ or both in parallel, as here. +++ +++ elfutils is distributed in the hope that it will be useful, but +++ WITHOUT ANY WARRANTY; without even the implied warranty of +++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +++ General Public License for more details. +++ +++ You should have received copies of the GNU General Public License and +++ the GNU Lesser General Public License along with this program. If +++ not, see . */ +++ +++#ifdef HAVE_CONFIG_H +++# include +++#endif +++ +++#include +++ +++#define BACKEND mips_ +++#include "libebl_CPU.h" +++ +++int +++mips_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info) +++{ +++ static const uint8_t abi_cfi[] = +++ { +++ /* Call-saved regs. */ +++ DW_CFA_same_value, ULEB128_7 (16), /* $16 */ +++ DW_CFA_same_value, ULEB128_7 (17), /* $17 */ +++ DW_CFA_same_value, ULEB128_7 (18), /* $18 */ +++ DW_CFA_same_value, ULEB128_7 (19), /* $19 */ +++ DW_CFA_same_value, ULEB128_7 (20), /* $20 */ +++ DW_CFA_same_value, ULEB128_7 (21), /* $21 */ +++ DW_CFA_same_value, ULEB128_7 (22), /* $22 */ +++ DW_CFA_same_value, ULEB128_7 (23), /* $23 */ +++ DW_CFA_same_value, ULEB128_7 (28), /* $28 */ +++ DW_CFA_same_value, ULEB128_7 (29), /* $29 */ +++ DW_CFA_same_value, ULEB128_7 (30), /* $30 */ +++ +++ DW_CFA_same_value, ULEB128_7 (52), /* $f20 */ +++ DW_CFA_same_value, ULEB128_7 (53), /* $f21 */ +++ DW_CFA_same_value, ULEB128_7 (54), /* $f22 */ +++ DW_CFA_same_value, ULEB128_7 (55), /* $f23 */ +++ DW_CFA_same_value, ULEB128_7 (56), /* $f24 */ +++ DW_CFA_same_value, ULEB128_7 (57), /* $f25 */ +++ DW_CFA_same_value, ULEB128_7 (58), /* $f26 */ +++ DW_CFA_same_value, ULEB128_7 (59), /* $f27 */ +++ DW_CFA_same_value, ULEB128_7 (60), /* $f28 */ +++ DW_CFA_same_value, ULEB128_7 (61), /* $f29 */ +++ DW_CFA_same_value, ULEB128_7 (62), /* $f30 */ +++ DW_CFA_same_value, ULEB128_7 (63), /* $f31 */ +++ +++ /* The CFA is the SP. */ +++ DW_CFA_def_cfa, ULEB128_7 (29), ULEB128_7 (0), +++ }; +++ +++ abi_info->initial_instructions = abi_cfi; +++ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi]; +++ abi_info->data_alignment_factor = 4; +++ +++ abi_info->return_address_register = 31; /* $31 */ +++ +++ return 0; +++} ++Index: elfutils-0.175/backends/mips_init.c ++=================================================================== ++--- elfutils-0.175.orig/backends/mips_init.c +++++ elfutils-0.175/backends/mips_init.c ++@@ -50,6 +50,7 @@ mips_init (Elf *elf __attribute__ ((unus ++ HOOK (eh, reloc_simple_type); ++ HOOK (eh, return_value_location); ++ HOOK (eh, register_info); +++ HOOK (eh, abi_cfi); ++ ++ return MODVERSION; ++ } diff --cc debian/patches/mips_readelf_w.patch index 0000000,0000000..c888037 new file mode 100644 --- /dev/null +++ b/debian/patches/mips_readelf_w.patch @@@ -1,0 -1,0 +1,22 @@@ ++From: Kurt Roeckx ++Subject: Make readelf -w output debug information on mips ++Bug-Debian: http://bugs.debian.org/662041 ++Forwarded: not-needed ++ ++Upstreams wants a change where this is handled by a hook that needs ++to be filled in by the backend for the arch. ++ ++Index: elfutils-0.175/src/readelf.c ++=================================================================== ++--- elfutils-0.175.orig/src/readelf.c +++++ elfutils-0.175/src/readelf.c ++@@ -11133,7 +11133,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl * ++ GElf_Shdr shdr_mem; ++ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); ++ ++- if (shdr != NULL && shdr->sh_type == SHT_PROGBITS) +++ if (shdr != NULL && ( +++ (shdr->sh_type == SHT_PROGBITS) || (shdr->sh_type == SHT_MIPS_DWARF))) ++ { ++ static const struct ++ { diff --cc debian/patches/remove-old-glibc-hack.diff index 0000000,0000000..545a8e8 new file mode 100644 --- /dev/null +++ b/debian/patches/remove-old-glibc-hack.diff @@@ -1,0 -1,0 +1,17 @@@ ++--- elfutils-0.182.orig/tests/dwfl-proc-attach.c +++++ elfutils-0.182/tests/dwfl-proc-attach.c ++@@ -107,6 +107,7 @@ main (int argc __attribute__ ((unused)), ++ return (threads == 3) ? 0 : -1; ++ } ++ +++#if 0 ++ /* HACK. This is a simple workaround for a combination of old glibc ++ and valgrind. libdw will try to dlopen libdebuginfod this causes ++ some unsuppressable memory leak warnings when the process is ++@@ -118,5 +119,6 @@ void *dlopen (void) ++ { ++ return NULL; ++ } +++#endif ++ ++ #endif /* __linux__ */ diff --cc debian/patches/riscv-retval-workaround.patch index 0000000,0000000..237aad1 new file mode 100644 --- /dev/null +++ b/debian/patches/riscv-retval-workaround.patch @@@ -1,0 -1,0 +1,11 @@@ ++--- a/backends/riscv_retval.c +++++ b/backends/riscv_retval.c ++@@ -111,7 +111,7 @@ ++ Dwarf_Die *arg1 __attribute__ ((unused))) ++ { ++ /* ??? */ ++- return 1; +++ return 0; ++ } ++ ++ static int diff --cc debian/patches/series index 0000000,0000000..e8c7757 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,19 @@@ ++#hppa_backend.diff ++#arm_backend.diff ++#mips_backend.diff ++testsuite-ignore-elflint.diff ++#mips_readelf_w.patch ++#kfreebsd_path.patch ++#0001-Ignore-differences-between-mips-machine-identifiers.patch ++#0002-Add-support-for-mips64-abis-in-mips_retval.c.patch ++#0003-Add-mips-n64-relocation-format-hack.patch ++#hurd_path.patch ++ignore_strmerge.diff ++disable_werror.patch ++#mips_cfi.patch ++riscv-retval-workaround.patch ++#disable-some-tests.diff ++remove-old-glibc-hack.diff ++kfreebsd-debuginfod ++kfreebsd-mremap-stub ++hurd-hacks.diff diff --cc debian/patches/testsuite-ignore-elflint.diff index 0000000,0000000..6a1ddcc new file mode 100644 --- /dev/null +++ b/debian/patches/testsuite-ignore-elflint.diff @@@ -1,0 -1,0 +1,36 @@@ ++On many architectures this test fails because binaries/libs produced by ++binutils don't pass elflint. However elfutils shouldn't FTBFS because of this. ++ ++So we run the tests on all archs to see what breaks, but if it breaks we ignore ++the result (exitcode 77 means: this test was skipped). ++ ++--- a/tests/run-elflint-self.sh +++++ b/tests/run-elflint-self.sh ++@@ -18,5 +18,5 @@ ++ ++ . $srcdir/test-subr.sh ++ ++-testrun_on_self ${abs_top_builddir}/src/elflint --quiet --gnu-ld +++testrun_on_self_skip ${abs_top_builddir}/src/elflint --quiet --gnu-ld ++ testrun_on_self_compressed ${abs_top_builddir}/src/elflint --quiet --gnu-ld ++--- a/tests/test-subr.sh +++++ b/tests/test-subr.sh ++@@ -212,3 +212,18 @@ testrun_on_self_quiet() ++ # Only exit if something failed ++ if test $exit_status != 0; then exit $exit_status; fi ++ } +++ +++# Same as testrun_on_self(), but skip on failure. +++testrun_on_self_skip() +++{ +++ exit_status=0 +++ +++ for file in $self_test_files; do +++ testrun $* $file \ +++ || { echo "*** failure in $* $file"; exit_status=77; } +++ done +++ +++ # Only exit if something failed +++ if test $exit_status != 0; then exit $exit_status; fi +++} +++ diff --cc debian/po/POTFILES.in index 0000000,0000000..2cb80c3 new file mode 100644 --- /dev/null +++ b/debian/po/POTFILES.in @@@ -1,0 -1,0 +1,1 @@@ ++[type: gettext/rfc822deb] libdebuginfod-common.templates diff --cc debian/po/de.po index 0000000,0000000..fbc5734 new file mode 100644 --- /dev/null +++ b/debian/po/de.po @@@ -1,0 -1,0 +1,45 @@@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the elfutils package. ++# Helge Kreutzmann , 2021. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils 0.185-2\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2021-09-26 11:11+0200\n" ++"Last-Translator: Helge Kreutzmann \n" ++"Language-Team: German \n" ++"Language: de\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Mit Debians debuginfod-Sever zum Herunterladen von Debug-Symbolen verbinden?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Bei der Fehlersuche in Programmen (mit beispielsweise GDB) oder dem Einsatz " ++"von debuginfo-consumer-Anwendungen ist es möglich, sich mit Debians " ++"debuginfod-Server zu verbinden und die notwendigen Fehlersuchinformationen " ++"für das Programm, dass sie untersuchen, direkt herunterzuladen, ohne das Apt-" ++"Depot debian-debug konfigurieren oder irgend ein dbgsym-Paket " ++"herunterzuladen zu müssen. Dieser Dienst wird von Debian bereitgestellt und " ++"die einzige Information, die sie dem Dienst senden müssen, ist der Hash der " ++"Build-ID der Programme/Bibliotheken, für die die Fehlersuche erfolgt." diff --cc debian/po/es.po index 0000000,0000000..642ce32 new file mode 100644 --- /dev/null +++ b/debian/po/es.po @@@ -1,0 -1,0 +1,44 @@@ ++# elfutils po-debconf translation to Spanish. ++# Copyright (C) 2021 ++# This file is distributed under the same license as the elfutils package. ++# Camaleón , 2022. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2022-01-06 20:03+0100\n" ++"Last-Translator: Camaleón \n" ++"Language-Team: Debian Spanish \n" ++"Language: es\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "¿Desea conectarse al servidor debuginfod de Debian para descargar " ++"los símbolos de depuración?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Cuando se depuran programas (p. ej., con GDB) o utiliza aplicaciones que " ++"usan debuginfo, puede conectarse al servidor debuginfod de Debian y " ++"descargar la información de depuración necesaria para la aplicación que " ++"está depurando sobre la marcha, sin necesidad de configurar el repositorio " ++"APT de debian-debug ni instalar paquetes dbgsym. Este servicio está mantenido " ++"por Debian y la única información que tendrá que enviarle es la huella " ++"digital «Build-ID» de los programas o bibliotecas depuradas." diff --cc debian/po/fr.po index 0000000,0000000..6ceebf7 new file mode 100644 --- /dev/null +++ b/debian/po/fr.po @@@ -1,0 -1,0 +1,49 @@@ ++# elfutils debconf templates French translation ++# Copyright (C) 2021 ++# This file is distributed under the same license as the elfutils package. ++# ++# Translators: ++# Jean-Pierre Giraud , 2021. ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2021-09-19 11:12+0100\n" ++"Last-Translator: Jean-Pierre Giraud \n" ++"Language-Team: French \n" ++"Language: fr_FR\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n > 1);\n" ++"X-Generator: Lokalize 2.0\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Faut-il se connecter au serveur debuginfod de Debian pour télécharger les " ++"symboles de débogage ?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Lors du débogage de programmes (avec GDB par exemple) ou de l'utilisation " ++"d'applications se servant de debuginfo, il est possible de se connecter au " ++"serveur debuginfod de Debian et de télécharger les informations de débogage " ++"nécessaires pour le programme que vous déboguez à la volée, sans avoir " ++"besoin de configurer le dépôt APT debian-debug ou d'installer un paquet " ++"dbgsym. Ce service est entretenu par Debian et la seule information que vous " ++"aurez à lui envoyer est l'empreinte numérique du « Build-ID » des " ++"programmes ou bibliothèques débogués." diff --cc debian/po/it.po index 0000000,0000000..dd8ef60 new file mode 100644 --- /dev/null +++ b/debian/po/it.po @@@ -1,0 -1,0 +1,45 @@@ ++# elfutils po-debconf italian translation. ++# Copyright (C) 2023 elfutils' copyright holder ++# This file is distributed under the same license as the elfutils package. ++# Ceppo , 2023. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2023-07-11 00:00+0000\n" ++"Last-Translator: Ceppo \n" ++"Language-Team: Italian \n" ++"Language: it\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Connettersi al server debuginfod di Debian per scaricare i simboli di debug?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Mentre si effettua il debug di programmi (con GDB, ad esempio) o si usano " ++"applicazioni che utilizzano debuginfo, è possibile connettersi al server " ++"debuginfod di Debian e scaricare al momento le informazioni di debug per il " ++"programma di cui si sta effettuando il debug, senza bisogno di configurare " ++"il repository apt debian-debug né di installare alcun pacchetto dbgsym. " ++"Questo servizio è mantenuto da Debian e l'unica informazione che sarà " ++"necessario inviare è l'hash del Build-ID del programma/libreria di cui si " ++"sta effettuando il debug." diff --cc debian/po/nl.po index 0000000,0000000..d0c172c new file mode 100644 --- /dev/null +++ b/debian/po/nl.po @@@ -1,0 -1,0 +1,49 @@@ ++# Dutch translation of elfutils debconf templates. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the elfutils package. ++# FIRST AUTHOR , YEAR. ++# Frans Spiesschaert , 2021. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils_0.185-2\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2021-08-18 21:59+0200\n" ++"Last-Translator: Frans Spiesschaert \n" ++"Language-Team: Debian Dutch l10n Team \n" ++"Language: nl\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Poedit 2.2.1\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Verbinding maken met de debuginfod-server van Debian om debug-symbolen te " ++"downloaden?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Tijdens het debuggen van programma's (bijvoorbeeld met GDB) of het gebruik " ++"van debuginfo-consumer-applicaties is het mogelijk om verbinding te maken " ++"met de debuginfod-server van Debian en de nodige debug-informatie te " ++"downloaden voor het programma dat u aan het debuggen bent, zonder dat het " ++"nodig is om de apt-bron debian-debug te configureren of dbgsym-pakketten te " ++"installeren. Deze service wordt onderhouden door Debian, en de enige " ++"informatie die u ernaar hoeft te sturen, is de Build-ID-hash van de " ++"programma('s)/bibliotheek(en) die u wilt debuggen." diff --cc debian/po/pt.po index 0000000,0000000..3a936b3 new file mode 100644 --- /dev/null +++ b/debian/po/pt.po @@@ -1,0 -1,0 +1,47 @@@ ++# Translation of elfutils debconf messages to European Portuguese ++# Copyright (C) YEAR THE elfutils'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the elfutils package. ++# ++# Américo Monteiro , 2021. ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils 0.186-1\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2021-12-18 22:26+0000\n" ++"Last-Translator: Américo Monteiro \n" ++"Language-Team: Portuguese <>\n" ++"Language: pt\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Lokalize 20.12.0\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Ligar ao servidor debuginfod de Debian para descarregar símbolos de depuração?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Quando se depuram programas (com GDB, por exemplo) ou se usam aplicações " ++"debuginfo-consumer, é possível ligar ao servidor debuginfod de Debian e " ++"descarregar na hora a informação de depuração necessária para o programa que" ++" você " ++"está a depurar, sem a necessidade de configurar o repositório apt " ++"debian-debug nem instalar nenhuns pacotes dbgsym. Este serviço é mantido " ++"por Debian, e a única informação que você tem de enviar para ele é a cinza " ++"do Build-ID dos programa(s)/biblioteca(s) que vão ser depuradas." diff --cc debian/po/pt_BR.po index 0000000,0000000..01ec556 new file mode 100644 --- /dev/null +++ b/debian/po/pt_BR.po @@@ -1,0 -1,0 +1,44 @@@ ++# Debconf translation for elfutils. ++# Copyright (C) 2021 Sergio Durigan Junior ++# This file is distributed under the same license as the elfutils package. ++# Sergio Durigan Junior , 2021. ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2021-03-21 02:57-0400\n" ++"Last-Translator: Sergio Durigan Junior \n" ++"Language-Team: Brazilian Portuguese \n" ++"Language: pt_BR\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "Conectar-se ao servidor debuginfod do Debian para baixar símbolos de depuração?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"Enquanto você estiver depurando programas (com o GDB, por exemplo) ou " ++"utilizando algum outro aplicativo consumidor de informações de " ++"depuração, é possível conectar-se ao servidor debuginfod do Debian e " ++"baixar simultaneamente as informações de depuração necessárias para o " ++"programa sendo depurado, sem que seja necessário configurar o " ++"repositório debian-debug nem instalar quaisquer pacotes dbgsym. Este " ++"serviço é mantido pelo Debian, e a única informação que será enviada a " ++"ele é a assinatura Build-ID do(s) programa(s)/biblioteca(s) sendo " ++"depurado(s)." diff --cc debian/po/ro.po index 0000000,0000000..e33d16f new file mode 100644 --- /dev/null +++ b/debian/po/ro.po @@@ -1,0 -1,0 +1,57 @@@ ++# Mesajele în limba română pentru pachetul elfutils. ++# Romanian translation of elfutils. ++# Copyright © 2023 THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the elfutils package. ++# ++# Remus-Gabriel Chelu , 2023. ++# ++# Cronologia traducerii fișierului „elfutils”: ++# Traducerea inițială, făcută de R-GC, pentru versiunea elfutils 0.188-2.1(2021-03-06). ++# Actualizare a traducerii pentru versiunea Y, făcută de X, Y(anul). ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils 0.188-2.1\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2023-02-19 10:34+0100\n" ++"Last-Translator: Remus-Gabriel Chelu \n" ++"Language-Team: Romanian \n" ++"Language: ro\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && " ++"n%100<=19) ? 1 : 2);\n" ++"X-Bugs: Report translation errors to the Language-Team address.\n" ++"X-Generator: Poedit 3.2.2\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Doriți să vă conectați la serverul Debian „debuginfod” pentru a descărca " ++"simboluri de depanare?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging on-" ++"the-fly, without the need to configure the debian-debug apt repository nor " ++"installing any dbgsym packages. This service is maintained by Debian, and the " ++"only information you will have to send to it is the Build-ID hash of the " ++"program(s)/library(ies) being debugged." ++msgstr "" ++"În timp ce depanați programe (cu GDB, de exemplu) sau utilizați aplicații " ++"debuginfo-consumer, este posibil să vă conectați la serverul Debian " ++"„debuginfod” și să descărcați informațiile necesare de depanare pentru " ++"programul pe care îl depanați din mers, fără a fi nevoie să configurați " ++"depozitul apt „debian-debug” și nici să instalați niciun pachet „dbgsym”. " ++"Acest serviciu este întreținut de Debian și singura informație pe care va " ++"trebui să-i trimiteți este suma de control a identificatorului de compilare " ++"(Build-ID hash) al programului/bibliotecii care este depanată (sau ale " ++"programelor/bibliotecilor care sunt depanate)." diff --cc debian/po/sv.po index 0000000,0000000..3cf3ddb new file mode 100644 --- /dev/null +++ b/debian/po/sv.po @@@ -1,0 -1,0 +1,46 @@@ ++# Swedish translation of elfutils debconf messages. ++# Copyright (C) The elfutils package copyright holders. ++# This file is distributed under the same license as the elfutils package. ++# Peter Kvillegård , 2023. ++# ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils 0.189-4\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: 2023-08-14 21:31+0200\n" ++"Last-Translator: Peter Kvillegård \n" ++"Language-Team: Swedish \n" ++"Language: sv\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"Plural-Forms: nplurals=2; plural=(n != 1);\n" ++"X-Generator: Poedit 3.2.2\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++"Anslut till Debians debuginfod-server för att ladda ner felsökningssymboler?" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" ++"När du felsöker program (med GDB till exempel) eller kör applikationer som " ++"använder debuginfo, är det möjligt att direkt ansluta till Debians " ++"debuginfod-server och ladda ner den felsökningsinformation som behövs för " ++"programmet som du felsöker. Du behöver inte konfigurera apt-förrådet för " ++"debian-debug eller installera några dbgsym-paket. Den här tjänsten " ++"underhålls av Debian, och den enda information som du behöver skicka är " ++"Build-ID-kondensat (hash) för det (eller de) program/bibliotek som felsöks." diff --cc debian/po/templates.pot index 0000000,0000000..638ffc3 new file mode 100644 --- /dev/null +++ b/debian/po/templates.pot @@@ -1,0 -1,0 +1,37 @@@ ++# SOME DESCRIPTIVE TITLE. ++# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER ++# This file is distributed under the same license as the elfutils package. ++# FIRST AUTHOR , YEAR. ++# ++#, fuzzy ++msgid "" ++msgstr "" ++"Project-Id-Version: elfutils\n" ++"Report-Msgid-Bugs-To: elfutils@packages.debian.org\n" ++"POT-Creation-Date: 2021-03-06 18:23-0500\n" ++"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" ++"Last-Translator: FULL NAME \n" ++"Language-Team: LANGUAGE \n" ++"Language: \n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=CHARSET\n" ++"Content-Transfer-Encoding: 8bit\n" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "Connect to Debian's debuginfod server to download debug symbols?" ++msgstr "" ++ ++#. Type: boolean ++#. Description ++#: ../libdebuginfod-common.templates:1001 ++msgid "" ++"While debugging programs (with GDB, for example) or using debuginfo-consumer " ++"applications, it is possible to connect to Debian's debuginfod server and " ++"download the necessary debug information for the program you are debugging " ++"on-the-fly, without the need to configure the debian-debug apt repository " ++"nor installing any dbgsym packages. This service is maintained by Debian, " ++"and the only information you will have to send to it is the Build-ID hash of " ++"the program(s)/library(ies) being debugged." ++msgstr "" diff --cc debian/rules index 0000000,0000000..98685d0 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,187 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++# Copyright 2006, Kurt Roeckx ++ ++# Based on the sample file from dh-make: ++# Sample debian/rules that uses debhelper. ++# This file was originally written by Joey Hess and Craig Small. ++# As a special exception, when this file is copied by dh-make into a ++# dh-make output file, you may use that output file without restriction. ++# This special exception was added by Craig Small in version 0.37 of dh-make. ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++DISTRO = $(shell lsb_release -is) ++ ++# These are used for cross-compiling and for saving the configure script ++# from having to guess our platform (since we know it already) ++DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) ++DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) ++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++ ++ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) ++ confflags += --build=$(DEB_HOST_GNU_TYPE) --enable-maintainer-mode ++else ++ confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) ++endif ++ ++ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) ++ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) ++ USE_JOBS = -j$(NUMJOBS) ++endif ++ ++DPKG_EXPORT_BUILDFLAGS = 1 ++include /usr/share/dpkg/buildflags.mk ++ ++# https://sourceware.org/pipermail/elfutils-devel/2020q2/002733.html ++ifneq (,$(findstring -flto, $(CFLAGS))) ++ CFLAGS += -flto-partition=none -Wno-error=stack-usage= ++ CXXFLAGS += -flto-partition=none ++ LDFLAGS += -Wno-error=stack-usage= ++endif ++CFLAGS := $(patsubst -O%,-O3, $(CFLAGS)) ++CXXFLAGS := $(patsubst -O%,-O3, $(CXXFLAGS)) ++ ++# debuginfod configuration flags. ++ifneq (,$(filter pkg.elfutils.nodebuginfod,$(DEB_BUILD_PROFILES))) ++ conf_debuginfod = \ ++ --disable-libdebuginfod \ ++ --disable-debuginfod ++else ++ conf_debuginfod = \ ++ --enable-libdebuginfod \ ++ --enable-debuginfod ++ ++ ifeq ($(DISTRO),Debian) ++ conf_debuginfod += \ ++ --enable-debuginfod-urls="https://debuginfod.debian.net" ++ else ifeq ($(DISTRO),Ubuntu) ++ conf_debuginfod += \ ++ --enable-debuginfod-urls="https://debuginfod.ubuntu.com" ++ endif ++endif ++ ++ ++stamps/configure: ++ dh_testdir ++ dh_autoreconf ++ @mkdir -p stamps ++ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) ++ CFLAGS='$(CFLAGS_FOR_BUILD)' \ ++ CPPFLAGS='$(CPPFLAGS_FOR_BUILD)' \ ++ CXXFLAGS='$(CXXFLAGS_FOR_BUILD)' \ ++ LDFLAGS='$(LDFLAGS_FOR_BUILD)' \ ++ ./configure --enable-maintainer-mode \ ++ --enable-libdebuginfod=dummy \ ++ --disable-debuginfod ++ $(MAKE) $(USE_JOBS) ++ $(MAKE) clean ++endif ++ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \ ++ ./configure $(confflags) --prefix=/usr \ ++ --sysconfdir=/etc \ ++ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ ++ --program-prefix=eu- --disable-silent-rules \ ++ $(conf_debuginfod) ++ touch $@ ++ ++build: stamps/build ++stamps/build: stamps/configure ++ dh_testdir ++ ++ $(MAKE) $(USE_JOBS) ++ ++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) ++ # Check that those files exist. ++ -ls -l /proc/$$$$/maps ++ -ls -l /proc/$$$$/auxv ++ -ls -l /proc/$$$$/ ++ -LC_CTYPE=C $(MAKE) check $(USE_JOBS) || { cat tests/test-suite.log; exit 1; } ++ cat tests/test-suite.log ++endif ++ ++ touch $@ ++ ++clean: ++ dh_testdir ++ dh_testroot ++ rm -rf stamps ++ [ ! -f Makefile ] || $(MAKE) distclean ++ dh_autoreconf_clean ++ dh_clean ++ ++install: build ++ dh_testdir ++ dh_testroot ++ dh_prep ++ dh_installdirs ++ ++ # Add here commands to install the package into debian/tmp ++ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp ++ # We do not provide a libebl anymore, use libdw instead. ++ rm -f debian/tmp/usr/include/elfutils/libebl.h ++ # We don't install the systemd service file. ++ rm -f debian/tmp/usr/share/man/man8/debuginfod.service.8 ++ ++ dh_install --sourcedir=debian/tmp ++ rm -f debian/elfutils/usr/bin/debuginfod* ++ dh_missing --fail-missing --sourcedir=debian/tmp ++ ++# Build architecture-independent files here. ++build-indep: build ++binary-indep: build-indep install ++ dh_testdir ++ dh_testroot ++ dh_installchangelogs -i ChangeLog ++ dh_installdocs -i ++ ++ dh_compress -i ++ dh_fixperms -i ++ dh_installdebconf -i ++ dh_installdeb -i ++ dh_gencontrol -i ++ dh_md5sums -i ++ dh_builddeb -i ++ ++# We have nothing to do. ++ ++# Build architecture-dependent files here. ++build-arch: build ++binary-arch: build-arch install ++ dh_testdir ++ dh_testroot ++ dh_installchangelogs -a ChangeLog ++ dh_installdocs -a ChangeLog ++ ++ : # FIXME: package those ... ++# find debian/tmp -name '*debuginfod*' | xargs -r rm -f ++# rm -f debian/tmp/usr/share/man/man1/eu-elfclassify.1 ++# rm -f debian/tmp/usr/share/man/man1/eu-readelf.1 ++# rm -f debian/tmp/usr/share/man/man3/elf_*.3 ++ ++ dh_dwz -a ++ dh_strip -a ++ dh_strip_nondeterminism -a ++ dh_compress -a ++ dh_fixperms -a ++ dpkg-gensymbols -Pdebian/libdw1t64/ -plibdw1t64 -c4 ++ dpkg-gensymbols -Pdebian/libasm1t64/ -plibasm1t64 -c4 ++ dpkg-gensymbols -Pdebian/libelf1t64/ -plibelf1t64 -c4 ++ dh_makeshlibs -plibelf1t64 -V "libelf1t64 (>= 0.132)" ++ dh_makeshlibs -plibasm1t64 -V "libasm1t64 (>= 0.132)" ++ dh_makeshlibs -plibdw1t64 -V "libdw1t64 (>= 0.138)" ++ dh_makeshlibs -plibdebuginfod1t64 ++ dh_installdebconf -a ++ dh_installdeb -a ++ dh_shlibdeps -a ++ dh_gencontrol -a ++ dh_md5sums -a ++ dh_builddeb -a ++ ++binary: binary-indep binary-arch ++ ++maint-unpatch: ++ bash debian/unpatch.sh debian/patches ++ ++.PHONY: build clean binary-indep binary-arch binary install maint-unpatch diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/upstream/signing-key.asc index 0000000,0000000..e8d750d new file mode 100644 --- /dev/null +++ b/debian/upstream/signing-key.asc @@@ -1,0 -1,0 +1,115 @@@ ++-----BEGIN PGP ARMORED FILE----- ++Comment: Use "gpg --dearmor" for unpacking ++ ++mQINBFxDPtIBEAC8xePaWvq5cDMBYtrpdmR20YX5xrDXUeHgueSVE9Mw8yCan2Cq ++1Ac1jHYnXxp4Jj3q4tIS9Jq2oAbqxyvBMdJYqEz4z709eDnYBacZQcGqojLh3HI2 ++P7lmmKxkL8rS3Q3Ug05mYT+MwgmRvIO1+kwQTcq1AeB9z9/zikgY1Jv1R86gH8G8 ++4OPbJUowdE/mT3pQ+2UQnarCVPJ3WJtZNDXPRzskk0t5h+Mg5RtX+COoHfsvWHiE ++UTmHMfynw49GG/YF6jLSVzMlKMz3jdOePIArpm2BNUu8DvEn9at6daKR4Ah+ujDd ++08l9j8wFhJnenn/9+ENjm9kOGQWOmH/fEIOlMAATVdZEfHVfAWbgICPSrPyi+v3A ++CE4uEoaw85LgbAAbhzdswlLezLxS7LLTpfDZUFZfkho1MSGXaCQ475/iVAeuxi61 ++B2VcmH4lOSH7HYNkMY8ggGk2/WG35eq8PZme8PvXUmLu+f2jzy9XFekIr+/Ks2Tc ++hCTYCw6bhSLPa19HapCxvWXgNcYzZ8jULqBXsAfj4NnzBTn6u5nsJ1reA8GoO9vL ++aQf3LDgr+UY/z+6N474lAVfr0eIdWzkWPvX8fcBCfiB944rPr+Q50RUfc9ngIKP4 ++JsflhXTn601aL4r6qkCcBVqO/eRhb4vCAUo7csemTKzI/05ooGfQtZ3O5QARAQAB ++tBtNYXJrIFdpZWxhYXJkIDxtandAZ251Lm9yZz6JAk4EEwEKADgWIQTsPP6I9soH ++iHdPXB0apEvmSd52CgUCXE36UwIbAQULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK ++CRAapEvmSd52CjVuEACsjuRF5irhi1rFLw/Fvkx0/GJBW29+RvJxYJnijDM94QiQ ++mpxtp01SIZKoJFHbF5PiS7MVlYguJl8FPAfAUz9tdEMr8U6fsXxqpQBXW2rZbvRn ++sFSlPCkC/tebli+x9tMFmaWUmW0SIisojNQsK1EopVeC04qDSx39bZpfDKX45f49 ++XO7iZdc0SQ7XQntWmcK+PJok14qB4lhAuLNJZ0R/uLpFffXILb34axKqKRo4d1/E ++kwz5uj/H9oK5iWAMH45DotnOldk7QLwHlIyAx9lorWvEO1S1WJqNLI4UngiDptyB ++zmoMIueTjTugQ3XIFamzzru438GLgOT7GHr3V94azKr3kO8+KzZS37RfT9aL+4uD ++e679fkRw0fKfCG3spoYIt645krG/N965017IoVffge0XIT/aT0tHSYVfxeddAYEP ++2mw7Fx3YrxGS70GOMoNn+9/newyHm/FQ2j7OR37l0tlY+cuuGR9Ct6kME/5Nz/pb ++RVJkI/n+cpfoaM/CYQu1mPiMZ/fe2B80wmubEZSOkPG2Ilzs6ug0LiF7cXkAXhE1 ++FrlW8ezpqHnuzBW8rImYsfmbHEoiff0+yk6HNXFJuRY08tL6SbYic+6b5+ZgpAvo ++isdyq395ytHuj0ZGAjRwmMsn7C/3e2L6DGxRY9sBQFok+TbiiYilBp8VP9gARbQe ++TWFyayBXaWVsYWFyZCA8bWFya0BrbG9tcC5vcmc+iQJRBBMBCgA7AhsBBQsJCAcC ++BhUKCQgLAgQWAgMBAh4BAheAFiEE7Dz+iPbKB4h3T1wdGqRL5knedgoFAlxN+5kC ++GQEACgkQGqRL5knedgrjvQ//RYuizq1PomB43yJPsE/I8oRdWDQE56KGuVu8v+EJ ++VziMippFzP9H2h9YWTRn+KlSuHQVHsLoQCzBM7nZFxIc7nYPSqQfUmh2TUeQ2fmB ++6NtOMyfOD/miWuxfBTknGzQIhuKRRgu7EMb7QM9LJDNMi7HYTYNrTPJTN5/Xv6zu ++BCu2keeaI8xPaQloUUsfwCmE++eOSs17gkU5MvH0XCPGHjTSzyLHqFd0D5H+6jYu ++mF5dMlB1eYEDAlqoG33RwJY3dvjdUWb3c3xDi1Ty1+P3YMW9+ovTipLggBy6C9lF ++383ABJZbR0Lp3TYv8WM0os8xGAXiG1a27qoiT9c5oj1CsR4m5FN04WWVG6JykTVT ++0HtYTuOwsco9UcV5ejbfbnWt1vaMOiq/egY7N1lQUqrLqIamgJQMQukXHLJaxMP+ ++ze5fEuNtyySOmVfhb8ic5kgKpCzc/7bhUjI++rh+LNXS20b/CuH3MNb2YKsv+IyI ++QRcnJ9vYTDbyJimzJyw8AuyvdpQRkOoae+f9B39ahzqQ2oslfUKs697EzjFyYmJt ++2nOWw6iW/TIuWDzQdjg98N2wzBk+fnlo5sPUYmE+YDY2Op2YQ4kEvz7SHOpd4thm ++gY0nbq8I+O05QlgC492YohCosm2pyuf2F3VVxnIS56DZMXiNWHADWYV+tBVhMmh2 ++bGu0Hk1hcmsgV2llbGFhcmQgPG1qd0ByZWRoYXQuY29tPokCTgQTAQoAOBYhBOw8 ++/oj2ygeId09cHRqkS+ZJ3nYKBQJcTfqnAhsBBQsJCAcCBhUKCQgLAgQWAgMBAh4B ++AheAAAoJEBqkS+ZJ3nYK6JIP/jGq2adAkk1IPsVx7X5argCXaI5o3aTG+N6BPMvi ++zGY4CyqTBmYAg3qRPWN4U+wxNFgzQ3nPfptJK6EDBAY4Lw+kKR4o8o5zPyjAjbc9 ++/be5bvTwMFmMbzWxGWoJ4ch9W+wD4W+W8ssnJDbVi5Btp7kKyUgg3KP7oUQpxZ9M ++TgmKEmPuce9zOQ78q+LIPbkhI9zCS/1VCHkeVyn+TrnACoHx7sKgJoOwjVlcbW3S ++0sdCuaGg3+VLI3v3IpQ56UXIX6RVeLX9zVDZnAq72Age4HHcxjX97j16iL5ZhZRc ++24J5tpSkJgHt+RASOKHJGPIivCqKbQKhYc1G4MbFbGzclaLTXya3Q4ekFzo4ohd2 ++ga7mgjG0SJ+aIU5wCYxEUDsqJLm+uH/nbQzXTxIoQhH5yub4OhW88z6LpwPGhLvz ++S2SuPJIXAlbGyrH70/uRZWkwKF/8mQjMCsLEYkZ9DRB815rUTc9CJkkeOlPXQUbx ++r2fDAgi0j3yAUxlrC7jESO/zUJrICbxChYAx9KMWG/2PsKbrGAAMKiC7+q6mY09Q ++63F/g1DEF2sb+bguMdWc7SEj64jFUf9wJ+vjU1F321Bkh/QWMABv6n+7EFkwnNky ++lCR5H1boOHO03TNT0jyLbBECR7/Mtpwt46c4+n9EPCmQyvdU3MVPORvZge1hzvuv ++fo22uQENBFxDuhkBCAC19Q021v7kTuwYKwEmbqQC5wvmbEMT4ldvQ8gWCUIFL9kT ++xM67IF0annsys+rrAyqqFUTq2onVmgjciu9upl6uDdV3wivCBEDN9ZLZAVHTSvii ++XDhnHUSg6EhCdZKhal9DKAi+vGSLSe14e2Kfoe4c6R0yDVI+Dn0OfUhlMXu2NoDS ++FLAdHsDHSCrE6xKO+BNgL2MPuMeXLhNitNIVrykoZMkFrUMcMsHrvrk05ah87RQO ++1e2ljenn8qxPRLdOVWc0TJiosjiy04vwDAYNUCPDL5W2Mp2bv2AeTPCzF1qkDnGK ++ZEqV2peWKCPB608lS1icw5oKtOl50PSgzTdaLVRXABEBAAGJAjYEGAEKACAWIQTs ++PP6I9soHiHdPXB0apEvmSd52CgUCXEO6GQIbDAAKCRAapEvmSd52Cpy8D/9tq4BQ ++3VwrDNCxycALqWvZSPv/AgsT6hRvQsLc6Yp0FEtz+frFPLWt7bylMrzKItpsr0G2 ++FofWw0yNyHNYPmGlCi+SrWLJnUTEm5TZgwT+9kLt/mJ4B0J1gHkknXSo91S84DPa ++ik9CH0GmXIQyPANkDDlmp9W/Hk8oKxxvCx+SSsZ6ANXakcNVg/w4MhDW2HowW4sB ++vtltOFSgPRs9zISiNw//GYjeYrdOOnieMhszwpjQuK5XYnDhwiSap2D8nQlD/VpA ++a2CvE/fOFV2CJyKZfE0J8v5DZOU+SUwnty1f52ZA1s/OCysaK1LLdCXz3bQiybQZ ++hobcAneBVZFlNzf6xpR+pGtw3OVSyLQo4LSQf4lFszNy8FfE+BJ1/yUWFBjljLwI ++Hd4IW7Y17PugAc19fQ23krOIc3O4qsuYzqdhzYzqGbPvf7fY3Tz0BNcW5885KEQJ ++H7VJJLqpf3EELhmkLBONYiF10iggFSmn8WSQWbXm0kGRETvAzf+FYcJsKDu9QASD ++RNck8J20ZJGVLbZNdP+VuLOXCDAkSGIxi91TLi6bY0Mb2yNRgAq6cnIJUTAbcnw0 ++5BLxRW+e8AS3HodjZHWzAMDPpZn5TFfJOXdDhdeePVGgkypxwnbeyTT3OjUEh37v ++r+XIgrTMpz+ZNpHxLr4bJatQEVK3H6Q3ZbQkMbkBDQRcQ7q3AQgAqSM4Wx4QvvCI ++f8is+57mLJhceB2kLt3VR67UFZC0ywcr5V0pvTuu2U1oUB+BVYC/A9UdnvWTyDef ++3xTCx0hAiiFhlMe6CkODOalmxI+KwPxD276+70tcxd8vR2FJviDQKw96f2hlLAnx ++R47GUp3cPfIgVfkvIXnXLMUJQvBhXeXqgYhOcAplI677n/zTeFjBtd/JqtyDoJ0D ++e1odEyC+ZZD/Jo5q80Sydhvb99BHQMgLTJTJPW1iRV2AK4xfBjxOMwqml9Lx4HRI ++pV/IHs3MTyhEpEA+I/eKpO6UxApHWHZ76Zm8BL8RwnfFaXjMueRhIGMFtJnLuNFc ++5mOLXa3uhwARAQABiQNsBBgBCgAgFiEE7Dz+iPbKB4h3T1wdGqRL5knedgoFAlxD ++urcCGwIBQAkQGqRL5knedgrAdCAEGQEKAB0WIQQSdoqWeVmQEHoNL9/8V+PMrNma ++eAUCXEO6twAKCRD8V+PMrNmaeEvuB/92qMj2mQN3CXRQUTlmzVNUJLJAwzjRDoSt ++3kqDrACJ2N8JLSxWFeHmEmrrmFPUmXfBUkT+F2W+OrsJlUtwepuTYROgLNZebFQd ++jB38oqsj8RMKb5ikWntRUka2xhSDRBa0IlpxHBWLHS8nEx1x4HB4uYRK3IpWShAV ++mWk7jiATGJLFYJGVo4TBfM27zCty8/GQN/3A2DAJ2OJbiJ12ByTgzztGdhJ69H/Q ++UltkK7eJUGMjPwhpmp07lrolyUurbzaLMQow4SLo/ZIxa0nPC+AoMSk06teichCZ ++wIyiU/70S0c/uL3RFhnTbgWcdQkAVpWdkwFqIES4xG5QLUu85/WT7lMQALJKKuOO ++pbOeKvyLV16Oo70OTms/LbmXU9+bjCjz7QISuzhI4rua0onjQzBaRXFYkfCjBudW ++aEpy/wP5wk6QlqxLkeZNCk0TswksLxQjyO2XgBcOnrSsQIEJ7VICG9PDvtVzbrSB ++YMjoDo58AyniEMVANyUnFYl1YBlFt506PDh86ZEqlpbbReAsYfEuBQdBfJhWph9W ++ZgJDVtEHUAxaiqisvNEbz4xRIAsxX/OxnQMdD09Xs50yvl38ERIadacejtQnAIYe ++EaUBsgQk3rt0+g9lm6trD7P4FXYhUD9vml6/n8TGB3UJi3lKpX41GSUC1y+oPna8 ++p+EEmrm3BbB4fgnIkfYiEDNogvm2pe7nzUP7sNnE8RcyYcjUoEQ0Uo+HB6fk6NeB ++GKqaIKVexCcExnWKHvl0DZzGydvKx41nyzFI1sueg34LcWwpGHXzJyhmpjhNe1GO ++KtVGHCGKhKhppK4ntUZISciGh38wvKuFDohHO3JVZ9AhyRWKTuynzLarBpmvu11T ++Dbv0lfnZcghlWWHNlx8x8DdaEuFWXZTDuVXqGclmeV2hS0LomX33LCB4n0XkZtC9 ++LsmTIsr+ZdVCAXUeX/pJONNxNF8G47lZLLgLWF9beuHWp3u1Io31fzh44TZxm1Z3 ++1wCZjOrsL9bvy3xHyDFaDL+/7i6TXsSxtqTXuQENBFxDu6IBCACgVJJnY8zh8uHn ++8d/E7p4j+9ueTvTHMRYOS0kkGhHBC7JmxCw6/EvbnbTsI0CQeyIJHlmPIqDVgRVj ++ijcTWacd3vIdazzH9sqs65nl49yMnA23tIya4VWlbHC3J4x/LL84A4GaJO/FVF2v ++v6hVg3IGbopp5KX+pr6s56TiWddSDqMgjb7rSzjWuNyRK75ToctL7Y/Zn6st3Zio ++O7LXq3ghkWf8JR7ZaUFIY6P1qS5heiCHP0PxQJSrtpYzH3rKJoHpIkjxnsB/sD0C ++05cAdlzXBTUVTNLY+DPlQ7FeRkG+VK91briG4tvQ8ohhEiC9HuJu1AKMNWBZ9qeU ++wsXaJvNzABEBAAGJAjYEGAEKACAWIQTsPP6I9soHiHdPXB0apEvmSd52CgUCXEO7 ++ogIbIAAKCRAapEvmSd52Ch8ZD/9wKuIlaRMSB1AMCwhGPaqXZahrJ649Y0jI4Jqp ++FKv2/U5hKHOG7bihRAeEj7pZzhlgBrkZg1SBdZ3vHs1ufElnfe5RQApdDm93daU5 ++SP29iEivJQxKjF91EfEffl0trxxztBipI5/2D+kaS8cnNVfzo5ZEWy/cd6AShvRV ++HM7Y2QHc+mlaZhYhBvTtwC6avXNnG55WYgobGENeAwkyD072JF3XrxFb+XkcKxla ++9yRdWdHxJd5PYJqsKM+nVeJM226OwOyU235gfIhIP6pfGqF9UVH0uFoCYkVkUSjV ++d96Q+Cj0kdhTOrtLW1OY11d9TBxje42GOtc7X9Zzx1nhwU8rCCErF9/uJIJKlq7I ++08rMX3rFDTtizwN7g7ZBkDDiZO+BIKQPt/awA9NM+tda02hyfQokBBi+v8b/iKif ++KIfUaqPDo1PA5uxljdluyX8AXIotKjJXF6Elsiz7bVpcIc0ZXOOFr9ylmtZm51YN ++mOzDNznEBmol2oBZfsk2G55/QgShHmKUnvzKANBGfnfS/a/K7Hv4sfZAb58Prl6O ++mQSrkmhzFry/4BNLKq+nd4s8VXkJPpx3Ogf3DoIynqpNF0bwf52U5IgJSNcJN/Hr ++AwhaG1W+Y3LDe7S19M0cUzftEUeq3Jd89hoijC72tdba+BRfW0ncfvEcsk9QifSU ++1tvZxQ== ++=DlFV ++-----END PGP ARMORED FILE----- diff --cc debian/watch index 0000000,0000000..ced214e new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,7 @@@ ++# Watch control file for uscan ++# See uscan(1) for format ++ ++# Compulsory line, this is a version 3 file ++version=3 ++ ++opts=pgpsigurlmangle=s/$/.sig/ https://sourceware.org/elfutils/ftp/(\d.\d*)/elfutils-(.*).tar.bz2