New upstream version 0.130
This commit is contained in:
parent
12dd209c34
commit
2dfc22c77b
@ -1,29 +0,0 @@
|
|||||||
2007-08-20 Roland McGrath <roland@redhat.com>
|
|
||||||
|
|
||||||
* ppc_symbol.c (ppc_check_special_symbol): For _GLOBAL_OFFSET_TABLE_
|
|
||||||
when DT_PPC_GOT is not found, anywhere in the section is valid.
|
|
||||||
|
|
||||||
--- backends/ppc_symbol.c 20b22bb299c460c0e41145b39d6908f0f6e69948
|
|
||||||
+++ backends/ppc_symbol.c 1b3c198586c4cdb6a1200b00378358fa8a26a47a
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
/* PPC specific symbolic name handling.
|
|
||||||
- Copyright (C) 2004, 2005 Red Hat, Inc.
|
|
||||||
+ Copyright (C) 2004, 2005, 2007 Red Hat, Inc.
|
|
||||||
This file is part of Red Hat elfutils.
|
|
||||||
Written by Ulrich Drepper <drepper@redhat.com>, 2004.
|
|
||||||
|
|
||||||
@@ -122,10 +122,13 @@ ppc_check_special_symbol (Elf *elf, GElf
|
|
||||||
|
|
||||||
if (strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
|
|
||||||
{
|
|
||||||
+ /* In -msecure-plt mode, DT_PPC_GOT is present and must match. */
|
|
||||||
GElf_Addr gotaddr;
|
|
||||||
if (find_dyn_got (elf, ehdr, &gotaddr))
|
|
||||||
return sym->st_value == gotaddr;
|
|
||||||
- return sym->st_value == destshdr->sh_addr + 4;
|
|
||||||
+
|
|
||||||
+ /* In -mbss-plt mode, any place in the section is valid. */
|
|
||||||
+ return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *sname = elf_strptr (elf, ehdr->e_shstrndx, destshdr->sh_name);
|
|
@ -1,6 +1,6 @@
|
|||||||
--- elfutils/backends/ChangeLog
|
--- elfutils/backends/ChangeLog
|
||||||
+++ elfutils/backends/ChangeLog
|
+++ elfutils/backends/ChangeLog
|
||||||
@@ -157,6 +157,11 @@
|
@@ -229,6 +229,11 @@
|
||||||
* sparc_init.c: Likewise.
|
* sparc_init.c: Likewise.
|
||||||
* x86_64_init.c: Likewise.
|
* x86_64_init.c: Likewise.
|
||||||
|
|
||||||
@ -12,7 +12,7 @@
|
|||||||
2005-11-19 Roland McGrath <roland@redhat.com>
|
2005-11-19 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* ppc64_reloc.def: REL30 -> ADDR30.
|
* ppc64_reloc.def: REL30 -> ADDR30.
|
||||||
@@ -179,6 +184,9 @@
|
@@ -251,6 +256,9 @@
|
||||||
* Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
|
* Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
|
||||||
(CLEANFILES): Add libebl_$(m).so.
|
(CLEANFILES): Add libebl_$(m).so.
|
||||||
|
|
||||||
@ -51,7 +51,7 @@
|
|||||||
libebl_%.map: Makefile
|
libebl_%.map: Makefile
|
||||||
--- elfutils/backends/Makefile.in
|
--- elfutils/backends/Makefile.in
|
||||||
+++ elfutils/backends/Makefile.in
|
+++ elfutils/backends/Makefile.in
|
||||||
@@ -147,6 +147,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -152,6 +152,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
@ -59,7 +59,7 @@
|
|||||||
LEX = @LEX@
|
LEX = @LEX@
|
||||||
LEXLIB = @LEXLIB@
|
LEXLIB = @LEXLIB@
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
@@ -176,6 +177,7 @@ SHELL = @SHELL@
|
@@ -181,6 +182,7 @@ SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
@ -67,7 +67,7 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
YACC = @YACC@
|
YACC = @YACC@
|
||||||
@@ -231,9 +233,9 @@ target_alias = @target_alias@
|
@@ -236,9 +238,9 @@ target_alias = @target_alias@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
@MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
|
@MUDFLAP_FALSE@AM_CFLAGS = -fpic -Wall -Wshadow -Werror -Wunused \
|
||||||
@ -79,7 +79,7 @@
|
|||||||
INCLUDES = -I$(srcdir) -I$(top_srcdir)/libebl \
|
INCLUDES = -I$(srcdir) -I$(top_srcdir)/libebl \
|
||||||
-I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
|
-I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
|
||||||
-I$(top_srcdir)/lib -I..
|
-I$(top_srcdir)/lib -I..
|
||||||
@@ -605,7 +607,7 @@ uninstall-am:
|
@@ -626,7 +628,7 @@ uninstall-am:
|
||||||
libebl_%.so: libebl_%_pic.a libebl_%.map $(libelf) $(libdw)
|
libebl_%.so: libebl_%_pic.a libebl_%.map $(libelf) $(libdw)
|
||||||
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
|
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
|
||||||
-Wl,--version-script,$(word 2,$^) \
|
-Wl,--version-script,$(word 2,$^) \
|
||||||
@ -479,7 +479,7 @@
|
|||||||
libcpu_i386_a_SOURCES = i386_dis.c
|
libcpu_i386_a_SOURCES = i386_dis.c
|
||||||
--- elfutils/libdw/ChangeLog
|
--- elfutils/libdw/ChangeLog
|
||||||
+++ elfutils/libdw/ChangeLog
|
+++ elfutils/libdw/ChangeLog
|
||||||
@@ -386,6 +386,11 @@
|
@@ -406,6 +406,11 @@
|
||||||
|
|
||||||
2005-05-31 Roland McGrath <roland@redhat.com>
|
2005-05-31 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
@ -543,7 +543,7 @@
|
|||||||
$(COMPILE)))
|
$(COMPILE)))
|
||||||
--- elfutils/libdwfl/ChangeLog
|
--- elfutils/libdwfl/ChangeLog
|
||||||
+++ elfutils/libdwfl/ChangeLog
|
+++ elfutils/libdwfl/ChangeLog
|
||||||
@@ -531,6 +531,11 @@
|
@@ -647,6 +647,11 @@
|
||||||
|
|
||||||
2005-07-21 Roland McGrath <roland@redhat.com>
|
2005-07-21 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
@ -574,7 +574,7 @@
|
|||||||
VERSION = 1
|
VERSION = 1
|
||||||
--- elfutils/libdwfl/Makefile.in
|
--- elfutils/libdwfl/Makefile.in
|
||||||
+++ elfutils/libdwfl/Makefile.in
|
+++ elfutils/libdwfl/Makefile.in
|
||||||
@@ -124,6 +124,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -128,6 +128,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
@ -582,7 +582,7 @@
|
|||||||
LEX = @LEX@
|
LEX = @LEX@
|
||||||
LEXLIB = @LEXLIB@
|
LEXLIB = @LEXLIB@
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
@@ -153,6 +154,7 @@ SHELL = @SHELL@
|
@@ -157,6 +158,7 @@ SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
@ -590,7 +590,7 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
YACC = @YACC@
|
YACC = @YACC@
|
||||||
@@ -208,9 +210,9 @@ target_alias = @target_alias@
|
@@ -212,9 +214,9 @@ target_alias = @target_alias@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wshadow -Wunused -Wformat=2 \
|
@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Werror -Wshadow -Wunused -Wformat=2 \
|
||||||
@ -604,7 +604,7 @@
|
|||||||
|
|
||||||
--- elfutils/libebl/ChangeLog
|
--- elfutils/libebl/ChangeLog
|
||||||
+++ elfutils/libebl/ChangeLog
|
+++ elfutils/libebl/ChangeLog
|
||||||
@@ -476,6 +476,11 @@
|
@@ -501,6 +501,11 @@
|
||||||
* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
|
* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
|
||||||
tracking works right.
|
tracking works right.
|
||||||
|
|
||||||
@ -665,7 +665,7 @@
|
|||||||
|
|
||||||
--- elfutils/libelf/ChangeLog
|
--- elfutils/libelf/ChangeLog
|
||||||
+++ elfutils/libelf/ChangeLog
|
+++ elfutils/libelf/ChangeLog
|
||||||
@@ -234,6 +234,11 @@
|
@@ -295,6 +295,11 @@
|
||||||
If section content hasn't been read yet, do it before looking for the
|
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.
|
block size. If no section data present, infer size of section header.
|
||||||
|
|
||||||
@ -730,7 +730,7 @@
|
|||||||
@MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
|
@MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
|
||||||
@MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
|
@MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
|
||||||
subdir = libelf
|
subdir = libelf
|
||||||
@@ -167,6 +167,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -168,6 +168,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
@ -738,7 +738,7 @@
|
|||||||
LEX = @LEX@
|
LEX = @LEX@
|
||||||
LEXLIB = @LEXLIB@
|
LEXLIB = @LEXLIB@
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
@@ -196,6 +197,7 @@ SHELL = @SHELL@
|
@@ -197,6 +198,7 @@ SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
@ -746,7 +746,7 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
YACC = @YACC@
|
YACC = @YACC@
|
||||||
@@ -251,10 +253,10 @@ target_alias = @target_alias@
|
@@ -252,10 +254,10 @@ target_alias = @target_alias@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
@MUDFLAP_FALSE@AM_CFLAGS = $(am__append_1) -Wall -Wshadow -Werror \
|
@MUDFLAP_FALSE@AM_CFLAGS = $(am__append_1) -Wall -Wshadow -Werror \
|
||||||
@ -797,7 +797,15 @@
|
|||||||
YACC = @YACC@
|
YACC = @YACC@
|
||||||
--- elfutils/src/ChangeLog
|
--- elfutils/src/ChangeLog
|
||||||
+++ elfutils/src/ChangeLog
|
+++ elfutils/src/ChangeLog
|
||||||
@@ -220,6 +220,10 @@
|
@@ -1,3 +1,7 @@
|
||||||
|
+2007-10-16 Roland McGrath <roland@redhat.com>
|
||||||
|
+
|
||||||
|
+ * Makefile.am (readelf_no_Werror): New variable.
|
||||||
|
+
|
||||||
|
2007-10-15 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* make-debug-archive.in: New file.
|
||||||
|
@@ -437,6 +441,10 @@
|
||||||
* elflint.c (valid_e_machine): Add EM_ALPHA.
|
* elflint.c (valid_e_machine): Add EM_ALPHA.
|
||||||
Reported by Christian Aichinger <Greek0@gmx.net>.
|
Reported by Christian Aichinger <Greek0@gmx.net>.
|
||||||
|
|
||||||
@ -808,7 +816,7 @@
|
|||||||
2006-08-08 Ulrich Drepper <drepper@redhat.com>
|
2006-08-08 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
|
* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
|
||||||
@@ -296,6 +300,10 @@
|
@@ -513,6 +521,10 @@
|
||||||
* Makefile.am: Add hacks to create dependency files for non-generic
|
* Makefile.am: Add hacks to create dependency files for non-generic
|
||||||
linker.
|
linker.
|
||||||
|
|
||||||
@ -819,7 +827,7 @@
|
|||||||
2006-06-12 Ulrich Drepper <drepper@redhat.com>
|
2006-06-12 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
|
* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
|
||||||
@@ -644,6 +652,11 @@
|
@@ -861,6 +873,11 @@
|
||||||
* readelf.c (print_debug_loc_section): Fix indentation for larger
|
* readelf.c (print_debug_loc_section): Fix indentation for larger
|
||||||
address size.
|
address size.
|
||||||
|
|
||||||
@ -865,9 +873,19 @@
|
|||||||
$(if $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
|
$(if $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
|
||||||
|
|
||||||
INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
|
INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
|
||||||
|
@@ -108,6 +109,9 @@ strings_no_Wformat = yes
|
||||||
|
# XXX While the file is not finished, don't warn about this
|
||||||
|
ldgeneric_no_Wunused = yes
|
||||||
|
|
||||||
|
+# Buggy old compilers.
|
||||||
|
+readelf_no_Werror = yes
|
||||||
|
+
|
||||||
|
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||||
|
nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||||
|
size_LDADD = $(libelf) $(libeu) $(libmudflap)
|
||||||
--- elfutils/src/Makefile.in
|
--- elfutils/src/Makefile.in
|
||||||
+++ elfutils/src/Makefile.in
|
+++ elfutils/src/Makefile.in
|
||||||
@@ -197,6 +197,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -200,6 +200,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
@ -875,7 +893,7 @@
|
|||||||
LEX = @LEX@
|
LEX = @LEX@
|
||||||
LEXLIB = @LEXLIB@
|
LEXLIB = @LEXLIB@
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
@@ -226,6 +227,7 @@ SHELL = @SHELL@
|
@@ -229,6 +230,7 @@ SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
@ -883,7 +901,7 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
YACC = @YACC@ -d
|
YACC = @YACC@ -d
|
||||||
@@ -283,13 +285,13 @@ top_srcdir = @top_srcdir@
|
@@ -286,13 +288,13 @@ top_srcdir = @top_srcdir@
|
||||||
@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -std=gnu99 \
|
@MUDFLAP_FALSE@AM_CFLAGS = -Wall -Wshadow -std=gnu99 \
|
||||||
@MUDFLAP_FALSE@ $(native_ld_cflags) $(if \
|
@MUDFLAP_FALSE@ $(native_ld_cflags) $(if \
|
||||||
@MUDFLAP_FALSE@ $($(*F)_no_Werror),,-Werror) $(if \
|
@MUDFLAP_FALSE@ $($(*F)_no_Werror),,-Werror) $(if \
|
||||||
@ -899,6 +917,16 @@
|
|||||||
@MUDFLAP_TRUE@ $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
|
@MUDFLAP_TRUE@ $($(*F)_no_Wformat),,-Wformat=2) $(CFLAGS_$(*F))
|
||||||
INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
|
INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
|
||||||
-I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
|
-I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
|
||||||
|
@@ -334,6 +336,9 @@ size_no_Wformat = yes
|
||||||
|
strings_no_Wformat = yes
|
||||||
|
# XXX While the file is not finished, don't warn about this
|
||||||
|
ldgeneric_no_Wunused = yes
|
||||||
|
+
|
||||||
|
+# Buggy old compilers.
|
||||||
|
+readelf_no_Werror = yes
|
||||||
|
readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||||
|
nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||||
|
size_LDADD = $(libelf) $(libeu) $(libmudflap)
|
||||||
--- elfutils/src/strings.c
|
--- elfutils/src/strings.c
|
||||||
+++ elfutils/src/strings.c
|
+++ elfutils/src/strings.c
|
||||||
@@ -51,6 +51,10 @@
|
@@ -51,6 +51,10 @@
|
||||||
@ -980,7 +1008,7 @@
|
|||||||
cannot set access and modification date of '%s'"), fname);
|
cannot set access and modification date of '%s'"), fname);
|
||||||
--- elfutils/tests/ChangeLog
|
--- elfutils/tests/ChangeLog
|
||||||
+++ elfutils/tests/ChangeLog
|
+++ elfutils/tests/ChangeLog
|
||||||
@@ -549,6 +549,11 @@
|
@@ -585,6 +585,11 @@
|
||||||
* Makefile.am (TESTS): Add run-elflint-test.sh.
|
* Makefile.am (TESTS): Add run-elflint-test.sh.
|
||||||
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
|
(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
|
||||||
|
|
||||||
@ -1012,7 +1040,7 @@
|
|||||||
endif
|
endif
|
||||||
--- elfutils/tests/Makefile.in
|
--- elfutils/tests/Makefile.in
|
||||||
+++ elfutils/tests/Makefile.in
|
+++ elfutils/tests/Makefile.in
|
||||||
@@ -322,6 +322,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
@@ -323,6 +323,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
LDFLAGS = @LDFLAGS@
|
LDFLAGS = @LDFLAGS@
|
||||||
@ -1020,7 +1048,7 @@
|
|||||||
LEX = @LEX@
|
LEX = @LEX@
|
||||||
LEXLIB = @LEXLIB@
|
LEXLIB = @LEXLIB@
|
||||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||||
@@ -351,6 +352,7 @@ SHELL = @SHELL@
|
@@ -352,6 +353,7 @@ SHELL = @SHELL@
|
||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
@ -1028,7 +1056,7 @@
|
|||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
YACC = @YACC@
|
YACC = @YACC@
|
||||||
@@ -405,10 +407,10 @@ sysconfdir = @sysconfdir@
|
@@ -406,10 +408,10 @@ sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
|
@ -65,9 +65,9 @@ src/
|
|||||||
(check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
|
(check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
|
||||||
check_symtab_shndx, check_hash, check_versym): Robustify.
|
check_symtab_shndx, check_hash, check_versym): Robustify.
|
||||||
|
|
||||||
--- elfutils-0.127/src/readelf.c.robustify
|
--- elfutils-0.130/src/readelf.c.robustify
|
||||||
+++ elfutils-0.127/src/readelf.c
|
+++ elfutils-0.130/src/readelf.c
|
||||||
@@ -958,6 +958,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
@@ -1053,6 +1053,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||||
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
|
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
|
||||||
|
|
||||||
GElf_Sym sym_mem;
|
GElf_Sym sym_mem;
|
||||||
@ -76,7 +76,7 @@ src/
|
|||||||
printf ((grpref[0] & GRP_COMDAT)
|
printf ((grpref[0] & GRP_COMDAT)
|
||||||
? ngettext ("\
|
? ngettext ("\
|
||||||
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
|
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
|
||||||
@@ -970,8 +972,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
@@ -1065,8 +1067,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||||
data->d_size / sizeof (Elf32_Word) - 1),
|
data->d_size / sizeof (Elf32_Word) - 1),
|
||||||
elf_ndxscn (scn),
|
elf_ndxscn (scn),
|
||||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
||||||
@ -87,7 +87,7 @@ src/
|
|||||||
?: gettext ("<INVALID SYMBOL>"),
|
?: gettext ("<INVALID SYMBOL>"),
|
||||||
data->d_size / sizeof (Elf32_Word) - 1);
|
data->d_size / sizeof (Elf32_Word) - 1);
|
||||||
|
|
||||||
@@ -1122,7 +1124,8 @@ static void
|
@@ -1217,7 +1219,8 @@ static void
|
||||||
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
|
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||||
{
|
{
|
||||||
int class = gelf_getclass (ebl->elf);
|
int class = gelf_getclass (ebl->elf);
|
||||||
@ -97,7 +97,7 @@ src/
|
|||||||
Elf_Data *data;
|
Elf_Data *data;
|
||||||
size_t cnt;
|
size_t cnt;
|
||||||
size_t shstrndx;
|
size_t shstrndx;
|
||||||
@@ -1137,6 +1140,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
@@ -1232,6 +1235,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("cannot get section header string table index"));
|
gettext ("cannot get section header string table index"));
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ src/
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
\nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||||
"\
|
"\
|
||||||
@@ -1146,9 +1154,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
@@ -1241,9 +1249,7 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||||
shdr->sh_offset,
|
shdr->sh_offset,
|
||||||
(int) shdr->sh_link,
|
(int) shdr->sh_link,
|
||||||
@ -120,7 +120,7 @@ src/
|
|||||||
fputs_unlocked (gettext (" Type Value\n"), stdout);
|
fputs_unlocked (gettext (" Type Value\n"), stdout);
|
||||||
|
|
||||||
for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
|
for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
|
||||||
@@ -1666,6 +1672,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
@@ -1761,6 +1767,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("cannot get section header string table index"));
|
gettext ("cannot get section header string table index"));
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ src/
|
|||||||
/* Now we can compute the number of entries in the section. */
|
/* Now we can compute the number of entries in the section. */
|
||||||
unsigned int nsyms = data->d_size / (class == ELFCLASS32
|
unsigned int nsyms = data->d_size / (class == ELFCLASS32
|
||||||
? sizeof (Elf32_Sym)
|
? sizeof (Elf32_Sym)
|
||||||
@@ -1676,15 +1689,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
@@ -1771,15 +1784,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||||
nsyms),
|
nsyms),
|
||||||
(unsigned int) elf_ndxscn (scn),
|
(unsigned int) elf_ndxscn (scn),
|
||||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
|
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
|
||||||
@ -151,7 +151,7 @@ src/
|
|||||||
|
|
||||||
fputs_unlocked (class == ELFCLASS32
|
fputs_unlocked (class == ELFCLASS32
|
||||||
? gettext ("\
|
? gettext ("\
|
||||||
@@ -1920,7 +1930,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
@@ -2015,7 +2025,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("cannot get section header string table index"));
|
gettext ("cannot get section header string table index"));
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ src/
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||||
"\
|
"\
|
||||||
@@ -1931,9 +1947,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
@@ -2026,9 +2042,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||||
shdr->sh_offset,
|
shdr->sh_offset,
|
||||||
(unsigned int) shdr->sh_link,
|
(unsigned int) shdr->sh_link,
|
||||||
@ -177,7 +177,7 @@ src/
|
|||||||
|
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||||
@@ -1986,8 +2000,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2081,8 +2095,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("cannot get section header string table index"));
|
gettext ("cannot get section header string table index"));
|
||||||
|
|
||||||
@ -193,7 +193,7 @@ src/
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||||
"\
|
"\
|
||||||
@@ -1999,9 +2019,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2094,9 +2114,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||||
shdr->sh_offset,
|
shdr->sh_offset,
|
||||||
(unsigned int) shdr->sh_link,
|
(unsigned int) shdr->sh_link,
|
||||||
@ -204,7 +204,7 @@ src/
|
|||||||
|
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||||
@@ -2263,8 +2281,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2358,8 +2376,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||||
filename = NULL;
|
filename = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,7 +220,7 @@ src/
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
|
\nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
|
||||||
"\
|
"\
|
||||||
@@ -2276,9 +2300,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2371,9 +2395,7 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||||
shdr->sh_offset,
|
shdr->sh_offset,
|
||||||
(unsigned int) shdr->sh_link,
|
(unsigned int) shdr->sh_link,
|
||||||
@ -231,7 +231,7 @@ src/
|
|||||||
|
|
||||||
/* Now we can finally look at the actual contents of this section. */
|
/* 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)
|
for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
|
||||||
@@ -2330,7 +2352,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
@@ -2425,7 +2447,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||||
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
|
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
|
||||||
++counts[lengths[cnt]];
|
++counts[lengths[cnt]];
|
||||||
|
|
||||||
@ -250,7 +250,7 @@ src/
|
|||||||
printf (ngettext ("\
|
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",
|
\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",
|
||||||
"\
|
"\
|
||||||
@@ -2343,9 +2375,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
@@ -2438,9 +2470,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||||
shdr->sh_addr,
|
shdr->sh_addr,
|
||||||
shdr->sh_offset,
|
shdr->sh_offset,
|
||||||
(unsigned int) shdr->sh_link,
|
(unsigned int) shdr->sh_link,
|
||||||
@ -261,7 +261,7 @@ src/
|
|||||||
|
|
||||||
if (extrastr != NULL)
|
if (extrastr != NULL)
|
||||||
fputs (extrastr, stdout);
|
fputs (extrastr, stdout);
|
||||||
@@ -3655,6 +3685,16 @@ print_debug_aranges_section (Ebl *ebl __
|
@@ -3834,6 +3864,16 @@ print_debug_aranges_section (Dwfl_Module
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -546,9 +546,9 @@ src/
|
|||||||
size_t hidx = elf_hash (name) % nbucket;
|
size_t hidx = elf_hash (name) % nbucket;
|
||||||
|
|
||||||
if (bucket[hidx] == 0)
|
if (bucket[hidx] == 0)
|
||||||
--- elfutils-0.127/src/elflint.c.robustify
|
--- elfutils-0.130/src/elflint.c.robustify
|
||||||
+++ elfutils-0.127/src/elflint.c
|
+++ elfutils-0.130/src/elflint.c
|
||||||
@@ -123,6 +123,9 @@ static uint32_t shstrndx;
|
@@ -126,6 +126,9 @@ static uint32_t shstrndx;
|
||||||
/* Array to count references in section groups. */
|
/* Array to count references in section groups. */
|
||||||
static int *scnref;
|
static int *scnref;
|
||||||
|
|
||||||
@ -558,7 +558,7 @@ src/
|
|||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char *argv[])
|
main (int argc, char *argv[])
|
||||||
@@ -312,10 +315,19 @@ section_name (Ebl *ebl, int idx)
|
@@ -315,10 +318,19 @@ section_name (Ebl *ebl, int idx)
|
||||||
{
|
{
|
||||||
GElf_Shdr shdr_mem;
|
GElf_Shdr shdr_mem;
|
||||||
GElf_Shdr *shdr;
|
GElf_Shdr *shdr;
|
||||||
@ -579,7 +579,7 @@ src/
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -337,10 +349,6 @@ static const int valid_e_machine[] =
|
@@ -340,10 +352,6 @@ static const int valid_e_machine[] =
|
||||||
(sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
|
(sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
|
||||||
|
|
||||||
|
|
||||||
@ -590,7 +590,7 @@ src/
|
|||||||
static void
|
static void
|
||||||
check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
|
check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
|
||||||
{
|
{
|
||||||
@@ -603,7 +611,8 @@ section [%2d] '%s': symbol table cannot
|
@@ -606,7 +614,8 @@ section [%2d] '%s': symbol table cannot
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -600,7 +600,7 @@ src/
|
|||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
section [%2zu] '%s': entry size is does not match ElfXX_Sym\n"),
|
section [%2zu] '%s': entry size is does not match ElfXX_Sym\n"),
|
||||||
cnt, section_name (ebl, cnt));
|
cnt, section_name (ebl, cnt));
|
||||||
@@ -641,7 +650,7 @@ section [%2d] '%s': XINDEX for zeroth en
|
@@ -644,7 +653,7 @@ section [%2d] '%s': XINDEX for zeroth en
|
||||||
xndxscnidx, section_name (ebl, xndxscnidx));
|
xndxscnidx, section_name (ebl, xndxscnidx));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -609,7 +609,7 @@ src/
|
|||||||
{
|
{
|
||||||
sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
|
sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
|
||||||
if (sym == NULL)
|
if (sym == NULL)
|
||||||
@@ -659,7 +668,8 @@ section [%2d] '%s': symbol %zu: invalid
|
@@ -662,7 +671,8 @@ section [%2d] '%s': symbol %zu: invalid
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
|
name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
|
||||||
@ -619,7 +619,7 @@ src/
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sym->st_shndx == SHN_XINDEX)
|
if (sym->st_shndx == SHN_XINDEX)
|
||||||
@@ -981,9 +991,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
@@ -992,9 +1002,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||||
{
|
{
|
||||||
GElf_Shdr rcshdr_mem;
|
GElf_Shdr rcshdr_mem;
|
||||||
const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
|
const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
|
||||||
@ -633,7 +633,7 @@ src/
|
|||||||
{
|
{
|
||||||
/* Found the dynamic section. Look through it. */
|
/* Found the dynamic section. Look through it. */
|
||||||
Elf_Data *d = elf_getdata (scn, NULL);
|
Elf_Data *d = elf_getdata (scn, NULL);
|
||||||
@@ -993,7 +1005,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
@@ -1004,7 +1016,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||||
{
|
{
|
||||||
GElf_Dyn dyn_mem;
|
GElf_Dyn dyn_mem;
|
||||||
GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
|
GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
|
||||||
@ -644,7 +644,7 @@ src/
|
|||||||
|
|
||||||
if (dyn->d_tag == DT_RELCOUNT)
|
if (dyn->d_tag == DT_RELCOUNT)
|
||||||
{
|
{
|
||||||
@@ -1007,7 +1021,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
@@ -1018,7 +1032,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
||||||
/* Does the number specified number of relative
|
/* Does the number specified number of relative
|
||||||
relocations exceed the total number of
|
relocations exceed the total number of
|
||||||
relocations? */
|
relocations? */
|
||||||
@ -655,7 +655,7 @@ src/
|
|||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
|
section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
|
||||||
idx, section_name (ebl, idx),
|
idx, section_name (ebl, idx),
|
||||||
@@ -1167,7 +1183,8 @@ section [%2d] '%s': no relocations for m
|
@@ -1178,7 +1194,8 @@ section [%2d] '%s': no relocations for m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -665,7 +665,7 @@ src/
|
|||||||
ERROR (gettext (reltype == ELF_T_RELA ? "\
|
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_Rela\n" : "\
|
||||||
section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
|
section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
|
||||||
@@ -1389,7 +1406,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
@@ -1401,7 +1418,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
||||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||||
enum load_state state = state_undecided;
|
enum load_state state = state_undecided;
|
||||||
|
|
||||||
@ -675,7 +675,7 @@ src/
|
|||||||
{
|
{
|
||||||
GElf_Rela rela_mem;
|
GElf_Rela rela_mem;
|
||||||
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
|
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
|
||||||
@@ -1439,7 +1457,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
@@ -1451,7 +1469,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
||||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||||
enum load_state state = state_undecided;
|
enum load_state state = state_undecided;
|
||||||
|
|
||||||
@ -685,7 +685,7 @@ src/
|
|||||||
{
|
{
|
||||||
GElf_Rel rel_mem;
|
GElf_Rel rel_mem;
|
||||||
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
|
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
|
||||||
@@ -1543,7 +1562,8 @@ section [%2d] '%s': referenced as string
|
@@ -1555,7 +1574,8 @@ section [%2d] '%s': referenced as string
|
||||||
shdr->sh_link, section_name (ebl, shdr->sh_link),
|
shdr->sh_link, section_name (ebl, shdr->sh_link),
|
||||||
idx, section_name (ebl, idx));
|
idx, section_name (ebl, idx));
|
||||||
|
|
||||||
@ -695,7 +695,7 @@ src/
|
|||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
|
section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
|
||||||
idx, section_name (ebl, idx));
|
idx, section_name (ebl, idx));
|
||||||
@@ -1553,7 +1573,7 @@ section [%2d] '%s': section entry size d
|
@@ -1565,7 +1585,7 @@ section [%2d] '%s': section entry size d
|
||||||
idx, section_name (ebl, idx));
|
idx, section_name (ebl, idx));
|
||||||
|
|
||||||
bool non_null_warned = false;
|
bool non_null_warned = false;
|
||||||
@ -704,7 +704,7 @@ src/
|
|||||||
{
|
{
|
||||||
GElf_Dyn dyn_mem;
|
GElf_Dyn dyn_mem;
|
||||||
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
|
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
|
||||||
@@ -1834,6 +1854,8 @@ section [%2d] '%s': entry size does not
|
@@ -1846,6 +1866,8 @@ section [%2d] '%s': entry size does not
|
||||||
idx, section_name (ebl, idx));
|
idx, section_name (ebl, idx));
|
||||||
|
|
||||||
if (symshdr != NULL
|
if (symshdr != NULL
|
||||||
@ -713,7 +713,7 @@ src/
|
|||||||
&& (shdr->sh_size / shdr->sh_entsize
|
&& (shdr->sh_size / shdr->sh_entsize
|
||||||
< symshdr->sh_size / symshdr->sh_entsize))
|
< symshdr->sh_size / symshdr->sh_entsize))
|
||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
@@ -1860,6 +1882,12 @@ section [%2d] '%s': extended section ind
|
@@ -1872,6 +1894,12 @@ section [%2d] '%s': extended section ind
|
||||||
}
|
}
|
||||||
|
|
||||||
Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
|
Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
|
||||||
@ -726,7 +726,7 @@ src/
|
|||||||
|
|
||||||
if (*((Elf32_Word *) data->d_buf) != 0)
|
if (*((Elf32_Word *) data->d_buf) != 0)
|
||||||
ERROR (gettext ("symbol 0 should have zero extended section index\n"));
|
ERROR (gettext ("symbol 0 should have zero extended section index\n"));
|
||||||
@@ -1902,7 +1930,7 @@ section [%2d] '%s': hash table section i
|
@@ -1914,7 +1942,7 @@ section [%2d] '%s': hash table section i
|
||||||
|
|
||||||
size_t maxidx = nchain;
|
size_t maxidx = nchain;
|
||||||
|
|
||||||
@ -735,7 +735,7 @@ src/
|
|||||||
{
|
{
|
||||||
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
||||||
|
|
||||||
@@ -1913,18 +1941,28 @@ section [%2d] '%s': hash table section i
|
@@ -1925,18 +1953,28 @@ section [%2d] '%s': hash table section i
|
||||||
maxidx = symsize;
|
maxidx = symsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -766,7 +766,7 @@ src/
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1954,18 +1992,28 @@ section [%2d] '%s': hash table section i
|
@@ -1966,18 +2004,28 @@ section [%2d] '%s': hash table section i
|
||||||
maxidx = symsize;
|
maxidx = symsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -798,7 +798,7 @@ src/
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1990,7 +2038,7 @@ section [%2d] '%s': bitmask size not pow
|
@@ -2002,7 +2050,7 @@ section [%2d] '%s': bitmask size not pow
|
||||||
if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
|
if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
|
||||||
{
|
{
|
||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
@ -807,7 +807,7 @@ src/
|
|||||||
idx, section_name (ebl, idx), (long int) shdr->sh_size,
|
idx, section_name (ebl, idx), (long int) shdr->sh_size,
|
||||||
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
|
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
|
||||||
return;
|
return;
|
||||||
@@ -2644,8 +2692,9 @@ section [%2d] '%s' refers in sh_link to
|
@@ -2659,8 +2707,9 @@ section [%2d] '%s' refers in sh_link to
|
||||||
|
|
||||||
/* The number of elements in the version symbol table must be the
|
/* The number of elements in the version symbol table must be the
|
||||||
same as the number of symbols. */
|
same as the number of symbols. */
|
||||||
@ -819,15 +819,6 @@ src/
|
|||||||
ERROR (gettext ("\
|
ERROR (gettext ("\
|
||||||
section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
|
section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
|
||||||
idx, section_name (ebl, idx),
|
idx, section_name (ebl, idx),
|
||||||
@@ -3574,6 +3623,8 @@ phdr[%d]: no note entries defined for th
|
|
||||||
return;
|
|
||||||
|
|
||||||
char *notemem = gelf_rawchunk (ebl->elf, phdr->p_offset, phdr->p_filesz);
|
|
||||||
+ if (notemem == NULL)
|
|
||||||
+ return;
|
|
||||||
|
|
||||||
/* ELF64 files often use note section entries in the 32-bit format.
|
|
||||||
The p_align field is set to 8 in case the 64-bit format is used.
|
|
||||||
--- elfutils-0.127/libelf/elf_begin.c.robustify
|
--- elfutils-0.127/libelf/elf_begin.c.robustify
|
||||||
+++ elfutils-0.127/libelf/elf_begin.c
|
+++ elfutils-0.127/libelf/elf_begin.c
|
||||||
@@ -155,7 +155,8 @@ get_shnum (void *map_address, unsigned c
|
@@ -155,7 +155,8 @@ get_shnum (void *map_address, unsigned c
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
%define eu_version 0.129
|
%define eu_version 0.130
|
||||||
%define eu_release 2
|
%define eu_release 1
|
||||||
|
|
||||||
%if %{?_with_compat:1}%{!?_with_compat:0}
|
%if %{?_with_compat:1}%{!?_with_compat:0}
|
||||||
%define compat 1
|
%define compat 1
|
||||||
@ -35,8 +35,6 @@ Patch0: elfutils-strip-copy-symtab.patch
|
|||||||
Source2: testfile16.symtab.bz2
|
Source2: testfile16.symtab.bz2
|
||||||
Source3: testfile16.symtab.debug.bz2
|
Source3: testfile16.symtab.debug.bz2
|
||||||
|
|
||||||
Patch3: elfutils-0.129-elflint-ppc-got.patch
|
|
||||||
|
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: bison >= 1.875
|
BuildRequires: bison >= 1.875
|
||||||
@ -156,8 +154,6 @@ find . \( -name configure -o -name config.h.in \) -print | xargs touch
|
|||||||
|
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
|
||||||
%patch3 -p0
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Remove -Wall from default flags. The makefiles enable enough warnings
|
# Remove -Wall from default flags. The makefiles enable enough warnings
|
||||||
# themselves, and they use -Werror. Appending -Wall defeats the cases where
|
# themselves, and they use -Werror. Appending -Wall defeats the cases where
|
||||||
@ -221,6 +217,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_bindir}/eu-strip
|
%{_bindir}/eu-strip
|
||||||
#%{_bindir}/eu-ld
|
#%{_bindir}/eu-ld
|
||||||
%{_bindir}/eu-unstrip
|
%{_bindir}/eu-unstrip
|
||||||
|
%{_bindir}/eu-make-debug-archive
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -264,6 +261,22 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||||||
%{_libdir}/libelf.a
|
%{_libdir}/libelf.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 16 2007 Roland McGrath <roland@redhat.com> - 0.130-1
|
||||||
|
- Update to 0.130
|
||||||
|
- eu-readelf -p option can take an argument like -x for one section
|
||||||
|
- eu-readelf --archive-index (or -c)
|
||||||
|
- eu-readelf -n improved output for core dumps
|
||||||
|
- eu-readelf: handle SHT_NOTE sections without requiring phdrs (#249467)
|
||||||
|
- eu-elflint: ditto
|
||||||
|
- eu-elflint: stricter checks on debug sections
|
||||||
|
- eu-unstrip: new options, --list (or -n), --relocate (or -R)
|
||||||
|
- libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
|
||||||
|
new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
|
||||||
|
- libebl: backend improvements (#324031)
|
||||||
|
- libdwfl: build_id support, new functions for it
|
||||||
|
- libdwfl: dwfl_module_addrsym fixes (#268761, #268981)
|
||||||
|
- libdwfl offline archive support, new script eu-make-debug-archive
|
||||||
|
|
||||||
* Mon Aug 20 2007 Roland McGrath <roland@redhat.com> - 0.129-2
|
* Mon Aug 20 2007 Roland McGrath <roland@redhat.com> - 0.129-2
|
||||||
- Fix false-positive eu-elflint failure on ppc -mbss-plt binaries.
|
- Fix false-positive eu-elflint failure on ppc -mbss-plt binaries.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user