Squashed 'third_party/elfutils/' content from commit 555e15e

Change-Id: I61cde98949e47e5c8c09c33260de17f30921be79
git-subtree-dir: third_party/elfutils
git-subtree-split: 555e15ebe8bf1eb33d00747173cfc80cc65648a4
diff --git a/config/10-default-yama-scope.conf b/config/10-default-yama-scope.conf
new file mode 100644
index 0000000..ba78ebd
--- /dev/null
+++ b/config/10-default-yama-scope.conf
@@ -0,0 +1,35 @@
+# When yama is enabled in the kernel it might be used to filter any user
+# space access which requires PTRACE_MODE_ATTACH like ptrace attach, access
+# to /proc/PID/{mem,personality,stack,syscall}, and the syscalls
+# process_vm_readv and process_vm_writev which are used for interprocess
+# services, communication and introspection (like synchronisation, signaling,
+# debugging, tracing and profiling) of processes.
+#
+# Usage of ptrace attach is restricted by normal user permissions. Normal
+# unprivileged processes cannot interact through ptrace with processes
+# that they cannot send signals to or processes that are running set-uid
+# or set-gid.
+#
+# yama ptrace scope can be used to reduce these permissions even more.
+# This should normally not be done because it will break various programs
+# relying on the default ptrace security restrictions. But can be used
+# if you don't have any other way to separate processes in their own
+# domains. A different way to restrict ptrace is to set the selinux
+# deny_ptrace boolean. Both mechanisms will break some programs relying
+# on the ptrace system call and might force users to elevate their
+# priviliges to root to do their work.
+#
+# For more information see Documentation/security/Yama.txt in the kernel
+# sources. Which also describes the defaults when CONFIG_SECURITY_YAMA
+# is enabled in a kernel build (currently 1 for ptrace_scope).
+#
+# This runtime kernel parameter can be set to the following options:
+# (Note that setting this to anything except zero will break programs!)
+#
+# 0 - Default attach security permissions.
+# 1 - Restricted attach. Only child processes plus normal permissions.
+# 2 - Admin-only attach. Only executables with CAP_SYS_PTRACE.
+# 3 - No attach. No process may call ptrace at all. Irrevocable.
+#
+kernel.yama.ptrace_scope = 0
+
diff --git a/config/ChangeLog b/config/ChangeLog
new file mode 100644
index 0000000..681def2
--- /dev/null
+++ b/config/ChangeLog
@@ -0,0 +1,342 @@
+2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>
+
+	* eu.am (IMPLICIT_FALLTHROUGH_WARNING): Set to 5.
+
+2017-11-02  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Config files under /usr/lib/sysctl.d (_sysctldir)
+	aren't %config.
+
+2017-10-24  Mark Wielaard  <mark@klomp.org>
+
+	* eu.am (AM_CFLAGS): Handle -Wno-packed-not-aligned.
+
+2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>
+
+	* eu.am: Use fpic_CFLAGS.
+
+2016-08-02  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.170.
+
+2017-05-05  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.169.
+
+2016-12-27  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.168 and new project location.
+
+2016-12-24  Mark Wielaard  <mark@klomp.org>
+
+	* libdw.pc.in: Set URL to http://elfutils.org/
+	* libelf.pc.in: Likewise.
+
+2016-11-02  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am: Check HAVE_IMPLICIT_FALLTHROUGH_WARNING.
+	(AM_CFLAGS): Add IMPLICIT_FALLTHROUGH_WARNING.
+
+2016-08-04  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.167.
+
+2016-07-06  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Remove eu-ld.
+
+2016-03-31  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.166.
+
+2016-02-13  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am: Check HAVE_NULL_DEREFERENCE_WARNING.
+	(AM_CFLAGS): Add NULL_DEREFERENCE_WARNING.
+
+2016-02-09  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am: Check SANE_LOGICAL_OP_WARNING and
+	HAVE_DUPLICATED_COND_WARNING.
+	(AM_CFLAGS): Add LOGICAL_OP_WARNING and DUPLICATED_COND_WARNING.
+
+2016-01-08  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Add elfcompress. Update for 0.165.
+
+2016-01-04  Mark Wielaard  <mjw@redhat.com>
+
+	* libelf.pc.in: New file.
+	* libdw.pc.in: Likewise.
+	* Makefile.am (EXTRA_DIST): Add libelf.pc.in and libdw.pc.in.
+	(pkgconfigdir): New variable.
+	(pkgconfigdir_DATA): Likewise.
+	* elfutils.spec.in (files devel): Add libdw.pc.
+	(files libelf-devel): Add libelf.pc.
+
+2015-10-15  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.164.
+
+2015-10-07  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (ARFLAGS): Set to "cr".
+
+2015-10-09  Josh Stone  <jistone@redhat.com>
+
+	* eu.am (print-%): New target to print any variable.
+
+2015-10-05  Josh Stone  <jistone@redhat.com>
+
+	* eu.am (%.os): Add AM_V_CC silencers.
+
+2015-09-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* eu.am (%.os): Use -fPIC instead of -fpic to avoid relocation
+	overflows in some platforms.
+
+2015-09-22  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (AM_CFLAGS): Add -Wold-style-definition -Wstrict-prototypes.
+
+2015-08-04  Mark Wielaard  <mjw@redhat.com>
+
+	* 10-default-yama-scope.conf: New file.
+	* Makefile.am (EXTRA_DIST): Add 10-default-yama-scope.conf.
+	* elfutils.spec.in (Requires): default-yama-scope.
+	(default-yama-scope): New package.
+
+2015-06-19  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.163.
+
+2015-06-11  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in (devel): Include elfutils/known-dwarf.h and
+	elfutils/version.h.
+
+2015-06-10  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.162.
+
+2015-05-23  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (STACK_USAGE_WARNING): New variable set based on
+	ADD_STACK_USAGE_WARNING conditional.
+	(AM_CFLAGS): Use STACK_USAGE_WARNING variable.
+
+2015-05-23  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (AM_CFLAGS): Add -Wstack-usage=262144.
+
+2015-04-23  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* eu.am (DEFS.os): New variable.
+
+2015-03-18  Petr Machata  <pmachata@redhat.com>
+
+	* known-dwarf.awk (comment): Drop all uses of this variable.
+	(END): Always emit the non-_DESC variant.  Emit
+	DWARF_ALL_KNOWN_DW_ instead of ALL_KNOWN_DW_*, and
+	DWARF_ONE_KNOWN_DW_ instead of ONE_KNOWN_DW_*.
+
+2015-02-20  Petr Machata  <pmachata@redhat.com>
+
+	* known-dwarf.awk (END): Drop useless variables lo, hi.  Merge two
+	continue-checks in one.
+
+2014-12-18  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.161.
+
+2014-11-27  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am: Define textrel_msg, textrel_found and textrel_check based
+	on FATAL_TEXTREL.
+
+2014-08-25  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.160.
+
+2014-05-17  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.159.
+	(%files devel): Add libdwelf.h.
+
+2014-04-13  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (AM_CFLAGS): Don't add -fmudflap.
+	(COMPILE.os): Don't remove no_mudflap.os.
+
+2014-01-22  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (AM_CFLAGS): Unconditionally add -Wformat=2.
+
+2014-01-03  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for 0.158.
+
+2013-11-01  Michael Forney  <mforney@mforney.org>
+
+	* eu.am: Use READELF.
+
+2013-09-30  Mark Wielaard  <mjw@redhat.com>
+
+	* elfutils.spec.in: Update for readelf NT_SIGINFO and NT_FILE
+	core notes.
+
+2013-09-27  Mark Wielaard  <mjw@redhat.com>
+
+	* config/elfutils.spec.in: Update for 0.157.
+
+2013-07-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* config/elfutils.spec.in: Update for 0.156.
+
+2013-04-24  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am: Use AM_CPPFLAGS instead of INCLUDES.
+
+2012-08-27  Mark Wielaard  <mjw@redhat.com>
+
+	* config/elfutils.spec.in: Update for 0.155.
+
+2012-07-19  Mark Wielaard  <mjw@redhat.com>
+
+	* known-dwarf.awk: "Generated by" header had wrong file names,
+	mention config/known-dwarf.awk and libdw/dwarf.h contents.
+
+2012-06-22  Mark Wielaard  <mjw@redhat.com>
+
+	* config/elfutils.spec.in: Update for 0.154.
+
+2012-02-23  Mark Wielaard  <mjw@redhat.com>
+
+	* config/elfutils.spec.in: Update for 0.153.
+
+2011-10-31  Mark Wielaard  <mjw@redhat.com>
+
+	* known-dwarf.awk: Use gawk.
+
+2010-07-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Add more BuildRequires.
+	Ship the .mo files with the libelf subpackage.
+
+2010-04-15  Roland McGrath  <roland@redhat.com>
+
+	* eu.am (DEFS): Add -DLOCALEDIR=... here.
+
+2010-02-15  Roland McGrath  <roland@redhat.com>
+
+	* eu.am: New file.
+
+2009-04-19  Roland McGrath  <roland@redhat.com>
+
+	* version.h.in: Revert last change.
+
+2009-04-17  Roland McGrath  <roland@redhat.com>
+
+	* version.h.in (_ELFUTILS_PREREQ): Multiple major by 1000000 and minor
+	by 1000; now _ELFUTILS_VERSION is 789000 for version 0.789.
+
+2009-01-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Distribute <elfutils/version.h> in
+	elfutils-libelf-devel.
+
+2009-01-22  Roland McGrath  <roland@redhat.com>
+
+	* known-dwarf.awk: Handle DW_FOO_BAR_* sets better.
+
+2009-01-11  Roland McGrath  <roland@redhat.com>
+
+	* known-dwarf.awk: New file.
+	* Makefile.am (EXTRA_DIST): Add it.
+
+2008-12-24  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am ($(srcdir)/elfutils.spec.in): Rewrite awk magic.
+	Put the target inside [if MAINTAINER_MODE].
+
+2008-12-16  Roland McGrath  <roland@redhat.com>
+
+	* version.h.in: New file.
+
+2008-01-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Add m4 to build requirements.
+
+2008-01-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Changes for disasm branch merge.
+
+2007-08-08  Roland McGrath  <roland@redhat.com>
+
+	* elfutils.spec.in (License): Canonicalize.
+
+2007-04-23  Roland McGrath  <roland@redhat.com>
+
+	* elfutils.spec.in: Distribute eu-unstrip.
+
+2005-08-13  Roland McGrath  <roland@redhat.com>
+
+	* Makefile.am ($(srcdir)/elfutils.spec.in): Add missing $.
+
+2005-07-28  Roland McGrath  <roland@redhat.com>
+
+	* elfutils.spec.in: Remove libdwfl.so from package.
+
+2005-07-21  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Distribute eu-elfcmp.
+
+2005-04-01  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Distribute eu-addr2line.
+
+2005-03-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Distribute libdw.{a,so,h}.
+
+2005-02-22  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile.am: Ignore result of cvs run.
+
+	* elfutils.spec.in: Simplify build process by not using a subdir.
+	This means we can use %configure.
+
+2005-02-18  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile.am: Automatically added changelog from NEWS file on dist.
+
+2005-02-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Make sure RPM_OPT_FLAGS is used.  During
+	%build, really do build the binaries.
+	Remove --enable-shared configure parameters.
+
+2005-02-07  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in (BuildRequires): Up gcc requirement to 3.4.
+
+2004-11-23  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Some more changes for the RPM with the fake
+	binaries.
+
+2004-01-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* elfutils.spec.in: Update BuildRequires.
+
+2004-01-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* Makefile.am: New file.
+	* config.guess: Moved to here from toplevel.
+	* config.rpath: Likewise.
+	* config.sub: Likewise.
+	* depcomp: Likewise.
+	* install-sh: Likewise.
+	* missing: Likewise.
+	* mkinstalldirs: Likewise.
+	* elfutils.spec.in: New file.
diff --git a/config/Makefile.am b/config/Makefile.am
new file mode 100644
index 0000000..66012d0
--- /dev/null
+++ b/config/Makefile.am
@@ -0,0 +1,55 @@
+## Process this file with automake to produce Makefile.in -*-Makefile-*-
+## Configure input file for elfutils.
+##
+## Copyright (C) 2004, 2005, 2008, 2009, 2011, 2015, 2016 Red Hat, 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 <http://www.gnu.org/licenses/>.
+##
+EXTRA_DIST = elfutils.spec.in known-dwarf.awk 10-default-yama-scope.conf
+	     libelf.pc.in libdw.pc.in
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libelf.pc libdw.pc
+
+if MAINTAINER_MODE
+$(srcdir)/elfutils.spec.in: $(top_srcdir)/NEWS
+	@tmpname=$$(mktemp $${TMPDIR:-/tmp}/elfutils.XXXXXX); \
+	date +'* %a %b %e %Y' | tr '[\n]' '[ ]' > $$tmpname; \
+	getent passwd "$$(whoami)" | \
+	  awk 'BEGIN {FS=":"} { printf $$5; exit 0}' >> $$tmpname; \
+	echo -n " <$$(whoami)@gmail.com> " >> $$tmpname; \
+	awk '\
+	  $$1 == "Version" && started { exit } \
+	  $$1 == "Version" { started=1; line=""; sub(/:/,"",$$2); \
+			     print $$2 "-1"; next } \
+	  NF > 0 { line = (line != "") ? (line " " $$0) : ("- " $$0) } \
+	  NF == 0 && line != "" { print line; line="" } \
+	  END { if (line != "") print line; print "" }' $< \
+	| fold -s -w 70 | sed '1!s/^[^-]/  &/' >> $$tmpname; \
+	sed "/^%changelog/r $$tmpname" $@ > $@.new; \
+	rm -f $$tmpname; \
+	mv -f $@.new $@
+endif
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
new file mode 100644
index 0000000..1d0a4f8
--- /dev/null
+++ b/config/elfutils.spec.in
@@ -0,0 +1,921 @@
+# -*- rpm-spec-*-
+Summary: A collection of utilities and DSOs to handle ELF files and DWARF data
+Name: elfutils
+Version: @PACKAGE_VERSION@
+Release: 1
+URL: http://elfutils.org/
+License: GPLv3+ and (GPLv2+ or LGPLv3+)
+Group: Development/Tools
+Source: ftp://sourceware.org/pub/elfutils/%{version}/elfutils-%{version}.tar.bz2
+Obsoletes: libelf libelf-devel
+Requires: elfutils-libelf = %{version}-%{release}
+Requires: glibc >= 2.7
+Requires: libstdc++
+Requires: default-yama-scope
+
+# ExcludeArch: xxx
+
+BuildRoot: %{_tmppath}/%{name}-root
+BuildRequires: gcc >= 4.1.2-33
+BuildRequires: glibc >= 2.7
+BuildRequires: bison >= 1.875
+BuildRequires: flex >= 2.5.4a
+BuildRequires: bzip2
+BuildRequires: m4
+BuildRequires: gettext
+BuildRequires: zlib-devel
+BuildRequires: bzip2-devel
+BuildRequires: xz-devel
+BuildRequires: gcc-c++
+
+%define _gnu %{nil}
+%define _programprefix eu-
+
+%description
+
+Elfutils is a collection of utilities, including stack (to show
+backtraces), nm (for listing symbols from object files), size
+(for listing the section sizes of an object or archive file),
+strip (for discarding symbols), readelf (to see the raw ELF file
+structures), elflint (to check for well-formed ELF files) and
+elfcompress (to compress or decompress ELF sections).
+Also included are helper libraries which implement DWARF, ELF,
+and machine-specific ELF handling and process introspection.
+
+%package devel
+Summary: Development libraries to handle compiled objects.
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+Requires: elfutils = %{version}-%{release}
+Requires: elfutils-libelf-devel = %{version}-%{release}
+
+%description devel
+The elfutils-devel package contains the libraries to create
+applications for handling compiled objects.  libebl provides some
+higher-level ELF access functionality.  libdw provides access to
+the DWARF debugging information.  libasm provides a programmable
+assembler interface.
+
+%package devel-static
+Summary: Static archives to handle compiled objects.
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+Requires: elfutils-devel = %{version}-%{release}
+
+%description devel-static
+The elfutils-devel-static archive contains the static archives
+with the code the handle compiled objects.
+
+%package libelf
+Summary: Library to read and write ELF files.
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+
+%description libelf
+The elfutils-libelf package provides a DSO 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.
+
+%package libelf-devel
+Summary: Development support for libelf
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+Requires: elfutils-libelf = %{version}-%{release}
+Conflicts: libelf-devel
+
+%description libelf-devel
+The elfutils-libelf-devel package contains the libraries to create
+applications for handling compiled objects.  libelf allows you to
+access the internals of the ELF object file format, so you can see the
+different sections of an ELF file.
+
+%package libelf-devel-static
+Summary: Static archive of libelf
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+Requires: elfutils-libelf-devel = %{version}-%{release}
+Conflicts: libelf-devel
+
+%description libelf-devel-static
+The elfutils-libelf-static package contains the static archive
+for libelf.
+
+%package default-yama-scope
+Summary: Default yama attach scope sysctl setting
+Group: Development/Tools
+License: GPLv2+ or LGPLv3+
+Provides: default-yama-scope
+BuildArch: noarch
+
+%description default-yama-scope
+Yama sysctl setting to enable default attach scope settings
+enabling programs to use ptrace attach, access to
+/proc/PID/{mem,personality,stack,syscall}, and the syscalls
+process_vm_readv and process_vm_writev which are used for
+interprocess services, communication and introspection
+(like synchronisation, signaling, debugging, tracing and
+profiling) of processes.
+
+%prep
+%setup -q
+
+%build
+%configure --program-prefix=%{_programprefix}
+make
+
+%install
+rm -rf ${RPM_BUILD_ROOT}
+mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
+
+%makeinstall
+
+chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
+chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so*
+
+# XXX Nuke unpackaged files
+{ cd ${RPM_BUILD_ROOT}
+  rm -f .%{_includedir}/elfutils/libasm.h
+  rm -f .%{_libdir}/libasm.so
+  rm -f .%{_libdir}/libasm.a
+}
+
+install -Dm0644 config/10-default-yama-scope.conf ${RPM_BUILD_ROOT}%{_sysctldir}/10-default-yama-scope.conf
+
+%check
+make check
+
+%clean
+rm -rf ${RPM_BUILD_ROOT}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%post libelf -p /sbin/ldconfig
+
+%postun libelf -p /sbin/ldconfig
+
+%post default-yama-scope
+%sysctl_apply 10-default-yama-scope.conf
+
+%files
+%defattr(-,root,root)
+%doc COPYING COPYING-GPLV2 COPYING-LGPLV3 README TODO CONTRIBUTING
+%{_bindir}/eu-elflint
+%{_bindir}/eu-nm
+%{_bindir}/eu-readelf
+%{_bindir}/eu-size
+%{_bindir}/eu-strip
+%{_bindir}/eu-findtextrel
+%{_bindir}/eu-addr2line
+%{_bindir}/eu-elfcmp
+%{_bindir}/eu-ranlib
+%{_bindir}/eu-strings
+%{_bindir}/eu-objdump
+%{_bindir}/eu-ar
+%{_bindir}/eu-unstrip
+%{_bindir}/eu-make-debug-archive
+%{_bindir}/eu-elfcompress
+%{_libdir}/libasm-%{version}.so
+%{_libdir}/libdw-%{version}.so
+%{_libdir}/libasm.so.*
+%{_libdir}/libdw.so.*
+%dir %{_libdir}/elfutils
+%{_libdir}/elfutils/lib*.so
+
+%files devel
+%defattr(-,root,root)
+%{_includedir}/dwarf.h
+%dir %{_includedir}/elfutils
+%{_includedir}/elfutils/elf-knowledge.h
+%{_includedir}/elfutils/known-dwarf.h
+#%{_includedir}/elfutils/libasm.h
+%{_includedir}/elfutils/libebl.h
+%{_includedir}/elfutils/libdw.h
+%{_includedir}/elfutils/libdwfl.h
+%{_includedir}/elfutils/libdwelf.h
+%{_includedir}/elfutils/version.h
+%{_libdir}/libebl.a
+#%{_libdir}/libasm.so
+%{_libdir}/libdw.so
+%{_libdir}/pkgconfig/libdw.pc
+
+%files devel-static
+%{_libdir}/libdw.a
+#%{_libdir}/libasm.a
+
+%files libelf
+%defattr(-,root,root)
+%{_libdir}/libelf-%{version}.so
+%{_libdir}/libelf.so.*
+%{_datadir}/locale/*/LC_MESSAGES/elfutils.mo
+
+%files libelf-devel
+%defattr(-,root,root)
+%{_includedir}/libelf.h
+%{_includedir}/gelf.h
+%{_includedir}/nlist.h
+%{_includedir}/elfutils/version.h
+%{_libdir}/libelf.so
+%{_libdir}/pkgconfig/libelf.pc
+
+%files libelf-devel-static
+%{_libdir}/libelf.a
+
+%files default-yama-scope
+%{_sysctldir}/10-default-yama-scope.conf
+
+%changelog
+* Wed Aug  2 2017 Mark Wielaard <mark@klomp.org> 0.170-1
+- libdw: Added new DWARF5 attribute, tag, character encoding,
+  language code, calling convention, defaulted member function
+  and macro constants to dwarf.h.
+  New functions dwarf_default_lower_bound and dwarf_line_file.
+  dwarf_peel_type now handles DWARF5 immutable, packed and shared tags.
+  dwarf_getmacros now handles DWARF5 .debug_macro sections.
+- strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.
+- backends: The bpf disassembler is now always build on all platforms.
+
+* Fri May  5 2017 Mark Wielaard <mark@klomp.org> 0.169-1
+- backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
+  Frame pointer unwinding fallback support for i386, x86_64, aarch64.
+- translations: Update Polish translation.
+
+* Tue Dec 27 2016 Mark Wielaard <mark@klomp.org> 0.168-1
+- http://elfutils.org/ is now hosted at http://sourceware.org/elfutils/
+- libelf: gelf_newehdr and gelf_newehdr now return void *.
+- libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1).
+- readelf: Add optional --symbols[=SECTION] argument to select section name.
+
+* Thu Aug  4 2016 Mark Wielaard <mjw@redhat.com> 0.167-1
+- libasm: Add eBPF disassembler for EM_BPF files.
+- backends: Add m68k and BPF backends.
+- ld: Removed.
+- dwelf: Add ELF/DWARF string table creation functions.
+  dwelf_strtab_init, dwelf_strtab_add, dwelf_strtab_add_len,
+  dwelf_strtab_finalize, dwelf_strent_off, dwelf_strent_str and
+  dwelf_strtab_free.
+
+* Thu Mar 31 2016 Mark Wielaard <mjw@redhat.com> 0.166-1
+- config: The default program prefix for the installed tools is now
+  eu-. Use configure --program-prefix="" to not use a program prefix.
+
+* Fri Jan  8 2016 Mark Wielaard <mjw@redhat.com> 0.165-1
+- elfcompress: New utility to compress or decompress ELF sections.
+- readelf: Add -z,--decompress option.
+- libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr,
+  elf64_getchdr and gelf_getchdr.
+- libdwelf: New function dwelf_scn_gnu_compressed_size.
+- config: Add libelf and libdw pkg-config files.
+- backends: sparc support for core and live backtraces.
+- translations: Updated Polish translation.
+
+* Thu Oct 15 2015 Mark Wielaard <mjw@redhat.com> 0.164-1
+- strip, unstrip: Handle ELF files with merged strtab/shstrtab
+  tables. Handle missing SHF_INFO_LINK section flags.
+- libelf: Use int64_t for offsets in libelf.h instead of loff_t.
+- libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell.
+- libdwfl: dwfl_standard_find_debuginfo now searches any subdir of
+  the binary path under the debuginfo root when the separate
+  debug file couldn't be found by build-id.
+  dwfl_linux_proc_attach can now be called before any Dwfl_Modules
+  have been reported.
+- backends: Better sparc and sparc64 support.
+- translations: Updated Ukrainian translation.
+- Provide default-yama-scope subpackage.
+
+* Fri Jun 19 2015 Mark Wielaard <mjw@redhat.com> 0.163-1
+- Bug fixes only, no new features.
+
+* Wed Jun 10 2015 Mark Wielaard <mjw@redhat.com> 0.162-1
+- libdw: Install new header elfutils/known-dwarf.h.
+  dwarf.h Add preliminary DWARF5 constants DW_TAG_atomic_type,
+  DW_LANG_Fortran03, DW_LANG_Fortran08. dwarf_peel_type now also
+  handles DW_TAG_atomic_type.
+- addr2line: Input addresses are now always interpreted as
+  hexadecimal numbers, never as octal or decimal numbers.
+  New option -a, --addresses to print address before each entry.
+  New option -C, --demangle to show demangled symbols.
+  New option --pretty-print to print all information on one line.
+- ar: CVE-2014-9447 Directory traversal vulnerability in ar
+  extraction.
+- backends: x32 support.
+
+* Thu Dec 18 2014 Mark Wielaard <mjw@redhat.com> 0.161-1
+- libdw: New function dwarf_peel_type. dwarf_aggregate_size now uses
+  dwarf_peel_type to also provide the sizes of qualified types.
+  dwarf_getmacros will now serve either of .debug_macro and
+  .debug_macinfo transparently.  New interfaces dwarf_getmacros_off,
+  dwarf_macro_getsrcfiles, dwarf_macro_getparamcnt, and
+  dwarf_macro_param are available for more generalized inspection of
+  macros and their parameters.
+  dwarf.h: Add DW_AT_GNU_deleted, DW_AT_noreturn, DW_LANG_C11,
+  DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14.
+
+* Mon Aug 25 2014 Mark Wielaard <mjw@redhat.com> 0.160-1
+- libdw: New functions dwarf_cu_getdwarf, dwarf_cu_die.
+  dwarf.h remove non-existing DW_TAG_mutable_type.
+- libdwfl: Handle LZMA .ko.xz compressed kernel modules.
+- unstrip: New option -F, --force to combining files even if some ELF
+  headers don't seem to match.
+- backends: Handle ARM THUMB functions. Add support for ppc64le ELFv2 abi.
+
+* Sat May 17 2014 Mark Wielaard <mjw@redhat.com> 0.159-1
+- stack: New option -d, --debugname to lookup DWARF debuginfo name 
+  for frame.  New option -i, --inlines to show inlined frames 
+  using DWARF debuginfo.
+- libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level 
+  Functions.  New function dwelf_elf_gnu_debuglink, 
+  dwelf_dwarf_gnu_debugaltlink, and dwelf_elf_gnu_build_id.
+- libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and      
+  DW_FORM_GNU_strp_alt is now enabled by default and no longer        
+  experimental. Added new functions dwarf_getalt and dwarf_setalt       
+  to get or set the alternative debug file used for the alt FORMs.     
+  The dwfl_linux_proc_find_elf callback will now find ELF from       
+  process memory for (deleted) files if the Dwfl has process state     
+  attached.
+- libdwfl: The dwfl_build_id_find_debuginfo and 
+  dwfl_standard_find_debuginfo functions will now try to 
+  resolve and set the alternative debug file.
+- backends: Add CFI unwinding for arm. Relies on .debug_frame.        
+  Add arm process initial register state compatible mode to AARCH64. 
+  Add aarch64 native and core unwind support.
+- other: All separate elfutils-robustify patches have been merged.    
+  CVE-2014-0172 Check overflow before calling malloc to uncompress 
+  data.
+
+* Fri Jan  3 2014 Mark Wielaard <mjw@redhat.com> 0.158-1
+- libdwfl: dwfl_core_file_report has new parameter executable.
+  New functions dwfl_module_getsymtab_first_global,
+  dwfl_module_getsym_info and dwfl_module_addrinfo.
+  Added unwinder with type Dwfl_Thread_Callbacks, opaque types
+  Dwfl_Thread and Dwfl_Frame and functions dwfl_attach_state,
+  dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread,
+  dwfl_thread_state_registers, dwfl_thread_state_register_pc,
+  dwfl_getthread_frames, dwfl_getthreads, dwfl_thread_getframes
+  and dwfl_frame_pc.
+- addr2line: New option -x to show the section an address was found in.
+- stack: New utility that uses the new unwinder for processes and cores.
+- backends: Unwinder support for i386, x86_64, s390, s390x, ppc and ppc64.
+  aarch64 support.
+
+* Mon Sep 30 2013 Mark Wielaard <mjw@redhat.com> 0.157-1
+- libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr 
+         and dwarf_getlocation_die.
+- readelf: Show contents of NT_SIGINFO and NT_FILE core notes.
+- addr2line: Support -i, --inlines output option.
+- backends: abi_cfi hook for arm, ppc and s390.
+
+* Thu Jul 25 2013 Jan Kratochvil <jan.kratochvil@redhat.com> 0.156-1
+- lib: New macro COMPAT_VERSION_NEWPROTO.
+- libdw: Handle GNU extension opcodes in dwarf_getlocation.
+- libdwfl: Fix STB_GLOBAL over STB_WEAK preference in 
+  dwfl_module_addrsym.          Add minisymtab support.          Add 
+  parameter add_p_vaddr to dwfl_report_elf.          Use DT_DEBUG 
+  library search first.
+- libebl: Handle new core note types in EBL.
+- backends: Interpret NT_ARM_VFP.           Implement core file 
+  registers parsing for s390/s390x.
+- readelf: Add --elf-section input option to inspect an embedded ELF 
+  file.          Add -U, --unresolved-address-offsets output control.   
+         Add --debug-dump=decodedline support.          Accept version 
+  8 .gdb_index section format.          Adjust output formatting width. 
+           When highpc is in constant form print it also as address.    
+        Display raw .debug_aranges. Use libdw only for decodedaranges.
+- elflint: Add __bss_start__ to the list of allowed symbols.
+- tests: Add configure --enable-valgrind option to run all tests 
+  under valgrind.        Enable automake parallel-tests for make check.
+- translations: Updated Polish translation.
+- Updates for Automake 1.13.
+
+* Fri Aug 24 2012 Mark Wielaard <mjw@redhat.com> 0.155-1
+- libelf: elf*_xlatetomd now works for cross-endian ELF note data.    
+       elf_getshdr now works consistently on non-mmaped ELF files after 
+          calling elf_cntl(ELF_C_FDREAD).         Implement support for 
+  ar archives with 64-bit symbol table.
+- libdw: dwarf.h corrected the DW_LANG_ObjC constant name (was 
+  DW_LANG_Objc).        Any existing sources using the old name will 
+  have to be updated.        Add DW_MACRO_GNU .debug_macro type 
+  encodings constants, DW_ATE_UTF        and DW_OP_GNU_parameter_ref to 
+  dwarf.h.        Experimental support for DWZ multifile forms 
+  DW_FORM_GNU_ref_alt        and DW_FORM_GNU_strp_alt.  Disabled by 
+  default.  Use configure        --enable-dwz to test it.
+- readelf: Add .debug_macro parsing support.          Add .gdb_index 
+  version 7 parsing support.          Recognize DW_OP_GNU_parameter_ref.
+- backends: Add support for Tilera TILE-Gx processor.
+- translations: Updated Ukrainian translation.
+
+* Fri Jun 22 2012 Mark Wielaard <mjw@redhat.com> 0.154-1
+- libelf: [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at 
+  OFFSET.
+- libdw: dwarf_highpc function now handles DWARF 4 DW_AT_high_pc 
+  constant form.        Fix bug using dwarf_next_unit to iterate over 
+  .debug_types.
+- elflint: Now accepts gold linker produced executables.
+- The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for 
+  stand-alone programs. There is now also a formal CONTRIBUTING 
+  document describing how to submit patches.
+
+* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> 0.153-1
+- libdw: Support reading .zdebug_* DWARF sections compressed via zlib.
+- libdwfl: Speed up dwfl_module_addrsym.
+- nm: Support C++ demangling.
+- ar: Support D modifier for "deterministic output" with no 
+  uid/gid/mtime info.     The U modifier is the inverse.     elfutils 
+  can be configured with the --enable-deterministic-archives     option 
+  to make the D behavior the default when U is not specified.
+- ranlib: Support -D and -U flags with same meaning.
+- readelf: Improve output of -wline. Add support for printing SDT elf 
+  notes.          Add printing of .gdb_index section. 	 Support for 
+  typed DWARF stack, call_site and entry_value.
+- strip: Add --reloc-debug-sections option.        Improved SHT_GROUP 
+  sections handling.
+
+* Tue Feb 15 2011  <drepper@gmail.com> 0.152-1
+- Various build and warning nits fixed for newest GCC and Autoconf.
+- libdwfl: Yet another prelink-related fix for another regression.
+  	 Look for Linux kernel images in files named with compression
+  suffixes.
+- elfcmp: New flag --ignore-build-id to ignore differing build ID
+  bits. 	New flag -l/--verbose to print all differences.
+
+* Wed Jan 12 2011  <drepper@gmail.com> 0.151-1
+- libdwfl: Fix for more prelink cases with separate debug file.
+- strip: New flag --strip-sections to remove section headers entirely.
+
+* Mon Nov 22 2010  <drepper@gmail.com> 0.150-1
+- libdw: Fix for handling huge .debug_aranges section.
+- libdwfl: Fix for handling prelinked DSO with separate debug file.
+- findtextrel: Fix diagnostics to work with usual section ordering.
+- libebl: i386 backend fix for multi-register integer return value
+  location.
+
+* Mon Sep 13 2010  <drepper@redhat.com> 0.149-1
+- libdw: Decode new DW_OP_GNU_implicit_pointer operation;        new
+  function dwarf_getlocation_implicit_pointer.
+- libdwfl: New function dwfl_dwarf_line.
+- addr2line: New flag -F/--flags to print more DWARF line information
+  details.
+- strip: -g recognizes .gdb_index as a debugging section.
+
+* Mon Jun 28 2010  <drepper@redhat.com> 0.148-1
+- libdw: Accept DWARF 4 format: new functions dwarf_next_unit,
+  dwarf_offdie_types.        New functions dwarf_lineisa,
+  dwarf_linediscriminator, dwarf_lineop_index.
+- libdwfl: Fixes in core-file handling, support cores from PIEs.
+  	 When working from build IDs, don't open a named file that
+  mismatches.
+- readelf: Handle DWARF 4 formats.
+
+* Mon May  3 2010 Ulrich Drepper <drepper@redhat.com> 0.147-1
+- libdw: Fixes in CFI handling, best possible handling of bogus CFA
+  ops.
+- libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r
+  bugs.
+
+* Wed Apr 21 2010  <drepper@redhat.com> 0.146-1
+- libdwfl: New function dwfl_core_file_report.
+
+* Tue Feb 23 2010 Ulrich Drepper <drepper@redhat.com> 0.145-1
+- Fix build with --disable-dependency-tracking.
+- Fix build with most recent glibc headers.
+- libelf: More robust to bogus section headers.
+- libdw: Fix CFI decoding.
+- libdwfl: Fix address bias returned by CFI accessors. 	 Fix core
+  file module layout identification.
+- readelf: Fix CFI decoding.
+
+* Thu Jan 14 2010  <drepper@redhat.com> 0.144-1
+- libelf: New function elf_getphdrnum. 	Now support using more than
+  65536 program headers in a file.
+- libdw: New function dwarf_aggregate_size for computing (constant)
+  type        sizes, including array_type cases with nontrivial
+  calculation.
+- readelf: Don't give errors for missing info under -a.
+  Handle Linux "VMCOREINFO" notes under -n.
+
+* Mon Sep 21 2009  <drepper@redhat.com> 0.143-1
+- libdw: Various convenience functions for individual attributes now
+  use dwarf_attr_integrate to look up indirect inherited
+  attributes.  Location expression handling now supports
+  DW_OP_implicit_value.
+- libdwfl: Support automatic decompression of files in XZ format,
+  and of Linux kernel images made with bzip2 or LZMA (as well
+  as gzip).
+
+* Mon Jun 29 2009  <drepper@redhat.com> 0.142-1
+- libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias
+  for elf_getshstrndx and deprecate original names.  Sun screwed up
+  their implementation and asked for a solution.
+- libebl: Add support for STB_GNU_UNIQUE.
+- elflint: Add support for STB_GNU_UNIQUE.
+- readelf: Add -N option, speeds up DWARF printing without address->name lookups.
+- libdw: Add support for decoding DWARF CFI into location description form.
+  Handle some new DWARF 3 expression operations previously omitted.
+  Basic handling of some new encodings slated for DWARF
+
+* Thu Apr 23 2009 Ulrich Drepper <drepper@redhat.com> 0.141-1
+- libebl: sparc backend fixes; 	some more arm backend support
+- libdwfl: fix dwfl_module_build_id for prelinked DSO case;
+  fixes in core file support; 	 dwfl_module_getsym interface
+  improved for non-address symbols
+- strip: fix infinite loop on strange inputs with -f
+- addr2line: take -j/--section=NAME option for binutils compatibility
+  	   (same effect as '(NAME)0x123' syntax already supported)
+
+* Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1
+- libelf: Fix regression in creation of section header
+- libdwfl: Less strict behavior if DWARF reader ist just used to
+  display data
+
+* Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1
+- libcpu: Add Intel SSE4 disassembler support
+- readelf: Implement call frame information and exception handling
+  dumping.          Add -e option.  Enable it implicitly for -a.
+- elflint: Check PT_GNU_EH_FRAME program header entry.
+- libdwfl: Support automatic gzip/bzip2 decompression of ELF files.
+
+* Wed Dec 31 2008 Roland McGrath <roland@redhat.com> 0.138-1
+- Install <elfutils/version.h> header file for applications to use in
+  source version compatibility checks.
+- libebl: backend fixes for i386 TLS relocs; backend support for
+  NT_386_IOPERM
+- libcpu: disassembler fixes
+- libdwfl: bug fixes
+- libelf: bug fixes
+- nm: bug fixes for handling corrupt input files
+
+* Tue Aug 26 2008 Ulrich Drepper <drepper@redhat.com> 0.137-1
+- Minor fixes for unreleased 0.136 release.
+
+* Mon Aug 25 2008 Ulrich Drepper <drepper@redhat.com> 0.136-1
+- libdwfl: bug fixes; new segment interfaces;	 all the libdwfl-based
+ tools now support --core=COREFILE option
+
+* Mon May 12 2008 Ulrich Drepper <drepper@redhat.com> 0.135-1
+- libdwfl: bug fixes
+- strip: changed handling of ET_REL files wrt symbol tables and relocs
+
+* Tue Apr  8 2008 Ulrich Drepper <drepper@redhat.com> 0.134-1
+- elflint: backend improvements for sparc, alpha
+- libdwfl, libelf: bug fixes
+
+* Sat Mar  1 2008 Ulrich Drepper <drepper@redhat.com> 0.133-1
+- readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
+- readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
+- libdwfl: bug fixes and optimization in relocation handling
+- elfcmp: bug fix for non-allocated section handling
+- ld: implement newer features of binutils linker.
+
+* Mon Jan 21 2008 Ulrich Drepper <drepper@redhat.com> 0.132-1
+- libcpu: Implement x86 and x86-64 disassembler.
+- libasm: Add interface for disassembler.
+- all programs: add debugging of branch prediction.
+- libelf: new function elf_scnshndx.
+
+* Sun Nov 11 2007 Ulrich Drepper <drepper@redhat.com> 0.131-1
+- libdw: DW_FORM_ref_addr support; dwarf_formref entry point now depreca
+ted;       bug fixes for oddly-formatted DWARF
+- libdwfl: bug fixes in offline archive support, symbol table handling;
+	 apply partial relocations for dwfl_module_address_section on
+ET_REL
+- libebl: powerpc backend support for Altivec registers
+
+* Mon Oct 15 2007 Ulrich Drepper <drepper@redhat.com> 0.130-1
+- readelf: -p option can take an argument like -x for one section,
+	 or no argument (as before) for all SHF_STRINGS sections;
+	 new option --archive-index (or -c);	 improved -n output fo
+r core files, on many machines
+- libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
+	new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
+- readelf, elflint: handle SHT_NOTE sections without requiring phdrs
+- elflint: stricter checks on debug sections
+- libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debu
+ginfo,	 dwfl_module_build_id, dwfl_module_report_build_id;	 suppo
+rt dynamic symbol tables found via phdrs;	 dwfl_standard_find_de
+buginfo now uses build IDs when available
+- unstrip: new option --list (or -n)
+- libebl: backend improvements for sparc, alpha, powerpc
+
+* Tue Aug 14 2007 Ulrich Drepper <drepper@redhat.com> 0.129-1
+- readelf: new options --hex-dump (or -x), --strings (or -p)
+- addr2line: new option --symbols (or -S)
+
+* Wed Apr 18 2007 Ulrich Drepper <drepper@redhat.com> 0.127-1
+- libdw: new function dwarf_getsrcdirs
+- libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
+	 dwfl_module_address_section
+
+* Mon Feb  5 2007 Ulrich Drepper <drepper@redhat.com> 0.126-1
+- new program: ar
+
+* Mon Dec 18 2006 Ulrich Drepper <drepper@redhat.com> 0.125-1
+- elflint: Compare DT_GNU_HASH tests.
+- move archives into -static RPMs
+- libelf, elflint: better support for core file handling
+
+* Tue Oct 10 2006 Ulrich Drepper <drepper@redhat.com> 0.124-1
+- libebl: sparc backend support for return value location
+- libebl, libdwfl: backend register name support extended with more info
+- libelf, libdw: bug fixes for unaligned accesses on machines that care
+- readelf, elflint: trivial bugs fixed
+
+* Mon Aug 14 2006 Roland McGrath <roland@redhat.com> 0.123-1
+- libebl: Backend build fixes, thanks to Stepan Kasal.
+- libebl: ia64 backend support for register names, return value location
+- libdwfl: Handle truncated linux kernel module section names.
+- libdwfl: Look for linux kernel vmlinux files with .debug suffix.
+- elflint: Fix checks to permit --hash-style=gnu format.
+
+* Wed Jul 12 2006 Ulrich Drepper <drepper@redhat.com> 0.122-1
+- libebl: add function to test for relative relocation
+- elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
+- elflint, readelf: add support for DT_GNU_HASHlibelf: add elf_gnu_hash
+- elflint, readelf: add support for 64-bit SysV-style hash tables
+- libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
+
+* Wed Jun 14 2006  <drepper@redhat.com> 0.121-1
+- libelf: bug fixes for rewriting existing files when using mmap.
+- make all installed headers usable in C++ code.
+- readelf: better output format.
+- elflint: fix tests of dynamic section content.
+- ld: Implement --as-needed, --execstack, PT_GNU_STACK.  Many small patc
+hes.
+- libdw, libdwfl: handle files without aranges info.
+
+* Tue Apr  4 2006 Ulrich Drepper <drepper@redhat.com> 0.120-1
+- Bug fixes.
+- dwarf.h updated for DWARF 3.0 final specification.
+- libdwfl: New function dwfl_version.
+- The license is now GPL for most files.  The libelf, libebl, libdw,and
+libdwfl libraries have additional exceptions.  Add reference toOIN.
+
+* Thu Jan 12 2006 Roland McGrath <roland@redhat.com> 0.119-1
+- elflint: more tests.
+- libdwfl: New function dwfl_module_register_names.
+- libebl: New backend hook for register names.
+
+* Tue Dec  6 2005 Ulrich Drepper <drepper@redhat.com> 0.118-1
+- elflint: more tests.
+- libdwfl: New function dwfl_module_register_names.
+- libebl: New backend hook for register names.
+
+* Thu Nov 17 2005 Ulrich Drepper <drepper@redhat.com> 0.117-1
+- libdwfl: New function dwfl_module_return_value_location.
+- libebl: Backend improvements for several CPUs.
+
+* Mon Oct 31 2005 Ulrich Drepper <drepper@redhat.com> 0.116-1
+- libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu,       d
+warf_entry_breakpoints.  Removed Dwarf_Func type and functions       d
+warf_func_name, dwarf_func_lowpc, dwarf_func_highpc,       dwarf_func_
+entrypc, dwarf_func_die; dwarf_getfuncs callback now uses       Dwarf_
+Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col       replac
+ed by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column;       dwarf
+_func_inline, dwarf_func_inline_instances now take Dwarf_Die.       Ty
+pe Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist,       dwarf_addrlo
+clists renamed dwarf_getlocation, dwarf_getlocation_addr.
+
+* Fri Sep  2 2005 Ulrich Drepper <drepper@redhat.com> 0.115-1
+- libelf: speed-ups of non-mmap reading.
+- strings: New program.
+- Implement --enable-gcov option for configure.
+- libdw: New function dwarf_getscopes_die.
+
+* Wed Aug 24 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1
+- libelf: new function elf_getaroff
+- libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_inst
+ances.
+- libdwfl: New functions dwfl_report_offline, dwfl_offline_section_addre
+ss,	 dwfl_linux_kernel_report_offline.
+- ranlib: new program
+
+* Mon Aug 15 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1
+- libelf: new function elf_getaroff
+- ranlib: new program
+
+* Wed Aug 10 2005 Ulrich Drepper <@redhat.com> 0.113-1
+- elflint: relax a bit. Allow version definitions for defined symbols ag
+ainstDSO versions also for symbols in nobits sections.  Allow .rodata
+sectionto have STRINGS and MERGE flag set.
+- strip: add some more compatibility with binutils.
+
+* Sat Aug  6 2005 Ulrich Drepper <@redhat.com> 0.113-1
+- elflint: relax a bit. Allow version definitions for defined symbols ag
+ainstDSO versions also for symbols in nobits sections.  Allow .rodata
+sectionto have STRINGS and MERGE flag set.
+
+* Sat Aug  6 2005 Ulrich Drepper <@redhat.com> 0.113-1
+- elflint: relax a bit. Allow version definitions for defined symbols ag
+ainstDSO versions also for symbols in nobits sections.
+
+* Fri Aug  5 2005 Ulrich Drepper <@redhat.com> 0.112-1
+- elfcmp: some more relaxation.
+- elflint: many more tests, especially regarding to symbol versioning.
+- libelf: Add elfXX_offscn and gelf_offscn.
+- libasm: asm_begin interface changes.
+- libebl: Add three new interfaces to directly access machine, class, an
+ddata encoding information.
+- objdump: New program.  Just the beginning.
+
+* Thu Jul 28 2005 Ulrich Drepper <@redhat.com> 0.111-1
+- libdw: now contains all of libdwfl.  The latter is not installed anymore.
+- elfcmp: little usability tweak, name and index of differing section is
+ printed.
+
+* Sun Jul 24 2005 Ulrich Drepper <@redhat.com> 0.110-1
+- libelf: fix a numbe rof problems with elf_update
+- elfcmp: fix a few bugs.  Compare gaps.
+- Fix a few PLT problems and mudflap build issues.
+- libebl: Don't expose Ebl structure definition in libebl.h.  It's now p
+rivate.
+
+* Thu Jul 21 2005 Ulrich Drepper <@redhat.com> 0.109-1
+- libebl: Check for matching modules.
+- elflint: Check that copy relocations only happen for OBJECT or NOTYPE
+symbols.
+- elfcmp: New program.
+- libdwfl: New library.
+
+* Mon May  9 2005 Ulrich Drepper <@redhat.com> 0.108-1
+- strip: fix bug introduced in last change
+- libdw: records returned by dwarf_getsrclines are now sorted by address
+
+* Sun May  8 2005 Ulrich Drepper <@redhat.com> 0.108-1
+- strip: fix bug introduced in last change
+
+* Sun May  8 2005 Ulrich Drepper <@redhat.com> 0.107-1
+- readelf: improve DWARF output format
+- strip: support Linux kernel modules
+
+* Fri Apr 29 2005 Ulrich Drepper <drepper@redhat.com> 0.107-1
+- readelf: improve DWARF output format
+
+* Mon Apr  4 2005 Ulrich Drepper <drepper@redhat.com> 0.106-1
+- libdw: Updated dwarf.h from DWARF3 speclibdw: add new funtions dwarf_f
+unc_entrypc, dwarf_func_file, dwarf_func_line,dwarf_func_col, dwarf_ge
+tsrc_file
+
+* Fri Apr  1 2005 Ulrich Drepper <drepper@redhat.com> 0.105-1
+- addr2line: New program
+- libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs
+,dwarf_func_*.
+- findtextrel: use dwarf_addrdie
+
+* Mon Mar 28 2005 Ulrich Drepper <drepper@redhat.com> 0.104-1
+- findtextrel: New program.
+
+* Mon Mar 21 2005 Ulrich Drepper <drepper@redhat.com> 0.103-1
+- libdw: Fix using libdw.h with gcc < 4 and C++ code.  Compiler bug.
+
+* Tue Feb 22 2005 Ulrich Drepper <drepper@redhat.com> 0.102-1
+- More Makefile and spec file cleanups.
+
+* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.94-1
+- upgrade to 0.94
+
+* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.93-1
+- upgrade to 0.93
+
+* Thu Jan  8 2004 Jakub Jelinek <jakub@redhat.com> 0.92-1
+- full version
+- macroized spec file for GPL or OSL builds
+- include only libelf under GPL plus wrapper scripts
+
+* Wed Jan  7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-2
+- macroized spec file for GPL or OSL builds
+
+* Wed Jan  7 2004 Ulrich Drepper <drepper@redhat.com>
+- split elfutils-devel into two packages.
+
+* Wed Jan  7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-1
+- include only libelf under GPL plus wrapper scripts
+
+* Tue Dec 23 2003 Jeff Johnson <jbj@redhat.com> 0.89-3
+- readelf, not readline, in %%description (#111214).
+
+* Fri Sep 26 2003 Bill Nottingham <notting@redhat.com> 0.89-1
+- update to 0.89 (fix eu-strip)
+
+* Tue Sep 23 2003 Jakub Jelinek <jakub@redhat.com> 0.86-3
+- update to 0.86 (fix eu-strip on s390x/alpha)
+- libebl is an archive now; remove references to DSO
+
+* Mon Jul 14 2003 Jeff Johnson <jbj@redhat.com> 0.84-3
+- upgrade to 0.84 (readelf/elflint improvements, rawhide bugs fixed).
+
+* Fri Jul 11 2003 Jeff Johnson <jbj@redhat.com> 0.83-3
+- upgrade to 0.83 (fix invalid ELf handle on *.so strip, more).
+
+* Wed Jul  9 2003 Jeff Johnson <jbj@redhat.com> 0.82-3
+- upgrade to 0.82 (strip tests fixed on big-endian).
+
+* Tue Jul  8 2003 Jeff Johnson <jbj@redhat.com> 0.81-3
+- upgrade to 0.81 (strip excludes unused symtable entries, test borked).
+
+* Thu Jun 26 2003 Jeff Johnson <jbj@redhat.com> 0.80-3
+- upgrade to 0.80 (debugedit changes for kernel in progress).
+
+* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
+- rebuilt
+
+* Wed May 21 2003 Jeff Johnson <jbj@redhat.com> 0.79-2
+- upgrade to 0.79 (correct formats for size_t, more of libdw "works").
+
+* Mon May 19 2003 Jeff Johnson <jbj@redhat.com> 0.78-2
+- upgrade to 0.78 (libdwarf bugfix, libdw additions).
+
+* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
+- debuginfo rebuild
+
+* Thu Feb 20 2003 Jeff Johnson <jbj@redhat.com> 0.76-2
+- use the correct way of identifying the section via the sh_info link.
+
+* Sat Feb 15 2003 Jakub Jelinek <jakub@redhat.com> 0.75-2
+- update to 0.75 (eu-strip -g fix)
+
+* Tue Feb 11 2003 Jakub Jelinek <jakub@redhat.com> 0.74-2
+- update to 0.74 (fix for writing with some non-dirty sections)
+
+* Thu Feb  6 2003 Jeff Johnson <jbj@redhat.com> 0.73-3
+- another -0.73 update (with sparc fixes).
+- do "make check" in %%check, not %%install, section.
+
+* Mon Jan 27 2003 Jeff Johnson <jbj@redhat.com> 0.73-2
+- update to 0.73 (with s390 fixes).
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4
+- fix arguments to gelf_getsymshndx and elf_getshstrndx
+- fix other warnings
+- reenable checks on s390x
+
+* Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3
+- temporarily disable checks on s390x, until someone has
+  time to look at it
+
+* Thu Dec 12 2002 Jakub Jelinek <jakub@redhat.com> 0.72-2
+- update to 0.72
+
+* Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.71-2
+- update to 0.71
+
+* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.69-4
+- update to 0.69.
+- add "make check" and segfault avoidance patch.
+- elfutils-libelf needs to run ldconfig.
+
+* Tue Dec 10 2002 Jeff Johnson <jbj@redhat.com> 0.68-2
+- update to 0.68.
+
+* Fri Dec  6 2002 Jeff Johnson <jbj@redhat.com> 0.67-2
+- update to 0.67.
+
+* Tue Dec  3 2002 Jeff Johnson <jbj@redhat.com> 0.65-2
+- update to 0.65.
+
+* Mon Dec  2 2002 Jeff Johnson <jbj@redhat.com> 0.64-2
+- update to 0.64.
+
+* Sun Dec 1 2002 Ulrich Drepper <drepper@redhat.com> 0.64
+- split packages further into elfutils-libelf
+
+* Sat Nov 30 2002 Jeff Johnson <jbj@redhat.com> 0.63-2
+- update to 0.63.
+
+* Fri Nov 29 2002 Ulrich Drepper <drepper@redhat.com> 0.62
+- Adjust for dropping libtool
+
+* Sun Nov 24 2002 Jeff Johnson <jbj@redhat.com> 0.59-2
+- update to 0.59
+
+* Thu Nov 14 2002 Jeff Johnson <jbj@redhat.com> 0.56-2
+- update to 0.56
+
+* Thu Nov  7 2002 Jeff Johnson <jbj@redhat.com> 0.54-2
+- update to 0.54
+
+* Sun Oct 27 2002 Jeff Johnson <jbj@redhat.com> 0.53-2
+- update to 0.53
+- drop x86_64 hack, ICE fixed in gcc-3.2-11.
+
+* Sat Oct 26 2002 Jeff Johnson <jbj@redhat.com> 0.52-3
+- get beehive to punch a rhpkg generated package.
+
+* Wed Oct 23 2002 Jeff Johnson <jbj@redhat.com> 0.52-2
+- build in 8.0.1.
+- x86_64: avoid gcc-3.2 ICE on x86_64 for now.
+
+* Tue Oct 22 2002 Ulrich Drepper <drepper@redhat.com> 0.52
+- Add libelf-devel to conflicts for elfutils-devel
+
+* Mon Oct 21 2002 Ulrich Drepper <drepper@redhat.com> 0.50
+- Split into runtime and devel package
+
+* Fri Oct 18 2002 Ulrich Drepper <drepper@redhat.com> 0.49
+- integrate into official sources
+
+* Wed Oct 16 2002 Jeff Johnson <jbj@redhat.com> 0.46-1
+- Swaddle.
diff --git a/config/eu.am b/config/eu.am
new file mode 100644
index 0000000..c2cc349
--- /dev/null
+++ b/config/eu.am
@@ -0,0 +1,113 @@
+## Common automake fragments for elfutils subdirectory makefiles.
+##
+## Copyright (C) 2010, 2014, 2016 Red Hat, 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 <http://www.gnu.org/licenses/>.
+##
+
+DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
+AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
+
+# Drop the 'u' flag that automake adds by default. It is incompatible
+# with deterministic archives.
+ARFLAGS = cr
+
+# Warn about stack usage of more than 256K = 262144 bytes.
+if ADD_STACK_USAGE_WARNING
+STACK_USAGE_WARNING=-Wstack-usage=262144
+else
+STACK_USAGE_WARNING=
+endif
+
+if SANE_LOGICAL_OP_WARNING
+LOGICAL_OP_WARNING=-Wlogical-op
+else
+LOGICAL_OP_WARNING=
+endif
+
+if HAVE_DUPLICATED_COND_WARNING
+DUPLICATED_COND_WARNING=-Wduplicated-cond
+else
+DUPLICATED_COND_WARNING=
+endif
+
+if HAVE_NULL_DEREFERENCE_WARNING
+NULL_DEREFERENCE_WARNING=-Wnull-dereference
+else
+NULL_DEREFERENCE_WARNING=
+endif
+
+if HAVE_IMPLICIT_FALLTHROUGH_WARNING
+# Use strict fallthrough. Only __attribute__((fallthrough)) will prevent the
+# warning
+IMPLICIT_FALLTHROUGH_WARNING=-Wimplicit-fallthrough=5
+else
+IMPLICIT_FALLTHROUGH_WARNING=
+endif
+
+AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
+	    -Wold-style-definition -Wstrict-prototypes \
+	    $(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),-Wno-packed-not-aligned,) \
+	    $($(*F)_CFLAGS)
+
+COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
+
+DEFS.os = -DPIC -DSHARED
+if SYMBOL_VERSIONING
+DEFS.os += -DSYMBOL_VERSIONING
+else
+endif
+
+%.os: %.c %.o
+if AMDEP
+	$(AM_V_CC)if $(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) -MT $@ -MD -MP \
+	  -MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
+	then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
+	     rm -f "$(DEPDIR)/$*.Tpo"; \
+	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+	fi
+else
+	$(AM_V_CC)$(COMPILE.os) -c -o $@ $(fpic_CFLAGS) $(DEFS.os) $<
+endif
+
+CLEANFILES = *.gcno *.gcda
+
+textrel_msg = echo "WARNING: TEXTREL found in '$@'"
+if FATAL_TEXTREL
+textrel_found = $(textrel_msg); exit 1
+else
+textrel_found = $(textrel_msg)
+endif
+textrel_check = if $(READELF) -d $@ | fgrep -q TEXTREL; then $(textrel_found); fi
+
+print-%:
+	@echo $*=$($*)
diff --git a/config/known-dwarf.awk b/config/known-dwarf.awk
new file mode 100755
index 0000000..bc9b02d
--- /dev/null
+++ b/config/known-dwarf.awk
@@ -0,0 +1,56 @@
+#!/bin/gawk -f
+
+## Copyright (C) 2012, 2015 Red Hat, Inc.
+##
+## This file is part of elfutils.
+##
+## 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 <http://www.gnu.org/licenses/>.
+
+$1 == "enum" { set = ""; next }
+
+set == "" && $1 ~ /DW_([A-Z_]+)_([^ ]+)/ {
+  set = $1;
+  sub(/^DW_/, "", set);
+  sub(/_[^[:upper:]_].*$/, "", set);
+  if (set ~ /LANG_.+/) set = "LANG";
+}
+
+$1 ~ /DW([_A-Z]+)_([^ ]+)/ {
+  match($1, ("DW_" set "_([^ ]+)"), fields);
+  elt = fields[1];
+  if (set in DW)
+    DW[set] = DW[set] "," elt;
+  else
+    DW[set] = elt;
+}
+
+END {
+  print "/* Generated by config/known-dwarf.awk from libdw/dwarf.h contents.  */";
+  n = asorti(DW, sets);
+  for (i = 1; i <= n; ++i) {
+    set = sets[i];
+    if (what && what != set) continue;
+    split(DW[set], elts, ",");
+    m = asort(elts);
+    if (m == 0) continue;
+    print "\n#define DWARF_ALL_KNOWN_DW_" set " \\";
+    for (j = 1; j <= m; ++j) {
+      elt = elts[j];
+      if (elt ~ /(low?|hi|high)_user$/)
+	continue;
+      print "  DWARF_ONE_KNOWN_DW_" set " (" elt ", DW_" set "_" elt ") \\";
+    }
+    print "  /* End of DW_" set "_*.  */";
+  }
+}
diff --git a/config/libdw.pc.in b/config/libdw.pc.in
new file mode 100644
index 0000000..3fc283d
--- /dev/null
+++ b/config/libdw.pc.in
@@ -0,0 +1,22 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libdw
+Description: elfutils library for DWARF data and ELF file or process inspection
+Version: @VERSION@
+URL: http://elfutils.org/
+
+Libs: -L${libdir} -ldw
+Cflags: -I${includedir}
+
+# We need the exact matching elfutils libelf version since internal data
+# structures are used.
+Requires: libelf = @VERSION@
+
+# We support various compressed ELF images, but don't export any of the
+# data structures or functions.  zlib (gz) is always required, bzip2 (bz2)
+# and lzma (xz) are optional.  But bzip2 doesn't have a pkg-config file.
+Requires.private: zlib @LIBLZMA@
+Libs.private: @BZ2_LIB@
diff --git a/config/libelf.pc.in b/config/libelf.pc.in
new file mode 100644
index 0000000..48f3f02
--- /dev/null
+++ b/config/libelf.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libelf
+Description: elfutils libelf library to read and write ELF files
+Version: @VERSION@
+URL: http://elfutils.org/
+
+Libs: -L${libdir} -lelf
+Cflags: -I${includedir}
+
+Requires.private: zlib
diff --git a/config/version.h.in b/config/version.h.in
new file mode 100644
index 0000000..34e62c3
--- /dev/null
+++ b/config/version.h.in
@@ -0,0 +1,38 @@
+/* Version information about elfutils development libraries.
+   Copyright (C) 2008 Red Hat, 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 <http://www.gnu.org/licenses/>.  */
+
+#ifndef _ELFUTILS_VERSION_H
+#define _ELFUTILS_VERSION_H	1
+
+#define _ELFUTILS_VERSION	@eu_version@
+
+#define _ELFUTILS_PREREQ(major, minor) \
+  (_ELFUTILS_VERSION >= ((major) * 1000 + (minor)))
+
+#endif	/* elfutils/version.h */