From 30c1ed46a3d2f74eb2a718767b47cf18fedb6c1f548d8c0401b1206e745cfc09 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 29 Nov 2012 12:05:16 +0000 Subject: [PATCH 1/2] Accepting request 143389 from home:adrianSuSE:aarch64 update and adding aarch64 patch. Do not break aarch64 libs during debuginfo generation anymore. OBS-URL: https://build.opensuse.org/request/show/143389 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=45 --- elfutils-0.137-dwarf-header-check-fix.diff | 8 +- elfutils-0.148-dont-crash.diff | 8 +- elfutils-0.153.tar.bz2 | 3 - elfutils-0.155.tar.bz2 | 3 + elfutils-aarch64.patch | 203 ++++++++ elfutils-no-po-test-build.diff | 24 +- elfutils-portability.patch | 516 ++++++++++++--------- elfutils-revert-portability-scanf.patch | 33 +- elfutils-robustify.patch | 497 +++++++++++--------- elfutils-uninitialized.diff | 8 +- elfutils.changes | 36 ++ elfutils.spec | 6 +- libebl-prototype-fix.diff | 16 +- 13 files changed, 883 insertions(+), 478 deletions(-) delete mode 100644 elfutils-0.153.tar.bz2 create mode 100644 elfutils-0.155.tar.bz2 create mode 100644 elfutils-aarch64.patch diff --git a/elfutils-0.137-dwarf-header-check-fix.diff b/elfutils-0.137-dwarf-header-check-fix.diff index 2176c53..3fa360c 100644 --- a/elfutils-0.137-dwarf-header-check-fix.diff +++ b/elfutils-0.137-dwarf-header-check-fix.diff @@ -14,9 +14,11 @@ semantic error: libdw failure (dwarf_getsrcfiles): invalid DWARF libdw/dwarf_getsrclines.c | 2 ++ 1 file changed, 2 insertions(+) ---- a/libdw/dwarf_getsrclines.c -+++ b/libdw/dwarf_getsrclines.c -@@ -337,8 +337,10 @@ +Index: elfutils-0.155/libdw/dwarf_getsrclines.c +=================================================================== +--- elfutils-0.155.orig/libdw/dwarf_getsrclines.c ++++ elfutils-0.155/libdw/dwarf_getsrclines.c +@@ -296,8 +296,10 @@ dwarf_getsrclines (Dwarf_Die *cudie, Dwa /* Consistency check. */ if (unlikely (linep != header_start + header_length)) { diff --git a/elfutils-0.148-dont-crash.diff b/elfutils-0.148-dont-crash.diff index 5952ea9..271facf 100644 --- a/elfutils-0.148-dont-crash.diff +++ b/elfutils-0.148-dont-crash.diff @@ -2,11 +2,11 @@ From: Stephan Kulow Avoid crash if the header is 0 -Index: elfutils-0.148/libdw/dwarf_getcfi_elf.c +Index: elfutils-0.155/libdw/dwarf_getcfi_elf.c =================================================================== ---- elfutils-0.148.orig/libdw/dwarf_getcfi_elf.c 2010-01-12 17:57:54.000000000 +0100 -+++ elfutils-0.148/libdw/dwarf_getcfi_elf.c 2010-09-13 12:51:04.299807382 +0200 -@@ -97,7 +97,7 @@ parse_eh_frame_hdr (const uint8_t *hdr, +--- elfutils-0.155.orig/libdw/dwarf_getcfi_elf.c ++++ elfutils-0.155/libdw/dwarf_getcfi_elf.c +@@ -76,7 +76,7 @@ parse_eh_frame_hdr (const uint8_t *hdr, { const uint8_t *h = hdr; diff --git a/elfutils-0.153.tar.bz2 b/elfutils-0.153.tar.bz2 deleted file mode 100644 index a576eaf..0000000 --- a/elfutils-0.153.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6cd7d1fe81d5f874061b7d753f5b5a0546ccc5fd83af843201330479332bef0 -size 2179242 diff --git a/elfutils-0.155.tar.bz2 b/elfutils-0.155.tar.bz2 new file mode 100644 index 0000000..0ac2107 --- /dev/null +++ b/elfutils-0.155.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68444a4526416ffd68852ec3c6a40ceddcca46538297322405319884c5d30ed8 +size 2477883 diff --git a/elfutils-aarch64.patch b/elfutils-aarch64.patch new file mode 100644 index 0000000..8f1fd86 --- /dev/null +++ b/elfutils-aarch64.patch @@ -0,0 +1,203 @@ +Index: elfutils-0.155/config/config.guess +=================================================================== +--- elfutils-0.155.orig/config/config.guess ++++ elfutils-0.155/config/config.guess +@@ -17,9 +17,7 @@ timestamp='2012-01-01' + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -202,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -279,7 +281,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; +@@ -863,6 +868,13 @@ EOF + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +@@ -1196,6 +1208,9 @@ EOF + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1251,7 +1266,10 @@ EOF + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1320,11 +1338,11 @@ EOF + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c <. + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -223,6 +221,12 @@ case $os in + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -341,6 +345,21 @@ case $basic_machine in + basic_machine=armel-unknown + ;; + ++ strongarm | thumb | xscale) ++ basic_machine=arm-unknown ++ ;; ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ xscaleeb) ++ basic_machine=armeb-unknown ++ ;; ++ ++ xscaleel) ++ basic_machine=armel-unknown ++ ;; ++ + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. +@@ -818,6 +837,10 @@ case $basic_machine in + basic_machine=i386-pc + os=-msys + ;; ++ msys) ++ basic_machine=i386-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs +@@ -826,6 +849,10 @@ case $basic_machine in + basic_machine=le32-unknown + os=-nacl + ;; ++ nacl) ++ basic_machine=le32-unknown ++ os=-nacl ++ ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 +@@ -896,6 +923,12 @@ case $basic_machine in + nse-tandem) + basic_machine=nse-tandem + ;; ++ neo-tandem) ++ basic_machine=neo-tandem ++ ;; ++ nse-tandem) ++ basic_machine=nse-tandem ++ ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; +@@ -1078,6 +1111,9 @@ case $basic_machine in + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; ++ strongarm-* | thumb-*) ++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + sun2) + basic_machine=m68000-sun + ;; +@@ -1208,6 +1244,9 @@ case $basic_machine in + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ++ xscale-* | xscalee[bl]-*) ++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ ;; + ymp) + basic_machine=ymp-cray + os=-unicos +@@ -1490,6 +1529,8 @@ case $os in + ;; + -nacl*) + ;; ++ -nacl*) ++ ;; + -none) + ;; + *) diff --git a/elfutils-no-po-test-build.diff b/elfutils-no-po-test-build.diff index e7f6c1e..c364205 100644 --- a/elfutils-no-po-test-build.diff +++ b/elfutils-no-po-test-build.diff @@ -2,25 +2,29 @@ From: unknown Upstream: no Subject: do not build po and tests components ---- elfutils/Makefile.am-dist 2007-07-04 12:05:20.000000000 +0200 -+++ elfutils/Makefile.am 2007-07-04 12:05:25.000000000 +0200 -@@ -29,7 +29,7 @@ +Index: elfutils-0.155/Makefile.am +=================================================================== +--- elfutils-0.155.orig/Makefile.am ++++ elfutils-0.155/Makefile.am +@@ -24,7 +24,7 @@ pkginclude_HEADERS = version.h # Add doc back when we have some real content. SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \ - src po tests + src - EXTRA_DIST = elfutils.spec GPG-KEY NOTES EXCEPTION - ---- elfutils-0.153/Makefile.in.orig 2012-02-23 12:41:51.000000000 +0100 -+++ elfutils-0.153/Makefile.in 2012-05-30 19:36:05.792498281 +0200 -@@ -247,7 +247,7 @@ pkginclude_HEADERS = version.h + EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ + COPYING COPYING-GPLV2 COPYING-LGPLV3 +Index: elfutils-0.155/Makefile.in +=================================================================== +--- elfutils-0.155.orig/Makefile.in ++++ elfutils-0.155/Makefile.in +@@ -259,7 +259,7 @@ pkginclude_HEADERS = version.h # Add doc back when we have some real content. SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \ - src po tests + src - EXTRA_DIST = elfutils.spec GPG-KEY NOTES EXCEPTION - + EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ + COPYING COPYING-GPLV2 COPYING-LGPLV3 diff --git a/elfutils-portability.patch b/elfutils-portability.patch index 96ef771..f7b9717 100644 --- a/elfutils-portability.patch +++ b/elfutils-portability.patch @@ -1,6 +1,8 @@ ---- elfutils/backends/ChangeLog -+++ elfutils/backends/ChangeLog -@@ -121,6 +121,10 @@ +Index: elfutils-0.155/backends/ChangeLog +=================================================================== +--- elfutils-0.155.orig/backends/ChangeLog ++++ elfutils-0.155/backends/ChangeLog +@@ -135,6 +135,10 @@ * ppc_attrs.c (ppc_check_object_attribute): Handle tag GNU_Power_ABI_Struct_Return. @@ -11,7 +13,7 @@ 2008-10-04 Ulrich Drepper * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and -@@ -448,6 +452,11 @@ +@@ -462,6 +466,11 @@ * sparc_init.c: Likewise. * x86_64_init.c: Likewise. @@ -23,7 +25,7 @@ 2005-11-19 Roland McGrath * ppc64_reloc.def: REL30 -> ADDR30. -@@ -470,6 +479,9 @@ +@@ -484,6 +493,9 @@ * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). (CLEANFILES): Add libebl_$(m).so. @@ -33,9 +35,11 @@ * ppc_reloc.def: Update bits per Alan Modra . * ppc64_reloc.def: Likewise. ---- elfutils/backends/Makefile.am -+++ elfutils/backends/Makefile.am -@@ -103,7 +103,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a +Index: elfutils-0.155/backends/Makefile.am +=================================================================== +--- elfutils-0.155.orig/backends/Makefile.am ++++ elfutils-0.155/backends/Makefile.am +@@ -111,7 +111,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a $(LINK) -shared -o $(@:.map=.so) \ -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ -Wl,--version-script,$(@:.so=.map) \ @@ -44,8 +48,10 @@ $(textrel_check) libebl_i386.so: $(cpu_i386) ---- elfutils/backends/Makefile.in -+++ elfutils/backends/Makefile.in +Index: elfutils-0.155/backends/Makefile.in +=================================================================== +--- elfutils-0.155.orig/backends/Makefile.in ++++ elfutils-0.155/backends/Makefile.in @@ -38,7 +38,8 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ @@ -56,7 +62,7 @@ subdir = backends ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ -@@ -165,6 +166,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -172,6 +173,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -64,7 +70,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -194,6 +196,7 @@ SHELL = @SHELL@ +@@ -201,6 +203,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -72,7 +78,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -256,10 +259,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi +@@ -263,10 +266,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -85,7 +91,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -698,7 +700,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a +@@ -725,7 +727,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a $(LINK) -shared -o $(@:.map=.so) \ -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ -Wl,--version-script,$(@:.so=.map) \ @@ -94,9 +100,20 @@ $(textrel_check) libebl_i386.so: $(cpu_i386) ---- elfutils/ChangeLog -+++ elfutils/ChangeLog -@@ -14,6 +14,9 @@ +Index: elfutils-0.155/ChangeLog +=================================================================== +--- elfutils-0.155.orig/ChangeLog ++++ elfutils-0.155/ChangeLog +@@ -16,6 +16,8 @@ + + 2012-01-24 Mark Wielaard + ++ * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE. ++ + * COPYING: Fix address. Updated version from gnulib. + + 2012-01-23 Mark Wielaard +@@ -34,6 +36,9 @@ 2011-10-08 Mike Frysinger @@ -106,7 +123,7 @@ * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly. 2011-10-02 Ulrich Drepper -@@ -35,6 +38,10 @@ +@@ -55,6 +60,10 @@ * configure.ac (LOCALEDIR, DATADIRNAME): Removed. @@ -117,7 +134,7 @@ 2009-09-21 Ulrich Drepper * configure.ac: Update for more modern autoconf. -@@ -43,6 +50,10 @@ +@@ -63,6 +72,10 @@ * configure.ac (zip_LIBS): Check for liblzma too. @@ -128,7 +145,7 @@ 2009-04-19 Roland McGrath * configure.ac (eu_version): Round down here, not in version.h macros. -@@ -54,6 +65,8 @@ +@@ -74,6 +87,8 @@ 2009-01-23 Roland McGrath @@ -137,7 +154,7 @@ * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of -@@ -134,6 +147,10 @@ +@@ -154,6 +169,10 @@ * configure.ac: Add dummy automake conditional to get dependencies for non-generic linker right. See src/Makefile.am. @@ -148,7 +165,7 @@ 2005-11-18 Roland McGrath * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. -@@ -181,6 +198,17 @@ +@@ -201,6 +220,17 @@ * Makefile.am (all_SUBDIRS): Add libdwfl. * configure.ac: Write libdwfl/Makefile. @@ -166,9 +183,11 @@ 2005-05-19 Roland McGrath * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. ---- elfutils/config/ChangeLog -+++ elfutils/config/ChangeLog -@@ -6,6 +6,10 @@ +Index: elfutils-0.155/config/ChangeLog +=================================================================== +--- elfutils-0.155.orig/config/ChangeLog ++++ elfutils-0.155/config/ChangeLog +@@ -19,6 +19,10 @@ * known-dwarf.awk: Use gawk. @@ -179,18 +198,20 @@ 2010-07-02 Ulrich Drepper * elfutils.spec.in: Add more BuildRequires. ---- elfutils/config/eu.am -+++ elfutils/config/eu.am +Index: elfutils-0.155/config/eu.am +=================================================================== +--- elfutils-0.155.orig/config/eu.am ++++ elfutils-0.155/config/eu.am @@ -1,6 +1,6 @@ ## Common automake fragments for elfutils subdirectory makefiles. ## -## Copyright (C) 2010 Red Hat, Inc. +## Copyright (C) 2010-2011 Red Hat, Inc. - ## This file is part of Red Hat elfutils. ## - ## Red Hat elfutils is free software; you can redistribute it and/or modify -@@ -25,14 +25,20 @@ - ## . + ## This file is part of elfutils. + ## +@@ -29,14 +29,20 @@ + ## not, see . ## +WEXTRA = @WEXTRA@ @@ -212,8 +233,10 @@ if MUDFLAP AM_CFLAGS += -fmudflap libmudflap = -lmudflap ---- elfutils/config/Makefile.in -+++ elfutils/config/Makefile.in +Index: elfutils-0.155/config/Makefile.in +=================================================================== +--- elfutils-0.155.orig/config/Makefile.in ++++ elfutils-0.155/config/Makefile.in @@ -76,6 +76,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -230,11 +253,13 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ ---- elfutils/config.h.in -+++ elfutils/config.h.in -@@ -3,6 +3,9 @@ - /* Should ar and ranlib use -D behavior by default? */ - #undef DEFAULT_AR_DETERMINISTIC +Index: elfutils-0.155/config.h.in +=================================================================== +--- elfutils-0.155.orig/config.h.in ++++ elfutils-0.155/config.h.in +@@ -6,6 +6,9 @@ + /* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */ + #undef ENABLE_DWZ +/* Have __builtin_popcount. */ +#undef HAVE_BUILTIN_POPCOUNT @@ -242,7 +267,7 @@ /* $libdir subdirectory containing libebl modules. */ #undef LIBEBL_SUBDIR -@@ -61,4 +64,7 @@ +@@ -64,4 +67,7 @@ /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES @@ -250,8 +275,10 @@ +#undef __thread + #include ---- elfutils/configure -+++ elfutils/configure +Index: elfutils-0.155/configure +=================================================================== +--- elfutils-0.155.orig/configure ++++ elfutils-0.155/configure @@ -598,6 +598,8 @@ ZLIB_TRUE LIBEBL_SUBDIR TESTS_RPATH_FALSE @@ -270,7 +297,7 @@ LEXLIB LEX_OUTPUT_ROOT LEX -@@ -722,6 +726,7 @@ enable_mudflap +@@ -726,6 +730,7 @@ enable_mudflap enable_debugpred enable_gprof enable_gcov @@ -278,7 +305,7 @@ enable_tests_rpath enable_libebl_subdir with_zlib -@@ -1373,6 +1378,7 @@ Optional Features: +@@ -1379,6 +1384,7 @@ Optional Features: prediction --enable-gprof build binaries with gprof support --enable-gcov build binaries with gcov support @@ -286,7 +313,7 @@ --enable-tests-rpath build $ORIGIN-using rpath into tests --enable-libebl-subdir=DIR install libebl_CPU modules in $(libdir)/DIR -@@ -3890,6 +3896,130 @@ if test "x$ac_cv_c99" != xyes; then : +@@ -3920,6 +3926,130 @@ if test "x$ac_cv_c99" != xyes; then : as_fn_error $? "gcc with C99 support required" "$LINENO" 5 fi @@ -417,7 +444,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5 $as_echo_n "checking for __thread support... " >&6; } if ${ac_cv_tls+:} false; then : -@@ -3926,7 +4056,13 @@ fi +@@ -3956,7 +4086,13 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5 $as_echo "$ac_cv_tls" >&6; } if test "x$ac_cv_tls" != xyes; then : @@ -432,7 +459,7 @@ fi # Check whether --enable-largefile was given. -@@ -4275,6 +4411,22 @@ else +@@ -4305,6 +4441,22 @@ else fi @@ -455,7 +482,7 @@ # Check whether --enable-tests-rpath was given. if test "${enable_tests_rpath+set}" = set; then : enableval=$enable_tests_rpath; tests_use_rpath=$enableval -@@ -4995,7 +5147,7 @@ case "$eu_version" in +@@ -5025,7 +5177,7 @@ case "$eu_version" in esac # Round up to the next release API (x.y) version. @@ -464,7 +491,7 @@ cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure -@@ -5154,6 +5306,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes +@@ -5188,6 +5340,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes as_fn_error $? "conditional \"BUILD_STATIC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi @@ -475,16 +502,18 @@ if test -z "${TESTS_RPATH_TRUE}" && test -z "${TESTS_RPATH_FALSE}"; then as_fn_error $? "conditional \"TESTS_RPATH\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 ---- elfutils/configure.ac -+++ elfutils/configure.ac -@@ -81,6 +81,54 @@ CFLAGS="$old_CFLAGS"]) +Index: elfutils-0.155/configure.ac +=================================================================== +--- elfutils-0.155.orig/configure.ac ++++ elfutils-0.155/configure.ac +@@ -90,6 +90,54 @@ CFLAGS="$old_CFLAGS"]) AS_IF([test "x$ac_cv_c99" != xyes], AC_MSG_ERROR([gcc with C99 support required])) +AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl +old_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Wextra" -+AC_COMPILE_IFELSE([void foo (void) { }], ++AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo (void) { }])], + ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no) +CFLAGS="$old_CFLAGS"]) +AC_SUBST(WEXTRA) @@ -493,14 +522,14 @@ +AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl +old_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fgnu89-inline -Werror" -+AC_COMPILE_IFELSE([ ++AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +void foo (void) +{ + inline void bar (void) {} + bar (); +} +extern inline void baz (void) {} -+], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no) ++])], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no) +CFLAGS="$old_CFLAGS"]) +AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes], + [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"]) @@ -532,7 +561,7 @@ AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl # Use the same flags that we use for our DSOs, so the test is representative. # Some old compiler/linker/libc combinations fail some ways and not others. -@@ -96,7 +144,10 @@ static __thread int a; int foo (int b) { +@@ -105,7 +153,10 @@ static __thread int a; int foo (int b) { CFLAGS="$save_CFLAGS" LDFLAGS="$save_LDFLAGS"]) AS_IF([test "x$ac_cv_tls" != xyes], @@ -544,7 +573,7 @@ dnl This test must come as early as possible after the compiler configuration dnl tests, because the choice of the file model can (in principle) affect -@@ -184,6 +235,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" = +@@ -193,6 +244,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" = AM_CONDITIONAL(BUILD_STATIC, [dnl test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes]) @@ -556,7 +585,7 @@ AC_ARG_ENABLE([tests-rpath], AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]), [tests_use_rpath=$enableval], [tests_use_rpath=no]) -@@ -295,6 +351,6 @@ case "$eu_version" in +@@ -304,6 +360,6 @@ case "$eu_version" in esac # Round up to the next release API (x.y) version. @@ -564,8 +593,10 @@ +eu_version=`expr \( $eu_version + 999 \) / 1000` AC_OUTPUT ---- elfutils/lib/ChangeLog -+++ elfutils/lib/ChangeLog +Index: elfutils-0.155/lib/ChangeLog +=================================================================== +--- elfutils-0.155.orig/lib/ChangeLog ++++ elfutils-0.155/lib/ChangeLog @@ -35,6 +35,9 @@ 2009-01-23 Roland McGrath @@ -588,9 +619,11 @@ 2005-04-30 Ulrich Drepper * Makefile.am: Use -ffunction-sections for xmalloc.c. ---- elfutils/lib/eu-config.h -+++ elfutils/lib/eu-config.h -@@ -182,6 +182,17 @@ asm (".section predict_data, \"aw\"; .pr +Index: elfutils-0.155/lib/eu-config.h +=================================================================== +--- elfutils-0.155.orig/lib/eu-config.h ++++ elfutils-0.155/lib/eu-config.h +@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr /* This macro is used by the tests conditionalize for standalone building. */ #define ELFUTILS_HEADER(name) @@ -608,8 +641,10 @@ #ifdef SHARED # define OLD_VERSION(name, version) \ ---- elfutils/lib/Makefile.in -+++ elfutils/lib/Makefile.in +Index: elfutils-0.155/lib/Makefile.in +=================================================================== +--- elfutils-0.155.orig/lib/Makefile.in ++++ elfutils-0.155/lib/Makefile.in @@ -37,7 +37,8 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ @@ -649,8 +684,10 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ ---- elfutils/libasm/ChangeLog -+++ elfutils/libasm/ChangeLog +Index: elfutils-0.155/libasm/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libasm/ChangeLog ++++ elfutils-0.155/libasm/ChangeLog @@ -71,6 +71,11 @@ * asm_error.c: Add new error ASM_E_IOERROR. * libasmP.h: Add ASM_E_IOERROR definition. @@ -663,8 +700,10 @@ 2005-02-15 Ulrich Drepper * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. ---- elfutils/libasm/Makefile.in -+++ elfutils/libasm/Makefile.in +Index: elfutils-0.155/libasm/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libasm/Makefile.in ++++ elfutils-0.155/libasm/Makefile.in @@ -39,10 +39,11 @@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -679,7 +718,7 @@ subdir = libasm ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ -@@ -147,6 +148,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -153,6 +154,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -687,7 +726,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -176,6 +178,7 @@ SHELL = @SHELL@ +@@ -182,6 +184,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 @@ -695,7 +734,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -238,10 +241,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi +@@ -244,10 +247,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \ -I$(top_srcdir)/libdw AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -708,7 +747,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -270,7 +272,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort +@@ -276,7 +278,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort @MUDFLAP_FALSE@libasm_pic_a_SOURCES = @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) @@ -717,9 +756,11 @@ @MUDFLAP_FALSE@libasm_so_SOURCES = noinst_HEADERS = libasmP.h symbolhash.h EXTRA_DIST = libasm.map ---- elfutils/libcpu/ChangeLog -+++ elfutils/libcpu/ChangeLog -@@ -29,6 +29,9 @@ +Index: elfutils-0.155/libcpu/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libcpu/ChangeLog ++++ elfutils-0.155/libcpu/ChangeLog +@@ -38,6 +38,9 @@ 2009-01-23 Roland McGrath @@ -729,7 +770,7 @@ * Makefile.am (i386_parse_CFLAGS): Use quotes around command substitution that can produce leading whitespace. -@@ -358,6 +361,11 @@ +@@ -367,6 +370,11 @@ * defs/i386.doc: New file. * defs/x86_64: New file. @@ -741,9 +782,11 @@ 2005-02-15 Ulrich Drepper * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. ---- elfutils/libcpu/i386_disasm.c -+++ elfutils/libcpu/i386_disasm.c -@@ -819,6 +819,7 @@ i386_disasm (const uint8_t **startp, con +Index: elfutils-0.155/libcpu/i386_disasm.c +=================================================================== +--- elfutils-0.155.orig/libcpu/i386_disasm.c ++++ elfutils-0.155/libcpu/i386_disasm.c +@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con default: assert (! "INVALID not handled"); @@ -751,8 +794,10 @@ } } else ---- elfutils/libcpu/Makefile.in -+++ elfutils/libcpu/Makefile.in +Index: elfutils-0.155/libcpu/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libcpu/Makefile.in ++++ elfutils-0.155/libcpu/Makefile.in @@ -39,7 +39,8 @@ host_triplet = @host@ DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \ @@ -792,9 +837,11 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ ---- elfutils/libdw/ChangeLog -+++ elfutils/libdw/ChangeLog -@@ -6,6 +6,10 @@ +Index: elfutils-0.155/libdw/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libdw/ChangeLog ++++ elfutils-0.155/libdw/ChangeLog +@@ -82,6 +82,10 @@ * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk. @@ -805,7 +852,7 @@ 2011-07-14 Mark Wielaard * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info. -@@ -365,6 +369,10 @@ +@@ -441,6 +445,10 @@ * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. @@ -816,7 +863,7 @@ 2009-08-10 Roland McGrath * dwarf_getscopevar.c: Use dwarf_diename. -@@ -1133,6 +1141,11 @@ +@@ -1209,6 +1217,11 @@ 2005-05-31 Roland McGrath @@ -828,9 +875,11 @@ * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to formref offset. ---- elfutils/libdw/dwarf_begin_elf.c -+++ elfutils/libdw/dwarf_begin_elf.c -@@ -64,6 +64,14 @@ +Index: elfutils-0.155/libdw/dwarf_begin_elf.c +=================================================================== +--- elfutils-0.155.orig/libdw/dwarf_begin_elf.c ++++ elfutils-0.155/libdw/dwarf_begin_elf.c +@@ -48,6 +48,14 @@ #if USE_ZLIB # include # define crc32 loser_crc32 @@ -845,9 +894,11 @@ # include # undef crc32 #endif ---- elfutils/libdw/libdw.h -+++ elfutils/libdw/libdw.h -@@ -852,7 +852,7 @@ extern Dwarf_OOM dwarf_new_oom_handler ( +Index: elfutils-0.155/libdw/libdw.h +=================================================================== +--- elfutils-0.155.orig/libdw/libdw.h ++++ elfutils-0.155/libdw/libdw.h +@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler ( /* Inline optimizations. */ @@ -856,8 +907,10 @@ /* Return attribute code of given attribute. */ __libdw_extern_inline unsigned int dwarf_whatattr (Dwarf_Attribute *attr) ---- elfutils/libdw/Makefile.in -+++ elfutils/libdw/Makefile.in +Index: elfutils-0.155/libdw/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libdw/Makefile.in ++++ elfutils-0.155/libdw/Makefile.in @@ -39,8 +39,9 @@ host_triplet = @host@ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ @@ -870,7 +923,7 @@ @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS = subdir = libdw -@@ -192,6 +193,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -198,6 +199,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -878,7 +931,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -221,6 +223,7 @@ SHELL = @SHELL@ +@@ -227,6 +229,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 @@ -886,7 +939,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -282,10 +285,9 @@ zip_LIBS = @zip_LIBS@ +@@ -288,10 +291,9 @@ zip_LIBS = @zip_LIBS@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \ -I$(srcdir)/../libelf AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -899,9 +952,11 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ ---- elfutils/libdwfl/ChangeLog -+++ elfutils/libdwfl/ChangeLog -@@ -1409,6 +1409,11 @@ +Index: elfutils-0.155/libdwfl/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libdwfl/ChangeLog ++++ elfutils-0.155/libdwfl/ChangeLog +@@ -1420,6 +1420,11 @@ 2005-07-21 Roland McGrath @@ -913,8 +968,10 @@ * Makefile.am (noinst_HEADERS): Add loc2c.c. * test2.c (main): Check sscanf result to quiet warning. ---- elfutils/libdwfl/Makefile.in -+++ elfutils/libdwfl/Makefile.in +Index: elfutils-0.155/libdwfl/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libdwfl/Makefile.in ++++ elfutils-0.155/libdwfl/Makefile.in @@ -38,11 +38,12 @@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -933,7 +990,7 @@ @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS = subdir = libdwfl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -@@ -182,6 +183,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -188,6 +189,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -941,7 +998,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -211,6 +213,7 @@ SHELL = @SHELL@ +@@ -217,6 +219,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 @@ -949,7 +1006,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -273,10 +276,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi +@@ -279,10 +282,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ -I$(srcdir)/../libdw AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -962,7 +1019,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -284,7 +286,7 @@ COMPILE.os = $(filter-out -fprofile-arcs +@@ -290,7 +292,7 @@ COMPILE.os = $(filter-out -fprofile-arcs CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS) textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi @@ -971,7 +1028,7 @@ pkginclude_HEADERS = libdwfl.h libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \ dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \ -@@ -305,8 +307,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en +@@ -311,8 +313,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en dwfl_module_getsym.c dwfl_module_addrname.c \ dwfl_module_addrsym.c dwfl_module_return_value_location.c \ dwfl_module_register_names.c dwfl_segment_report_module.c \ @@ -982,9 +1039,11 @@ @MUDFLAP_FALSE@libdwfl = $(libdw) @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu) @MUDFLAP_FALSE@libdw = ../libdw/libdw.so ---- elfutils/libebl/ChangeLog -+++ elfutils/libebl/ChangeLog -@@ -650,6 +650,11 @@ +Index: elfutils-0.155/libebl/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libebl/ChangeLog ++++ elfutils-0.155/libebl/ChangeLog +@@ -658,6 +658,11 @@ * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency tracking works right. @@ -996,8 +1055,10 @@ 2005-05-21 Ulrich Drepper * libebl_x86_64.map: Add x86_64_core_note. ---- elfutils/libebl/Makefile.in -+++ elfutils/libebl/Makefile.in +Index: elfutils-0.155/libebl/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libebl/Makefile.in ++++ elfutils-0.155/libebl/Makefile.in @@ -38,7 +38,8 @@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -1008,7 +1069,7 @@ subdir = libebl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ -@@ -144,6 +145,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -150,6 +151,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1016,7 +1077,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -173,6 +175,7 @@ SHELL = @SHELL@ +@@ -179,6 +181,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 @@ -1024,7 +1085,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -235,10 +238,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi +@@ -241,10 +244,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi -I$(srcdir)/../libelf -I$(srcdir)/../libdw \ -I$(srcdir)/../libasm AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -1037,18 +1098,23 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ ---- elfutils/libelf/ChangeLog -+++ elfutils/libelf/ChangeLog -@@ -1,3 +1,8 @@ +Index: elfutils-0.155/libelf/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libelf/ChangeLog ++++ elfutils-0.155/libelf/ChangeLog +@@ -34,6 +34,11 @@ + + * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check. + +2011-03-10 Roland McGrath + + * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32 + argument, since some implementations are buggy macros. + - 2011-01-05 Jan Kratochvil + 2011-02-26 Mark Wielaard - * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow -@@ -671,6 +676,11 @@ + * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini. +@@ -711,6 +716,11 @@ * elf.h: Update from glibc. @@ -1060,9 +1126,11 @@ 2005-05-08 Roland McGrath * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. ---- elfutils/libelf/common.h -+++ elfutils/libelf/common.h -@@ -160,7 +160,7 @@ libelf_release_all (Elf *elf) +Index: elfutils-0.155/libelf/common.h +=================================================================== +--- elfutils-0.155.orig/libelf/common.h ++++ elfutils-0.155/libelf/common.h +@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf) (Var) = (sizeof (Var) == 1 \ ? (unsigned char) (Var) \ : (sizeof (Var) == 2 \ @@ -1071,7 +1139,7 @@ : (sizeof (Var) == 4 \ ? bswap_32 (Var) \ : bswap_64 (Var)))) -@@ -169,7 +169,7 @@ libelf_release_all (Elf *elf) +@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf) (Dst) = (sizeof (Var) == 1 \ ? (unsigned char) (Var) \ : (sizeof (Var) == 2 \ @@ -1080,16 +1148,18 @@ : (sizeof (Var) == 4 \ ? bswap_32 (Var) \ : bswap_64 (Var)))) ---- elfutils/libelf/gnuhash_xlate.h -+++ elfutils/libelf/gnuhash_xlate.h +Index: elfutils-0.155/libelf/gnuhash_xlate.h +=================================================================== +--- elfutils-0.155.orig/libelf/gnuhash_xlate.h ++++ elfutils-0.155/libelf/gnuhash_xlate.h @@ -1,5 +1,5 @@ /* Conversion functions for versioning information. - Copyright (C) 2006, 2007 Red Hat, Inc. + Copyright (C) 2006-2011 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2006. -@@ -89,7 +89,9 @@ elf_cvt_gnuhash (void *dest, const void +@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void dest32 = (Elf32_Word *) &dest64[bitmask_words]; while (len >= 4) { @@ -1100,8 +1170,10 @@ len -= 4; } } ---- elfutils/libelf/Makefile.in -+++ elfutils/libelf/Makefile.in +Index: elfutils-0.155/libelf/Makefile.in +=================================================================== +--- elfutils-0.155.orig/libelf/Makefile.in ++++ elfutils-0.155/libelf/Makefile.in @@ -39,11 +39,12 @@ host_triplet = @host@ DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \ $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ @@ -1118,7 +1190,7 @@ subdir = libelf ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ -@@ -189,6 +190,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -195,6 +196,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1126,7 +1198,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -218,6 +220,7 @@ SHELL = @SHELL@ +@@ -224,6 +226,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = 1 @@ -1134,7 +1206,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -278,10 +281,9 @@ top_srcdir = @top_srcdir@ +@@ -284,10 +287,9 @@ top_srcdir = @top_srcdir@ zip_LIBS = @zip_LIBS@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -1147,7 +1219,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -346,7 +348,7 @@ libelf_a_SOURCES = elf_version.c elf_has +@@ -352,7 +354,7 @@ libelf_a_SOURCES = elf_version.c elf_has @MUDFLAP_FALSE@libelf_pic_a_SOURCES = @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) @@ -1156,8 +1228,10 @@ @MUDFLAP_FALSE@libelf_so_SOURCES = noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \ version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h ---- elfutils/m4/Makefile.in -+++ elfutils/m4/Makefile.in +Index: elfutils-0.155/m4/Makefile.in +=================================================================== +--- elfutils-0.155.orig/m4/Makefile.in ++++ elfutils-0.155/m4/Makefile.in @@ -75,6 +75,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -1174,9 +1248,11 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ ---- elfutils/Makefile.in -+++ elfutils/Makefile.in -@@ -155,6 +155,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +Index: elfutils-0.155/Makefile.in +=================================================================== +--- elfutils-0.155.orig/Makefile.in ++++ elfutils-0.155/Makefile.in +@@ -165,6 +165,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1184,7 +1260,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -184,6 +185,7 @@ SHELL = @SHELL@ +@@ -194,6 +195,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -1192,9 +1268,11 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ ---- elfutils/src/addr2line.c -+++ elfutils/src/addr2line.c -@@ -455,10 +455,10 @@ handle_address (const char *string, Dwfl +Index: elfutils-0.155/src/addr2line.c +=================================================================== +--- elfutils-0.155.orig/src/addr2line.c ++++ elfutils-0.155/src/addr2line.c +@@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl bool parsed = false; int i, j; char *name = NULL; @@ -1207,9 +1285,11 @@ { default: break; ---- elfutils/src/ChangeLog -+++ elfutils/src/ChangeLog -@@ -490,8 +490,16 @@ +Index: elfutils-0.155/src/ChangeLog +=================================================================== +--- elfutils-0.155.orig/src/ChangeLog ++++ elfutils-0.155/src/ChangeLog +@@ -606,8 +606,16 @@ * readelf.c (attr_callback): Use print_block only when we don't use print_ops. @@ -1226,7 +1306,7 @@ * ar.c (do_oper_extract): Use pathconf instead of statfs. 2009-08-01 Ulrich Drepper -@@ -655,6 +663,8 @@ +@@ -771,6 +779,8 @@ * readelf.c (print_debug_frame_section): Use t instead of j formats for ptrdiff_t OFFSET. @@ -1235,7 +1315,7 @@ 2009-01-21 Ulrich Drepper * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section -@@ -838,6 +848,11 @@ +@@ -954,6 +964,11 @@ that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really is valid in RELRO. @@ -1247,7 +1327,7 @@ 2008-02-29 Roland McGrath * readelf.c (print_attributes): Add a cast. -@@ -1089,6 +1104,8 @@ +@@ -1205,6 +1220,8 @@ * readelf.c (hex_dump): Fix rounding error in whitespace calculation. @@ -1256,7 +1336,7 @@ 2007-10-15 Roland McGrath * make-debug-archive.in: New file. -@@ -1528,6 +1545,10 @@ +@@ -1644,6 +1661,10 @@ * elflint.c (valid_e_machine): Add EM_ALPHA. Reported by Christian Aichinger . @@ -1267,7 +1347,7 @@ 2006-08-08 Ulrich Drepper * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. -@@ -1604,6 +1625,10 @@ +@@ -1720,6 +1741,10 @@ * Makefile.am: Add hacks to create dependency files for non-generic linker. @@ -1278,7 +1358,7 @@ 2006-06-12 Ulrich Drepper * ldgeneric.c (ld_generic_generate_sections): Don't create .interp -@@ -1952,6 +1977,11 @@ +@@ -2068,6 +2093,11 @@ * readelf.c (print_debug_loc_section): Fix indentation for larger address size. @@ -1290,9 +1370,11 @@ 2005-05-30 Roland McGrath * readelf.c (print_debug_line_section): Print section offset of each ---- elfutils/src/findtextrel.c -+++ elfutils/src/findtextrel.c -@@ -504,7 +504,11 @@ ptrcompare (const void *p1, const void * +Index: elfutils-0.155/src/findtextrel.c +=================================================================== +--- elfutils-0.155.orig/src/findtextrel.c ++++ elfutils-0.155/src/findtextrel.c +@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void * static void @@ -1305,9 +1387,11 @@ GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw, const char *fname, bool more_than_one, void **knownsrcs) { ---- elfutils/src/ld.h -+++ elfutils/src/ld.h -@@ -1122,6 +1122,7 @@ extern bool dynamically_linked_p (void); +Index: elfutils-0.155/src/ld.h +=================================================================== +--- elfutils-0.155.orig/src/ld.h ++++ elfutils-0.155/src/ld.h +@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void); /* Checked whether the symbol is undefined and referenced from a DSO. */ extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx); @@ -1315,16 +1399,18 @@ #ifdef __GNUC_STDC_INLINE__ __attribute__ ((__gnu_inline__)) #endif -@@ -1139,5 +1140,6 @@ linked_from_dso_p (struct scninfo *scnin +@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin return sym->defined && sym->in_dso; } +#endif /* Optimizing and not GCC 4.2. */ #endif /* ld.h */ ---- elfutils/src/Makefile.am -+++ elfutils/src/Makefile.am -@@ -103,6 +103,9 @@ addr2line_no_Wformat = yes +Index: elfutils-0.155/src/Makefile.am +=================================================================== +--- elfutils-0.155.orig/src/Makefile.am ++++ elfutils-0.155/src/Makefile.am +@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes # XXX While the file is not finished, don't warn about this ldgeneric_no_Wunused = yes @@ -1334,12 +1420,14 @@ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ $(demanglelib) ---- elfutils/src/Makefile.in -+++ elfutils/src/Makefile.in +Index: elfutils-0.155/src/Makefile.in +=================================================================== +--- elfutils-0.155.orig/src/Makefile.in ++++ elfutils-0.155/src/Makefile.in @@ -40,7 +40,8 @@ host_triplet = @host@ DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \ - ldlex.c ldscript.c ylwrap + ldlex.c ldscript.c -@MUDFLAP_TRUE@am__append_1 = -fmudflap +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) +@MUDFLAP_TRUE@am__append_2 = -fmudflap @@ -1367,7 +1455,7 @@ ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \ $@ am_libld_elf_i386_so_OBJECTS = -@@ -229,6 +230,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -235,6 +236,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1375,7 +1463,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -258,6 +260,7 @@ SHELL = @SHELL@ +@@ -264,6 +266,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -1383,7 +1471,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -321,10 +324,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi +@@ -327,10 +330,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \ -I$(srcdir)/../libasm AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ @@ -1396,7 +1484,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -340,8 +342,8 @@ AM_LFLAGS = -Pld -olex.yy.c +@@ -346,8 +348,8 @@ AM_LFLAGS = -Pld -olex.yy.c native_ld = @native_ld@ ld_dsos = libld_elf_i386_pic.a @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \ @@ -1407,7 +1495,7 @@ @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu) @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \ -@@ -370,6 +372,9 @@ strings_no_Wformat = yes +@@ -376,6 +378,9 @@ strings_no_Wformat = yes addr2line_no_Wformat = yes # XXX While the file is not finished, don't warn about this ldgeneric_no_Wunused = yes @@ -1417,7 +1505,7 @@ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ $(demanglelib) -@@ -377,7 +382,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf) +@@ -383,7 +388,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf) size_LDADD = $(libelf) $(libeu) $(libmudflap) strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ @@ -1426,9 +1514,11 @@ ld_LDFLAGS = -rdynamic elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) ---- elfutils/src/readelf.c -+++ elfutils/src/readelf.c -@@ -4434,10 +4434,11 @@ struct listptr +Index: elfutils-0.155/src/readelf.c +=================================================================== +--- elfutils-0.155.orig/src/readelf.c ++++ elfutils-0.155/src/readelf.c +@@ -3949,10 +3949,11 @@ struct listptr #define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4) #define listptr_address_size(p) ((p)->addr64 ? 8 : 4) @@ -1442,7 +1532,7 @@ struct listptr *p1 = (void *) a; struct listptr *p2 = (void *) b; -@@ -4518,8 +4519,11 @@ static void +@@ -4033,8 +4034,11 @@ static void sort_listptr (struct listptr_table *table, const char *name) { if (table->n > 0) @@ -1456,7 +1546,7 @@ } static bool -@@ -8478,7 +8482,7 @@ dump_archive_index (Elf *elf, const char +@@ -8442,7 +8446,7 @@ dump_archive_index (Elf *elf, const char if (unlikely (elf_rand (elf, as_off) == 0) || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf)) == NULL)) @@ -1465,9 +1555,11 @@ while (1) #endif error (EXIT_FAILURE, 0, ---- elfutils/src/strings.c -+++ elfutils/src/strings.c -@@ -51,6 +51,10 @@ +Index: elfutils-0.155/src/strings.c +=================================================================== +--- elfutils-0.155.orig/src/strings.c ++++ elfutils-0.155/src/strings.c +@@ -43,6 +43,10 @@ #include @@ -1478,7 +1570,7 @@ /* Prototypes of local functions. */ static int read_fd (int fd, const char *fname, off64_t fdlen); -@@ -491,8 +495,13 @@ map_file (int fd, off64_t start_off, off +@@ -483,8 +487,13 @@ map_file (int fd, off64_t start_off, off fd, start_off); if (mem != MAP_FAILED) { @@ -1492,7 +1584,7 @@ break; } if (errno != EINVAL && errno != ENOMEM) -@@ -584,9 +593,11 @@ read_block (int fd, const char *fname, o +@@ -576,9 +585,11 @@ read_block (int fd, const char *fname, o elfmap_off = from & ~(ps - 1); elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size); @@ -1504,9 +1596,11 @@ } if (unlikely (elfmap == MAP_FAILED)) ---- elfutils/src/strip.c -+++ elfutils/src/strip.c -@@ -53,6 +53,12 @@ +Index: elfutils-0.155/src/strip.c +=================================================================== +--- elfutils-0.155.orig/src/strip.c ++++ elfutils-0.155/src/strip.c +@@ -45,6 +45,12 @@ #include #include @@ -1519,7 +1613,7 @@ typedef uint8_t GElf_Byte; /* Name and version of program. */ -@@ -326,8 +332,18 @@ process_file (const char *fname) +@@ -318,8 +324,18 @@ process_file (const char *fname) /* If we have to preserve the timestamp, we need it in the format utimes() understands. */ @@ -1538,7 +1632,7 @@ } /* Open the file. */ -@@ -2063,7 +2079,7 @@ while computing checksum for debug infor +@@ -2055,7 +2071,7 @@ while computing checksum for debug infor /* If requested, preserve the timestamp. */ if (tvp != NULL) { @@ -1547,7 +1641,7 @@ { error (0, errno, gettext ("\ cannot set access and modification date of '%s'"), -@@ -2120,7 +2136,7 @@ handle_ar (int fd, Elf *elf, const char +@@ -2112,7 +2128,7 @@ handle_ar (int fd, Elf *elf, const char if (tvp != NULL) { @@ -1556,9 +1650,11 @@ { error (0, errno, gettext ("\ cannot set access and modification date of '%s'"), fname); ---- elfutils/tests/ChangeLog -+++ elfutils/tests/ChangeLog -@@ -279,6 +279,8 @@ +Index: elfutils-0.155/tests/ChangeLog +=================================================================== +--- elfutils-0.155.orig/tests/ChangeLog ++++ elfutils-0.155/tests/ChangeLog +@@ -439,6 +439,8 @@ 2008-01-21 Roland McGrath @@ -1567,7 +1663,7 @@ * testfile45.S.bz2: Add tests for cltq, cqto. * testfile45.expect.bz2: Adjust. -@@ -987,6 +989,11 @@ +@@ -1147,6 +1149,11 @@ * Makefile.am (TESTS): Add run-elflint-test.sh. (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. @@ -1579,9 +1675,11 @@ 2005-05-24 Ulrich Drepper * get-files.c (main): Use correct format specifier. ---- elfutils/tests/line2addr.c -+++ elfutils/tests/line2addr.c -@@ -132,7 +132,7 @@ main (int argc, char *argv[]) +Index: elfutils-0.155/tests/line2addr.c +=================================================================== +--- elfutils-0.155.orig/tests/line2addr.c ++++ elfutils-0.155/tests/line2addr.c +@@ -124,7 +124,7 @@ main (int argc, char *argv[]) { struct args a = { .arg = argv[cnt] }; @@ -1590,9 +1688,11 @@ { default: case 0: ---- elfutils/tests/Makefile.in -+++ elfutils/tests/Makefile.in -@@ -36,14 +36,15 @@ build_triplet = @build@ +Index: elfutils-0.155/tests/Makefile.in +=================================================================== +--- elfutils-0.155.orig/tests/Makefile.in ++++ elfutils-0.155/tests/Makefile.in +@@ -35,14 +35,15 @@ build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(top_srcdir)/config/eu.am ChangeLog @@ -1609,23 +1709,23 @@ -@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH) +@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf +@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH) - noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \ + check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \ newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \ sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \ -@@ -87,10 +88,10 @@ TESTS = run-arextract.sh run-arsymtest.s - run-prelink-addr-test.sh run-dwarf-getstring.sh \ - run-rerequest_tag.sh $(am__EXEEXT_1) $(am__EXEEXT_3) - # run-show-ciefde.sh +@@ -93,10 +94,10 @@ TESTS = run-arextract.sh run-arsymtest.s + run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \ + run-test-archive64.sh $(am__EXEEXT_1) $(am__EXEEXT_3) \ + $(am__append_9) -@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test -@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS) +@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS) +@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS) + @ENABLE_DWZ_TRUE@am__append_9 = run-readelf-dwz-multi.sh subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ -@@ -391,6 +392,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -412,6 +413,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ @@ -1633,7 +1733,7 @@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -420,6 +422,7 @@ SHELL = @SHELL@ +@@ -441,6 +443,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ @@ -1641,7 +1741,7 @@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -478,12 +481,11 @@ top_build_prefix = @top_build_prefix@ +@@ -499,12 +502,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ zip_LIBS = @zip_LIBS@ @@ -1657,7 +1757,7 @@ @MUDFLAP_FALSE@libmudflap = @MUDFLAP_TRUE@libmudflap = -lmudflap COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ -@@ -493,7 +495,7 @@ CLEANFILES = *.gcno *.gcda +@@ -514,7 +516,7 @@ CLEANFILES = *.gcno *.gcda textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends diff --git a/elfutils-revert-portability-scanf.patch b/elfutils-revert-portability-scanf.patch index 0b2458a..f0b4c1b 100644 --- a/elfutils-revert-portability-scanf.patch +++ b/elfutils-revert-portability-scanf.patch @@ -1,6 +1,21 @@ ---- elfutils/src/addr2line.c -+++ elfutils/src/addr2line.c -@@ -455,10 +455,10 @@ handle_address (const char *string, Dwfl +Index: elfutils-0.155/tests/line2addr.c +=================================================================== +--- elfutils-0.155.orig/tests/line2addr.c ++++ elfutils-0.155/tests/line2addr.c +@@ -124,7 +124,7 @@ main (int argc, char *argv[]) + { + struct args a = { .arg = argv[cnt] }; + +- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) ++ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) + { + default: + case 0: +Index: elfutils-0.155/src/addr2line.c +=================================================================== +--- elfutils-0.155.orig/src/addr2line.c ++++ elfutils-0.155/src/addr2line.c +@@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl bool parsed = false; int i, j; char *name = NULL; @@ -13,14 +28,4 @@ { default: break; ---- elfutils/tests/line2addr.c -+++ elfutils/tests/line2addr.c -@@ -132,7 +132,7 @@ main (int argc, char *argv[]) - { - struct args a = { .arg = argv[cnt] }; - -- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) -+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) - { - default: - case 0: + diff --git a/elfutils-robustify.patch b/elfutils-robustify.patch index d18d455..0a783c2 100644 --- a/elfutils-robustify.patch +++ b/elfutils-robustify.patch @@ -1,6 +1,8 @@ ---- elfutils/libdwfl/ChangeLog -+++ elfutils/libdwfl/ChangeLog -@@ -41,6 +41,11 @@ +Index: elfutils-0.155/libdwfl/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libdwfl/ChangeLog ++++ elfutils-0.155/libdwfl/ChangeLog +@@ -52,6 +52,11 @@ * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL. Reported by Kurt Roeckx . @@ -12,16 +14,18 @@ 2011-02-11 Roland McGrath * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz ---- elfutils/libdwfl/relocate.c -+++ elfutils/libdwfl/relocate.c +Index: elfutils-0.155/libdwfl/relocate.c +=================================================================== +--- elfutils-0.155.orig/libdwfl/relocate.c ++++ elfutils-0.155/libdwfl/relocate.c @@ -1,5 +1,5 @@ /* Relocate debug information. - Copyright (C) 2005-2010 Red Hat, Inc. + Copyright (C) 2005-2011 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. - Red Hat elfutils is free software; you can redistribute it and/or modify -@@ -478,7 +478,10 @@ relocate_section (Dwfl_Module *mod, Elf + This file is free software; you can redistribute it and/or modify +@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf } } @@ -33,7 +37,7 @@ size_t complete = 0; if (shdr->sh_type == SHT_REL) for (size_t relidx = 0; !result && relidx < nrels; ++relidx) -@@ -580,7 +583,7 @@ relocate_section (Dwfl_Module *mod, Elf +@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf nrels = next; } @@ -42,9 +46,11 @@ gelf_update_shdr (scn, shdr); } ---- elfutils/libelf/ChangeLog -+++ elfutils/libelf/ChangeLog -@@ -663,10 +663,53 @@ +Index: elfutils-0.155/libelf/ChangeLog +=================================================================== +--- elfutils-0.155.orig/libelf/ChangeLog ++++ elfutils-0.155/libelf/ChangeLog +@@ -708,10 +708,53 @@ If section content hasn't been read yet, do it before looking for the block size. If no section data present, infer size of section header. @@ -98,9 +104,11 @@ 2005-05-09 Ulrich Drepper * elf.h: Update from glibc. ---- elfutils/libelf/elf32_getphdr.c -+++ elfutils/libelf/elf32_getphdr.c -@@ -114,6 +114,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf) +Index: elfutils-0.155/libelf/elf32_getphdr.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf32_getphdr.c ++++ elfutils-0.155/libelf/elf32_getphdr.c +@@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf) if (elf->map_address != NULL) { @@ -117,16 +125,11 @@ /* All the data is already mapped. Use it. */ void *file_phdr = ((char *) elf->map_address + elf->start_offset + ehdr->e_phoff); ---- elfutils/libelf/elf32_getshdr.c -+++ elfutils/libelf/elf32_getshdr.c -@@ -1,5 +1,5 @@ - /* Return section header. -- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc. -+ Copyright (C) 1998-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. - Written by Ulrich Drepper , 1998. - -@@ -81,7 +81,8 @@ load_shdr_wrlock (Elf_Scn *scn) +Index: elfutils-0.155/libelf/elf32_getshdr.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf32_getshdr.c ++++ elfutils-0.155/libelf/elf32_getshdr.c +@@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn) goto out; size_t shnum; @@ -136,7 +139,7 @@ goto out; size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr)); -@@ -98,6 +99,16 @@ load_shdr_wrlock (Elf_Scn *scn) +@@ -77,6 +78,16 @@ load_shdr_wrlock (Elf_Scn *scn) if (elf->map_address != NULL) { @@ -153,9 +156,11 @@ ElfW2(LIBELFBITS,Shdr) *notcvt; /* All the data is already mapped. If we could use it ---- elfutils/libelf/elf32_newphdr.c -+++ elfutils/libelf/elf32_newphdr.c -@@ -135,6 +135,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count) +Index: elfutils-0.155/libelf/elf32_newphdr.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf32_newphdr.c ++++ elfutils-0.155/libelf/elf32_newphdr.c +@@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count) || count == PN_XNUM || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL) { @@ -168,9 +173,11 @@ /* Allocate a new program header with the appropriate number of elements. */ result = (ElfW2(LIBELFBITS,Phdr) *) ---- elfutils/libelf/elf32_updatefile.c -+++ elfutils/libelf/elf32_updatefile.c -@@ -223,6 +223,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf +Index: elfutils-0.155/libelf/elf32_updatefile.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf32_updatefile.c ++++ elfutils-0.155/libelf/elf32_updatefile.c +@@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf /* Write all the sections. Well, only those which are modified. */ if (shnum > 0) { @@ -180,7 +187,7 @@ Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns; Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *)); char *const shdr_start = ((char *) elf->map_address + elf->start_offset -@@ -645,6 +648,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf +@@ -624,6 +627,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf /* Write all the sections. Well, only those which are modified. */ if (shnum > 0) { @@ -191,9 +198,11 @@ off_t shdr_offset = elf->start_offset + ehdr->e_shoff; #if EV_NUM != 2 xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR]; ---- elfutils/libelf/elf_begin.c -+++ elfutils/libelf/elf_begin.c -@@ -165,7 +165,8 @@ get_shnum (void *map_address, unsigned c +Index: elfutils-0.155/libelf/elf_begin.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf_begin.c ++++ elfutils-0.155/libelf/elf_begin.c +@@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c if (unlikely (result == 0) && ehdr.e32->e_shoff != 0) { @@ -203,7 +212,7 @@ /* Cannot read the first section header. */ return 0; -@@ -213,7 +214,8 @@ get_shnum (void *map_address, unsigned c +@@ -192,7 +193,8 @@ get_shnum (void *map_address, unsigned c if (unlikely (result == 0) && ehdr.e64->e_shoff != 0) { @@ -213,7 +222,7 @@ /* Cannot read the first section header. */ return 0; -@@ -285,6 +287,15 @@ file_read_elf (int fildes, void *map_add +@@ -264,6 +266,15 @@ file_read_elf (int fildes, void *map_add /* Could not determine the number of sections. */ return NULL; @@ -229,7 +238,7 @@ /* We can now allocate the memory. Even if there are no section headers, we allocate space for a zeroth section in case we need it later. */ const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP) -@@ -324,6 +335,16 @@ file_read_elf (int fildes, void *map_add +@@ -303,6 +314,16 @@ file_read_elf (int fildes, void *map_add { /* We can use the mmapped memory. */ elf->state.elf32.ehdr = ehdr; @@ -246,7 +255,7 @@ elf->state.elf32.shdr = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff); -@@ -410,6 +431,11 @@ file_read_elf (int fildes, void *map_add +@@ -389,6 +410,11 @@ file_read_elf (int fildes, void *map_add { /* We can use the mmapped memory. */ elf->state.elf64.ehdr = ehdr; @@ -258,21 +267,11 @@ elf->state.elf64.shdr = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff); ---- elfutils/libelf/elf_getarsym.c -+++ elfutils/libelf/elf_getarsym.c -@@ -179,6 +179,9 @@ elf_getarsym (elf, ptr) - size_t index_size = atol (tmpbuf); - - if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size -+#if SIZE_MAX <= 4294967295U -+ || n >= SIZE_MAX / sizeof (Elf_Arsym) -+#endif - || n * sizeof (uint32_t) > index_size) - { - /* This index table cannot be right since it does not fit into ---- elfutils/libelf/elf_getshdrstrndx.c -+++ elfutils/libelf/elf_getshdrstrndx.c -@@ -125,10 +125,25 @@ elf_getshdrstrndx (elf, dst) +Index: elfutils-0.155/libelf/elf_getshdrstrndx.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf_getshdrstrndx.c ++++ elfutils-0.155/libelf/elf_getshdrstrndx.c +@@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst) if (elf->map_address != NULL && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA && (ALLOW_UNALIGNED @@ -301,7 +300,7 @@ else { /* We avoid reading in all the section headers. Just read -@@ -163,10 +178,25 @@ elf_getshdrstrndx (elf, dst) +@@ -142,10 +157,25 @@ elf_getshdrstrndx (elf, dst) if (elf->map_address != NULL && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA && (ALLOW_UNALIGNED @@ -330,9 +329,11 @@ else { /* We avoid reading in all the section headers. Just read ---- elfutils/libelf/elf_newscn.c -+++ elfutils/libelf/elf_newscn.c -@@ -104,10 +104,18 @@ elf_newscn (elf) +Index: elfutils-0.155/libelf/elf_newscn.c +=================================================================== +--- elfutils-0.155.orig/libelf/elf_newscn.c ++++ elfutils-0.155/libelf/elf_newscn.c +@@ -83,10 +83,18 @@ elf_newscn (elf) else { /* We must allocate a new element. */ @@ -352,16 +353,18 @@ newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList) + ((elf->state.elf.scnincr *= 2) * sizeof (Elf_Scn)), 1); ---- elfutils/libelf/gelf_getdyn.c -+++ elfutils/libelf/gelf_getdyn.c +Index: elfutils-0.155/libelf/gelf_getdyn.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getdyn.c ++++ elfutils-0.155/libelf/gelf_getdyn.c @@ -1,5 +1,5 @@ /* Get information from dynamic table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst) +@@ -72,7 +72,7 @@ gelf_getdyn (data, ndx, dst) table entries has to be adopted. The user better has provided a buffer where we can store the information. While copying the data we are converting the format. */ @@ -370,7 +373,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -114,7 +114,7 @@ gelf_getdyn (data, ndx, dst) +@@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ @@ -379,16 +382,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_getlib.c -+++ elfutils/libelf/gelf_getlib.c +Index: elfutils-0.155/libelf/gelf_getlib.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getlib.c ++++ elfutils-0.155/libelf/gelf_getlib.c @@ -1,5 +1,5 @@ /* Get library from table at the given index. - Copyright (C) 2004 Red Hat, Inc. + Copyright (C) 2004-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2004. -@@ -86,7 +86,7 @@ gelf_getlib (data, ndx, dst) +@@ -65,7 +65,7 @@ gelf_getlib (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ GElf_Lib *result = NULL; @@ -397,16 +402,18 @@ __libelf_seterrno (ELF_E_INVALID_INDEX); else { ---- elfutils/libelf/gelf_getmove.c -+++ elfutils/libelf/gelf_getmove.c +Index: elfutils-0.155/libelf/gelf_getmove.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getmove.c ++++ elfutils-0.155/libelf/gelf_getmove.c @@ -1,5 +1,5 @@ /* Get move structure at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -83,7 +83,7 @@ gelf_getmove (data, ndx, dst) +@@ -62,7 +62,7 @@ gelf_getmove (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ @@ -415,16 +422,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_getrela.c -+++ elfutils/libelf/gelf_getrela.c +Index: elfutils-0.155/libelf/gelf_getrela.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getrela.c ++++ elfutils-0.155/libelf/gelf_getrela.c @@ -1,5 +1,5 @@ /* Get RELA relocation information at given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -71,12 +71,6 @@ gelf_getrela (data, ndx, dst) +@@ -50,12 +50,6 @@ gelf_getrela (data, ndx, dst) if (data_scn == NULL) return NULL; @@ -437,7 +446,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_RELA)) { __libelf_seterrno (ELF_E_INVALID_HANDLE); -@@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst) +@@ -72,7 +66,7 @@ gelf_getrela (data, ndx, dst) if (scn->elf->class == ELFCLASS32) { /* We have to convert the data. */ @@ -446,7 +455,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); result = NULL; -@@ -114,7 +108,7 @@ gelf_getrela (data, ndx, dst) +@@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst) { /* Simply copy the data after we made sure we are actually getting correct data. */ @@ -455,16 +464,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); result = NULL; ---- elfutils/libelf/gelf_getrel.c -+++ elfutils/libelf/gelf_getrel.c +Index: elfutils-0.155/libelf/gelf_getrel.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getrel.c ++++ elfutils-0.155/libelf/gelf_getrel.c @@ -1,5 +1,5 @@ /* Get REL relocation information at given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -71,12 +71,6 @@ gelf_getrel (data, ndx, dst) +@@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst) if (data_scn == NULL) return NULL; @@ -477,7 +488,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_REL)) { __libelf_seterrno (ELF_E_INVALID_HANDLE); -@@ -93,7 +87,7 @@ gelf_getrel (data, ndx, dst) +@@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst) if (scn->elf->class == ELFCLASS32) { /* We have to convert the data. */ @@ -486,7 +497,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); result = NULL; -@@ -113,7 +107,7 @@ gelf_getrel (data, ndx, dst) +@@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst) { /* Simply copy the data after we made sure we are actually getting correct data. */ @@ -495,16 +506,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); result = NULL; ---- elfutils/libelf/gelf_getsym.c -+++ elfutils/libelf/gelf_getsym.c +Index: elfutils-0.155/libelf/gelf_getsym.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getsym.c ++++ elfutils-0.155/libelf/gelf_getsym.c @@ -1,5 +1,5 @@ /* Get symbol information from symbol table at the given index. - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 1999-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 1999. -@@ -90,7 +90,7 @@ gelf_getsym (data, ndx, dst) +@@ -69,7 +69,7 @@ gelf_getsym (data, ndx, dst) table entries has to be adopted. The user better has provided a buffer where we can store the information. While copying the data we are converting the format. */ @@ -513,7 +526,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -119,7 +119,7 @@ gelf_getsym (data, ndx, dst) +@@ -98,7 +98,7 @@ gelf_getsym (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ @@ -522,16 +535,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_getsyminfo.c -+++ elfutils/libelf/gelf_getsyminfo.c +Index: elfutils-0.155/libelf/gelf_getsyminfo.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getsyminfo.c ++++ elfutils-0.155/libelf/gelf_getsyminfo.c @@ -1,5 +1,5 @@ /* Get additional symbol information from symbol table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -84,7 +84,7 @@ gelf_getsyminfo (data, ndx, dst) +@@ -63,7 +63,7 @@ gelf_getsyminfo (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ @@ -540,17 +555,19 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_getsymshndx.c -+++ elfutils/libelf/gelf_getsymshndx.c +Index: elfutils-0.155/libelf/gelf_getsymshndx.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getsymshndx.c ++++ elfutils-0.155/libelf/gelf_getsymshndx.c @@ -1,6 +1,6 @@ /* Get symbol information and separate section index from symbol table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -90,7 +90,7 @@ gelf_getsymshndx (symdata, shndxdata, nd +@@ -69,7 +69,7 @@ gelf_getsymshndx (symdata, shndxdata, nd section index table. */ if (likely (shndxdata_scn != NULL)) { @@ -559,7 +576,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -110,7 +110,7 @@ gelf_getsymshndx (symdata, shndxdata, nd +@@ -89,7 +89,7 @@ gelf_getsymshndx (symdata, shndxdata, nd table entries has to be adopted. The user better has provided a buffer where we can store the information. While copying the data we are converting the format. */ @@ -568,7 +585,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -139,7 +139,7 @@ gelf_getsymshndx (symdata, shndxdata, nd +@@ -118,7 +118,7 @@ gelf_getsymshndx (symdata, shndxdata, nd /* The data is already in the correct form. Just make sure the index is OK. */ @@ -577,16 +594,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_getversym.c -+++ elfutils/libelf/gelf_getversym.c +Index: elfutils-0.155/libelf/gelf_getversym.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_getversym.c ++++ elfutils-0.155/libelf/gelf_getversym.c @@ -1,5 +1,5 @@ /* Get symbol version information at the given index. - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 1999-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 1999. -@@ -92,7 +92,7 @@ gelf_getversym (data, ndx, dst) +@@ -71,7 +71,7 @@ gelf_getversym (data, ndx, dst) /* The data is already in the correct form. Just make sure the index is OK. */ @@ -595,16 +614,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); result = NULL; ---- elfutils/libelf/gelf_update_dyn.c -+++ elfutils/libelf/gelf_update_dyn.c +Index: elfutils-0.155/libelf/gelf_update_dyn.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_dyn.c ++++ elfutils-0.155/libelf/gelf_update_dyn.c @@ -1,5 +1,5 @@ /* Update information in dynamic table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -71,12 +71,6 @@ gelf_update_dyn (data, ndx, src) +@@ -50,12 +50,6 @@ gelf_update_dyn (data, ndx, src) if (data == NULL) return 0; @@ -617,7 +638,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_DYN)) { /* The type of the data better should match. */ -@@ -102,7 +96,7 @@ gelf_update_dyn (data, ndx, src) +@@ -81,7 +75,7 @@ gelf_update_dyn (data, ndx, src) } /* Check whether we have to resize the data buffer. */ @@ -626,7 +647,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -116,7 +110,7 @@ gelf_update_dyn (data, ndx, src) +@@ -95,7 +89,7 @@ gelf_update_dyn (data, ndx, src) else { /* Check whether we have to resize the data buffer. */ @@ -635,16 +656,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_lib.c -+++ elfutils/libelf/gelf_update_lib.c +Index: elfutils-0.155/libelf/gelf_update_lib.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_lib.c ++++ elfutils-0.155/libelf/gelf_update_lib.c @@ -1,5 +1,5 @@ /* Update library in table at the given index. - Copyright (C) 2004 Red Hat, Inc. + Copyright (C) 2004-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2004. -@@ -68,12 +68,6 @@ gelf_update_lib (data, ndx, src) +@@ -47,12 +47,6 @@ gelf_update_lib (data, ndx, src) if (data == NULL) return 0; @@ -657,7 +680,7 @@ Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data; if (unlikely (data_scn->d.d_type != ELF_T_LIB)) { -@@ -87,7 +81,7 @@ gelf_update_lib (data, ndx, src) +@@ -66,7 +60,7 @@ gelf_update_lib (data, ndx, src) /* Check whether we have to resize the data buffer. */ int result = 0; @@ -666,16 +689,18 @@ __libelf_seterrno (ELF_E_INVALID_INDEX); else { ---- elfutils/libelf/gelf_update_move.c -+++ elfutils/libelf/gelf_update_move.c +Index: elfutils-0.155/libelf/gelf_update_move.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_move.c ++++ elfutils-0.155/libelf/gelf_update_move.c @@ -1,5 +1,5 @@ /* Update move structure at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -75,8 +75,7 @@ gelf_update_move (data, ndx, src) +@@ -54,8 +54,7 @@ gelf_update_move (data, ndx, src) assert (sizeof (GElf_Move) == sizeof (Elf64_Move)); /* Check whether we have to resize the data buffer. */ @@ -685,16 +710,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); return 0; ---- elfutils/libelf/gelf_update_rela.c -+++ elfutils/libelf/gelf_update_rela.c +Index: elfutils-0.155/libelf/gelf_update_rela.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_rela.c ++++ elfutils-0.155/libelf/gelf_update_rela.c @@ -1,5 +1,5 @@ /* Update RELA relocation information at given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -68,12 +68,6 @@ gelf_update_rela (Elf_Data *dst, int ndx +@@ -47,12 +47,6 @@ gelf_update_rela (Elf_Data *dst, int ndx if (dst == NULL) return 0; @@ -707,7 +734,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_RELA)) { /* The type of the data better should match. */ -@@ -101,7 +95,7 @@ gelf_update_rela (Elf_Data *dst, int ndx +@@ -80,7 +74,7 @@ gelf_update_rela (Elf_Data *dst, int ndx } /* Check whether we have to resize the data buffer. */ @@ -716,7 +743,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -117,7 +111,7 @@ gelf_update_rela (Elf_Data *dst, int ndx +@@ -96,7 +90,7 @@ gelf_update_rela (Elf_Data *dst, int ndx else { /* Check whether we have to resize the data buffer. */ @@ -725,16 +752,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_rel.c -+++ elfutils/libelf/gelf_update_rel.c +Index: elfutils-0.155/libelf/gelf_update_rel.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_rel.c ++++ elfutils-0.155/libelf/gelf_update_rel.c @@ -1,5 +1,5 @@ /* Update REL relocation information at given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -68,12 +68,6 @@ gelf_update_rel (Elf_Data *dst, int ndx, +@@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx, if (dst == NULL) return 0; @@ -747,7 +776,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_REL)) { /* The type of the data better should match. */ -@@ -99,7 +93,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, +@@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, } /* Check whether we have to resize the data buffer. */ @@ -756,7 +785,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -114,7 +108,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, +@@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, else { /* Check whether we have to resize the data buffer. */ @@ -765,16 +794,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_sym.c -+++ elfutils/libelf/gelf_update_sym.c +Index: elfutils-0.155/libelf/gelf_update_sym.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_sym.c ++++ elfutils-0.155/libelf/gelf_update_sym.c @@ -1,5 +1,5 @@ /* Update symbol information in symbol table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -72,12 +72,6 @@ gelf_update_sym (data, ndx, src) +@@ -51,12 +51,6 @@ gelf_update_sym (data, ndx, src) if (data == NULL) return 0; @@ -787,7 +818,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_SYM)) { /* The type of the data better should match. */ -@@ -102,7 +96,7 @@ gelf_update_sym (data, ndx, src) +@@ -81,7 +75,7 @@ gelf_update_sym (data, ndx, src) } /* Check whether we have to resize the data buffer. */ @@ -796,7 +827,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -125,7 +119,7 @@ gelf_update_sym (data, ndx, src) +@@ -104,7 +98,7 @@ gelf_update_sym (data, ndx, src) else { /* Check whether we have to resize the data buffer. */ @@ -805,16 +836,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_syminfo.c -+++ elfutils/libelf/gelf_update_syminfo.c +Index: elfutils-0.155/libelf/gelf_update_syminfo.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_syminfo.c ++++ elfutils-0.155/libelf/gelf_update_syminfo.c @@ -1,5 +1,5 @@ /* Update additional symbol information in symbol table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -72,12 +72,6 @@ gelf_update_syminfo (data, ndx, src) +@@ -51,12 +51,6 @@ gelf_update_syminfo (data, ndx, src) if (data == NULL) return 0; @@ -827,7 +860,7 @@ if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO)) { /* The type of the data better should match. */ -@@ -93,7 +87,7 @@ gelf_update_syminfo (data, ndx, src) +@@ -72,7 +66,7 @@ gelf_update_syminfo (data, ndx, src) rwlock_wrlock (scn->elf->lock); /* Check whether we have to resize the data buffer. */ @@ -836,17 +869,19 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_symshndx.c -+++ elfutils/libelf/gelf_update_symshndx.c +Index: elfutils-0.155/libelf/gelf_update_symshndx.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_symshndx.c ++++ elfutils-0.155/libelf/gelf_update_symshndx.c @@ -1,6 +1,6 @@ /* Update symbol information and section index in symbol table at the given index. - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. + Copyright (C) 2000-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2000. -@@ -77,12 +77,6 @@ gelf_update_symshndx (symdata, shndxdata +@@ -56,12 +56,6 @@ gelf_update_symshndx (symdata, shndxdata if (symdata == NULL) return 0; @@ -859,7 +894,7 @@ if (unlikely (symdata_scn->d.d_type != ELF_T_SYM)) { /* The type of the data better should match. */ -@@ -128,7 +122,7 @@ gelf_update_symshndx (symdata, shndxdata +@@ -107,7 +101,7 @@ gelf_update_symshndx (symdata, shndxdata } /* Check whether we have to resize the data buffer. */ @@ -868,7 +903,7 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; -@@ -151,7 +145,7 @@ gelf_update_symshndx (symdata, shndxdata +@@ -130,7 +124,7 @@ gelf_update_symshndx (symdata, shndxdata else { /* Check whether we have to resize the data buffer. */ @@ -877,16 +912,18 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); goto out; ---- elfutils/libelf/gelf_update_versym.c -+++ elfutils/libelf/gelf_update_versym.c +Index: elfutils-0.155/libelf/gelf_update_versym.c +=================================================================== +--- elfutils-0.155.orig/libelf/gelf_update_versym.c ++++ elfutils-0.155/libelf/gelf_update_versym.c @@ -1,5 +1,5 @@ /* Update symbol version information. - Copyright (C) 2001, 2002 Red Hat, Inc. + Copyright (C) 2001-2009 Red Hat, Inc. - This file is part of Red Hat elfutils. + This file is part of elfutils. Written by Ulrich Drepper , 2001. -@@ -75,8 +75,7 @@ gelf_update_versym (data, ndx, src) +@@ -54,8 +54,7 @@ gelf_update_versym (data, ndx, src) assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym)); /* Check whether we have to resize the data buffer. */ @@ -896,9 +933,11 @@ { __libelf_seterrno (ELF_E_INVALID_INDEX); return 0; ---- elfutils/libelf/libelfP.h -+++ elfutils/libelf/libelfP.h -@@ -608,4 +608,8 @@ extern uint32_t __libelf_crc32 (uint32_t +Index: elfutils-0.155/libelf/libelfP.h +=================================================================== +--- elfutils-0.155.orig/libelf/libelfP.h ++++ elfutils-0.155/libelf/libelfP.h +@@ -587,4 +587,8 @@ extern uint32_t __libelf_crc32 (uint32_t /* Align offset to 4 bytes as needed for note name and descriptor data. */ #define NOTE_ALIGN(n) (((n) + 3) & -4U) @@ -907,9 +946,11 @@ + unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx)) + #endif /* libelfP.h */ ---- elfutils/src/ChangeLog -+++ elfutils/src/ChangeLog -@@ -228,6 +228,12 @@ +Index: elfutils-0.155/src/ChangeLog +=================================================================== +--- elfutils-0.155.orig/src/ChangeLog ++++ elfutils-0.155/src/ChangeLog +@@ -344,6 +344,12 @@ * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature. @@ -922,7 +963,7 @@ 2011-02-11 Roland McGrath * elfcmp.c (verbose): New variable. -@@ -1940,6 +1946,16 @@ +@@ -2081,6 +2087,16 @@ object symbols or symbols with unknown type. (check_rel): Likewise. @@ -939,7 +980,7 @@ 2005-06-08 Roland McGrath * readelf.c (print_ops): Add consts. -@@ -1985,6 +2001,19 @@ +@@ -2131,6 +2147,19 @@ * readelf.c (dwarf_tag_string): Add new tags. @@ -959,9 +1000,11 @@ 2005-05-08 Roland McGrath * strip.c (handle_elf): Don't translate hash and versym data formats, ---- elfutils/src/elflint.c -+++ elfutils/src/elflint.c -@@ -131,6 +131,10 @@ static uint32_t shstrndx; +Index: elfutils-0.155/src/elflint.c +=================================================================== +--- elfutils-0.155.orig/src/elflint.c ++++ elfutils-0.155/src/elflint.c +@@ -123,6 +123,10 @@ static uint32_t shstrndx; /* Array to count references in section groups. */ static int *scnref; @@ -972,7 +1015,7 @@ int main (int argc, char *argv[]) -@@ -319,10 +323,19 @@ section_name (Ebl *ebl, int idx) +@@ -311,10 +315,19 @@ section_name (Ebl *ebl, int idx) { GElf_Shdr shdr_mem; GElf_Shdr *shdr; @@ -993,7 +1036,7 @@ } -@@ -344,11 +357,6 @@ static const int valid_e_machine[] = +@@ -337,11 +350,6 @@ static const int valid_e_machine[] = (sizeof (valid_e_machine) / sizeof (valid_e_machine[0])) @@ -1005,7 +1048,7 @@ static void check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) { -@@ -632,7 +640,8 @@ section [%2d] '%s': symbol table cannot +@@ -625,7 +633,8 @@ section [%2d] '%s': symbol table cannot } } @@ -1015,7 +1058,7 @@ ERROR (gettext ("\ section [%2u] '%s': entry size is does not match ElfXX_Sym\n"), idx, section_name (ebl, idx)); -@@ -670,7 +679,7 @@ section [%2d] '%s': XINDEX for zeroth en +@@ -663,7 +672,7 @@ section [%2d] '%s': XINDEX for zeroth en xndxscnidx, section_name (ebl, xndxscnidx)); } @@ -1024,7 +1067,7 @@ { sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx); if (sym == NULL) -@@ -690,7 +699,8 @@ section [%2d] '%s': symbol %zu: invalid +@@ -683,7 +692,8 @@ section [%2d] '%s': symbol %zu: invalid else { name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name); @@ -1034,7 +1077,7 @@ } if (sym->st_shndx == SHN_XINDEX) -@@ -1039,9 +1049,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e +@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e { GElf_Shdr rcshdr_mem; const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem); @@ -1048,7 +1091,7 @@ { /* Found the dynamic section. Look through it. */ Elf_Data *d = elf_getdata (scn, NULL); -@@ -1051,7 +1063,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e +@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e { GElf_Dyn dyn_mem; GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem); @@ -1059,7 +1102,7 @@ if (dyn->d_tag == DT_RELCOUNT) { -@@ -1065,7 +1079,9 @@ section [%2d] '%s': DT_RELCOUNT used for +@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for /* Does the number specified number of relative relocations exceed the total number of relocations? */ @@ -1070,7 +1113,7 @@ ERROR (gettext ("\ section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"), idx, section_name (ebl, idx), -@@ -1225,7 +1241,8 @@ section [%2d] '%s': no relocations for m +@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m } } @@ -1080,7 +1123,7 @@ ERROR (gettext (reltype == ELF_T_RELA ? "\ section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\ section [%2d] '%s': section entry size does not match ElfXX_Rel\n"), -@@ -1448,7 +1465,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G +@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G Elf_Data *symdata = elf_getdata (symscn, NULL); enum load_state state = state_undecided; @@ -1090,7 +1133,7 @@ { GElf_Rela rela_mem; GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem); -@@ -1498,7 +1516,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE +@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE Elf_Data *symdata = elf_getdata (symscn, NULL); enum load_state state = state_undecided; @@ -1100,7 +1143,7 @@ { GElf_Rel rel_mem; GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem); -@@ -1597,7 +1616,8 @@ section [%2d] '%s': referenced as string +@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string shdr->sh_link, section_name (ebl, shdr->sh_link), idx, section_name (ebl, idx)); @@ -1110,7 +1153,7 @@ ERROR (gettext ("\ section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"), idx, section_name (ebl, idx)); -@@ -1607,7 +1627,7 @@ section [%2d] '%s': section entry size d +@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d idx, section_name (ebl, idx)); bool non_null_warned = false; @@ -1119,7 +1162,7 @@ { GElf_Dyn dyn_mem; GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem); -@@ -1879,6 +1899,8 @@ section [%2d] '%s': entry size does not +@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not idx, section_name (ebl, idx)); if (symshdr != NULL @@ -1128,7 +1171,7 @@ && (shdr->sh_size / shdr->sh_entsize < symshdr->sh_size / symshdr->sh_entsize)) ERROR (gettext ("\ -@@ -1905,6 +1927,12 @@ section [%2d] '%s': extended section ind +@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind } Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL); @@ -1141,7 +1184,7 @@ if (*((Elf32_Word *) data->d_buf) != 0) ERROR (gettext ("symbol 0 should have zero extended section index\n")); -@@ -1947,7 +1975,7 @@ section [%2d] '%s': hash table section i +@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i size_t maxidx = nchain; @@ -1150,7 +1193,7 @@ { size_t symsize = symshdr->sh_size / symshdr->sh_entsize; -@@ -1958,18 +1986,28 @@ section [%2d] '%s': hash table section i +@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i maxidx = symsize; } @@ -1181,7 +1224,7 @@ } -@@ -1999,18 +2037,28 @@ section [%2d] '%s': hash table section i +@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i maxidx = symsize; } @@ -1213,7 +1256,7 @@ } -@@ -2035,7 +2083,7 @@ section [%2d] '%s': bitmask size not pow +@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)) { ERROR (gettext ("\ @@ -1222,7 +1265,7 @@ idx, section_name (ebl, idx), (long int) shdr->sh_size, (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))); return; -@@ -2707,8 +2755,9 @@ section [%2d] '%s' refers in sh_link to +@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to /* The number of elements in the version symbol table must be the same as the number of symbols. */ @@ -1234,9 +1277,11 @@ ERROR (gettext ("\ section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"), idx, section_name (ebl, idx), ---- elfutils/src/readelf.c -+++ elfutils/src/readelf.c -@@ -1191,6 +1191,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G +Index: elfutils-0.155/src/readelf.c +=================================================================== +--- elfutils-0.155.orig/src/readelf.c ++++ elfutils-0.155/src/readelf.c +@@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G Elf32_Word *grpref = (Elf32_Word *) data->d_buf; GElf_Sym sym_mem; @@ -1245,7 +1290,7 @@ printf ((grpref[0] & GRP_COMDAT) ? ngettext ("\ \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n", -@@ -1203,8 +1205,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G +@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G data->d_size / sizeof (Elf32_Word) - 1), elf_ndxscn (scn), elf_strptr (ebl->elf, shstrndx, shdr->sh_name), @@ -1256,7 +1301,7 @@ ?: gettext (""), data->d_size / sizeof (Elf32_Word) - 1); -@@ -1355,10 +1357,12 @@ static void +@@ -1353,10 +1355,12 @@ static void handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) { int class = gelf_getclass (ebl->elf); @@ -1270,7 +1315,7 @@ /* Get the data of the section. */ data = elf_getdata (scn, NULL); -@@ -1370,21 +1374,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, +@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, error (EXIT_FAILURE, 0, gettext ("cannot get section header string table index")); @@ -1303,7 +1348,7 @@ { GElf_Dyn dynmem; GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem); -@@ -1533,7 +1542,8 @@ static void +@@ -1531,7 +1540,8 @@ static void handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) { int class = gelf_getclass (ebl->elf); @@ -1313,7 +1358,7 @@ /* Get the data of the section. */ Elf_Data *data = elf_getdata (scn, NULL); -@@ -1719,7 +1729,8 @@ static void +@@ -1717,7 +1727,8 @@ static void handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) { int class = gelf_getclass (ebl->elf); @@ -1323,7 +1368,7 @@ /* Get the data of the section. */ Elf_Data *data = elf_getdata (scn, NULL); -@@ -1966,6 +1977,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G +@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G error (EXIT_FAILURE, 0, gettext ("cannot get section header string table index")); @@ -1337,7 +1382,7 @@ /* Now we can compute the number of entries in the section. */ unsigned int nsyms = data->d_size / (class == ELFCLASS32 ? sizeof (Elf32_Sym) -@@ -1976,15 +1994,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G +@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G nsyms), (unsigned int) elf_ndxscn (scn), elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms); @@ -1354,7 +1399,7 @@ fputs_unlocked (class == ELFCLASS32 ? gettext ("\ -@@ -2220,7 +2235,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, +@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, error (EXIT_FAILURE, 0, gettext ("cannot get section header string table index")); @@ -1369,7 +1414,7 @@ printf (ngettext ("\ \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", "\ -@@ -2231,9 +2252,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, +@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, shdr->sh_offset, (unsigned int) shdr->sh_link, @@ -1380,7 +1425,7 @@ unsigned int offset = 0; for (int cnt = shdr->sh_info; --cnt >= 0; ) -@@ -2286,8 +2305,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G +@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G error (EXIT_FAILURE, 0, gettext ("cannot get section header string table index")); @@ -1396,7 +1441,7 @@ printf (ngettext ("\ \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", "\ -@@ -2299,9 +2324,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G +@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, shdr->sh_offset, (unsigned int) shdr->sh_link, @@ -1407,7 +1452,7 @@ unsigned int offset = 0; for (int cnt = shdr->sh_info; --cnt >= 0; ) -@@ -2563,25 +2586,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G +@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G filename = NULL; } @@ -1445,7 +1490,7 @@ { if (cnt % 2 == 0) printf ("\n %4d:", cnt); -@@ -2630,7 +2658,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, +@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt) ++counts[lengths[cnt]]; @@ -1464,7 +1509,7 @@ printf (ngettext ("\ \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", "\ -@@ -2643,9 +2681,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, +@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, shdr->sh_addr, shdr->sh_offset, (unsigned int) shdr->sh_link, @@ -1475,7 +1520,7 @@ if (extrastr != NULL) fputs (extrastr, stdout); -@@ -2905,7 +2941,8 @@ print_liblist (Ebl *ebl) +@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl) if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST) { @@ -1485,7 +1530,7 @@ printf (ngettext ("\ \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n", "\ -@@ -4646,6 +4683,16 @@ print_debug_aranges_section (Dwfl_Module +@@ -4168,6 +4205,16 @@ print_debug_aranges_section (Dwfl_Module return; } @@ -1502,9 +1547,11 @@ printf (ngettext ("\ \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n", "\ ---- elfutils/src/strip.c -+++ elfutils/src/strip.c -@@ -572,6 +572,11 @@ handle_elf (int fd, Elf *elf, const char +Index: elfutils-0.155/src/strip.c +=================================================================== +--- elfutils-0.155.orig/src/strip.c ++++ elfutils-0.155/src/strip.c +@@ -580,6 +580,11 @@ handle_elf (int fd, Elf *elf, const char goto fail_close; } @@ -1516,7 +1563,7 @@ /* Storage for section information. We leave room for two more entries since we unconditionally create a section header string table. Maybe some weird tool created an ELF file without one. -@@ -593,7 +598,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -601,7 +606,7 @@ handle_elf (int fd, Elf *elf, const char { /* This should always be true (i.e., there should not be any holes in the numbering). */ @@ -1525,7 +1572,7 @@ shdr_info[cnt].scn = scn; -@@ -606,6 +611,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -614,6 +619,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[cnt].shdr.sh_name); if (shdr_info[cnt].name == NULL) { @@ -1533,7 +1580,7 @@ error (0, 0, gettext ("illformed file '%s'"), fname); goto fail_close; } -@@ -615,6 +621,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -623,6 +629,8 @@ handle_elf (int fd, Elf *elf, const char /* Remember the shdr.sh_link value. */ shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; @@ -1542,7 +1589,7 @@ /* Sections in files other than relocatable object files which are not loaded can be freely moved by us. In relocatable -@@ -627,7 +635,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -635,7 +643,7 @@ handle_elf (int fd, Elf *elf, const char appropriate reference. */ if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) { @@ -1551,7 +1598,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) -@@ -644,7 +652,12 @@ handle_elf (int fd, Elf *elf, const char +@@ -652,7 +660,12 @@ handle_elf (int fd, Elf *elf, const char for (inner = 1; inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); ++inner) @@ -1564,7 +1611,7 @@ if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) /* If the section group contains only one element and this -@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -663,7 +676,7 @@ handle_elf (int fd, Elf *elf, const char } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) { @@ -1573,7 +1620,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; } -@@ -663,7 +676,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -671,7 +684,7 @@ handle_elf (int fd, Elf *elf, const char discarded right away. */ if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) { @@ -1582,7 +1629,7 @@ if (shdr_info[shdr_info[cnt].group_idx].idx == 0) { -@@ -739,10 +752,14 @@ handle_elf (int fd, Elf *elf, const char +@@ -747,10 +760,14 @@ handle_elf (int fd, Elf *elf, const char { /* If a relocation section is marked as being removed make sure the section it is relocating is removed, too. */ @@ -1600,7 +1647,7 @@ /* If a group section is marked as being removed make sure all the sections it contains are being removed, too. */ -@@ -786,7 +803,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -794,7 +811,7 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[cnt].symtab_idx != 0 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) { @@ -1609,7 +1656,7 @@ shdr_info[shdr_info[cnt].symtab_idx].data = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, -@@ -826,6 +843,9 @@ handle_elf (int fd, Elf *elf, const char +@@ -834,6 +851,9 @@ handle_elf (int fd, Elf *elf, const char else if (scnidx == SHN_XINDEX) scnidx = xndx; @@ -1619,7 +1666,7 @@ if (shdr_info[scnidx].idx == 0) /* This symbol table has a real symbol in a discarded section. So preserve the -@@ -856,12 +876,16 @@ handle_elf (int fd, Elf *elf, const char +@@ -864,12 +884,16 @@ handle_elf (int fd, Elf *elf, const char } /* Handle references through sh_info. */ @@ -1638,7 +1685,7 @@ /* Mark the section as investigated. */ shdr_info[cnt].idx = 2; -@@ -1002,7 +1026,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1010,7 +1034,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), elf_errmsg (-1)); @@ -1647,7 +1694,7 @@ /* Add this name to the section header string table. */ shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); -@@ -1039,7 +1063,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1047,7 +1071,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -1656,7 +1703,7 @@ shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); if (shdr_info[cnt].data == NULL) -@@ -1095,7 +1119,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1103,7 +1127,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -1665,7 +1712,7 @@ /* Finalize the string table and fill in the correct indices in the section headers. */ -@@ -1185,20 +1209,20 @@ handle_elf (int fd, Elf *elf, const char +@@ -1193,20 +1217,20 @@ handle_elf (int fd, Elf *elf, const char shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, NULL); @@ -1689,7 +1736,7 @@ >= shdr_info[cnt].data->d_size / elsize); } -@@ -1253,7 +1277,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1261,7 +1285,7 @@ handle_elf (int fd, Elf *elf, const char sec = shdr_info[sym->st_shndx].idx; else { @@ -1698,7 +1745,7 @@ sec = shdr_info[xshndx].idx; } -@@ -1274,7 +1298,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1282,7 +1306,7 @@ handle_elf (int fd, Elf *elf, const char nxshndx = sec; } @@ -1707,7 +1754,7 @@ if ((inner != destidx || nshndx != sym->st_shndx || (shndxdata != NULL && nxshndx != xshndx)) -@@ -1301,9 +1325,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1309,9 +1333,11 @@ handle_elf (int fd, Elf *elf, const char { size_t sidx = (sym->st_shndx != SHN_XINDEX ? sym->st_shndx : xshndx); @@ -1722,7 +1769,7 @@ } } -@@ -1491,11 +1517,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1499,11 +1525,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); @@ -1736,7 +1783,7 @@ size_t hidx = elf_hash (name) % nbucket; if (bucket[hidx] == 0) -@@ -1514,8 +1540,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -1522,8 +1548,8 @@ handle_elf (int fd, Elf *elf, const char else { /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ @@ -1747,7 +1794,7 @@ Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; -@@ -1545,11 +1571,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1553,11 +1579,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); diff --git a/elfutils-uninitialized.diff b/elfutils-uninitialized.diff index 4271c15..8c6390e 100644 --- a/elfutils-uninitialized.diff +++ b/elfutils-uninitialized.diff @@ -1,6 +1,8 @@ ---- ./libdwfl/linux-kernel-modules.c.orig 2010-02-10 12:12:03.000000000 +0100 -+++ ./libdwfl/linux-kernel-modules.c 2010-02-10 12:14:58.000000000 +0100 -@@ -577,8 +577,8 @@ +Index: elfutils-0.155/libdwfl/linux-kernel-modules.c +=================================================================== +--- elfutils-0.155.orig/libdwfl/linux-kernel-modules.c ++++ elfutils-0.155/libdwfl/linux-kernel-modules.c +@@ -601,8 +601,8 @@ check_module_notes (Dwfl_Module *mod) int dwfl_linux_kernel_report_kernel (Dwfl *dwfl) { diff --git a/elfutils.changes b/elfutils.changes index 11686fb..c9127f7 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,39 @@ +------------------------------------------------------------------- +Wed Nov 28 09:37:52 UTC 2012 - adrian@suse.de + +- add patch to support aarch64 +- update to 0.155 + + 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. + [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at OFFSET. + + 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. + 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. + + 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. + + 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. + ------------------------------------------------------------------- Mon Oct 8 09:48:59 UTC 2012 - schwab@linux-m68k.org diff --git a/elfutils.spec b/elfutils.spec index e84d316..54c6ec0 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -17,7 +17,7 @@ Name: elfutils -Version: 0.153 +Version: 0.155 Release: 0 Summary: Higher-level library to access ELF License: SUSE-GPL-2.0-with-OSI-exception @@ -34,6 +34,7 @@ Patch5: elfutils-uninitialized.diff Patch6: elfutils-0.137-dwarf-header-check-fix.diff Patch7: elfutils-0.148-dont-crash.diff Patch8: elfutils-revert-portability-scanf.patch +Patch9: elfutils-aarch64.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison BuildRequires: flex @@ -144,6 +145,7 @@ to develop applications that require these. %patch6 -p1 %patch7 -p1 %patch8 -p1 -R +%patch9 -p1 %build # Change DATE/TIME macros to use last change time of elfutils.changes @@ -175,7 +177,7 @@ ls -lR $RPM_BUILD_ROOT%{_libdir}/libelf* %files %defattr(-,root,root) -%doc AUTHORS ChangeLog COPYING EXCEPTION NEWS NOTES README THANKS TODO +%doc AUTHORS ChangeLog COPYING NEWS NOTES README THANKS TODO %{_bindir}/* %files -n libasm1 diff --git a/libebl-prototype-fix.diff b/libebl-prototype-fix.diff index 78536f4..b99d72e 100644 --- a/libebl-prototype-fix.diff +++ b/libebl-prototype-fix.diff @@ -4,9 +4,11 @@ References: none Update from K&R to ANSI prototype. This fix should go upstream. ---- elfutils/libebl/eblopenbackend.c-dist 2008-01-28 14:21:23.000000000 +0100 -+++ elfutils/libebl/eblopenbackend.c 2008-01-28 14:21:39.000000000 +0100 -@@ -253,10 +253,7 @@ fill_defaults (Ebl *result) +Index: elfutils-0.155/libebl/eblopenbackend.c +=================================================================== +--- elfutils-0.155.orig/libebl/eblopenbackend.c ++++ elfutils-0.155/libebl/eblopenbackend.c +@@ -249,10 +249,7 @@ fill_defaults (Ebl *result) /* Find an appropriate backend for the file associated with ELF. */ static Ebl * @@ -18,9 +20,11 @@ Update from K&R to ANSI prototype. This fix should go upstream. { Ebl *result; size_t cnt; ---- elfutils/lib/dynamicsizehash.c-dist 2008-01-28 14:25:32.000000000 +0100 -+++ elfutils/lib/dynamicsizehash.c 2008-01-28 14:25:52.000000000 +0100 -@@ -65,10 +65,7 @@ +Index: elfutils-0.155/lib/dynamicsizehash.c +=================================================================== +--- elfutils-0.155.orig/lib/dynamicsizehash.c ++++ elfutils-0.155/lib/dynamicsizehash.c +@@ -44,10 +44,7 @@ static size_t From 7161fbcc0fd384b227a3c2c880e068662fb05cc78db80fa859028e19d32af78b Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Fri, 30 Nov 2012 10:46:55 +0000 Subject: [PATCH 2/2] - add elfutils-aarch64.patch to support aarch64 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=46 --- elfutils.changes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/elfutils.changes b/elfutils.changes index c9127f7..ddef321 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,7 +1,7 @@ ------------------------------------------------------------------- Wed Nov 28 09:37:52 UTC 2012 - adrian@suse.de -- add patch to support aarch64 +- add elfutils-aarch64.patch to support aarch64 - update to 0.155 libelf: elf*_xlatetomd now works for cross-endian ELF note data.