forked from pool/elfutils
Accepting request 68667 from home:namtrac:branches:Base:System
- Update to 0.152 - Upstream changelog: 0.152 - Various build and warning nits fixed for newest GCC and Autoconf. - libdwfl: Yet another prelink-related fix for another regression. Look for Linux kernel images in files named with compression suffixes. - elfcmp: New flag --ignore-build-id to ignore differing build ID bits. New flag -l/--verbose to print all differences. 0.151 - libdwfl: Fix for more prelink cases with separate debug file. - strip: New flag --strip-sections to remove section headers entirely. 0.150 - libdw: Fix for handling huge .debug_aranges section. - libdwfl: Fix for handling prelinked DSO with separate debug file. - findtextrel: Fix diagnostics to work with usual section ordering. - libebl: i386 backend fix for multi-register integer return value location. OBS-URL: https://build.opensuse.org/request/show/68667 OBS-URL: https://build.opensuse.org/package/show/Base:System/elfutils?expand=0&rev=22
This commit is contained in:
parent
17c96bbe2e
commit
48a457cc25
16
README-BEFORE-ADDING-PATCHES
Normal file
16
README-BEFORE-ADDING-PATCHES
Normal file
@ -0,0 +1,16 @@
|
||||
All patches need to have a patch description header similar to what is used in
|
||||
SuSE kernel git tree.
|
||||
|
||||
Patches added without this will be reverted.
|
||||
|
||||
From: Name <email>
|
||||
Subject: Summary of fix
|
||||
Date: date
|
||||
References: bnc#xxxxxx (bugzilla reference)
|
||||
Upstream: upstream revision or a description of why it is not upstream
|
||||
Signed-Off-by: Name <email> (same as From: if committer is patch author)
|
||||
|
||||
Short paragraph describing problem/fix.
|
||||
|
||||
References to upstream repo/commit-id if applicable.
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8aebfa4a745db21cf5429c9541fe482729b62efc7e53e9110151b4169fe887da
|
||||
size 1811640
|
3
elfutils-0.152.tar.bz2
Normal file
3
elfutils-0.152.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:78798715adba95528cdf3fce33eca813131ee75b9109693d313b72f67d7fb4a6
|
||||
size 1876711
|
@ -1,7 +1,7 @@
|
||||
From: Tony Jones <tonyj@suse.de>
|
||||
From: Ismail Doenmez <idoenmez@suse.de>
|
||||
Subject: Elfutils portability patch
|
||||
Version: 0.148
|
||||
References: https://fedorahosted.org/releases/e/l/elfutils/0.148/elfutils-portability.patch
|
||||
Version: 0.152
|
||||
References: https://fedorahosted.org/releases/e/l/elfutils/0.152/elfutils-portability.patch
|
||||
Upstream: yes
|
||||
|
||||
This patch contains portability fixes that are regarded as generally useful
|
||||
@ -11,12 +11,13 @@ therefore not in the git repository).
|
||||
Following change is removed from the patch (as Factory is built using
|
||||
GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
|
||||
+ * addr2line.c (handle_address): Use %a instead of %m for compatibility.
|
||||
+
|
||||
* addr2line.c (handle_address): Use %a instead of %m for compatibility.
|
||||
|
||||
|
||||
|
||||
--- elfutils/backends/ChangeLog
|
||||
+++ elfutils/backends/ChangeLog
|
||||
@@ -106,6 +106,10 @@
|
||||
@@ -111,6 +111,10 @@
|
||||
* ppc_attrs.c (ppc_check_object_attribute): Handle tag
|
||||
GNU_Power_ABI_Struct_Return.
|
||||
|
||||
@ -27,7 +28,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2008-10-04 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
|
||||
@@ -433,6 +437,11 @@
|
||||
@@ -438,6 +442,11 @@
|
||||
* sparc_init.c: Likewise.
|
||||
* x86_64_init.c: Likewise.
|
||||
|
||||
@ -39,7 +40,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2005-11-19 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* ppc64_reloc.def: REL30 -> ADDR30.
|
||||
@@ -455,6 +464,9 @@
|
||||
@@ -460,6 +469,9 @@
|
||||
* Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
|
||||
(CLEANFILES): Add libebl_$(m).so.
|
||||
|
||||
@ -98,7 +99,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
libebl_i386.so: $(cpu_i386)
|
||||
--- elfutils/ChangeLog
|
||||
+++ elfutils/ChangeLog
|
||||
@@ -2,6 +2,10 @@
|
||||
@@ -13,6 +13,10 @@
|
||||
|
||||
* configure.ac (LOCALEDIR, DATADIRNAME): Removed.
|
||||
|
||||
@ -109,7 +110,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2009-09-21 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* configure.ac: Update for more modern autoconf.
|
||||
@@ -10,6 +14,10 @@
|
||||
@@ -21,6 +25,10 @@
|
||||
|
||||
* configure.ac (zip_LIBS): Check for liblzma too.
|
||||
|
||||
@ -120,7 +121,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2009-04-19 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* configure.ac (eu_version): Round down here, not in version.h macros.
|
||||
@@ -21,6 +29,8 @@
|
||||
@@ -32,6 +40,8 @@
|
||||
|
||||
2009-01-23 Roland McGrath <roland@redhat.com>
|
||||
|
||||
@ -129,7 +130,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
|
||||
|
||||
* configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
|
||||
@@ -101,6 +111,10 @@
|
||||
@@ -112,6 +122,10 @@
|
||||
* configure.ac: Add dummy automake conditional to get dependencies
|
||||
for non-generic linker right. See src/Makefile.am.
|
||||
|
||||
@ -140,7 +141,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2005-11-18 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
|
||||
@@ -148,6 +162,17 @@
|
||||
@@ -159,6 +173,17 @@
|
||||
* Makefile.am (all_SUBDIRS): Add libdwfl.
|
||||
* configure.ac: Write libdwfl/Makefile.
|
||||
|
||||
@ -224,8 +225,8 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
LEXLIB
|
||||
LEX_OUTPUT_ROOT
|
||||
LEX
|
||||
@@ -3852,6 +3854,130 @@ if test "x$ac_cv_c99" != xyes; then :
|
||||
as_fn_error "gcc with C99 support required" "$LINENO" 5
|
||||
@@ -3856,6 +3858,130 @@ if test "x$ac_cv_c99" != xyes; then :
|
||||
as_fn_error $? "gcc with C99 support required" "$LINENO" 5
|
||||
fi
|
||||
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5
|
||||
@ -355,13 +356,13 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
|
||||
$as_echo_n "checking for __thread support... " >&6; }
|
||||
if test "${ac_cv_tls+set}" = set; then :
|
||||
@@ -3888,7 +4014,13 @@ fi
|
||||
@@ -3892,7 +4018,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
|
||||
- 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
|
||||
+ as_fn_error $? "--enable-thread-safety requires __thread support" "$LINENO" 5
|
||||
+else
|
||||
+
|
||||
+$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h
|
||||
@ -370,16 +371,16 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
fi
|
||||
|
||||
# Check whether --enable-largefile was given.
|
||||
@@ -4874,7 +5006,7 @@ ac_config_files="$ac_config_files versio
|
||||
@@ -4878,7 +5010,7 @@ ac_config_files="$ac_config_files versio
|
||||
|
||||
# 1.234<whatever> -> 1234<whatever>
|
||||
case "$PACKAGE_VERSION" in
|
||||
-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
|
||||
+[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
|
||||
*) as_fn_error "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
|
||||
*) as_fn_error $? "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
|
||||
esac
|
||||
case "$eu_version" in
|
||||
@@ -4903,7 +5035,7 @@ case "$eu_version" in
|
||||
@@ -4907,7 +5039,7 @@ case "$eu_version" in
|
||||
esac
|
||||
|
||||
# Round up to the next release API (x.y) version.
|
||||
@ -390,7 +391,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
# This file is a shell script that caches the results of configure
|
||||
--- elfutils/configure.ac
|
||||
+++ elfutils/configure.ac
|
||||
@@ -73,6 +73,54 @@ CFLAGS="$old_CFLAGS"])
|
||||
@@ -70,6 +70,54 @@ CFLAGS="$old_CFLAGS"])
|
||||
AS_IF([test "x$ac_cv_c99" != xyes],
|
||||
AC_MSG_ERROR([gcc with C99 support required]))
|
||||
|
||||
@ -445,7 +446,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
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.
|
||||
@@ -88,7 +136,10 @@ static __thread int a; int foo (int b) {
|
||||
@@ -85,7 +133,10 @@ static __thread int a; int foo (int b) {
|
||||
CFLAGS="$save_CFLAGS"
|
||||
LDFLAGS="$save_LDFLAGS"])
|
||||
AS_IF([test "x$ac_cv_tls" != xyes],
|
||||
@ -457,7 +458,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
|
||||
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
|
||||
@@ -251,7 +302,7 @@ AC_SUBST([eu_version])
|
||||
@@ -248,7 +299,7 @@ AC_SUBST([eu_version])
|
||||
|
||||
# 1.234<whatever> -> 1234<whatever>
|
||||
case "$PACKAGE_VERSION" in
|
||||
@ -466,7 +467,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;;
|
||||
esac
|
||||
case "$eu_version" in
|
||||
@@ -280,6 +331,6 @@ case "$eu_version" in
|
||||
@@ -277,6 +328,6 @@ case "$eu_version" in
|
||||
esac
|
||||
|
||||
# Round up to the next release API (x.y) version.
|
||||
@ -547,7 +548,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libasm/ChangeLog
|
||||
+++ elfutils/libasm/ChangeLog
|
||||
@@ -67,6 +67,11 @@
|
||||
@@ -71,6 +71,11 @@
|
||||
* asm_error.c: Add new error ASM_E_IOERROR.
|
||||
* libasmP.h: Add ASM_E_IOERROR definition.
|
||||
|
||||
@ -588,7 +589,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libcpu/ChangeLog
|
||||
+++ elfutils/libcpu/ChangeLog
|
||||
@@ -9,6 +9,9 @@
|
||||
@@ -15,6 +15,9 @@
|
||||
|
||||
2009-01-23 Roland McGrath <roland@redhat.com>
|
||||
|
||||
@ -598,7 +599,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* Makefile.am (i386_parse_CFLAGS): Use quotes around command
|
||||
substitution that can produce leading whitespace.
|
||||
|
||||
@@ -338,6 +341,11 @@
|
||||
@@ -344,6 +347,11 @@
|
||||
* defs/i386.doc: New file.
|
||||
* defs/x86_64: New file.
|
||||
|
||||
@ -649,7 +650,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libdw/ChangeLog
|
||||
+++ elfutils/libdw/ChangeLog
|
||||
@@ -276,6 +276,10 @@
|
||||
@@ -308,6 +308,10 @@
|
||||
|
||||
* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
|
||||
|
||||
@ -660,7 +661,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2009-08-10 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* dwarf_getscopevar.c: Use dwarf_diename.
|
||||
@@ -1044,6 +1048,11 @@
|
||||
@@ -1076,6 +1080,11 @@
|
||||
|
||||
2005-05-31 Roland McGrath <roland@redhat.com>
|
||||
|
||||
@ -674,7 +675,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
|
||||
--- elfutils/libdw/libdw.h
|
||||
+++ elfutils/libdw/libdw.h
|
||||
@@ -842,7 +842,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
|
||||
@@ -852,7 +852,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
|
||||
|
||||
|
||||
/* Inline optimizations. */
|
||||
@ -685,7 +686,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
dwarf_whatattr (Dwarf_Attribute *attr)
|
||||
--- elfutils/libdw/Makefile.in
|
||||
+++ elfutils/libdw/Makefile.in
|
||||
@@ -191,6 +191,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
@@ -192,6 +192,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
@ -693,7 +694,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
@@ -220,6 +221,7 @@ SHELL = @SHELL@
|
||||
@@ -221,6 +222,7 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = 1
|
||||
@ -701,7 +702,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XGETTEXT_015 = @XGETTEXT_015@
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
@@ -282,7 +284,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
|
||||
@@ -283,7 +285,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
|
||||
-I$(srcdir)/../libelf
|
||||
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
|
||||
$($(*F)_no_Werror),,-Werror) $(if \
|
||||
@ -712,7 +713,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libdwfl/ChangeLog
|
||||
+++ elfutils/libdwfl/ChangeLog
|
||||
@@ -1265,6 +1265,11 @@
|
||||
@@ -1366,6 +1366,11 @@
|
||||
|
||||
2005-07-21 Roland McGrath <roland@redhat.com>
|
||||
|
||||
@ -726,7 +727,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* test2.c (main): Check sscanf result to quiet warning.
|
||||
--- elfutils/libdwfl/Makefile.in
|
||||
+++ elfutils/libdwfl/Makefile.in
|
||||
@@ -181,6 +181,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
@@ -182,6 +182,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
@ -734,7 +735,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
LEX = @LEX@
|
||||
LEXLIB = @LEXLIB@
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
@@ -210,6 +211,7 @@ SHELL = @SHELL@
|
||||
@@ -211,6 +212,7 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
USE_NLS = @USE_NLS@
|
||||
VERSION = 1
|
||||
@ -742,7 +743,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XGETTEXT_015 = @XGETTEXT_015@
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
@@ -273,7 +275,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
|
||||
@@ -274,7 +276,7 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
|
||||
-I$(srcdir)/../libdw
|
||||
AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
|
||||
$($(*F)_no_Werror),,-Werror) $(if \
|
||||
@ -753,7 +754,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libebl/ChangeLog
|
||||
+++ elfutils/libebl/ChangeLog
|
||||
@@ -624,6 +624,11 @@
|
||||
@@ -628,6 +628,11 @@
|
||||
* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
|
||||
tracking works right.
|
||||
|
||||
@ -794,7 +795,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
@MUDFLAP_FALSE@libmudflap =
|
||||
--- elfutils/libelf/ChangeLog
|
||||
+++ elfutils/libelf/ChangeLog
|
||||
@@ -657,6 +657,11 @@
|
||||
@@ -671,6 +671,11 @@
|
||||
|
||||
* elf.h: Update from glibc.
|
||||
|
||||
@ -891,7 +892,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
--- elfutils/src/ChangeLog
|
||||
+++ elfutils/src/ChangeLog
|
||||
@@ -165,8 +165,16 @@
|
||||
@@ -260,8 +260,16 @@
|
||||
* readelf.c (attr_callback): Use print_block only when we don't use
|
||||
print_ops.
|
||||
|
||||
@ -908,7 +909,16 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* ar.c (do_oper_extract): Use pathconf instead of statfs.
|
||||
|
||||
2009-08-01 Ulrich Drepper <drepper@redhat.com>
|
||||
@@ -513,6 +523,11 @@
|
||||
@@ -425,6 +433,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
|
||||
@@ -608,6 +618,11 @@
|
||||
that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
|
||||
is valid in RELRO.
|
||||
|
||||
@ -920,7 +930,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2008-02-29 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* readelf.c (print_attributes): Add a cast.
|
||||
@@ -764,6 +779,8 @@
|
||||
@@ -859,6 +874,8 @@
|
||||
|
||||
* readelf.c (hex_dump): Fix rounding error in whitespace calculation.
|
||||
|
||||
@ -929,7 +939,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2007-10-15 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* make-debug-archive.in: New file.
|
||||
@@ -1203,6 +1220,10 @@
|
||||
@@ -1298,6 +1315,10 @@
|
||||
* elflint.c (valid_e_machine): Add EM_ALPHA.
|
||||
Reported by Christian Aichinger <Greek0@gmx.net>.
|
||||
|
||||
@ -940,7 +950,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2006-08-08 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
|
||||
@@ -1279,6 +1300,10 @@
|
||||
@@ -1374,6 +1395,10 @@
|
||||
* Makefile.am: Add hacks to create dependency files for non-generic
|
||||
linker.
|
||||
|
||||
@ -951,7 +961,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
2006-06-12 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
|
||||
@@ -1627,6 +1652,11 @@
|
||||
@@ -1722,6 +1747,11 @@
|
||||
* readelf.c (print_debug_loc_section): Fix indentation for larger
|
||||
address size.
|
||||
|
||||
@ -965,7 +975,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* readelf.c (print_debug_line_section): Print section offset of each
|
||||
--- elfutils/src/findtextrel.c
|
||||
+++ elfutils/src/findtextrel.c
|
||||
@@ -490,7 +490,11 @@ ptrcompare (const void *p1, const void *
|
||||
@@ -504,7 +504,11 @@ ptrcompare (const void *p1, const void *
|
||||
|
||||
|
||||
static void
|
||||
@ -1046,7 +1056,35 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
size_LDADD = $(libelf) $(libeu) $(libmudflap)
|
||||
--- elfutils/src/readelf.c
|
||||
+++ elfutils/src/readelf.c
|
||||
@@ -7845,7 +7845,7 @@ dump_archive_index (Elf *elf, const char
|
||||
@@ -4274,10 +4274,11 @@ struct listptr
|
||||
#define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4)
|
||||
#define listptr_address_size(p) ((p)->addr64 ? 8 : 4)
|
||||
|
||||
+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;
|
||||
|
||||
@@ -4357,8 +4358,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
|
||||
@@ -8098,7 +8102,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))
|
||||
@ -1082,7 +1120,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
break;
|
||||
}
|
||||
if (errno != EINVAL && errno != ENOMEM)
|
||||
@@ -586,9 +595,11 @@ read_block (int fd, const char *fname, o
|
||||
@@ -584,9 +593,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);
|
||||
|
||||
@ -1109,7 +1147,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
|
||||
/* Name and version of program. */
|
||||
static void print_version (FILE *stream, struct argp_state *state);
|
||||
@@ -301,8 +307,18 @@ process_file (const char *fname)
|
||||
@@ -311,8 +317,18 @@ process_file (const char *fname)
|
||||
|
||||
/* If we have to preserve the timestamp, we need it in the
|
||||
format utimes() understands. */
|
||||
@ -1128,7 +1166,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
}
|
||||
|
||||
/* Open the file. */
|
||||
@@ -1747,7 +1763,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1809,7 +1825,7 @@ while computing checksum for debug infor
|
||||
/* If requested, preserve the timestamp. */
|
||||
if (tvp != NULL)
|
||||
{
|
||||
@ -1137,7 +1175,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
{
|
||||
error (0, errno, gettext ("\
|
||||
cannot set access and modification date of '%s'"),
|
||||
@@ -1804,7 +1820,7 @@ handle_ar (int fd, Elf *elf, const char
|
||||
@@ -1866,7 +1882,7 @@ handle_ar (int fd, Elf *elf, const char
|
||||
|
||||
if (tvp != NULL)
|
||||
{
|
||||
@ -1148,7 +1186,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
cannot set access and modification date of '%s'"), fname);
|
||||
--- elfutils/tests/ChangeLog
|
||||
+++ elfutils/tests/ChangeLog
|
||||
@@ -154,6 +154,8 @@
|
||||
@@ -205,6 +205,8 @@
|
||||
|
||||
2008-01-21 Roland McGrath <roland@redhat.com>
|
||||
|
||||
@ -1157,7 +1195,7 @@ GNU_SOURCE and thus %a is interpreted as having a float param):
|
||||
* testfile45.S.bz2: Add tests for cltq, cqto.
|
||||
* testfile45.expect.bz2: Adjust.
|
||||
|
||||
@@ -862,6 +864,11 @@
|
||||
@@ -913,6 +915,11 @@
|
||||
* Makefile.am (TESTS): Add run-elflint-test.sh.
|
||||
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
|
||||
|
||||
|
@ -1,16 +1,6 @@
|
||||
From: Tony Jones <tonyj@suse.de>
|
||||
Subject: Elfutils robustify patch
|
||||
Version: 0.148
|
||||
References: https://fedorahosted.org/releases/e/l/elfutils/0.148/elfutils-robustify.patch
|
||||
Upstream: yes
|
||||
|
||||
This patch contains functional/stability fixes that are regarded as generally
|
||||
useful by the community but are not accepted by the elfutils maintainer (and
|
||||
are therefore not in the git repository).
|
||||
|
||||
--- elfutils/libelf/ChangeLog
|
||||
+++ elfutils/libelf/ChangeLog
|
||||
@@ -649,10 +649,53 @@
|
||||
@@ -663,10 +663,53 @@
|
||||
If section content hasn't been read yet, do it before looking for the
|
||||
block size. If no section data present, infer size of section header.
|
||||
|
||||
@ -875,7 +865,7 @@ are therefore not in the git repository).
|
||||
#endif /* libelfP.h */
|
||||
--- elfutils/src/ChangeLog
|
||||
+++ elfutils/src/ChangeLog
|
||||
@@ -1615,6 +1615,16 @@
|
||||
@@ -1710,6 +1710,16 @@
|
||||
object symbols or symbols with unknown type.
|
||||
(check_rel): Likewise.
|
||||
|
||||
@ -892,7 +882,7 @@ are therefore not in the git repository).
|
||||
2005-06-08 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* readelf.c (print_ops): Add consts.
|
||||
@@ -1660,6 +1670,19 @@
|
||||
@@ -1755,6 +1765,19 @@
|
||||
|
||||
* readelf.c (dwarf_tag_string): Add new tags.
|
||||
|
||||
@ -987,7 +977,7 @@ are therefore not in the git repository).
|
||||
}
|
||||
|
||||
if (sym->st_shndx == SHN_XINDEX)
|
||||
@@ -1038,9 +1048,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
@@ -1039,9 +1049,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
{
|
||||
GElf_Shdr rcshdr_mem;
|
||||
const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
|
||||
@ -1001,7 +991,7 @@ are therefore not in the git repository).
|
||||
{
|
||||
/* Found the dynamic section. Look through it. */
|
||||
Elf_Data *d = elf_getdata (scn, NULL);
|
||||
@@ -1050,7 +1062,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
@@ -1051,7 +1063,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
{
|
||||
GElf_Dyn dyn_mem;
|
||||
GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
|
||||
@ -1012,7 +1002,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (dyn->d_tag == DT_RELCOUNT)
|
||||
{
|
||||
@@ -1064,7 +1078,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
||||
@@ -1065,7 +1079,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
||||
/* Does the number specified number of relative
|
||||
relocations exceed the total number of
|
||||
relocations? */
|
||||
@ -1023,7 +1013,7 @@ are therefore not in the git repository).
|
||||
ERROR (gettext ("\
|
||||
section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
|
||||
idx, section_name (ebl, idx),
|
||||
@@ -1224,7 +1240,8 @@ section [%2d] '%s': no relocations for m
|
||||
@@ -1225,7 +1241,8 @@ section [%2d] '%s': no relocations for m
|
||||
}
|
||||
}
|
||||
|
||||
@ -1033,7 +1023,7 @@ are therefore not in the git repository).
|
||||
ERROR (gettext (reltype == ELF_T_RELA ? "\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
|
||||
@@ -1447,7 +1464,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
||||
@@ -1448,7 +1465,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||
enum load_state state = state_undecided;
|
||||
|
||||
@ -1043,7 +1033,7 @@ are therefore not in the git repository).
|
||||
{
|
||||
GElf_Rela rela_mem;
|
||||
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
|
||||
@@ -1497,7 +1515,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
||||
@@ -1498,7 +1516,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||
enum load_state state = state_undecided;
|
||||
|
||||
@ -1053,7 +1043,7 @@ are therefore not in the git repository).
|
||||
{
|
||||
GElf_Rel rel_mem;
|
||||
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
|
||||
@@ -1600,7 +1619,8 @@ section [%2d] '%s': referenced as string
|
||||
@@ -1597,7 +1616,8 @@ section [%2d] '%s': referenced as string
|
||||
shdr->sh_link, section_name (ebl, shdr->sh_link),
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
@ -1063,7 +1053,7 @@ are therefore not in the git repository).
|
||||
ERROR (gettext ("\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
|
||||
idx, section_name (ebl, idx));
|
||||
@@ -1610,7 +1630,7 @@ section [%2d] '%s': section entry size d
|
||||
@@ -1607,7 +1627,7 @@ section [%2d] '%s': section entry size d
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
bool non_null_warned = false;
|
||||
@ -1072,7 +1062,7 @@ are therefore not in the git repository).
|
||||
{
|
||||
GElf_Dyn dyn_mem;
|
||||
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
|
||||
@@ -1891,6 +1911,8 @@ section [%2d] '%s': entry size does not
|
||||
@@ -1879,6 +1899,8 @@ section [%2d] '%s': entry size does not
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
if (symshdr != NULL
|
||||
@ -1081,7 +1071,7 @@ are therefore not in the git repository).
|
||||
&& (shdr->sh_size / shdr->sh_entsize
|
||||
< symshdr->sh_size / symshdr->sh_entsize))
|
||||
ERROR (gettext ("\
|
||||
@@ -1917,6 +1939,12 @@ section [%2d] '%s': extended section ind
|
||||
@@ -1905,6 +1927,12 @@ section [%2d] '%s': extended section ind
|
||||
}
|
||||
|
||||
Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
|
||||
@ -1094,7 +1084,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (*((Elf32_Word *) data->d_buf) != 0)
|
||||
ERROR (gettext ("symbol 0 should have zero extended section index\n"));
|
||||
@@ -1959,7 +1987,7 @@ section [%2d] '%s': hash table section i
|
||||
@@ -1947,7 +1975,7 @@ section [%2d] '%s': hash table section i
|
||||
|
||||
size_t maxidx = nchain;
|
||||
|
||||
@ -1103,7 +1093,7 @@ are therefore not in the git repository).
|
||||
{
|
||||
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
||||
|
||||
@@ -1970,18 +1998,28 @@ section [%2d] '%s': hash table section i
|
||||
@@ -1958,18 +1986,28 @@ section [%2d] '%s': hash table section i
|
||||
maxidx = symsize;
|
||||
}
|
||||
|
||||
@ -1134,7 +1124,7 @@ are therefore not in the git repository).
|
||||
}
|
||||
|
||||
|
||||
@@ -2011,18 +2049,28 @@ section [%2d] '%s': hash table section i
|
||||
@@ -1999,18 +2037,28 @@ section [%2d] '%s': hash table section i
|
||||
maxidx = symsize;
|
||||
}
|
||||
|
||||
@ -1166,7 +1156,7 @@ are therefore not in the git repository).
|
||||
}
|
||||
|
||||
|
||||
@@ -2047,7 +2095,7 @@ section [%2d] '%s': bitmask size not pow
|
||||
@@ -2035,7 +2083,7 @@ section [%2d] '%s': bitmask size not pow
|
||||
if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
|
||||
{
|
||||
ERROR (gettext ("\
|
||||
@ -1175,7 +1165,7 @@ are therefore not in the git repository).
|
||||
idx, section_name (ebl, idx), (long int) shdr->sh_size,
|
||||
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
|
||||
return;
|
||||
@@ -2719,8 +2767,9 @@ section [%2d] '%s' refers in sh_link to
|
||||
@@ -2707,8 +2755,9 @@ section [%2d] '%s' refers in sh_link to
|
||||
|
||||
/* The number of elements in the version symbol table must be the
|
||||
same as the number of symbols. */
|
||||
@ -1189,7 +1179,7 @@ are therefore not in the git repository).
|
||||
idx, section_name (ebl, idx),
|
||||
--- elfutils/src/readelf.c
|
||||
+++ elfutils/src/readelf.c
|
||||
@@ -1172,6 +1172,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1178,6 +1178,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
|
||||
|
||||
GElf_Sym sym_mem;
|
||||
@ -1198,7 +1188,7 @@ are therefore not in the git repository).
|
||||
printf ((grpref[0] & GRP_COMDAT)
|
||||
? ngettext ("\
|
||||
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
|
||||
@@ -1184,8 +1186,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1190,8 +1192,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
data->d_size / sizeof (Elf32_Word) - 1),
|
||||
elf_ndxscn (scn),
|
||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
||||
@ -1209,7 +1199,7 @@ are therefore not in the git repository).
|
||||
?: gettext ("<INVALID SYMBOL>"),
|
||||
data->d_size / sizeof (Elf32_Word) - 1);
|
||||
|
||||
@@ -1336,7 +1338,8 @@ static void
|
||||
@@ -1342,7 +1344,8 @@ static void
|
||||
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||
{
|
||||
int class = gelf_getclass (ebl->elf);
|
||||
@ -1219,7 +1209,7 @@ are therefore not in the git repository).
|
||||
Elf_Data *data;
|
||||
size_t cnt;
|
||||
size_t shstrndx;
|
||||
@@ -1351,6 +1354,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -1357,6 +1360,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@ -1231,7 +1221,7 @@ are therefore not in the git repository).
|
||||
printf (ngettext ("\
|
||||
\nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -1360,9 +1368,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -1366,9 +1374,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(int) shdr->sh_link,
|
||||
@ -1242,7 +1232,7 @@ are therefore not in the git repository).
|
||||
fputs_unlocked (gettext (" Type Value\n"), stdout);
|
||||
|
||||
for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
|
||||
@@ -1945,6 +1951,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1951,6 +1957,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@ -1256,7 +1246,7 @@ are therefore not in the git repository).
|
||||
/* Now we can compute the number of entries in the section. */
|
||||
unsigned int nsyms = data->d_size / (class == ELFCLASS32
|
||||
? sizeof (Elf32_Sym)
|
||||
@@ -1955,15 +1968,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1961,15 +1974,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
nsyms),
|
||||
(unsigned int) elf_ndxscn (scn),
|
||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
|
||||
@ -1273,7 +1263,7 @@ are therefore not in the git repository).
|
||||
|
||||
fputs_unlocked (class == ELFCLASS32
|
||||
? gettext ("\
|
||||
@@ -2199,7 +2209,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2205,7 +2215,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@ -1288,7 +1278,7 @@ are therefore not in the git repository).
|
||||
printf (ngettext ("\
|
||||
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2210,9 +2226,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2216,9 +2232,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@ -1299,7 +1289,7 @@ are therefore not in the git repository).
|
||||
|
||||
unsigned int offset = 0;
|
||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||
@@ -2265,8 +2279,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2271,8 +2285,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@ -1315,7 +1305,7 @@ are therefore not in the git repository).
|
||||
printf (ngettext ("\
|
||||
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2278,9 +2298,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2284,9 +2304,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@ -1326,7 +1316,7 @@ are therefore not in the git repository).
|
||||
|
||||
unsigned int offset = 0;
|
||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||
@@ -2542,8 +2560,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2548,8 +2566,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
filename = NULL;
|
||||
}
|
||||
|
||||
@ -1342,7 +1332,7 @@ are therefore not in the git repository).
|
||||
printf (ngettext ("\
|
||||
\nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
|
||||
"\
|
||||
@@ -2555,9 +2579,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2561,9 +2585,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@ -1353,7 +1343,7 @@ are therefore not in the git repository).
|
||||
|
||||
/* Now we can finally look at the actual contents of this section. */
|
||||
for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
|
||||
@@ -2609,7 +2631,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2615,7 +2637,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
|
||||
++counts[lengths[cnt]];
|
||||
|
||||
@ -1372,7 +1362,7 @@ are therefore not in the git repository).
|
||||
printf (ngettext ("\
|
||||
\nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2622,9 +2654,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2628,9 +2660,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@ -1383,7 +1373,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (extrastr != NULL)
|
||||
fputs (extrastr, stdout);
|
||||
@@ -4312,6 +4342,16 @@ print_debug_aranges_section (Dwfl_Module
|
||||
@@ -4486,6 +4516,16 @@ print_debug_aranges_section (Dwfl_Module
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1402,7 +1392,7 @@ are therefore not in the git repository).
|
||||
"\
|
||||
--- elfutils/src/strip.c
|
||||
+++ elfutils/src/strip.c
|
||||
@@ -545,6 +545,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -555,6 +555,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
goto fail_close;
|
||||
}
|
||||
|
||||
@ -1414,7 +1404,7 @@ are therefore not in the git repository).
|
||||
/* Storage for section information. We leave room for two more
|
||||
entries since we unconditionally create a section header string
|
||||
table. Maybe some weird tool created an ELF file without one.
|
||||
@@ -566,7 +571,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -576,7 +581,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
/* This should always be true (i.e., there should not be any
|
||||
holes in the numbering). */
|
||||
@ -1423,7 +1413,7 @@ are therefore not in the git repository).
|
||||
|
||||
shdr_info[cnt].scn = scn;
|
||||
|
||||
@@ -579,6 +584,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -589,6 +594,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
shdr_info[cnt].shdr.sh_name);
|
||||
if (shdr_info[cnt].name == NULL)
|
||||
{
|
||||
@ -1431,7 +1421,7 @@ are therefore not in the git repository).
|
||||
error (0, 0, gettext ("illformed file '%s'"), fname);
|
||||
goto fail_close;
|
||||
}
|
||||
@@ -588,6 +594,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -598,6 +604,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
|
||||
/* Remember the shdr.sh_link value. */
|
||||
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
|
||||
@ -1440,7 +1430,7 @@ are therefore not in the git repository).
|
||||
|
||||
/* Sections in files other than relocatable object files which
|
||||
are not loaded can be freely moved by us. In relocatable
|
||||
@@ -600,7 +608,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -610,7 +618,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
appropriate reference. */
|
||||
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
|
||||
{
|
||||
@ -1449,7 +1439,7 @@ are therefore not in the git repository).
|
||||
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
|
||||
}
|
||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
|
||||
@@ -617,7 +625,12 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -627,7 +635,12 @@ handle_elf (int fd, Elf *elf, const char
|
||||
for (inner = 1;
|
||||
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
|
||||
++inner)
|
||||
@ -1462,7 +1452,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
|
||||
/* If the section group contains only one element and this
|
||||
@@ -628,7 +641,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -638,7 +651,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
}
|
||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
|
||||
{
|
||||
@ -1471,7 +1461,7 @@ are therefore not in the git repository).
|
||||
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
|
||||
}
|
||||
|
||||
@@ -636,7 +649,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -646,7 +659,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
discarded right away. */
|
||||
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
|
||||
{
|
||||
@ -1480,7 +1470,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
|
||||
{
|
||||
@@ -711,11 +724,15 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -722,11 +735,15 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
/* If a relocation section is marked as being removed make
|
||||
sure the section it is relocating is removed, too. */
|
||||
@ -1498,7 +1488,7 @@ are therefore not in the git repository).
|
||||
|
||||
if (shdr_info[cnt].idx == 1)
|
||||
{
|
||||
@@ -742,7 +759,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -753,7 +770,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
if (shdr_info[cnt].symtab_idx != 0
|
||||
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
|
||||
{
|
||||
@ -1507,7 +1497,7 @@ are therefore not in the git repository).
|
||||
|
||||
shdr_info[shdr_info[cnt].symtab_idx].data
|
||||
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||
@@ -782,6 +799,9 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -793,6 +810,9 @@ handle_elf (int fd, Elf *elf, const char
|
||||
else if (scnidx == SHN_XINDEX)
|
||||
scnidx = xndx;
|
||||
|
||||
@ -1517,7 +1507,7 @@ are therefore not in the git repository).
|
||||
if (shdr_info[scnidx].idx == 0)
|
||||
/* This symbol table has a real symbol in
|
||||
a discarded section. So preserve the
|
||||
@@ -812,12 +832,16 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -823,12 +843,16 @@ handle_elf (int fd, Elf *elf, const char
|
||||
}
|
||||
|
||||
/* Handle references through sh_info. */
|
||||
@ -1536,7 +1526,7 @@ are therefore not in the git repository).
|
||||
|
||||
/* Mark the section as investigated. */
|
||||
shdr_info[cnt].idx = 2;
|
||||
@@ -956,7 +980,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -967,7 +991,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
|
||||
elf_errmsg (-1));
|
||||
|
||||
@ -1545,7 +1535,7 @@ are therefore not in the git repository).
|
||||
|
||||
/* Add this name to the section header string table. */
|
||||
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
|
||||
@@ -993,7 +1017,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1004,7 +1028,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("while create section header section: %s"),
|
||||
elf_errmsg (-1));
|
||||
@ -1554,7 +1544,7 @@ are therefore not in the git repository).
|
||||
|
||||
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
|
||||
if (shdr_info[cnt].data == NULL)
|
||||
@@ -1049,7 +1073,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1060,7 +1084,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("while create section header section: %s"),
|
||||
elf_errmsg (-1));
|
||||
@ -1563,7 +1553,7 @@ are therefore not in the git repository).
|
||||
|
||||
/* Finalize the string table and fill in the correct indices in the
|
||||
section headers. */
|
||||
@@ -1139,20 +1163,20 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1150,20 +1174,20 @@ handle_elf (int fd, Elf *elf, const char
|
||||
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||
NULL);
|
||||
|
||||
@ -1587,7 +1577,7 @@ are therefore not in the git repository).
|
||||
>= shdr_info[cnt].data->d_size / elsize);
|
||||
}
|
||||
|
||||
@@ -1207,7 +1231,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1218,7 +1242,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
sec = shdr_info[sym->st_shndx].idx;
|
||||
else
|
||||
{
|
||||
@ -1596,7 +1586,7 @@ are therefore not in the git repository).
|
||||
|
||||
sec = shdr_info[xshndx].idx;
|
||||
}
|
||||
@@ -1228,7 +1252,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1239,7 +1263,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
nxshndx = sec;
|
||||
}
|
||||
|
||||
@ -1605,7 +1595,7 @@ are therefore not in the git repository).
|
||||
|
||||
if ((inner != destidx || nshndx != sym->st_shndx
|
||||
|| (shndxdata != NULL && nxshndx != xshndx))
|
||||
@@ -1252,7 +1276,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1263,7 +1287,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
|| shdr_info[cnt].debug_data == NULL)
|
||||
/* This is a section symbol for a section which has
|
||||
been removed. */
|
||||
@ -1614,7 +1604,7 @@ are therefore not in the git repository).
|
||||
}
|
||||
|
||||
if (destidx != inner)
|
||||
@@ -1439,11 +1463,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1450,11 +1474,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
GElf_Sym sym_mem;
|
||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||
@ -1628,7 +1618,7 @@ are therefore not in the git repository).
|
||||
size_t hidx = elf_hash (name) % nbucket;
|
||||
|
||||
if (bucket[hidx] == 0)
|
||||
@@ -1462,7 +1486,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1473,7 +1497,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
else
|
||||
{
|
||||
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
|
||||
@ -1637,7 +1627,7 @@ are therefore not in the git repository).
|
||||
== sizeof (Elf64_Xword));
|
||||
|
||||
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
|
||||
@@ -1493,11 +1517,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1504,11 +1528,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
GElf_Sym sym_mem;
|
||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||
|
@ -1,3 +1,44 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 28 11:12:54 UTC 2011 - idoenmez@novell.com
|
||||
|
||||
- Update to 0.152
|
||||
- Upstream changelog:
|
||||
0.152
|
||||
- Various build and warning nits fixed for newest GCC and Autoconf.
|
||||
- libdwfl: Yet another prelink-related fix for another regression.
|
||||
Look for Linux kernel images in files named with compression suffixes.
|
||||
- elfcmp: New flag --ignore-build-id to ignore differing build ID bits.
|
||||
New flag -l/--verbose to print all differences.
|
||||
|
||||
0.151
|
||||
- libdwfl: Fix for more prelink cases with separate debug file.
|
||||
- strip: New flag --strip-sections to remove section headers entirely.
|
||||
|
||||
0.150
|
||||
- libdw: Fix for handling huge .debug_aranges section.
|
||||
- libdwfl: Fix for handling prelinked DSO with separate debug file.
|
||||
- findtextrel: Fix diagnostics to work with usual section ordering.
|
||||
- libebl: i386 backend fix for multi-register integer return value location.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 18 00:00:44 UTC 2010 - tonyj@novell.com
|
||||
|
||||
- Update to 0.149
|
||||
- Upstream changelog
|
||||
- libdwfl: Fix Linux kernel module search when dwfl_build_id_find_elf and
|
||||
dwfl_build_id_find_debuginfo close fd on success
|
||||
- readelf: Use symbolic printing for FDE initial_location address
|
||||
- readelf: Print .debug_loc/.debug_ranges with cognizance of actual DIE
|
||||
pointers into them.
|
||||
- readelf: Fix crash in .debug_loc with garbage data.
|
||||
- readelf: Fix DW_OP_call_ref printing for version 2 CUs.
|
||||
- Handle DW_OP_GNU_implicit_pointer.
|
||||
- Add dwfl_dwarf_line, addr2line -F to print out more line info bits.
|
||||
- Add missing size entries for ELF_T_LIB and ELF_T_GNUHASH.
|
||||
- Fix dwarf_formref_die DW_FORM_ref_sig8 hash table insertion.
|
||||
- Consider .gdb_index as a debugging section
|
||||
- Misc intendation, typo, translation and cleanup fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 13 11:32:58 UTC 2010 - coolo@novell.com
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package elfutils (Version 0.148)
|
||||
# spec file for package elfutils (Version 0.149)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -20,12 +20,13 @@
|
||||
|
||||
Name: elfutils
|
||||
License: GPLv2 ; GPLv2+ ; LGPLv2.1+
|
||||
Version: 0.148
|
||||
Release: 2
|
||||
Version: 0.152
|
||||
Release: 1
|
||||
Summary: Higher-level library to access ELF
|
||||
Group: System/Libraries
|
||||
Url: http://elfutils.fedorahosted.org
|
||||
Source: elfutils-%{version}.tar.bz2
|
||||
Source1: README-BEFORE-ADDING-PATCHES
|
||||
Source2: baselibs.conf
|
||||
Patch1: elfutils-portability.patch
|
||||
Patch2: elfutils-robustify.patch
|
||||
|
Loading…
Reference in New Issue
Block a user