diff options
Diffstat (limited to 'source/l/elfutils')
-rw-r--r-- | source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.patch | 91 | ||||
-rw-r--r-- | source/l/elfutils/elfutils-portability-0.163.patch | 2108 | ||||
-rwxr-xr-x | source/l/elfutils/elfutils.SlackBuild | 31 | ||||
-rw-r--r-- | source/l/elfutils/slack-desc | 8 |
4 files changed, 27 insertions, 2211 deletions
diff --git a/source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.patch b/source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.patch deleted file mode 100644 index e3a27ff0..00000000 --- a/source/l/elfutils/elfutils-0.163-unstrip-shf_info_link.patch +++ /dev/null @@ -1,91 +0,0 @@ -commit f9fc50c3eced243c0648fb0fbfe2c9877c25e1e4 -Author: Mark Wielaard <mjw@redhat.com> -Date: Wed Jul 29 17:51:27 2015 +0200 - - unstrip: Handle debuginfo files with missing SHF_INFO_LINK section flags. - - With GCC 5 there might be a .rela.plt section with SHF_INFO_LINK set. - Buggy binutils objdump might strip it from the section in the debug file. - Ignore such differences for relocation sections and put the flag back - if necessary. - - Also improve the error message a little by only discarding the already - matched sections if there is an prelink undo section. Otherwise we will - report all sections as not matching if the file wasn't prelinked instead - of just the non-matching sections. - - New testfiles generated by gcc5 and binutils objdump added. - - Signed-off-by: Mark Wielaard <mjw@redhat.com> - -diff --git a/src/unstrip.c b/src/unstrip.c -index 4a8e5fa..8833094 100644 ---- a/src/unstrip.c -+++ b/src/unstrip.c -@@ -867,12 +867,28 @@ compare_symbols_output (const void *a, const void *b) - - #undef CMP - -+/* Return true if the flags of the sections match, ignoring the SHF_INFO_LINK -+ flag if the section contains relocation information. */ -+static bool -+sections_flags_match (Elf64_Xword sh_flags1, Elf64_Xword sh_flags2, -+ Elf64_Word sh_type) -+{ -+ if (sh_type == SHT_REL || sh_type == SHT_RELA) -+ { -+ sh_flags1 &= ~SHF_INFO_LINK; -+ sh_flags2 &= ~SHF_INFO_LINK; -+ } -+ -+ return sh_flags1 == sh_flags2; -+} -+ - /* Return true iff the flags, size, and name match. */ - static bool - sections_match (const struct section *sections, size_t i, - const GElf_Shdr *shdr, const char *name) - { -- return (sections[i].shdr.sh_flags == shdr->sh_flags -+ return (sections_flags_match (sections[i].shdr.sh_flags, shdr->sh_flags, -+ sections[i].shdr.sh_type) - && (sections[i].shdr.sh_size == shdr->sh_size - || (sections[i].shdr.sh_size < shdr->sh_size - && section_can_shrink (§ions[i].shdr))) -@@ -930,10 +946,6 @@ find_alloc_sections_prelink (Elf *debug, Elf_Data *debug_shstrtab, - struct section *sections, - size_t nalloc, size_t nsections) - { -- /* Clear assignments that might have been bogus. */ -- for (size_t i = 0; i < nalloc; ++i) -- sections[i].outscn = NULL; -- - Elf_Scn *undo = NULL; - for (size_t i = nalloc; i < nsections; ++i) - { -@@ -952,6 +964,10 @@ find_alloc_sections_prelink (Elf *debug, Elf_Data *debug_shstrtab, - size_t undo_nalloc = 0; - if (undo != NULL) - { -+ /* Clear assignments that might have been bogus. */ -+ for (size_t i = 0; i < nalloc; ++i) -+ sections[i].outscn = NULL; -+ - Elf_Data *undodata = elf_rawdata (undo, NULL); - ELF_CHECK (undodata != NULL, - _("cannot read '.gnu.prelink_undo' section: %s")); -@@ -1500,6 +1516,14 @@ more sections in stripped file than debug file -- arguments reversed?")); - shdr_mem.sh_size = sec->shdr.sh_size; - shdr_mem.sh_info = sec->shdr.sh_info; - shdr_mem.sh_link = sec->shdr.sh_link; -+ -+ /* Buggy binutils objdump might have stripped the SHF_INFO_LINK -+ put it back if necessary. */ -+ if ((sec->shdr.sh_type == SHT_REL || sec->shdr.sh_type == SHT_RELA) -+ && sec->shdr.sh_flags != shdr_mem.sh_flags -+ && (sec->shdr.sh_flags & SHF_INFO_LINK) != 0) -+ shdr_mem.sh_flags |= SHF_INFO_LINK; -+ - if (sec->shdr.sh_link != SHN_UNDEF) - shdr_mem.sh_link = ndx_section[sec->shdr.sh_link - 1]; - if (shdr_mem.sh_flags & SHF_INFO_LINK) diff --git a/source/l/elfutils/elfutils-portability-0.163.patch b/source/l/elfutils/elfutils-portability-0.163.patch deleted file mode 100644 index f347ed1a..00000000 --- a/source/l/elfutils/elfutils-portability-0.163.patch +++ /dev/null @@ -1,2108 +0,0 @@ -diffelfutils/backends/ChangeLog git-portable/backends/ChangeLog ---- elfutils/backends/ChangeLog -+++ elfutils/backends/ChangeLog -@@ -498,6 +498,10 @@ - * ppc_attrs.c (ppc_check_object_attribute): Handle tag - GNU_Power_ABI_Struct_Return. - -+2009-01-23 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED). -+ - 2008-10-04 Ulrich Drepper <drepper@redhat.com> - - * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and -@@ -825,6 +829,11 @@ - * sparc_init.c: Likewise. - * x86_64_init.c: Likewise. - -+2005-11-22 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure. -+ (libebl_%.so rule): Use it in place of -Wl,--as-needed. -+ - 2005-11-19 Roland McGrath <roland@redhat.com> - - * ppc64_reloc.def: REL30 -> ADDR30. -@@ -847,6 +856,9 @@ - * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). - (CLEANFILES): Add libebl_$(m).so. - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>. - * ppc64_reloc.def: Likewise. - -diffelfutils/backends/Makefile.am git-portable/backends/Makefile.am ---- elfutils/backends/Makefile.am -+++ elfutils/backends/Makefile.am -@@ -119,7 +119,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) \ -- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) -+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) - @$(textrel_check) - - libebl_i386.so: $(cpu_i386) -diffelfutils/backends/Makefile.in git-portable/backends/Makefile.in ---- elfutils/backends/Makefile.in -+++ elfutils/backends/Makefile.in -@@ -90,7 +90,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - subdir = backends - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -300,6 +301,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -331,6 +333,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -398,14 +401,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(foreach m,$(modules), libebl_$(m).map \ - libebl_$(m).so $(am_libebl_$(m)_pic_a_OBJECTS)) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" -@@ -912,7 +915,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) \ -- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) -+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) - @$(textrel_check) - - libebl_i386.so: $(cpu_i386) -diffelfutils/ChangeLog git-portable/ChangeLog ---- elfutils/ChangeLog -+++ elfutils/ChangeLog -@@ -258,6 +258,8 @@ - - 2012-01-24 Mark Wielaard <mjw@redhat.com> - -+ * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE. -+ - * COPYING: Fix address. Updated version from gnulib. - - 2012-01-23 Mark Wielaard <mjw@redhat.com> -@@ -276,6 +278,9 @@ - - 2011-10-08 Mike Frysinger <vapier@gentoo.org> - -+ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR -+ automake option. -+ - * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly. - - 2011-10-02 Ulrich Drepper <drepper@gmail.com> -@@ -297,6 +302,10 @@ - - * configure.ac (LOCALEDIR, DATADIRNAME): Removed. - -+2009-11-22 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Use sed and expr instead of modern bash extensions. -+ - 2009-09-21 Ulrich Drepper <drepper@redhat.com> - - * configure.ac: Update for more modern autoconf. -@@ -305,6 +314,10 @@ - - * configure.ac (zip_LIBS): Check for liblzma too. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works. -+ - 2009-04-19 Roland McGrath <roland@redhat.com> - - * configure.ac (eu_version): Round down here, not in version.h macros. -@@ -316,6 +329,8 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * configure.ac: Check for __builtin_popcount. -+ - * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. - - * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of -@@ -396,6 +411,10 @@ - * configure.ac: Add dummy automake conditional to get dependencies - for non-generic linker right. See src/Makefile.am. - -+2005-11-22 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac: Check for --as-needed linker option. -+ - 2005-11-18 Roland McGrath <roland@redhat.com> - - * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. -@@ -443,6 +462,17 @@ - * Makefile.am (all_SUBDIRS): Add libdwfl. - * configure.ac: Write libdwfl/Makefile. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution. -+ -+ * 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-05-19 Roland McGrath <roland@redhat.com> - - * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. -diffelfutils/config/ChangeLog git-portable/config/ChangeLog ---- elfutils/config/ChangeLog -+++ elfutils/config/ChangeLog -@@ -110,6 +110,10 @@ - - * known-dwarf.awk: Use gawk. - -+2011-10-08 Mike Frysinger <vapier@gentoo.org> -+ -+ * eu.am [BUILD_WERROR]: Conditionalize -Werror use on this. -+ - 2010-07-02 Ulrich Drepper <drepper@redhat.com> - - * elfutils.spec.in: Add more BuildRequires. -diffelfutils/config/eu.am git-portable/config/eu.am ---- elfutils/config/eu.am -+++ elfutils/config/eu.am -@@ -1,6 +1,6 @@ - ## Common automake fragments for elfutils subdirectory makefiles. - ## --## Copyright (C) 2010, 2014 Red Hat, Inc. -+## Copyright (C) 2010-2011, 2014 Red Hat, Inc. - ## - ## This file is part of elfutils. - ## -@@ -29,6 +29,9 @@ - ## not, see <http://www.gnu.org/licenses/>. - ## - -+WEXTRA = @WEXTRA@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ -+ - DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"' - AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. - -@@ -38,12 +41,17 @@ STACK_USAGE_WARNING=-Wstack-usage=262144 - else - STACK_USAGE_WARNING= - endif --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow \ - $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \ -+ $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $($(*F)_CFLAGS) - -+if BUILD_WERROR -+AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror) -+endif -+ - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) - - DEFS.os = -DPIC -DSHARED -diffelfutils/config/Makefile.in git-portable/config/Makefile.in ---- elfutils/config/Makefile.in -+++ elfutils/config/Makefile.in -@@ -160,6 +160,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -191,6 +192,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -diffelfutils/config.h.in git-portable/config.h.in ---- elfutils/config.h.in -+++ elfutils/config.h.in -@@ -6,6 +6,12 @@ - /* Should ar and ranlib use -D behavior by default? */ - #undef DEFAULT_AR_DETERMINISTIC - -+/* Have __builtin_popcount. */ -+#undef HAVE_BUILTIN_POPCOUNT -+ -+/* Define to 1 if you have the `futimens' function. */ -+#undef HAVE_FUTIMENS -+ - /* Define to 1 if you have the <inttypes.h> header file. */ - #undef HAVE_INTTYPES_H - -@@ -105,4 +111,7 @@ - /* Define for large files, on AIX-style hosts. */ - #undef _LARGE_FILES - -+/* Stubbed out if missing compiler support. */ -+#undef __thread -+ - #include <eu-config.h> -diffelfutils/configure git-portable/configure ---- elfutils/configure -+++ elfutils/configure -@@ -672,6 +672,8 @@ ZLIB_TRUE - LIBEBL_SUBDIR - TESTS_RPATH_FALSE - TESTS_RPATH_TRUE -+BUILD_WERROR_FALSE -+BUILD_WERROR_TRUE - BUILD_STATIC_FALSE - BUILD_STATIC_TRUE - USE_VALGRIND_FALSE -@@ -687,6 +689,8 @@ NEVER_TRUE - base_cpu - NATIVE_LD_FALSE - NATIVE_LD_TRUE -+LD_AS_NEEDED -+WEXTRA - NM - READELF - ac_ct_AR -@@ -807,6 +811,7 @@ enable_gprof - enable_gcov - enable_sanitize_undefined - enable_valgrind -+enable_werror - enable_tests_rpath - enable_libebl_subdir - with_zlib -@@ -1467,6 +1472,7 @@ Optional Features: - --enable-sanitize-undefined - Use gcc undefined behaviour sanitizer - --enable-valgrind run all tests under valgrind -+ --disable-werror do not build with -Werror - --enable-tests-rpath build $ORIGIN-using rpath into tests - --enable-libebl-subdir=DIR - install libebl_CPU modules in $(libdir)/DIR -@@ -1665,6 +1671,73 @@ fi - - } # ac_fn_c_try_link - -+# ac_fn_c_check_func LINENO FUNC VAR -+# ---------------------------------- -+# Tests whether FUNC exists, setting the cache variable VAR accordingly -+ac_fn_c_check_func () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -+$as_echo_n "checking for $2... " >&6; } -+if eval \${$3+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+/* Define $2 to an innocuous variant, in case <limits.h> declares $2. -+ For example, HP-UX 11i <limits.h> declares gettimeofday. */ -+#define $2 innocuous_$2 -+ -+/* System header to define __stub macros and hopefully few prototypes, -+ which can conflict with char $2 (); below. -+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since -+ <limits.h> exists even on freestanding compilers. */ -+ -+#ifdef __STDC__ -+# include <limits.h> -+#else -+# include <assert.h> -+#endif -+ -+#undef $2 -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char $2 (); -+/* The GNU C library defines this for functions which it implements -+ to always fail with ENOSYS. Some functions are actually named -+ something starting with __ and the normal name is an alias. */ -+#if defined __stub_$2 || defined __stub___$2 -+choke me -+#endif -+ -+int -+main () -+{ -+return $2 (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ eval "$3=yes" -+else -+ eval "$3=no" -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+fi -+eval ac_res=\$$3 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ -+} # ac_fn_c_check_func -+ - # ac_fn_c_try_run LINENO - # ---------------------- - # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -@@ -4825,6 +4898,18 @@ else - fi - - -+for ac_func in futimens -+do : -+ ac_fn_c_check_func "$LINENO" "futimens" "ac_cv_func_futimens" -+if test "x$ac_cv_func_futimens" = xyes; then : -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_FUTIMENS 1 -+_ACEOF -+ -+fi -+done -+ -+ - # We use -std=gnu99 but have explicit checks for some language constructs - # and GNU extensions since some compilers claim GNU99 support, but don't - # really support all language extensions. In particular we need -@@ -4873,6 +4958,130 @@ if test "x$ac_cv_c99" != xyes; then : - as_fn_error $? "gcc with GNU99 support required" "$LINENO" 5 - fi - -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5 -+$as_echo_n "checking for -Wextra option to $CC... " >&6; } -+if ${ac_cv_cc_wextra+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ old_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -Wextra" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+void foo (void) { } -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_cc_wextra=yes -+else -+ ac_cv_cc_wextra=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+CFLAGS="$old_CFLAGS" -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_wextra" >&5 -+$as_echo "$ac_cv_cc_wextra" >&6; } -+ -+if test "x$ac_cv_cc_wextra" = xyes; then : -+ WEXTRA=-Wextra -+else -+ WEXTRA=-W -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5 -+$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; } -+if ${ac_cv_cc_gnu89_inline+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ old_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -fgnu89-inline -Werror" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+void foo (void) -+{ -+ inline void bar (void) {} -+ bar (); -+} -+extern inline void baz (void) {} -+ -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_cc_gnu89_inline=yes -+else -+ ac_cv_cc_gnu89_inline=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+CFLAGS="$old_CFLAGS" -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_gnu89_inline" >&5 -+$as_echo "$ac_cv_cc_gnu89_inline" >&6; } -+if test "x$ac_cv_cc_gnu89_inline" = xyes; then : -+ WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline" -+fi -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5 -+$as_echo_n "checking for --as-needed linker option... " >&6; } -+if ${ac_cv_as_needed+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat > conftest.c <<EOF -+int main (void) { return 0; } -+EOF -+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -+ -fPIC -shared -o conftest.so conftest.c -+ -Wl,--as-needed 1>&5' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; } -+then -+ ac_cv_as_needed=yes -+else -+ ac_cv_as_needed=no -+fi -+rm -f conftest* -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_as_needed" >&5 -+$as_echo "$ac_cv_as_needed" >&6; } -+if test "x$ac_cv_as_needed" = xyes; then : -+ LD_AS_NEEDED=-Wl,--as-needed -+else -+ LD_AS_NEEDED= -+fi -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5 -+$as_echo_n "checking for __builtin_popcount... " >&6; } -+if ${ac_cv_popcount+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+exit (__builtin_popcount (127)); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_popcount=yes -+else -+ ac_cv_popcount=no -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_popcount" >&5 -+$as_echo "$ac_cv_popcount" >&6; } -+if test "x$ac_cv_popcount" = xyes; then : -+ -+$as_echo "#define HAVE_BUILTIN_POPCOUNT 1" >>confdefs.h -+ -+fi -+ - { $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 : -@@ -4910,7 +5119,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 : -- as_fn_error $? "__thread support required" "$LINENO" 5 -+ if test "$use_locks" = yes; then : -+ as_fn_error $? "--enable-thread-safety requires __thread support" "$LINENO" 5 -+else -+ -+$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h -+ -+fi - fi - - # Check whether --enable-largefile was given. -@@ -5318,6 +5533,22 @@ else - fi - - -+# Check whether --enable-werror was given. -+if test "${enable_werror+set}" = set; then : -+ enableval=$enable_werror; enable_werror=$enableval -+else -+ enable_werror=yes -+fi -+ -+ if test "$enable_werror" = yes; then -+ BUILD_WERROR_TRUE= -+ BUILD_WERROR_FALSE='#' -+else -+ BUILD_WERROR_TRUE='#' -+ BUILD_WERROR_FALSE= -+fi -+ -+ - # Check whether --enable-tests-rpath was given. - if test "${enable_tests_rpath+set}" = set; then : - enableval=$enable_tests_rpath; tests_use_rpath=$enableval -@@ -6199,7 +6430,7 @@ case "$eu_version" in - esac - - # Round up to the next release API (x.y) version. --eu_version=$(( (eu_version + 999) / 1000 )) -+eu_version=`expr \( $eu_version + 999 \) / 1000` - - MODVERSION="Build for ${LIBEBL_SUBDIR} ${eu_version} ${ac_cv_build}" - -@@ -7088,6 +7319,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 -+if test -z "${BUILD_WERROR_TRUE}" && test -z "${BUILD_WERROR_FALSE}"; then -+ as_fn_error $? "conditional \"BUILD_WERROR\" was never defined. -+Usually this means the macro was only invoked conditionally." "$LINENO" 5 -+fi - 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 -diffelfutils/configure.ac git-portable/configure.ac ---- elfutils/configure.ac -+++ elfutils/configure.ac -@@ -73,6 +73,8 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - AC_CHECK_TOOL([READELF], [readelf]) - AC_CHECK_TOOL([NM], [nm]) - -+AC_CHECK_FUNCS([futimens]) -+ - # We use -std=gnu99 but have explicit checks for some language constructs - # and GNU extensions since some compilers claim GNU99 support, but don't - # really support all language extensions. In particular we need -@@ -106,6 +108,54 @@ CFLAGS="$old_CFLAGS"]) - AS_IF([test "x$ac_cv_c99" != xyes], - AC_MSG_ERROR([gcc with GNU99 support required])) - -+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl -+old_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -Wextra" -+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) -+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W]) -+ -+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_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) -+CFLAGS="$old_CFLAGS"]) -+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes], -+ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"]) -+ -+AC_CACHE_CHECK([for --as-needed linker option], -+ ac_cv_as_needed, [dnl -+cat > conftest.c <<EOF -+int main (void) { return 0; } -+EOF -+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -+ -fPIC -shared -o conftest.so conftest.c -+ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD]) -+then -+ ac_cv_as_needed=yes -+else -+ ac_cv_as_needed=no -+fi -+rm -f conftest*]) -+AS_IF([test "x$ac_cv_as_needed" = xyes], -+ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=]) -+AC_SUBST(LD_AS_NEEDED) -+ -+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl -+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])], -+ ac_cv_popcount=yes, ac_cv_popcount=no)]) -+AS_IF([test "x$ac_cv_popcount" = xyes], -+ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])]) -+ - 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. -@@ -122,7 +172,10 @@ static __thread int a; int foo (int b) { - CFLAGS="$save_CFLAGS" - LDFLAGS="$save_LDFLAGS"]) - AS_IF([test "x$ac_cv_tls" != xyes], -- AC_MSG_ERROR([__thread support required])) -+ [AS_IF([test "$use_locks" = yes], -+ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])], -+ [AC_DEFINE([__thread], [/* empty: no multi-thread support */], -+ [Stubbed out if missing compiler support.])])]) - - 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 -@@ -224,6 +277,11 @@ AM_CONDITIONAL(USE_VALGRIND, test "$use_ - AM_CONDITIONAL(BUILD_STATIC, [dnl - test "$use_gprof" = yes -o "$use_gcov" = yes]) - -+AC_ARG_ENABLE([werror], -+AS_HELP_STRING([--disable-werror],[do not build with -Werror]), -+ [enable_werror=$enableval], [enable_werror=yes]) -+AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes) -+ - 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]) -@@ -388,7 +446,7 @@ case "$eu_version" in - esac - - # Round up to the next release API (x.y) version. --eu_version=$(( (eu_version + 999) / 1000 )) -+eu_version=`expr \( $eu_version + 999 \) / 1000` - - dnl Unique ID for this build. - MODVERSION="Build for ${LIBEBL_SUBDIR} ${eu_version} ${ac_cv_build}" -diffelfutils/lib/ChangeLog git-portable/lib/ChangeLog ---- elfutils/lib/ChangeLog -+++ elfutils/lib/ChangeLog -@@ -73,6 +73,9 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * eu-config.h [! HAVE_BUILTIN_POPCOUNT] -+ (__builtin_popcount): New inline function. -+ - * eu-config.h: Add multiple inclusion protection. - - 2009-01-17 Ulrich Drepper <drepper@redhat.com> -@@ -129,6 +132,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. -diffelfutils/lib/eu-config.h git-portable/lib/eu-config.h ---- elfutils/lib/eu-config.h -+++ elfutils/lib/eu-config.h -@@ -163,6 +163,17 @@ asm (".section predict_data, \"aw\"; .pr - /* This macro is used by the tests conditionalize for standalone building. */ - #define ELFUTILS_HEADER(name) <lib##name.h> - -+#ifndef HAVE_BUILTIN_POPCOUNT -+# define __builtin_popcount hakmem_popcount -+static inline unsigned int __attribute__ ((unused)) -+hakmem_popcount (unsigned int x) -+{ -+ /* HAKMEM 169 */ -+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111); -+ return ((n + (n >> 3)) & 030707070707) % 63; -+} -+#endif /* HAVE_BUILTIN_POPCOUNT */ -+ - - #ifdef SYMBOL_VERSIONING - # define OLD_VERSION(name, version) \ -diffelfutils/lib/Makefile.in git-portable/lib/Makefile.in ---- elfutils/lib/Makefile.in -+++ elfutils/lib/Makefile.in -@@ -89,7 +89,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - subdir = lib - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -212,6 +213,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -243,6 +245,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -309,13 +312,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 $(if \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ - $($(*F)_no_Werror),,-Werror) $(if \ -- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ - $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -fpic -+ $($(*F)_CFLAGS) $(am__append_1) -fpic - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) -diffelfutils/libasm/ChangeLog git-portable/libasm/ChangeLog ---- elfutils/libasm/ChangeLog -+++ elfutils/libasm/ChangeLog -@@ -87,6 +87,11 @@ - * asm_error.c: Add new error ASM_E_IOERROR. - * libasmP.h: Add ASM_E_IOERROR definition. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-02-15 Ulrich Drepper <drepper@redhat.com> - - * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. -diffelfutils/libasm/Makefile.in git-portable/libasm/Makefile.in ---- elfutils/libasm/Makefile.in -+++ elfutils/libasm/Makefile.in -@@ -90,9 +90,10 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - noinst_PROGRAMS = $(am__EXEEXT_1) --@USE_LOCKS_TRUE@am__append_2 = -lpthread -+@USE_LOCKS_TRUE@am__append_3 = -lpthread - subdir = libasm - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -263,6 +264,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -294,6 +296,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -361,14 +364,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(am_libasm_pic_a_OBJECTS) \ - libasm.so.$(VERSION) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" -@@ -395,7 +398,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort - - libasm_pic_a_SOURCES = - am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) --libasm_so_LDLIBS = $(am__append_2) -+libasm_so_LDLIBS = $(am__append_3) - libasm_so_SOURCES = - noinst_HEADERS = libasmP.h symbolhash.h - EXTRA_DIST = libasm.map -diffelfutils/libcpu/ChangeLog git-portable/libcpu/ChangeLog ---- elfutils/libcpu/ChangeLog -+++ elfutils/libcpu/ChangeLog -@@ -51,6 +51,9 @@ - - 2009-01-23 Roland McGrath <roland@redhat.com> - -+ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old -+ compilers that don't realize it's noreturn. -+ - * Makefile.am (i386_parse_CFLAGS): Use quotes around command - substitution that can produce leading whitespace. - -@@ -380,6 +383,11 @@ - * defs/i386.doc: New file. - * defs/x86_64: New file. - -+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. -diffelfutils/libcpu/i386_disasm.c git-portable/libcpu/i386_disasm.c ---- elfutils/libcpu/i386_disasm.c -+++ elfutils/libcpu/i386_disasm.c -@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con - - default: - assert (! "INVALID not handled"); -+ abort (); - } - } - else -diffelfutils/libcpu/Makefile.in git-portable/libcpu/Makefile.in ---- elfutils/libcpu/Makefile.in -+++ elfutils/libcpu/Makefile.in -@@ -90,7 +90,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT) - subdir = libcpu - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -@@ -238,6 +239,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = lex.$(<F:lex.l=) -@@ -269,6 +271,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -336,13 +339,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 $(if \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ - $($(*F)_no_Werror),,-Werror) $(if \ -- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ - $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -fpic -fdollars-in-identifiers -+ $($(*F)_CFLAGS) $(am__append_1) -fpic -fdollars-in-identifiers - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(foreach P,i386 x86_64,$P_defs \ - $P.mnemonics) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" -diffelfutils/libdw/ChangeLog git-portable/libdw/ChangeLog ---- elfutils/libdw/ChangeLog -+++ elfutils/libdw/ChangeLog -@@ -904,6 +904,10 @@ - - * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk. - -+2011-07-20 Mark Wielaard <mjw@redhat.com> -+ -+ * dwarf_begin_elf.c: Add fallback for be64toh if not defined. -+ - 2011-07-14 Mark Wielaard <mjw@redhat.com> - - * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info. -@@ -1263,6 +1267,10 @@ - - * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * libdw.h: Disable extern inlines for GCC 4.2. -+ - 2009-08-10 Roland McGrath <roland@redhat.com> - - * dwarf_getscopevar.c: Use dwarf_diename. -@@ -2031,6 +2039,11 @@ - - 2005-05-31 Roland McGrath <roland@redhat.com> - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ -+2005-05-31 Roland McGrath <roland@redhat.com> -+ - * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to - formref offset. - -diffelfutils/libdw/dwarf_begin_elf.c git-portable/libdw/dwarf_begin_elf.c ---- elfutils/libdw/dwarf_begin_elf.c -+++ elfutils/libdw/dwarf_begin_elf.c -@@ -47,6 +47,14 @@ - #if USE_ZLIB - # include <endian.h> - # define crc32 loser_crc32 -+# ifndef be64toh -+# include <byteswap.h> -+# if __BYTE_ORDER == __LITTLE_ENDIAN -+# define be64toh(x) bswap_64 (x) -+# else -+# define be64toh(x) (x) -+# endif -+# endif - # include <zlib.h> - # undef crc32 - #endif -diffelfutils/libdw/libdw.h git-portable/libdw/libdw.h ---- elfutils/libdw/libdw.h -+++ elfutils/libdw/libdw.h -@@ -1004,7 +1004,7 @@ extern Dwarf_OOM dwarf_new_oom_handler ( - - - /* Inline optimizations. */ --#ifdef __OPTIMIZE__ -+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) - /* Return attribute code of given attribute. */ - __libdw_extern_inline unsigned int - dwarf_whatattr (Dwarf_Attribute *attr) -diffelfutils/libdw/Makefile.in git-portable/libdw/Makefile.in ---- elfutils/libdw/Makefile.in -+++ elfutils/libdw/Makefile.in -@@ -90,8 +90,9 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING --@BUILD_STATIC_TRUE@am__append_2 = -fpic -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING -+@BUILD_STATIC_TRUE@am__append_3 = -fpic - noinst_PROGRAMS = $(am__EXEEXT_1) - subdir = libdw - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -@@ -312,6 +313,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -343,6 +345,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -409,13 +412,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 $(if \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ - $($(*F)_no_Werror),,-Werror) $(if \ -- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ - $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) $(am__append_2) -+ $($(*F)_CFLAGS) $(am__append_1) $(am__append_3) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) -diffelfutils/libdwelf/Makefile.in git-portable/libdwelf/Makefile.in ---- elfutils/libdwelf/Makefile.in -+++ elfutils/libdwelf/Makefile.in -@@ -89,7 +89,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - subdir = libdwelf - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -242,6 +243,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -273,6 +275,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -340,14 +343,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(am_libdwelf_pic_a_OBJECTS) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) -diffelfutils/libdwfl/ChangeLog git-portable/libdwfl/ChangeLog ---- elfutils/libdwfl/ChangeLog -+++ elfutils/libdwfl/ChangeLog -@@ -713,6 +713,21 @@ - (dwfl_module_addrsym) (i_to_symfile): New function. - (dwfl_module_addrsym) (search_table): Use it. - -+2013-11-09 Jan Kratochvil <jan.kratochvil@redhat.com> -+ -+ Older OS compatibility bits. -+ * linux-core-attach.c (be64toh, le64toh, be32toh, le32toh): Provide -+ fallbacks if not defined by system. -+ -+2013-11-09 Jan Kratochvil <jan.kratochvil@redhat.com> -+ -+ Handle T-stopped detach for old kernels. -+ * linux-pid-attach.c (struct pid_arg): New field stopped. -+ (ptrace_attach): New parameter stoppedp. Set it appropriately. -+ (pid_set_initial_registers): Pass the new field. -+ (pid_thread_detach): Handle the case of STOPPED for old kernels. -+ (__libdwfl_attach_state_for_pid): Initialize STOPPED. -+ - 2013-11-07 Jan Kratochvil <jan.kratochvil@redhat.com> - Mark Wielaard <mjw@redhat.com> - -@@ -2478,6 +2493,11 @@ - - 2005-07-21 Roland McGrath <roland@redhat.com> - -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ -+2005-07-21 Roland McGrath <roland@redhat.com> -+ - * Makefile.am (noinst_HEADERS): Add loc2c.c. - - * test2.c (main): Check sscanf result to quiet warning. -diffelfutils/libdwfl/linux-core-attach.c git-portable/libdwfl/linux-core-attach.c ---- elfutils/libdwfl/linux-core-attach.c -+++ elfutils/libdwfl/linux-core-attach.c -@@ -29,6 +29,35 @@ - #include "libdwflP.h" - #include <fcntl.h> - #include "system.h" -+#include <endian.h> -+#include <byteswap.h> -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+# ifndef be64toh -+# define be64toh(x) bswap_64 (x) -+# endif -+# ifndef le64toh -+# define le64toh(x) (x) -+# endif -+# ifndef be32toh -+# define be32toh(x) bswap_32 (x) -+# endif -+# ifndef le32toh -+# define le32toh(x) (x) -+# endif -+#else -+# ifndef be64toh -+# define be64toh(x) (x) -+# endif -+# ifndef le64toh -+# define le64toh(x) bswap_64 (x) -+# endif -+# ifndef be32toh -+# define be32toh(x) (x) -+# endif -+# ifndef le32toh -+# define le32toh(x) bswap_32 (x) -+# endif -+#endif - - #include "../libdw/memory-access.h" - -diffelfutils/libdwfl/linux-pid-attach.c git-portable/libdwfl/linux-pid-attach.c ---- elfutils/libdwfl/linux-pid-attach.c -+++ elfutils/libdwfl/linux-pid-attach.c -@@ -255,6 +255,11 @@ void - internal_function - __libdwfl_ptrace_detach (pid_t tid, bool tid_was_stopped) - { -+ // Older kernels (tested kernel-2.6.18-348.12.1.el5.x86_64) need special -+ // handling of the detachment to keep the process State: T (stopped). -+ if (tid_was_stopped) -+ syscall (__NR_tkill, tid, SIGSTOP); -+ - /* This handling is needed only on older Linux kernels such as - 2.6.32-358.23.2.el6.ppc64. Later kernels such as - 3.11.7-200.fc19.x86_64 remember the T (stopped) state -@@ -262,6 +267,15 @@ __libdwfl_ptrace_detach (pid_t tid, bool - PTRACE_DETACH. */ - ptrace (PTRACE_DETACH, tid, NULL, - (void *) (intptr_t) (tid_was_stopped ? SIGSTOP : 0)); -+ -+ if (tid_was_stopped) -+ { -+ // Wait till the SIGSTOP settles down. -+ int i; -+ for (i = 0; i < 100000; i++) -+ if (linux_proc_pid_is_stopped (tid)) -+ break; -+ } - } - - static void -diffelfutils/libdwfl/Makefile.in git-portable/libdwfl/Makefile.in ---- elfutils/libdwfl/Makefile.in -+++ elfutils/libdwfl/Makefile.in -@@ -89,10 +89,11 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING --@ZLIB_TRUE@am__append_2 = gzip.c --@BZLIB_TRUE@am__append_3 = bzip2.c --@LZMA_TRUE@am__append_4 = lzma.c -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING -+@ZLIB_TRUE@am__append_3 = gzip.c -+@BZLIB_TRUE@am__append_4 = bzip2.c -+@LZMA_TRUE@am__append_5 = lzma.c - subdir = libdwfl - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -301,6 +302,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -332,6 +334,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -399,14 +402,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) -@@ -435,8 +438,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en - dwfl_module_register_names.c dwfl_segment_report_module.c \ - link_map.c core-file.c open.c image-header.c dwfl_frame.c \ - frame_unwind.c dwfl_frame_pc.c linux-pid-attach.c \ -- linux-core-attach.c dwfl_frame_regs.c $(am__append_2) \ -- $(am__append_3) $(am__append_4) -+ linux-core-attach.c dwfl_frame_regs.c $(am__append_3) \ -+ $(am__append_4) $(am__append_5) - libdwfl = $(libdw) - libdw = ../libdw/libdw.so - libelf = ../libelf/libelf.so -diffelfutils/libebl/ChangeLog git-portable/libebl/ChangeLog ---- elfutils/libebl/ChangeLog -+++ elfutils/libebl/ChangeLog -@@ -785,6 +785,11 @@ - * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency - tracking works right. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-21 Ulrich Drepper <drepper@redhat.com> - - * libebl_x86_64.map: Add x86_64_core_note. -diffelfutils/libebl/Makefile.in git-portable/libebl/Makefile.in ---- elfutils/libebl/Makefile.in -+++ elfutils/libebl/Makefile.in -@@ -89,7 +89,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - subdir = libebl - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -264,6 +265,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -295,6 +297,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -362,13 +365,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 $(if \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ - $($(*F)_no_Werror),,-Werror) $(if \ -- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ - $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -fpic -+ $($(*F)_CFLAGS) $(am__append_1) -fpic - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(am_libebl_pic_a_OBJECTS) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) -diffelfutils/libelf/ChangeLog git-portable/libelf/ChangeLog ---- elfutils/libelf/ChangeLog -+++ elfutils/libelf/ChangeLog -@@ -412,6 +412,11 @@ - - * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check. - -+2011-03-10 Roland McGrath <roland@redhat.com> -+ -+ * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32 -+ argument, since some implementations are buggy macros. -+ - 2011-02-26 Mark Wielaard <mjw@redhat.com> - - * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini. -@@ -1089,6 +1094,11 @@ - - * elf.h: Update from glibc. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-08 Roland McGrath <roland@redhat.com> - - * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. -diffelfutils/libelf/common.h git-portable/libelf/common.h ---- elfutils/libelf/common.h -+++ elfutils/libelf/common.h -@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf) - (Var) = (sizeof (Var) == 1 \ - ? (unsigned char) (Var) \ - : (sizeof (Var) == 2 \ -- ? bswap_16 (Var) \ -+ ? (unsigned short int) bswap_16 (Var) \ - : (sizeof (Var) == 4 \ - ? bswap_32 (Var) \ - : bswap_64 (Var)))) -@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf) - (Dst) = (sizeof (Var) == 1 \ - ? (unsigned char) (Var) \ - : (sizeof (Var) == 2 \ -- ? bswap_16 (Var) \ -+ ? (unsigned short int) bswap_16 (Var) \ - : (sizeof (Var) == 4 \ - ? bswap_32 (Var) \ - : bswap_64 (Var)))) -diffelfutils/libelf/gnuhash_xlate.h git-portable/libelf/gnuhash_xlate.h ---- elfutils/libelf/gnuhash_xlate.h -+++ elfutils/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 elfutils. - Written by Ulrich Drepper <drepper@redhat.com>, 2006. - -@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void - dest32 = (Elf32_Word *) &dest64[bitmask_words]; - while (len >= 4) - { -- *dest32++ = bswap_32 (*src32++); -+ *dest32 = bswap_32 (*src32); -+ ++dest32; -+ ++src32; - len -= 4; - } - } -diffelfutils/libelf/Makefile.in git-portable/libelf/Makefile.in ---- elfutils/libelf/Makefile.in -+++ elfutils/libelf/Makefile.in -@@ -90,10 +90,11 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING --@BUILD_STATIC_TRUE@am__append_2 = -fpic -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING -+@BUILD_STATIC_TRUE@am__append_3 = -fpic - noinst_PROGRAMS = $(am__EXEEXT_1) --@USE_LOCKS_TRUE@am__append_3 = -lpthread -+@USE_LOCKS_TRUE@am__append_4 = -lpthread - subdir = libelf - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -305,6 +306,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -336,6 +338,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = 1 -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -401,13 +404,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 $(if \ -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ - $($(*F)_no_Werror),,-Werror) $(if \ -- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ - $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) $(am__append_2) -+ $($(*F)_CFLAGS) $(am__append_1) $(am__append_3) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda $(am_libelf_pic_a_OBJECTS) \ - libelf.so.$(VERSION) - textrel_msg = echo "WARNING: TEXTREL found in '$@'" -@@ -470,7 +474,7 @@ libelf_a_SOURCES = elf_version.c elf_has - - libelf_pic_a_SOURCES = - am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) --libelf_so_LDLIBS = $(am__append_3) -+libelf_so_LDLIBS = $(am__append_4) - 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 -diffelfutils/m4/Makefile.in git-portable/m4/Makefile.in ---- elfutils/m4/Makefile.in -+++ elfutils/m4/Makefile.in -@@ -159,6 +159,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -190,6 +191,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -diffelfutils/Makefile.in git-portable/Makefile.in ---- elfutils/Makefile.in -+++ elfutils/Makefile.in -@@ -277,6 +277,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -308,6 +309,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -diffelfutils/src/addr2line.c git-portable/src/addr2line.c ---- elfutils/src/addr2line.c -+++ elfutils/src/addr2line.c -@@ -622,10 +622,10 @@ handle_address (const char *string, Dwfl - bool parsed = false; - int i, j; - char *name = NULL; -- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 -+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 - && string[i] == '\0') - parsed = adjust_to_section (name, &addr, dwfl); -- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) -+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) - { - default: - break; -diffelfutils/src/ar.c git-portable/src/ar.c ---- elfutils/src/ar.c -+++ elfutils/src/ar.c -@@ -685,7 +685,14 @@ do_oper_extract (int oper, const char *a - tv[1].tv_sec = arhdr->ar_date; - tv[1].tv_nsec = 0; - -+#ifdef HAVE_FUTIMENS - if (unlikely (futimens (xfd, tv) != 0)) -+#else -+ struct timeval times[2]; -+ TIMESPEC_TO_TIMEVAL (×[0], &tv[0]); -+ TIMESPEC_TO_TIMEVAL (×[1], &tv[1]); -+ if (unlikely (futimes (xfd, times) != 0)) -+#endif - { - error (0, errno, - gettext ("cannot change modification time of %s"), -diffelfutils/src/ChangeLog git-portable/src/ChangeLog ---- elfutils/src/ChangeLog -+++ elfutils/src/ChangeLog -@@ -1626,8 +1626,16 @@ - * readelf.c (attr_callback): Use print_block only when we don't use - print_ops. - -+2009-08-17 Roland McGrath <roland@redhat.com> -+ -+ * ld.h: Disable extern inlines for GCC 4.2. -+ - 2009-08-14 Roland McGrath <roland@redhat.com> - -+ * strings.c (read_block): Conditionalize posix_fadvise use -+ on [POSIX_FADV_SEQUENTIAL]. -+ From Petr Salinger <Petr.Salinger@seznam.cz>. -+ - * ar.c (do_oper_extract): Use pathconf instead of statfs. - - 2009-08-01 Ulrich Drepper <drepper@redhat.com> -@@ -1791,6 +1799,8 @@ - * readelf.c (print_debug_frame_section): Use t instead of j formats - for ptrdiff_t OFFSET. - -+ * addr2line.c (handle_address): Use %a instead of %m for compatibility. -+ - 2009-01-21 Ulrich Drepper <drepper@redhat.com> - - * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section -@@ -1974,6 +1984,11 @@ - that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really - is valid in RELRO. - -+2008-03-01 Roland McGrath <roland@redhat.com> -+ -+ * readelf.c (dump_archive_index): Tweak portability hack -+ to match [__GNUC__ < 4] too. -+ - 2008-02-29 Roland McGrath <roland@redhat.com> - - * readelf.c (print_attributes): Add a cast. -@@ -2225,6 +2240,8 @@ - - * readelf.c (hex_dump): Fix rounding error in whitespace calculation. - -+ * Makefile.am (readelf_no_Werror): New variable. -+ - 2007-10-15 Roland McGrath <roland@redhat.com> - - * make-debug-archive.in: New file. -@@ -2664,6 +2681,10 @@ - * elflint.c (valid_e_machine): Add EM_ALPHA. - Reported by Christian Aichinger <Greek0@gmx.net>. - -+ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to -+ MADV_SEQUENTIAL if undefined. Don't call posix_madvise -+ if neither is defined. -+ - 2006-08-08 Ulrich Drepper <drepper@redhat.com> - - * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. -@@ -2740,6 +2761,10 @@ - * Makefile.am: Add hacks to create dependency files for non-generic - linker. - -+2006-04-05 Roland McGrath <roland@redhat.com> -+ -+ * strings.c (MAP_POPULATE): Define to 0 if undefined. -+ - 2006-06-12 Ulrich Drepper <drepper@redhat.com> - - * ldgeneric.c (ld_generic_generate_sections): Don't create .interp -@@ -3088,6 +3113,11 @@ - * readelf.c (print_debug_loc_section): Fix indentation for larger - address size. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-30 Roland McGrath <roland@redhat.com> - - * readelf.c (print_debug_line_section): Print section offset of each -diffelfutils/src/findtextrel.c git-portable/src/findtextrel.c ---- elfutils/src/findtextrel.c -+++ elfutils/src/findtextrel.c -@@ -503,7 +503,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) - { -diffelfutils/src/ld.h git-portable/src/ld.h ---- elfutils/src/ld.h -+++ elfutils/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); -+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) - #ifdef __GNUC_STDC_INLINE__ - __attribute__ ((__gnu_inline__)) - #endif -@@ -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 */ -diffelfutils/src/Makefile.am git-portable/src/Makefile.am ---- elfutils/src/Makefile.am -+++ elfutils/src/Makefile.am -@@ -90,6 +90,11 @@ endif - ldgeneric_no_Wunused = yes - ldgeneric_no_Wstack_usage = yes - -+# Buggy old compilers or libc headers. -+readelf_no_Werror = yes -+strings_no_Werror = yes -+addr2line_no_Wformat = yes -+ - # Bad, bad stack usage... - readelf_no_Wstack_usage = yes - nm_no_Wstack_usage = yes -diffelfutils/src/Makefile.in git-portable/src/Makefile.in ---- elfutils/src/Makefile.in -+++ elfutils/src/Makefile.in -@@ -91,7 +91,8 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING - bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \ - strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \ - findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \ -@@ -100,9 +101,9 @@ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEE - @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) - # We never build this library but we need to get the dependency files - # of all the linker backends that might be used in a non-generic linker. --@NEVER_TRUE@am__append_2 = libdummy.a -+@NEVER_TRUE@am__append_3 = libdummy.a - # -ldl is always needed for libebl. --@NATIVE_LD_TRUE@am__append_3 = libld_elf.a -+@NATIVE_LD_TRUE@am__append_4 = libld_elf.a - @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS = - subdir = src - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -@@ -172,7 +173,7 @@ am_ld_OBJECTS = ld.$(OBJEXT) ldgeneric.$ - versionhash.$(OBJEXT) - ld_OBJECTS = $(am_ld_OBJECTS) - ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \ -- $(am__append_3) -+ $(am__append_4) - ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \ - $@ - am_libld_elf_i386_so_OBJECTS = -@@ -361,6 +362,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -392,6 +394,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -460,14 +463,14 @@ AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_sr - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda make-debug-archive none_ld.os \ - $(ld_modules:.c=.os) *.gconv - textrel_msg = echo "WARNING: TEXTREL found in '$@'" -@@ -480,8 +483,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) \ --@NATIVE_LD_FALSE@ $(am__append_2) --@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2) -+@NATIVE_LD_FALSE@ $(am__append_3) -+@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3) - @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 \ -@@ -509,6 +512,11 @@ libeu = ../lib/libeu.a - ldgeneric_no_Wunused = yes - ldgeneric_no_Wstack_usage = yes - -+# Buggy old compilers or libc headers. -+readelf_no_Werror = yes -+strings_no_Werror = yes -+addr2line_no_Wformat = yes -+ - # Bad, bad stack usage... - readelf_no_Wstack_usage = yes - nm_no_Wstack_usage = yes -@@ -528,7 +536,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf) - size_LDADD = $(libelf) $(libeu) $(argp_LDADD) - strip_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl - ld_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ -- $(am__append_3) -+ $(am__append_4) - ld_LDFLAGS = -rdynamic - elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl - findtextrel_LDADD = $(libdw) $(libelf) $(argp_LDADD) -diffelfutils/src/readelf.c git-portable/src/readelf.c ---- elfutils/src/readelf.c -+++ elfutils/src/readelf.c -@@ -4366,10 +4366,12 @@ listptr_base (struct listptr *p) - return base; - } - -+static const char *listptr_name; -+ - static int --compare_listptr (const void *a, const void *b, void *arg) -+compare_listptr (const void *a, const void *b) - { -- const char *name = arg; -+ const char *const name = listptr_name; - struct listptr *p1 = (void *) a; - struct listptr *p2 = (void *) b; - -@@ -4465,8 +4467,11 @@ static void - sort_listptr (struct listptr_table *table, const char *name) - { - if (table->n > 0) -- qsort_r (table->table, table->n, sizeof table->table[0], -- &compare_listptr, (void *) name); -+ { -+ listptr_name = name; -+ qsort (table->table, table->n, sizeof table->table[0], -+ &compare_listptr); -+ } - } - - static bool -@@ -9563,7 +9568,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)) --#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) -+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4 - while (1) - #endif - error (EXIT_FAILURE, 0, -diffelfutils/src/strings.c git-portable/src/strings.c ---- elfutils/src/strings.c -+++ elfutils/src/strings.c -@@ -43,6 +43,10 @@ - - #include <system.h> - -+#ifndef MAP_POPULATE -+# define MAP_POPULATE 0 -+#endif -+ - - /* Prototypes of local functions. */ - static int read_fd (int fd, const char *fname, off64_t fdlen); -@@ -489,8 +493,13 @@ map_file (int fd, off64_t start_off, off - fd, start_off); - if (mem != MAP_FAILED) - { -+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL -+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL -+#endif -+#ifdef POSIX_MADV_SEQUENTIAL - /* We will go through the mapping sequentially. */ - (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL); -+#endif - break; - } - if (errno != EINVAL && errno != ENOMEM) -@@ -581,9 +590,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); - -+#ifdef POSIX_FADV_SEQUENTIAL - if (unlikely (elfmap == MAP_FAILED)) - /* Let the kernel know we are going to read everything in sequence. */ - (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL); -+#endif - } - - if (unlikely (elfmap == MAP_FAILED)) -diffelfutils/src/strip.c git-portable/src/strip.c ---- elfutils/src/strip.c -+++ elfutils/src/strip.c -@@ -2191,7 +2191,14 @@ while computing checksum for debug infor - /* If requested, preserve the timestamp. */ - if (tvp != NULL) - { -+#ifdef HAVE_FUTIMENS - if (futimens (fd, tvp) != 0) -+#else -+ struct timeval times[2]; -+ TIMESPEC_TO_TIMEVAL (×[0], &tvp[0]); -+ TIMESPEC_TO_TIMEVAL (×[1], &tvp[1]); -+ if (futimes (fd, times) != 0) -+#endif - { - error (0, errno, gettext ("\ - cannot set access and modification date of '%s'"), -@@ -2263,7 +2270,14 @@ handle_ar (int fd, Elf *elf, const char - - if (tvp != NULL) - { -+#ifdef HAVE_FUTIMENS - if (unlikely (futimens (fd, tvp) != 0)) -+#else -+ struct timeval times[2]; -+ TIMESPEC_TO_TIMEVAL (×[0], &tvp[0]); -+ TIMESPEC_TO_TIMEVAL (×[1], &tvp[1]); -+ if (unlikely (futimes (fd, times) != 0)) -+#endif - { - error (0, errno, gettext ("\ - cannot set access and modification date of '%s'"), fname); -diffelfutils/tests/backtrace.c git-portable/tests/backtrace.c ---- elfutils/tests/backtrace.c -+++ elfutils/tests/backtrace.c -@@ -36,6 +36,7 @@ - #include <fcntl.h> - #include <string.h> - #include <argp.h> -+#include <sys/syscall.h> - #include ELFUTILS_HEADER(dwfl) - - #ifndef __linux__ -diffelfutils/tests/ChangeLog git-portable/tests/ChangeLog ---- elfutils/tests/ChangeLog -+++ elfutils/tests/ChangeLog -@@ -614,6 +614,13 @@ - - 2013-12-02 Jan Kratochvil <jan.kratochvil@redhat.com> - -+ Handle T-stopped detach for old kernels. -+ * backtrace.c: Include sys/syscall.h. -+ (linux_proc_pid_is_stopped): New function. -+ (ptrace_detach_stopped): Handle old kernels. -+ -+2013-12-02 Jan Kratochvil <jan.kratochvil@redhat.com> -+ - * Makefile.am (check_PROGRAMS): Add backtrace, backtrace-child, - backtrace-data and backtrace-dwarf. - (BUILT_SOURCES, clean-local, backtrace-child-biarch): New. -@@ -1478,6 +1485,8 @@ - - 2008-01-21 Roland McGrath <roland@redhat.com> - -+ * line2addr.c (main): Revert last change. -+ - * testfile45.S.bz2: Add tests for cltq, cqto. - * testfile45.expect.bz2: Adjust. - -@@ -2186,6 +2195,11 @@ - * Makefile.am (TESTS): Add run-elflint-test.sh. - (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. - -+2005-05-31 Roland McGrath <roland@redhat.com> -+ -+ * Makefile.am (WEXTRA): New variable, substituted by configure. -+ (AM_CFLAGS): Use it in place of -Wextra. -+ - 2005-05-24 Ulrich Drepper <drepper@redhat.com> - - * get-files.c (main): Use correct format specifier. -diffelfutils/tests/line2addr.c git-portable/tests/line2addr.c ---- elfutils/tests/line2addr.c -+++ elfutils/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: -diffelfutils/tests/Makefile.am git-portable/tests/Makefile.am ---- elfutils/tests/Makefile.am -+++ elfutils/tests/Makefile.am -@@ -382,6 +382,7 @@ get_lines_LDADD = $(libdw) $(libelf) - get_files_LDADD = $(libdw) $(libelf) - get_aranges_LDADD = $(libdw) $(libelf) - allfcts_LDADD = $(libdw) $(libelf) -+line2addr_no_Wformat = yes - line2addr_LDADD = $(libdw) $(argp_LDADD) - addrscopes_LDADD = $(libdw) $(argp_LDADD) - funcscopes_LDADD = $(libdw) $(argp_LDADD) -diffelfutils/tests/Makefile.in git-portable/tests/Makefile.in ---- elfutils/tests/Makefile.in -+++ elfutils/tests/Makefile.in -@@ -87,14 +87,15 @@ PRE_UNINSTALL = : - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@SYMBOL_VERSIONING_TRUE@am__append_1 = -DSYMBOL_VERSIONING --@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \ -+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) -+@SYMBOL_VERSIONING_TRUE@am__append_2 = -DSYMBOL_VERSIONING -+@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \ - @STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl -I$(top_srcdir)/libdwelf \ - @STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \ - @STANDALONE_FALSE@ -I$(top_srcdir)/lib -I.. - --@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf --@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) - check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \ - newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \ - sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \ -@@ -123,7 +124,7 @@ check_PROGRAMS = arextract$(EXEEXT) arsy - aggregate_size$(EXEEXT) vdsosyms$(EXEEXT) getsrc_die$(EXEEXT) \ - strptr$(EXEEXT) newdata$(EXEEXT) elfstrtab$(EXEEXT) \ - $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_4) --@BIARCH_TRUE@am__append_5 = backtrace-child-biarch -+@BIARCH_TRUE@am__append_6 = backtrace-child-biarch - TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \ - test-nlist$(EXEEXT) update1$(EXEEXT) update2$(EXEEXT) \ - update3$(EXEEXT) update4$(EXEEXT) run-show-die-info.sh \ -@@ -173,14 +174,14 @@ TESTS = run-arextract.sh run-arsymtest.s - run-allfcts-multi.sh run-deleted.sh run-linkmap-cut.sh \ - run-aggregate-size.sh vdsosyms$(EXEEXT) run-readelf-A.sh \ - run-getsrc-die.sh run-strptr.sh newdata$(EXEEXT) \ -- elfstrtab$(EXEEXT) $(am__EXEEXT_2) $(am__append_8) \ -- $(am__append_9) $(am__EXEEXT_4) --@STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test -+ elfstrtab$(EXEEXT) $(am__EXEEXT_2) $(am__append_9) \ -+ $(am__append_10) $(am__EXEEXT_4) - @STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test --@LZMA_TRUE@am__append_8 = run-readelf-s.sh run-dwflsyms.sh --@ZLIB_TRUE@am__append_9 = run-readelf-zdebug.sh --@HAVE_LIBASM_TRUE@am__append_10 = $(asm_TESTS) -+@STANDALONE_FALSE@am__append_8 = msg_tst md5-sha1-test -+@LZMA_TRUE@am__append_9 = run-readelf-s.sh run-dwflsyms.sh -+@ZLIB_TRUE@am__append_10 = run-readelf-zdebug.sh - @HAVE_LIBASM_TRUE@am__append_11 = $(asm_TESTS) -+@HAVE_LIBASM_TRUE@am__append_12 = $(asm_TESTS) - subdir = tests - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/biarch.m4 \ -@@ -830,6 +831,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ -+LD_AS_NEEDED = @LD_AS_NEEDED@ - LEX = @LEX@ - LEXLIB = @LEXLIB@ - LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -@@ -861,6 +863,7 @@ SHELL = @SHELL@ - STRIP = @STRIP@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -+WEXTRA = @WEXTRA@ - XGETTEXT = @XGETTEXT@ - XGETTEXT_015 = @XGETTEXT_015@ - XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -@@ -921,26 +924,26 @@ top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - zip_LIBS = @zip_LIBS@ --AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2) -+AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3) - @ADD_STACK_USAGE_WARNING_FALSE@STACK_USAGE_WARNING = - - # Warn about stack usage of more than 256K = 262144 bytes. - @ADD_STACK_USAGE_WARNING_TRUE@STACK_USAGE_WARNING = -Wstack-usage=262144 --AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ -- $(if $($(*F)_no_Werror),,-Werror) \ -- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ -- $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -- $($(*F)_CFLAGS) -- -+AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ -+ $($(*F)_no_Werror),,-Werror) $(if \ -+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ -+ $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $(if \ -+ $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ -+ $($(*F)_CFLAGS) $(am__append_1) - COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) --DEFS.os = -DPIC -DSHARED $(am__append_1) -+DEFS.os = -DPIC -DSHARED $(am__append_2) - CLEANFILES = *.gcno *.gcda - textrel_msg = echo "WARNING: TEXTREL found in '$@'" - @FATAL_TEXTREL_FALSE@textrel_found = $(textrel_msg) - @FATAL_TEXTREL_TRUE@textrel_found = $(textrel_msg); exit 1 - textrel_check = if $(READELF) -d $@ | fgrep -q TEXTREL; then $(textrel_found); fi - BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf --AM_LDFLAGS = $(am__append_3) $(am__append_4) -+AM_LDFLAGS = $(am__append_4) $(am__append_5) - @TESTS_RPATH_FALSE@tests_rpath = no - @TESTS_RPATH_TRUE@tests_rpath = yes - asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \ -@@ -1167,6 +1170,7 @@ get_lines_LDADD = $(libdw) $(libelf) - get_files_LDADD = $(libdw) $(libelf) - get_aranges_LDADD = $(libdw) $(libelf) - allfcts_LDADD = $(libdw) $(libelf) -+line2addr_no_Wformat = yes - line2addr_LDADD = $(libdw) $(argp_LDADD) - addrscopes_LDADD = $(libdw) $(argp_LDADD) - funcscopes_LDADD = $(libdw) $(argp_LDADD) diff --git a/source/l/elfutils/elfutils.SlackBuild b/source/l/elfutils/elfutils.SlackBuild index d7853d06..82d3e8e5 100755 --- a/source/l/elfutils/elfutils.SlackBuild +++ b/source/l/elfutils/elfutils.SlackBuild @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright 2010, 2011, 2014, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2010, 2011, 2014, 2015, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,10 +20,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) PKGNAM=elfutils VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -35,6 +36,14 @@ if [ -z "$ARCH" ]; then esac fi +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + NUMJOBS=${NUMJOBS:-" -j7 "} if [ "$ARCH" = "i586" ]; then @@ -51,7 +60,6 @@ else LIBDIRSUFFIX="" fi -CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -63,9 +71,6 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION -zcat $CWD/elfutils-0.163-unstrip-shf_info_link.patch | patch -p1 --verbose || exit 1 -zcat $CWD/elfutils-portability-0.163.patch | patch -p1 --verbose || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -82,7 +87,7 @@ CFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --infodir=/usr/info \ --program-prefix=eu- \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 # Build: make $NUMJOBS || make || exit 1 @@ -90,6 +95,16 @@ make $NUMJOBS || make || exit 1 # Install: make install DESTDIR=$PKG || exit 1 +# Move the shared library to $PKG/lib${LIBDIRSUFFIX}: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*-*.so ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + # Strip binaries: ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null diff --git a/source/l/elfutils/slack-desc b/source/l/elfutils/slack-desc index ad242d72..7a7a3628 100644 --- a/source/l/elfutils/slack-desc +++ b/source/l/elfutils/slack-desc @@ -1,8 +1,8 @@ # HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line +# The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| @@ -14,6 +14,6 @@ elfutils: (for listing the section sizes of an object or archive file), elfutils: strip (for discarding symbols), readelf (to see the raw ELF file elfutils: structures), and elflint (to check for well-formed ELF files). elfutils: -elfutils: Project home: http://fedorahosted.org/releases/e/l/elfutils/ +elfutils: Project home: ftp://sourceware.org/pub/elfutils/ elfutils: elfutils: |