summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Ludd <solar@gentoo.org>2005-05-17 15:05:59 +0000
committerNed Ludd <solar@gentoo.org>2005-05-17 15:05:59 +0000
commitf2f94cb99e7dd320b1797a15000890ca9bf767db (patch)
tree1eb8f3c33746cb4c0b4c86b62f55caea759b7a63 /dev-libs/elfutils
parentRemove old ebuild. (diff)
downloadhistorical-f2f94cb99e7dd320b1797a15000890ca9bf767db.tar.gz
historical-f2f94cb99e7dd320b1797a15000890ca9bf767db.tar.bz2
historical-f2f94cb99e7dd320b1797a15000890ca9bf767db.zip
- version bump to 0.108 and added a new patch from Jakub Jelinek to fix misc crashes and the heap overflow on some invalid ELF files
Diffstat (limited to 'dev-libs/elfutils')
-rw-r--r--dev-libs/elfutils/ChangeLog9
-rw-r--r--dev-libs/elfutils/Manifest31
-rw-r--r--dev-libs/elfutils/elfutils-0.108.ebuild57
-rw-r--r--dev-libs/elfutils/files/digest-elfutils-0.1082
-rw-r--r--dev-libs/elfutils/files/elfutils-0.108-portability.patch518
5 files changed, 603 insertions, 14 deletions
diff --git a/dev-libs/elfutils/ChangeLog b/dev-libs/elfutils/ChangeLog
index 691262060d55..dff878008762 100644
--- a/dev-libs/elfutils/ChangeLog
+++ b/dev-libs/elfutils/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-libs/elfutils
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.53 2005/05/15 14:14:21 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/ChangeLog,v 1.54 2005/05/17 15:05:59 solar Exp $
+
+*elfutils-0.108 (17 May 2005)
+
+ 17 May 2005; <solar@gentoo.org> +files/elfutils-0.108-portability.patch,
+ +elfutils-0.108.ebuild:
+ - version bump to 0.108 and added a new patch from Jakub Jelinek to fix misc
+ crashes and the heap overflow on some invalid ELF files
15 May 2005; Bryan Østergaard <kloeri@gentoo.org>
elfutils-0.94-r2.ebuild:
diff --git a/dev-libs/elfutils/Manifest b/dev-libs/elfutils/Manifest
index e689074f8df9..e52e818270da 100644
--- a/dev-libs/elfutils/Manifest
+++ b/dev-libs/elfutils/Manifest
@@ -1,27 +1,32 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 f6c258a1f23bea03830d6626fd1b6e7a ChangeLog 6460
+MD5 17eff246a734b8a44781417a12ec4ea9 elfutils-0.94-r1.ebuild 1842
MD5 7b94d8a842a02bed78d77c0315f95068 elfutils-0.101-r1.ebuild 1588
-MD5 822a1e6582def7c62c7ae773ca491143 elfutils-0.97.ebuild 1420
MD5 8556ce83ed38bc6be54b78d52a13b49b elfutils-0.97-r1.ebuild 1477
-MD5 17eff246a734b8a44781417a12ec4ea9 elfutils-0.94-r1.ebuild 1842
-MD5 79ca1a79ab3d97d51267f2b9e579c99d elfutils-0.94-r2.ebuild 1906
MD5 1c5255251ca86c894b299c606c3bad3c elfutils-0.101.ebuild 1531
-MD5 696196044decee0b8d782d08b3e907aa files/digest-elfutils-0.97-r1 65
-MD5 40321e776b95020f2e51e5f481b3486e files/elfutils-0.101-portability.patch 6052
+MD5 822a1e6582def7c62c7ae773ca491143 elfutils-0.97.ebuild 1420
+MD5 e1c8c5e2412dfc891aa5cb13d87c7f96 elfutils-0.108.ebuild 1686
+MD5 79ca1a79ab3d97d51267f2b9e579c99d elfutils-0.94-r2.ebuild 1906
+MD5 bb41caaa282e60b4872835e9753965eb ChangeLog 6729
MD5 25da57fec6a38ed0c69ec6682b595398 files/elfutils-0.94-alpha-mips-atime.diff 699
-MD5 68f794575cd890d5131853a4ca7ee9f3 files/digest-elfutils-0.101-r1 66
+MD5 1e6460efdb609828aa57b5874813972a files/elfutils-0.101-bswap.patch 849
+MD5 40321e776b95020f2e51e5f481b3486e files/elfutils-0.101-portability.patch 6052
MD5 98e005817217428fef7c200faec78382 files/digest-elfutils-0.94-r1 65
MD5 98e005817217428fef7c200faec78382 files/digest-elfutils-0.94-r2 65
-MD5 68f794575cd890d5131853a4ca7ee9f3 files/digest-elfutils-0.101 66
+MD5 696196044decee0b8d782d08b3e907aa files/digest-elfutils-0.97-r1 65
MD5 696196044decee0b8d782d08b3e907aa files/digest-elfutils-0.97 65
-MD5 1e6460efdb609828aa57b5874813972a files/elfutils-0.101-bswap.patch 849
+MD5 41c5834ecf3d28e43b7fbe3b927e582a files/elfutils-0.108-portability.patch 18453
+MD5 68f794575cd890d5131853a4ca7ee9f3 files/digest-elfutils-0.101-r1 66
+MD5 68f794575cd890d5131853a4ca7ee9f3 files/digest-elfutils-0.101 66
+MD5 12294cbe7395c8366308d2a424d1d7ae files/digest-elfutils-0.108 143
MD5 51c01230a938c5b39a545e0611170b0f files/elfutils-sections-heap-overflow.diff 574
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.0 (GNU/Linux)
-iD8DBQFCh1lPKf2g/qXtneoRAmeVAJ9el7ZJhU5nDLxnRKaiAMFq4uj8IQCdHBSb
-fmjXPyu3RTCceJkkL8V/yCY=
-=xrqh
+iQCVAwUBQooH5Z4WFLgrx1GWAQIQMQQAtce4l9Zf/IoL5LFKOoooO4nmHMTfX0/6
+ajwLK1SOr808+vmrfjyg32OC/Pjo3KcMBnQRwGPa6U8LisXROo2IvaQEKDLEJDrA
+Vf9Xntu9fGgx/clr4qJ5siFZxz0RCd0Bae5r6+odF50rEpSfAMesKJkKQuAZYFi2
+gHTjyUKYAYE=
+=mqTn
-----END PGP SIGNATURE-----
diff --git a/dev-libs/elfutils/elfutils-0.108.ebuild b/dev-libs/elfutils/elfutils-0.108.ebuild
new file mode 100644
index 000000000000..fcdc67e7df06
--- /dev/null
+++ b/dev-libs/elfutils/elfutils-0.108.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/elfutils/elfutils-0.108.ebuild,v 1.1 2005/05/17 15:05:59 solar Exp $
+
+inherit eutils
+
+DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
+HOMEPAGE="http://people.redhat.com/drepper/"
+SRC_URI="mirror://gentoo/${P}.tar.gz mirror://gentoo/${P}.robustify.patch.bz2"
+
+LICENSE="OpenSoftware"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="nls uclibc"
+
+# This pkg does not actually seem to compile currently in a uClibc
+# environment (xrealloc errs), but we need to ensure that glibc never
+# gets pulled in as a dep since this package does not respect virtual/libc
+DEPEND="!uclibc? ( >=sys-libs/glibc-2.3.2 )
+ sys-devel/gettext
+ >=sys-devel/binutils-2.14.90.0.6
+ >=sys-devel/gcc-3.2.1-r6
+ !dev-libs/libelf"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.101-bswap.patch
+ epatch "${FILESDIR}"/${P}-portability.patch
+
+ #the next secyurity patch should not be needed in 0.109
+ epatch ${WORKDIR}/elfutils-0.108.robustify.patch
+
+ # Needed by ${P}-portability.patch
+ autoreconf || die
+
+ find . -name Makefile.in -print0 | xargs -0 sed -i -e 's:-W\(error\|extra\)::g'
+}
+
+src_compile() {
+ econf \
+ --program-prefix="eu-" \
+ --enable-shared \
+ $(use_enable nls) \
+ || die "./configure failed"
+ emake || die
+}
+
+src_test() {
+ env LD_LIBRARY_PATH="${S}/libelf:${S}/libebl:${S}/libdw:${S}/libasm" \
+ make check || die "test failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog NEWS NOTES README THANKS TODO
+}
diff --git a/dev-libs/elfutils/files/digest-elfutils-0.108 b/dev-libs/elfutils/files/digest-elfutils-0.108
new file mode 100644
index 000000000000..59f8fc8b9185
--- /dev/null
+++ b/dev-libs/elfutils/files/digest-elfutils-0.108
@@ -0,0 +1,2 @@
+MD5 fd318a634c8f67c7ac8a975f16965cc3 elfutils-0.108.tar.gz 938036
+MD5 c619914318460f1dc9434407b982f64a elfutils-0.108.robustify.patch.bz2 5637
diff --git a/dev-libs/elfutils/files/elfutils-0.108-portability.patch b/dev-libs/elfutils/files/elfutils-0.108-portability.patch
new file mode 100644
index 000000000000..c4b85fa38526
--- /dev/null
+++ b/dev-libs/elfutils/files/elfutils-0.108-portability.patch
@@ -0,0 +1,518 @@
+--- elfutils/ChangeLog
++++ elfutils/ChangeLog
+@@ -1,3 +1,16 @@
++2005-02-07 Roland McGrath <roland@frob.com>
++
++ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
++
++2003-08-12 Roland McGrath <roland@redhat.com>
++
++ * configure.ac: Check for struct stat st_?tim members.
++ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
++
++ * configure.ac: Check for futimes function.
++ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
++ (handle_ar) [! HAVE_FUTIMES]: Likewise.
++
+ 2005-02-22 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am (all_SUBDIRS): Don't add doc subdir for now.
+--- elfutils/Makefile.in
++++ elfutils/Makefile.in
+@@ -127,6 +127,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+--- elfutils/config/Makefile.in
++++ elfutils/config/Makefile.in
+@@ -105,6 +105,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+--- elfutils/configure
++++ elfutils/configure
+@@ -277,7 +277,7 @@ PACKAGE_STRING='Red Hat elfutils 0.108'
+ PACKAGE_BUGREPORT='http://bugzilla.redhat.com/bugzilla/'
+
+ ac_unique_file="libelf/libelf.h"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT LOCALEDIR DATADIRNAME NATIVE_LD_TRUE NATIVE_LD_FALSE base_cpu MUDFLAP_TRUE MUDFLAP_FALSE USE_NLS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT WEXTRA LOCALEDIR DATADIRNAME NATIVE_LD_TRUE NATIVE_LD_FALSE base_cpu MUDFLAP_TRUE MUDFLAP_FALSE USE_NLS MKINSTALLDIRS MSGFMT GMSGFMT XGETTEXT MSGMERGE LIBOBJS LTLIBOBJS'
+ ac_subst_files=''
+
+ # Initialize some variables set by options.
+@@ -3373,6 +3373,58 @@ echo "$as_me: error: gcc with C99 suppor
+ fi
+
+
++echo "$as_me:$LINENO: checking for -Wextra option to $CC" >&5
++echo $ECHO_N "checking for -Wextra option to $CC... $ECHO_C" >&6
++if test "${ac_cv_cc_wextra+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ old_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -Wextra"
++cat >conftest.$ac_ext <<_ACEOF
++void foo (void) { }
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_cv_cc_wextra=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_cc_wextra=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++CFLAGS="$old_CFLAGS"
++fi
++echo "$as_me:$LINENO: result: $ac_cv_cc_wextra" >&5
++echo "${ECHO_T}$ac_cv_cc_wextra" >&6
++
++if test "x$ac_cv_cc_wextra" = yes; then
++ WEXTRA=-Wextra
++else
++ WEXTRA=-W
++fi
++
++
+ LOCALEDIR=$datadir
+
+ cat >>confdefs.h <<_ACEOF
+@@ -4818,6 +4870,7 @@ s,@YACC@,$YACC,;t t
+ s,@LEX@,$LEX,;t t
+ s,@LEXLIB@,$LEXLIB,;t t
+ s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
++s,@WEXTRA@,$WEXTRA,;t t
+ s,@LOCALEDIR@,$LOCALEDIR,;t t
+ s,@DATADIRNAME@,$DATADIRNAME,;t t
+ s,@NATIVE_LD_TRUE@,$NATIVE_LD_TRUE,;t t
+--- elfutils/configure.ac
++++ elfutils/configure.ac
+@@ -64,6 +64,15 @@ 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_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
++CFLAGS="$old_CFLAGS"])
++AC_SUBST(WEXTRA)
++AS_IF([test "x$ac_cv_cc_wextra" = yes], [WEXTRA=-Wextra], [WEXTRA=-W])
++
+ LOCALEDIR=$datadir
+ AC_SUBST(LOCALEDIR)
+ AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR")
+--- elfutils/lib/ChangeLog
++++ elfutils/lib/ChangeLog
+@@ -4,6 +4,11 @@
+ * Makefile.am (libeu_a_SOURCES): Add it.
+ * system.h: Declare crc32_file.
+
++2005-02-07 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it in place of -Wextra.
++
+ 2005-04-30 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile.am: Use -ffunction-sections for xmalloc.c.
+--- elfutils/lib/Makefile.am
++++ elfutils/lib/Makefile.am
+@@ -16,12 +16,13 @@
+ ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+ AM_CFLAGS = -fmudflap
+ else
+ AM_CFLAGS =
+ endif
+-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
++AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused $(WEXTRA) $($(*F)_CFLAGS)
+ INCLUDES = -I$(srcdir)/../libelf -I..
+
+ noinst_LIBRARIES = libeu.a
+--- elfutils/lib/Makefile.in
++++ elfutils/lib/Makefile.in
+@@ -127,6 +127,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -169,9 +170,9 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ @MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
+-@MUDFLAP_FALSE@ -Wextra $($(*F)_CFLAGS)
++@MUDFLAP_FALSE@ $(WEXTRA) $($(*F)_CFLAGS)
+ @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -fpic -Wall -Wshadow -Werror \
+-@MUDFLAP_TRUE@ -Wunused -Wextra $($(*F)_CFLAGS)
++@MUDFLAP_TRUE@ -Wunused $(WEXTRA) $($(*F)_CFLAGS)
+ INCLUDES = -I$(srcdir)/../libelf -I..
+ noinst_LIBRARIES = libeu.a
+ libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
+--- elfutils/libasm/Makefile.am
++++ elfutils/libasm/Makefile.am
+@@ -13,12 +13,13 @@
+ ## 3001 King Ranch Road, Ukiah, CA 95482.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+ AM_CFLAGS = -fmudflap
+ else
+ AM_CFLAGS =
+ endif
+-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
++AM_CFLAGS += -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2
+ INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
+ -I$(top_srcdir)/lib
+ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
+--- elfutils/libasm/Makefile.in
++++ elfutils/libasm/Makefile.in
+@@ -159,6 +159,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -200,10 +201,10 @@ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused -Wextra \
++@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused $(WEXTRA) \
+ @MUDFLAP_FALSE@ -Wformat=2
+ @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -Wall -Wshadow -Werror -Wunused \
+-@MUDFLAP_TRUE@ -Wextra -Wformat=2
++@MUDFLAP_TRUE@ $(WEXTRA) -Wformat=2
+ INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
+ -I$(top_srcdir)/lib
+
+--- elfutils/libcpu/ChangeLog
++++ elfutils/libcpu/ChangeLog
+@@ -1,3 +1,8 @@
++2005-04-04 Roland McGrath <roland@redhat.com>
++
++ * Makefile.am (WEXTRA): New variable, substituted by configure.
++ (AM_CFLAGS): Use it instead of -Wextra.
++
+ 2005-02-15 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
+--- elfutils/libcpu/Makefile.am
++++ elfutils/libcpu/Makefile.am
+@@ -13,7 +13,8 @@
+ ## 3001 King Ranch Road, Ukiah, CA 95482.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
+-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
++WEXTRA = @WEXTRA@
++AM_CFLAGS = -Wall -Wshadow -Werror $(WEXTRA) -Wformat=2 -Wunused
+ INCLUDES = -I$(srcdir)
+
+ noinst_LIBRARIES = libcpu_i386.a
+--- elfutils/libcpu/Makefile.in
++++ elfutils/libcpu/Makefile.in
+@@ -122,6 +122,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -163,7 +164,7 @@ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
++AM_CFLAGS = -Wall -Wshadow -Werror $(WEXTRA) -Wformat=2 -Wunused
+ INCLUDES = -I$(srcdir)
+ noinst_LIBRARIES = libcpu_i386.a
+ libcpu_i386_a_SOURCES = i386_dis.c
+--- elfutils/libdw/Makefile.am
++++ elfutils/libdw/Makefile.am
+@@ -13,12 +13,13 @@
+ ## 3001 King Ranch Road, Ukiah, CA 95482.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+ AM_CFLAGS = -fmudflap
+ else
+ AM_CFLAGS =
+ endif
+-AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
++AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 $(WEXTRA) -std=gnu99
+ INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
+ VERSION = 1
+
+--- elfutils/libdw/Makefile.in
++++ elfutils/libdw/Makefile.in
+@@ -190,6 +190,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -232,9 +233,9 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ @MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wshadow -Wunused -Wformat=2 \
+-@MUDFLAP_FALSE@ -Wextra -std=gnu99
++@MUDFLAP_FALSE@ $(WEXTRA) -std=gnu99
+ @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -Wall -Werror -Wshadow -Wunused \
+-@MUDFLAP_TRUE@ -Wformat=2 -Wextra -std=gnu99
++@MUDFLAP_TRUE@ -Wformat=2 $(WEXTRA) -std=gnu99
+ INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
+ lib_LIBRARIES = libdw.a
+ @MUDFLAP_FALSE@noinst_LIBRARIES = libdw_pic.a
+--- elfutils/libebl/Makefile.am
++++ elfutils/libebl/Makefile.am
+@@ -13,12 +13,13 @@
+ ## 3001 King Ranch Road, Ukiah, CA 95482.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DOBJDIR=\"$(shell pwd)\"
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+ AM_CFLAGS = -fmudflap
+ else
+ AM_CFLAGS =
+ endif
+-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
++AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2 \
+ -std=gnu99
+
+ INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
+--- elfutils/libebl/Makefile.in
++++ elfutils/libebl/Makefile.in
+@@ -236,6 +236,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -278,9 +279,9 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ @MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
+-@MUDFLAP_FALSE@ -Wextra -Wformat=2 -std=gnu99
++@MUDFLAP_FALSE@ $(WEXTRA) -Wformat=2 -std=gnu99
+ @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -fpic -Wall -Wshadow -Werror \
+-@MUDFLAP_TRUE@ -Wunused -Wextra -Wformat=2 -std=gnu99
++@MUDFLAP_TRUE@ -Wunused $(WEXTRA) -Wformat=2 -std=gnu99
+ INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
+ lib_LIBRARIES = libebl.a
+ modules = i386 sh mips x86_64 ia64 alpha arm sparc ppc ppc64
+--- elfutils/libelf/Makefile.am
++++ elfutils/libelf/Makefile.am
+@@ -16,12 +16,13 @@
+ ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+ AM_CFLAGS = -fpic -fmudflap
+ else
+ AM_CFLAGS =
+ endif
+-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
++AM_CFLAGS += -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2 -std=gnu99 \
+ $($(*F)_CFLAGS)
+ INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
+ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
+--- elfutils/libelf/Makefile.in
++++ elfutils/libelf/Makefile.in
+@@ -199,6 +199,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = 1
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+@@ -240,10 +241,10 @@ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused -Wextra \
++@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused $(WEXTRA) \
+ @MUDFLAP_FALSE@ -Wformat=2 -std=gnu99 $($(*F)_CFLAGS)
+ @MUDFLAP_TRUE@AM_CFLAGS = -fpic -fmudflap -Wall -Wshadow -Werror \
+-@MUDFLAP_TRUE@ -Wunused -Wextra -Wformat=2 -std=gnu99 \
++@MUDFLAP_TRUE@ -Wunused $(WEXTRA) -Wformat=2 -std=gnu99 \
+ @MUDFLAP_TRUE@ $($(*F)_CFLAGS)
+ INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
+ GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
+--- elfutils/m4/Makefile.in
++++ elfutils/m4/Makefile.in
+@@ -103,6 +103,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@
+--- elfutils/src/Makefile.am
++++ elfutils/src/Makefile.am
+@@ -14,14 +14,15 @@
+ ##
+ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H $(YYDEBUG) \
+ -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
++WEXTRA = @WEXTRA@
+ if MUDFLAP
+-AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
++AM_CFLAGS = -Wall -Wshadow -Wunused $(WEXTRA) -std=gnu99 -fmudflap \
+ $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
+ $(if $($(*F)_no_Wformat),,-Wformat=2)
+ else
+ AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
+ $(if $($(*F)_no_Werror),,-Werror) \
+- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
++ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
+ $(if $($(*F)_no_Wformat),,-Wformat=2)
+ endif
+ if MUDFLAP
+--- elfutils/src/Makefile.in
++++ elfutils/src/Makefile.in
+@@ -194,6 +194,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@ -d
+ ac_ct_CC = @ac_ct_CC@
+@@ -237,10 +238,10 @@ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ @MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
+ @MUDFLAP_FALSE@ $(if $($(*F)_no_Werror),,-Werror) \
+-@MUDFLAP_FALSE@ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
++@MUDFLAP_FALSE@ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
+ @MUDFLAP_FALSE@ $(if $($(*F)_no_Wformat),,-Wformat=2)
+
+-@MUDFLAP_TRUE@AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
++@MUDFLAP_TRUE@AM_CFLAGS = -Wall -Wshadow -Wunused $(WEXTRA) -std=gnu99 -fmudflap \
+ @MUDFLAP_TRUE@ $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
+ @MUDFLAP_TRUE@ $(if $($(*F)_no_Wformat),,-Wformat=2)
+
+--- elfutils/src/findtextrel.c
++++ elfutils/src/findtextrel.c
+@@ -476,7 +476,11 @@ ptrcompare (const void *p1, const void *
+
+
+ static void
+-check_rel (size_t nsegments, struct segments segments[nsegments],
++check_rel (size_t nsegments, struct segments segments[
++#if __GNUC__ >= 4
++ nsegments
++#endif
++ ],
+ GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
+ const char *fname, bool more_than_one, void **knownsrcs)
+ {
+--- elfutils/src/strip.c
++++ elfutils/src/strip.c
+@@ -40,6 +40,12 @@
+ #include <libebl.h>
+ #include <system.h>
+
++#ifdef HAVE_FUTIMES
++# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
++#else
++# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
++#endif
++
+
+ /* Name and version of program. */
+ static void print_version (FILE *stream, struct argp_state *state);
+@@ -269,8 +275,18 @@ process_file (const char *fname)
+
+ /* If we have to preserve the timestamp, we need it in the
+ format utimes() understands. */
++#ifdef HAVE_STRUCT_STAT_ST_ATIM
+ TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
++#else
++ tv[0].tv_sec = pre_st.st_atime;
++ tv[0].tv_usec = 0;
++#endif
++#ifdef HAVE_STRUCT_STAT_ST_MTIM
+ TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
++#else
++ tv[1].tv_sec = pre_st.st_atime;
++ tv[1].tv_usec = 0;
++#endif
+ }
+
+ /* Open the file. */
+@@ -1677,7 +1693,7 @@ handle_elf (int fd, Elf *elf, const char
+ /* If requested, preserve the timestamp. */
+ if (tvp != NULL)
+ {
+- if (futimes (fd, tvp) != 0)
++ if (FUTIMES (fd, output_fname, tvp) != 0)
+ {
+ error (0, errno, gettext ("\
+ cannot set access and modification date of '%s'"),
+@@ -1734,7 +1750,7 @@ handle_ar (int fd, Elf *elf, const char
+
+ if (tvp != NULL)
+ {
+- if (unlikely (futimes (fd, tvp) != 0))
++ if (unlikely (FUTIMES (fd, fname, tvp) != 0))
+ {
+ error (0, errno, gettext ("\
+ cannot set access and modification date of '%s'"), fname);
+--- elfutils/tests/Makefile.in
++++ elfutils/tests/Makefile.in
+@@ -266,6 +266,7 @@ SHELL = @SHELL@
+ STRIP = @STRIP@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
++WEXTRA = @WEXTRA@
+ XGETTEXT = @XGETTEXT@
+ YACC = @YACC@
+ ac_ct_CC = @ac_ct_CC@