570047f
--- elfutils/ChangeLog
570047f
+++ elfutils/ChangeLog
6788433
@@ -1,3 +1,16 @@
6788433
+2005-02-07  Roland McGrath  <roland@frob.com>
6788433
+
6788433
+	* configure.ac (WEXTRA): Check for -Wextra and set this substitution.
6788433
+
6788433
+2003-08-12  Roland McGrath  <roland@redhat.com>
6788433
+
6788433
+	* configure.ac: Check for struct stat st_?tim members.
6788433
+	* src/strip.c (process_file): Use st_?time if st_?tim are not there.
6788433
+
6788433
+	* configure.ac: Check for futimes function.
6788433
+	* src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
6788433
+	(handle_ar) [! HAVE_FUTIMES]: Likewise.
6788433
+
6788433
 2005-02-22  Ulrich Drepper  <drepper@redhat.com>
6788433
 
6788433
 	* Makefile.am (all_SUBDIRS): Don't add doc subdir for now.
570047f
--- elfutils/Makefile.in
570047f
+++ elfutils/Makefile.in
b73b6ec
@@ -127,6 +127,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
570047f
--- elfutils/config/Makefile.in
570047f
+++ elfutils/config/Makefile.in
b73b6ec
@@ -105,6 +105,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
570047f
--- elfutils/configure
570047f
+++ elfutils/configure
570047f
@@ -277,7 +277,7 @@ PACKAGE_STRING='Red Hat elfutils 0.108'
b73b6ec
 PACKAGE_BUGREPORT='http://bugzilla.redhat.com/bugzilla/'
b73b6ec
 
b73b6ec
 ac_unique_file="libelf/libelf.h"
b73b6ec
-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'
b73b6ec
+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'
b73b6ec
 ac_subst_files=''
b73b6ec
 
b73b6ec
 # Initialize some variables set by options.
6788433
@@ -3373,6 +3373,58 @@ echo "$as_me: error: gcc with C99 suppor
b73b6ec
 fi
b73b6ec
 
b73b6ec
 
b73b6ec
+echo "$as_me:$LINENO: checking for -Wextra option to $CC" >&5
b73b6ec
+echo $ECHO_N "checking for -Wextra option to $CC... $ECHO_C" >&6
b73b6ec
+if test "${ac_cv_cc_wextra+set}" = set; then
b73b6ec
+  echo $ECHO_N "(cached) $ECHO_C" >&6
b73b6ec
+else
b73b6ec
+  old_CFLAGS="$CFLAGS"
b73b6ec
+CFLAGS="$CFLAGS -Wextra"
b73b6ec
+cat >conftest.$ac_ext <<_ACEOF
b73b6ec
+void foo (void) { }
b73b6ec
+_ACEOF
b73b6ec
+rm -f conftest.$ac_objext
b73b6ec
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
b73b6ec
+  (eval $ac_compile) 2>conftest.er1
b73b6ec
+  ac_status=$?
b73b6ec
+  grep -v '^ *+' conftest.er1 >conftest.err
b73b6ec
+  rm -f conftest.er1
b73b6ec
+  cat conftest.err >&5
b73b6ec
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
b73b6ec
+  (exit $ac_status); } &&
b73b6ec
+	 { ac_try='test -z "$ac_c_werror_flag"
b73b6ec
+			 || test ! -s conftest.err'
b73b6ec
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
b73b6ec
+  (eval $ac_try) 2>&5
b73b6ec
+  ac_status=$?
b73b6ec
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
b73b6ec
+  (exit $ac_status); }; } &&
b73b6ec
+	 { ac_try='test -s conftest.$ac_objext'
b73b6ec
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
b73b6ec
+  (eval $ac_try) 2>&5
b73b6ec
+  ac_status=$?
b73b6ec
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
b73b6ec
+  (exit $ac_status); }; }; then
b4dfabf
+  ac_cv_cc_wextra=yes
b73b6ec
+else
b73b6ec
+  echo "$as_me: failed program was:" >&5
b73b6ec
+sed 's/^/| /' conftest.$ac_ext >&5
b73b6ec
+
b73b6ec
+ac_cv_cc_wextra=no
b73b6ec
+fi
b73b6ec
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
b73b6ec
+CFLAGS="$old_CFLAGS"
b73b6ec
+fi
b73b6ec
+echo "$as_me:$LINENO: result: $ac_cv_cc_wextra" >&5
b73b6ec
+echo "${ECHO_T}$ac_cv_cc_wextra" >&6
b73b6ec
+
b73b6ec
+if test "x$ac_cv_cc_wextra" = yes; then
b73b6ec
+  WEXTRA=-Wextra
6788433
+else
6788433
+  WEXTRA=-W
b73b6ec
+fi
b73b6ec
+
b73b6ec
+
b73b6ec
 LOCALEDIR=$datadir
b73b6ec
 
b73b6ec
 cat >>confdefs.h <<_ACEOF
6788433
@@ -4818,6 +4870,7 @@ s,@YACC@,$YACC,;t t
b73b6ec
 s,@LEX@,$LEX,;t t
b73b6ec
 s,@LEXLIB@,$LEXLIB,;t t
b73b6ec
 s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
b73b6ec
+s,@WEXTRA@,$WEXTRA,;t t
b73b6ec
 s,@LOCALEDIR@,$LOCALEDIR,;t t
b73b6ec
 s,@DATADIRNAME@,$DATADIRNAME,;t t
b73b6ec
 s,@NATIVE_LD_TRUE@,$NATIVE_LD_TRUE,;t t
570047f
--- elfutils/configure.ac
570047f
+++ elfutils/configure.ac
b73b6ec
@@ -64,6 +64,15 @@ CFLAGS="$old_CFLAGS"])
a769ac6
 AS_IF([test "x$ac_cv_c99" != xyes],
a769ac6
       AC_MSG_ERROR([gcc with C99 support required]))
a769ac6
 
a769ac6
+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
a769ac6
+old_CFLAGS="$CFLAGS"
a769ac6
+CFLAGS="$CFLAGS -Wextra"
a769ac6
+AC_COMPILE_IFELSE([void foo (void) { }],
b4dfabf
+		  ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
a769ac6
+CFLAGS="$old_CFLAGS"])
a769ac6
+AC_SUBST(WEXTRA)
6788433
+AS_IF([test "x$ac_cv_cc_wextra" = yes], [WEXTRA=-Wextra], [WEXTRA=-W])
a769ac6
+
a769ac6
 LOCALEDIR=$datadir
a769ac6
 AC_SUBST(LOCALEDIR)
a769ac6
 AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR")
570047f
--- elfutils/lib/ChangeLog
570047f
+++ elfutils/lib/ChangeLog
5fa3867
@@ -4,6 +4,11 @@
5fa3867
 	* Makefile.am (libeu_a_SOURCES): Add it.
5fa3867
 	* system.h: Declare crc32_file.
5fa3867
 
a769ac6
+2005-02-07  Roland McGrath  <roland@redhat.com>
a769ac6
+
a769ac6
+	* Makefile.am (WEXTRA): New variable, substituted by configure.
a769ac6
+	(AM_CFLAGS): Use it in place of -Wextra.
a769ac6
+
5fa3867
 2005-04-30  Ulrich Drepper  <drepper@redhat.com>
a769ac6
 
5fa3867
 	* Makefile.am: Use -ffunction-sections for xmalloc.c.
570047f
--- elfutils/lib/Makefile.am
570047f
+++ elfutils/lib/Makefile.am
b73b6ec
@@ -16,12 +16,13 @@
a769ac6
 ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
 AM_CFLAGS = -fmudflap
a769ac6
 else
a769ac6
 AM_CFLAGS =
a769ac6
 endif
a769ac6
-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
a769ac6
+AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused $(WEXTRA) $($(*F)_CFLAGS)
a769ac6
 INCLUDES = -I$(srcdir)/../libelf -I..
a769ac6
 
a769ac6
 noinst_LIBRARIES = libeu.a
570047f
--- elfutils/lib/Makefile.in
570047f
+++ elfutils/lib/Makefile.in
5fa3867
@@ -127,6 +127,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
5fa3867
@@ -169,9 +170,9 @@ sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
 @MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
b73b6ec
-@MUDFLAP_FALSE@	-Wextra $($(*F)_CFLAGS)
b73b6ec
+@MUDFLAP_FALSE@	$(WEXTRA) $($(*F)_CFLAGS)
b73b6ec
 @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -fpic -Wall -Wshadow -Werror \
b73b6ec
-@MUDFLAP_TRUE@	-Wunused -Wextra $($(*F)_CFLAGS)
b73b6ec
+@MUDFLAP_TRUE@	-Wunused $(WEXTRA) $($(*F)_CFLAGS)
b73b6ec
 INCLUDES = -I$(srcdir)/../libelf -I..
b73b6ec
 noinst_LIBRARIES = libeu.a
5fa3867
 libeu_a_SOURCES = xstrdup.c xstrndup.c xmalloc.c next_prime.c \
570047f
--- elfutils/libasm/Makefile.am
570047f
+++ elfutils/libasm/Makefile.am
b73b6ec
@@ -13,12 +13,13 @@
a769ac6
 ## 3001 King Ranch Road, Ukiah, CA 95482.
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
 AM_CFLAGS = -fmudflap
a769ac6
 else
a769ac6
 AM_CFLAGS =
a769ac6
 endif
a769ac6
-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
a769ac6
+AM_CFLAGS += -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2
a769ac6
 INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
a769ac6
 	   -I$(top_srcdir)/lib
a769ac6
 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
570047f
--- elfutils/libasm/Makefile.in
570047f
+++ elfutils/libasm/Makefile.in
b73b6ec
@@ -159,6 +159,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = 1
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
b73b6ec
@@ -200,10 +201,10 @@ sbindir = @sbindir@
b73b6ec
 sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
-@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused -Wextra \
b73b6ec
+@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused $(WEXTRA) \
b73b6ec
 @MUDFLAP_FALSE@	-Wformat=2
b73b6ec
 @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -Wall -Wshadow -Werror -Wunused \
b73b6ec
-@MUDFLAP_TRUE@	-Wextra -Wformat=2
b73b6ec
+@MUDFLAP_TRUE@	$(WEXTRA) -Wformat=2
b73b6ec
 INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
b73b6ec
 	   -I$(top_srcdir)/lib
b73b6ec
 
570047f
--- elfutils/libcpu/ChangeLog
570047f
+++ elfutils/libcpu/ChangeLog
6788433
@@ -1,3 +1,8 @@
6788433
+2005-04-04  Roland McGrath  <roland@redhat.com>
6788433
+
6788433
+	* Makefile.am (WEXTRA): New variable, substituted by configure.
6788433
+	(AM_CFLAGS): Use it instead of -Wextra.
6788433
+
6788433
 2005-02-15  Ulrich Drepper  <drepper@redhat.com>
6788433
 
6788433
 	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
570047f
--- elfutils/libcpu/Makefile.am
570047f
+++ elfutils/libcpu/Makefile.am
c881c2e
@@ -13,7 +13,8 @@
c881c2e
 ## 3001 King Ranch Road, Ukiah, CA 95482.
c881c2e
 ##
c881c2e
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
c881c2e
-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
c881c2e
+WEXTRA = @WEXTRA@
c881c2e
+AM_CFLAGS = -Wall -Wshadow -Werror $(WEXTRA) -Wformat=2 -Wunused
c881c2e
 INCLUDES = -I$(srcdir)
c881c2e
 
c881c2e
 noinst_LIBRARIES = libcpu_i386.a
570047f
--- elfutils/libcpu/Makefile.in
570047f
+++ elfutils/libcpu/Makefile.in
b73b6ec
@@ -122,6 +122,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
b73b6ec
@@ -163,7 +164,7 @@ sbindir = @sbindir@
b73b6ec
 sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
b73b6ec
+AM_CFLAGS = -Wall -Wshadow -Werror $(WEXTRA) -Wformat=2 -Wunused
b73b6ec
 INCLUDES = -I$(srcdir)
b73b6ec
 noinst_LIBRARIES = libcpu_i386.a
b73b6ec
 libcpu_i386_a_SOURCES = i386_dis.c
570047f
--- elfutils/libdw/Makefile.am
570047f
+++ elfutils/libdw/Makefile.am
b73b6ec
@@ -13,12 +13,13 @@
a769ac6
 ## 3001 King Ranch Road, Ukiah, CA 95482.
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
 AM_CFLAGS = -fmudflap
a769ac6
 else
a769ac6
 AM_CFLAGS =
a769ac6
 endif
a769ac6
-AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
a769ac6
+AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 $(WEXTRA) -std=gnu99
a769ac6
 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
a769ac6
 VERSION = 1
a769ac6
 
570047f
--- elfutils/libdw/Makefile.in
570047f
+++ elfutils/libdw/Makefile.in
6788433
@@ -190,6 +190,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = 1
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
6788433
@@ -232,9 +233,9 @@ sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
 @MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wshadow -Wunused -Wformat=2 \
b73b6ec
-@MUDFLAP_FALSE@	-Wextra -std=gnu99
b73b6ec
+@MUDFLAP_FALSE@	$(WEXTRA) -std=gnu99
b73b6ec
 @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -Wall -Werror -Wshadow -Wunused \
b73b6ec
-@MUDFLAP_TRUE@	-Wformat=2 -Wextra -std=gnu99
b73b6ec
+@MUDFLAP_TRUE@	-Wformat=2 $(WEXTRA) -std=gnu99
b73b6ec
 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
b73b6ec
 lib_LIBRARIES = libdw.a
b73b6ec
 @MUDFLAP_FALSE@noinst_LIBRARIES = libdw_pic.a
570047f
--- elfutils/libebl/Makefile.am
570047f
+++ elfutils/libebl/Makefile.am
b73b6ec
@@ -13,12 +13,13 @@
a769ac6
 ## 3001 King Ranch Road, Ukiah, CA 95482.
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DOBJDIR=\"$(shell pwd)\"
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
 AM_CFLAGS = -fmudflap
a769ac6
 else
a769ac6
 AM_CFLAGS =
a769ac6
 endif
a769ac6
-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
a769ac6
+AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2 \
a769ac6
 	     -std=gnu99
a769ac6
 
a769ac6
 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
570047f
--- elfutils/libebl/Makefile.in
570047f
+++ elfutils/libebl/Makefile.in
b73b6ec
@@ -236,6 +236,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = 1
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
b73b6ec
@@ -278,9 +279,9 @@ sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
 @MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
b73b6ec
-@MUDFLAP_FALSE@	-Wextra -Wformat=2 -std=gnu99
b73b6ec
+@MUDFLAP_FALSE@	$(WEXTRA) -Wformat=2 -std=gnu99
b73b6ec
 @MUDFLAP_TRUE@AM_CFLAGS = -fmudflap -fpic -Wall -Wshadow -Werror \
b73b6ec
-@MUDFLAP_TRUE@	-Wunused -Wextra -Wformat=2 -std=gnu99
b73b6ec
+@MUDFLAP_TRUE@	-Wunused $(WEXTRA) -Wformat=2 -std=gnu99
b73b6ec
 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
b73b6ec
 lib_LIBRARIES = libebl.a
b73b6ec
 modules = i386 sh mips x86_64 ia64 alpha arm sparc ppc ppc64
570047f
--- elfutils/libelf/Makefile.am
570047f
+++ elfutils/libelf/Makefile.am
b73b6ec
@@ -16,12 +16,13 @@
a769ac6
 ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
 AM_CFLAGS = -fpic -fmudflap
a769ac6
 else
a769ac6
 AM_CFLAGS =
a769ac6
 endif
a769ac6
-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
a769ac6
+AM_CFLAGS += -Wall -Wshadow -Werror -Wunused $(WEXTRA) -Wformat=2 -std=gnu99 \
a769ac6
 	     $($(*F)_CFLAGS)
a769ac6
 INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
a769ac6
 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
570047f
--- elfutils/libelf/Makefile.in
570047f
+++ elfutils/libelf/Makefile.in
b73b6ec
@@ -199,6 +199,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = 1
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
b73b6ec
@@ -240,10 +241,10 @@ sbindir = @sbindir@
b73b6ec
 sharedstatedir = @sharedstatedir@
b73b6ec
 sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
-@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused -Wextra \
b73b6ec
+@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -Werror -Wunused $(WEXTRA) \
b73b6ec
 @MUDFLAP_FALSE@	-Wformat=2 -std=gnu99 $($(*F)_CFLAGS)
b73b6ec
 @MUDFLAP_TRUE@AM_CFLAGS = -fpic -fmudflap -Wall -Wshadow -Werror \
b73b6ec
-@MUDFLAP_TRUE@	-Wunused -Wextra -Wformat=2 -std=gnu99 \
b73b6ec
+@MUDFLAP_TRUE@	-Wunused $(WEXTRA) -Wformat=2 -std=gnu99 \
b73b6ec
 @MUDFLAP_TRUE@	$($(*F)_CFLAGS)
b73b6ec
 INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
b73b6ec
 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
570047f
--- elfutils/m4/Makefile.in
570047f
+++ elfutils/m4/Makefile.in
b73b6ec
@@ -103,6 +103,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@
570047f
--- elfutils/src/Makefile.am
570047f
+++ elfutils/src/Makefile.am
b73b6ec
@@ -14,14 +14,15 @@
a769ac6
 ##
a769ac6
 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H $(YYDEBUG) \
a769ac6
        -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
a769ac6
+WEXTRA = @WEXTRA@
a769ac6
 if MUDFLAP
a769ac6
-AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
a769ac6
+AM_CFLAGS = -Wall -Wshadow -Wunused $(WEXTRA) -std=gnu99 -fmudflap \
a769ac6
 	    $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
a769ac6
 	    $(if $($(*F)_no_Wformat),,-Wformat=2)
a769ac6
 else
a769ac6
 AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
a769ac6
 	    $(if $($(*F)_no_Werror),,-Werror) \
a769ac6
-	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
a769ac6
+	    $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
a769ac6
 	    $(if $($(*F)_no_Wformat),,-Wformat=2)
a769ac6
 endif
a769ac6
 if MUDFLAP
570047f
--- elfutils/src/Makefile.in
570047f
+++ elfutils/src/Makefile.in
5fa3867
@@ -194,6 +194,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@ -d
b73b6ec
 ac_ct_CC = @ac_ct_CC@
5fa3867
@@ -237,10 +238,10 @@ sysconfdir = @sysconfdir@
b73b6ec
 target_alias = @target_alias@
b73b6ec
 @MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
b73b6ec
 @MUDFLAP_FALSE@	    $(if $($(*F)_no_Werror),,-Werror) \
b73b6ec
-@MUDFLAP_FALSE@	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
b73b6ec
+@MUDFLAP_FALSE@	    $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
b73b6ec
 @MUDFLAP_FALSE@	    $(if $($(*F)_no_Wformat),,-Wformat=2)
b73b6ec
 
b73b6ec
-@MUDFLAP_TRUE@AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
b73b6ec
+@MUDFLAP_TRUE@AM_CFLAGS = -Wall -Wshadow -Wunused $(WEXTRA) -std=gnu99 -fmudflap \
b73b6ec
 @MUDFLAP_TRUE@	    $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
b73b6ec
 @MUDFLAP_TRUE@	    $(if $($(*F)_no_Wformat),,-Wformat=2)
b73b6ec
 
570047f
--- elfutils/src/findtextrel.c
570047f
+++ elfutils/src/findtextrel.c
5fa3867
@@ -476,7 +476,11 @@ ptrcompare (const void *p1, const void *
5fa3867
 
5fa3867
 
5fa3867
 static void
5fa3867
-check_rel (size_t nsegments, struct segments segments[nsegments],
5fa3867
+check_rel (size_t nsegments, struct segments segments[
5fa3867
+#if __GNUC__ >= 4
5fa3867
+						      nsegments
5fa3867
+#endif
5fa3867
+	   ],
5fa3867
 	   GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
5fa3867
 	   const char *fname, bool more_than_one, void **knownsrcs)
5fa3867
 {
570047f
--- elfutils/src/strip.c
570047f
+++ elfutils/src/strip.c
b73b6ec
@@ -40,6 +40,12 @@
b73b6ec
 #include <libebl.h>
b73b6ec
 #include <system.h>
b73b6ec
 
b73b6ec
+#ifdef HAVE_FUTIMES
b73b6ec
+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
b73b6ec
+#else
b73b6ec
+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
b73b6ec
+#endif
b73b6ec
+
b73b6ec
 
b73b6ec
 /* Name and version of program.  */
b73b6ec
 static void print_version (FILE *stream, struct argp_state *state);
5fa3867
@@ -269,8 +275,18 @@ process_file (const char *fname)
a769ac6
 
a769ac6
       /* If we have to preserve the timestamp, we need it in the
a769ac6
 	 format utimes() understands.  */
a769ac6
+#ifdef HAVE_STRUCT_STAT_ST_ATIM
a769ac6
       TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
a769ac6
+#else
a769ac6
+      tv[0].tv_sec = pre_st.st_atime;
a769ac6
+      tv[0].tv_usec = 0;
a769ac6
+#endif
a769ac6
+#ifdef HAVE_STRUCT_STAT_ST_MTIM
a769ac6
       TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
a769ac6
+#else
a769ac6
+      tv[1].tv_sec = pre_st.st_atime;
a769ac6
+      tv[1].tv_usec = 0;
a769ac6
+#endif
a769ac6
     }
a769ac6
 
a769ac6
   /* Open the file.  */
570047f
@@ -1677,7 +1693,7 @@ handle_elf (int fd, Elf *elf, const char
a769ac6
   /* If requested, preserve the timestamp.  */
a769ac6
   if (tvp != NULL)
a769ac6
     {
a769ac6
-      if (futimes (fd, tvp) != 0)
b73b6ec
+      if (FUTIMES (fd, output_fname, tvp) != 0)
a769ac6
 	{
a769ac6
 	  error (0, errno, gettext ("\
5fa3867
 cannot set access and modification date of '%s'"),
570047f
@@ -1734,7 +1750,7 @@ handle_ar (int fd, Elf *elf, const char 
a769ac6
 
a769ac6
   if (tvp != NULL)
a769ac6
     {
a769ac6
-      if (unlikely (futimes (fd, tvp) != 0))
b73b6ec
+      if (unlikely (FUTIMES (fd, fname, tvp) != 0))
a769ac6
 	{
a769ac6
 	  error (0, errno, gettext ("\
5fa3867
 cannot set access and modification date of '%s'"), fname);
570047f
--- elfutils/tests/Makefile.in
570047f
+++ elfutils/tests/Makefile.in
6788433
@@ -266,6 +266,7 @@ SHELL = @SHELL@
b73b6ec
 STRIP = @STRIP@
b73b6ec
 USE_NLS = @USE_NLS@
b73b6ec
 VERSION = @VERSION@
b73b6ec
+WEXTRA = @WEXTRA@
b73b6ec
 XGETTEXT = @XGETTEXT@
b73b6ec
 YACC = @YACC@
b73b6ec
 ac_ct_CC = @ac_ct_CC@