forked from pool/elfutils
Accepting request 206934 from Base:System
update to 0.157, see ChangeLog (forwarded request 206750 from jones_tony) OBS-URL: https://build.opensuse.org/request/show/206934 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/elfutils?expand=0&rev=40
This commit is contained in:
commit
a42d9e7b8a
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:68444a4526416ffd68852ec3c6a40ceddcca46538297322405319884c5d30ed8
|
|
||||||
size 2477883
|
|
3
elfutils-0.157.tar.bz2
Normal file
3
elfutils-0.157.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4fadc9c0c19d02fb6d2bdfee65f20ddbecba398d3f714e2b6c42ffc4615cce85
|
||||||
|
size 2624207
|
@ -1,203 +0,0 @@
|
|||||||
Index: elfutils-0.155/config/config.guess
|
|
||||||
===================================================================
|
|
||||||
--- elfutils-0.155.orig/config/config.guess
|
|
||||||
+++ elfutils-0.155/config/config.guess
|
|
||||||
@@ -17,9 +17,7 @@ timestamp='2012-01-01'
|
|
||||||
# General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
-# along with this program; if not, write to the Free Software
|
|
||||||
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
|
||||||
-# 02110-1301, USA.
|
|
||||||
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
@@ -202,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
|
|
||||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
|
||||||
echo "${machine}-${os}${release}"
|
|
||||||
exit ;;
|
|
||||||
+ *:Bitrig:*:*)
|
|
||||||
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
|
||||||
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
|
|
||||||
+ exit ;;
|
|
||||||
*:OpenBSD:*:*)
|
|
||||||
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
|
||||||
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
|
|
||||||
@@ -279,7 +281,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
|
|
||||||
# Should we change UNAME_MACHINE based on the output of uname instead
|
|
||||||
# of the specific Alpha model?
|
|
||||||
echo alpha-pc-interix
|
|
||||||
- exit ;;
|
|
||||||
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
|
||||||
+ exitcode=$?
|
|
||||||
+ trap '' 0
|
|
||||||
+ exit $exitcode ;;
|
|
||||||
21064:Windows_NT:50:3)
|
|
||||||
echo alpha-dec-winnt3.5
|
|
||||||
exit ;;
|
|
||||||
@@ -863,6 +868,13 @@ EOF
|
|
||||||
i*86:Minix:*:*)
|
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
|
||||||
exit ;;
|
|
||||||
+ aarch64:Linux:*:*)
|
|
||||||
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
|
|
||||||
+ exit ;;
|
|
||||||
+ aarch64_be:Linux:*:*)
|
|
||||||
+ UNAME_MACHINE=aarch64_be
|
|
||||||
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
|
|
||||||
+ exit ;;
|
|
||||||
alpha:Linux:*:*)
|
|
||||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
|
||||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
|
||||||
@@ -1196,6 +1208,9 @@ EOF
|
|
||||||
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
|
||||||
echo i586-pc-haiku
|
|
||||||
exit ;;
|
|
||||||
+ x86_64:Haiku:*:*)
|
|
||||||
+ echo x86_64-unknown-haiku
|
|
||||||
+ exit ;;
|
|
||||||
SX-4:SUPER-UX:*:*)
|
|
||||||
echo sx4-nec-superux${UNAME_RELEASE}
|
|
||||||
exit ;;
|
|
||||||
@@ -1251,7 +1266,10 @@ EOF
|
|
||||||
NEO-?:NONSTOP_KERNEL:*:*)
|
|
||||||
echo neo-tandem-nsk${UNAME_RELEASE}
|
|
||||||
exit ;;
|
|
||||||
- NSE-?:NONSTOP_KERNEL:*:*)
|
|
||||||
+ NEO-?:NONSTOP_KERNEL:*:*)
|
|
||||||
+ echo neo-tandem-nsk${UNAME_RELEASE}
|
|
||||||
+ exit ;;
|
|
||||||
+ NSE-*:NONSTOP_KERNEL:*:*)
|
|
||||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
|
||||||
exit ;;
|
|
||||||
NSR-?:NONSTOP_KERNEL:*:*)
|
|
||||||
@@ -1320,11 +1338,11 @@ EOF
|
|
||||||
i*86:AROS:*:*)
|
|
||||||
echo ${UNAME_MACHINE}-pc-aros
|
|
||||||
exit ;;
|
|
||||||
+ x86_64:VMkernel:*:*)
|
|
||||||
+ echo ${UNAME_MACHINE}-unknown-esx
|
|
||||||
+ exit ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
-#echo '(No uname command or uname output not recognized.)' 1>&2
|
|
||||||
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
|
||||||
-
|
|
||||||
eval $set_cc_for_build
|
|
||||||
cat >$dummy.c <<EOF
|
|
||||||
#ifdef _SEQUENT_
|
|
||||||
Index: elfutils-0.155/config/config.sub
|
|
||||||
===================================================================
|
|
||||||
--- elfutils-0.155.orig/config/config.sub
|
|
||||||
+++ elfutils-0.155/config/config.sub
|
|
||||||
@@ -21,9 +21,7 @@ timestamp='2012-01-01'
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
-# along with this program; if not, write to the Free Software
|
|
||||||
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
|
||||||
-# 02110-1301, USA.
|
|
||||||
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
@@ -223,6 +221,12 @@ case $os in
|
|
||||||
-isc*)
|
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
|
||||||
;;
|
|
||||||
+ -lynx*178)
|
|
||||||
+ os=-lynxos178
|
|
||||||
+ ;;
|
|
||||||
+ -lynx*5)
|
|
||||||
+ os=-lynxos5
|
|
||||||
+ ;;
|
|
||||||
-lynx*)
|
|
||||||
os=-lynxos
|
|
||||||
;;
|
|
||||||
@@ -341,6 +345,21 @@ case $basic_machine in
|
|
||||||
basic_machine=armel-unknown
|
|
||||||
;;
|
|
||||||
|
|
||||||
+ strongarm | thumb | xscale)
|
|
||||||
+ basic_machine=arm-unknown
|
|
||||||
+ ;;
|
|
||||||
+ xgate)
|
|
||||||
+ basic_machine=$basic_machine-unknown
|
|
||||||
+ os=-none
|
|
||||||
+ ;;
|
|
||||||
+ xscaleeb)
|
|
||||||
+ basic_machine=armeb-unknown
|
|
||||||
+ ;;
|
|
||||||
+
|
|
||||||
+ xscaleel)
|
|
||||||
+ basic_machine=armel-unknown
|
|
||||||
+ ;;
|
|
||||||
+
|
|
||||||
# We use `pc' rather than `unknown'
|
|
||||||
# because (1) that's what they normally are, and
|
|
||||||
# (2) the word "unknown" tends to confuse beginning users.
|
|
||||||
@@ -818,6 +837,10 @@ case $basic_machine in
|
|
||||||
basic_machine=i386-pc
|
|
||||||
os=-msys
|
|
||||||
;;
|
|
||||||
+ msys)
|
|
||||||
+ basic_machine=i386-pc
|
|
||||||
+ os=-msys
|
|
||||||
+ ;;
|
|
||||||
mvs)
|
|
||||||
basic_machine=i370-ibm
|
|
||||||
os=-mvs
|
|
||||||
@@ -826,6 +849,10 @@ case $basic_machine in
|
|
||||||
basic_machine=le32-unknown
|
|
||||||
os=-nacl
|
|
||||||
;;
|
|
||||||
+ nacl)
|
|
||||||
+ basic_machine=le32-unknown
|
|
||||||
+ os=-nacl
|
|
||||||
+ ;;
|
|
||||||
ncr3000)
|
|
||||||
basic_machine=i486-ncr
|
|
||||||
os=-sysv4
|
|
||||||
@@ -896,6 +923,12 @@ case $basic_machine in
|
|
||||||
nse-tandem)
|
|
||||||
basic_machine=nse-tandem
|
|
||||||
;;
|
|
||||||
+ neo-tandem)
|
|
||||||
+ basic_machine=neo-tandem
|
|
||||||
+ ;;
|
|
||||||
+ nse-tandem)
|
|
||||||
+ basic_machine=nse-tandem
|
|
||||||
+ ;;
|
|
||||||
nsr-tandem)
|
|
||||||
basic_machine=nsr-tandem
|
|
||||||
;;
|
|
||||||
@@ -1078,6 +1111,9 @@ case $basic_machine in
|
|
||||||
strongarm-* | thumb-*)
|
|
||||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
|
||||||
;;
|
|
||||||
+ strongarm-* | thumb-*)
|
|
||||||
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
|
||||||
+ ;;
|
|
||||||
sun2)
|
|
||||||
basic_machine=m68000-sun
|
|
||||||
;;
|
|
||||||
@@ -1208,6 +1244,9 @@ case $basic_machine in
|
|
||||||
xscale-* | xscalee[bl]-*)
|
|
||||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
|
||||||
;;
|
|
||||||
+ xscale-* | xscalee[bl]-*)
|
|
||||||
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
|
||||||
+ ;;
|
|
||||||
ymp)
|
|
||||||
basic_machine=ymp-cray
|
|
||||||
os=-unicos
|
|
||||||
@@ -1490,6 +1529,8 @@ case $os in
|
|
||||||
;;
|
|
||||||
-nacl*)
|
|
||||||
;;
|
|
||||||
+ -nacl*)
|
|
||||||
+ ;;
|
|
||||||
-none)
|
|
||||||
;;
|
|
||||||
*)
|
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,6 @@
|
|||||||
Index: elfutils-0.155/libdwfl/ChangeLog
|
--- elfutils/libdwfl/ChangeLog
|
||||||
===================================================================
|
+++ elfutils/libdwfl/ChangeLog
|
||||||
--- elfutils-0.155.orig/libdwfl/ChangeLog
|
@@ -256,6 +256,11 @@
|
||||||
+++ elfutils-0.155/libdwfl/ChangeLog
|
|
||||||
@@ -52,6 +52,11 @@
|
|
||||||
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
|
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
|
||||||
Reported by Kurt Roeckx <kurt@roeckx.be>.
|
Reported by Kurt Roeckx <kurt@roeckx.be>.
|
||||||
|
|
||||||
@ -14,10 +12,8 @@ Index: elfutils-0.155/libdwfl/ChangeLog
|
|||||||
2011-02-11 Roland McGrath <roland@redhat.com>
|
2011-02-11 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
|
* linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
|
||||||
Index: elfutils-0.155/libdwfl/relocate.c
|
--- elfutils/libdwfl/relocate.c
|
||||||
===================================================================
|
+++ elfutils/libdwfl/relocate.c
|
||||||
--- elfutils-0.155.orig/libdwfl/relocate.c
|
|
||||||
+++ elfutils-0.155/libdwfl/relocate.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Relocate debug information.
|
/* Relocate debug information.
|
||||||
- Copyright (C) 2005-2010 Red Hat, Inc.
|
- Copyright (C) 2005-2010 Red Hat, Inc.
|
||||||
@ -25,7 +21,7 @@ Index: elfutils-0.155/libdwfl/relocate.c
|
|||||||
This file is part of elfutils.
|
This file is part of elfutils.
|
||||||
|
|
||||||
This file is free software; you can redistribute it and/or modify
|
This file is free software; you can redistribute it and/or modify
|
||||||
@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf
|
@@ -456,7 +456,10 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +33,7 @@ Index: elfutils-0.155/libdwfl/relocate.c
|
|||||||
size_t complete = 0;
|
size_t complete = 0;
|
||||||
if (shdr->sh_type == SHT_REL)
|
if (shdr->sh_type == SHT_REL)
|
||||||
for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
|
for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
|
||||||
@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf
|
@@ -558,7 +561,7 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||||
nrels = next;
|
nrels = next;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,11 +42,9 @@ Index: elfutils-0.155/libdwfl/relocate.c
|
|||||||
gelf_update_shdr (scn, shdr);
|
gelf_update_shdr (scn, shdr);
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: elfutils-0.155/libelf/ChangeLog
|
--- elfutils/libelf/ChangeLog
|
||||||
===================================================================
|
+++ elfutils/libelf/ChangeLog
|
||||||
--- elfutils-0.155.orig/libelf/ChangeLog
|
@@ -715,10 +715,53 @@
|
||||||
+++ elfutils-0.155/libelf/ChangeLog
|
|
||||||
@@ -708,10 +708,53 @@
|
|
||||||
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.
|
||||||
|
|
||||||
@ -104,10 +98,8 @@ Index: elfutils-0.155/libelf/ChangeLog
|
|||||||
2005-05-09 Ulrich Drepper <drepper@redhat.com>
|
2005-05-09 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* elf.h: Update from glibc.
|
* elf.h: Update from glibc.
|
||||||
Index: elfutils-0.155/libelf/elf32_getphdr.c
|
--- elfutils/libelf/elf32_getphdr.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf32_getphdr.c
|
||||||
--- elfutils-0.155.orig/libelf/elf32_getphdr.c
|
|
||||||
+++ elfutils-0.155/libelf/elf32_getphdr.c
|
|
||||||
@@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf)
|
@@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf)
|
||||||
|
|
||||||
if (elf->map_address != NULL)
|
if (elf->map_address != NULL)
|
||||||
@ -125,10 +117,8 @@ Index: elfutils-0.155/libelf/elf32_getphdr.c
|
|||||||
/* All the data is already mapped. Use it. */
|
/* All the data is already mapped. Use it. */
|
||||||
void *file_phdr = ((char *) elf->map_address
|
void *file_phdr = ((char *) elf->map_address
|
||||||
+ elf->start_offset + ehdr->e_phoff);
|
+ elf->start_offset + ehdr->e_phoff);
|
||||||
Index: elfutils-0.155/libelf/elf32_getshdr.c
|
--- elfutils/libelf/elf32_getshdr.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf32_getshdr.c
|
||||||
--- elfutils-0.155.orig/libelf/elf32_getshdr.c
|
|
||||||
+++ elfutils-0.155/libelf/elf32_getshdr.c
|
|
||||||
@@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn)
|
@@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -156,10 +146,8 @@ Index: elfutils-0.155/libelf/elf32_getshdr.c
|
|||||||
ElfW2(LIBELFBITS,Shdr) *notcvt;
|
ElfW2(LIBELFBITS,Shdr) *notcvt;
|
||||||
|
|
||||||
/* All the data is already mapped. If we could use it
|
/* All the data is already mapped. If we could use it
|
||||||
Index: elfutils-0.155/libelf/elf32_newphdr.c
|
--- elfutils/libelf/elf32_newphdr.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf32_newphdr.c
|
||||||
--- elfutils-0.155.orig/libelf/elf32_newphdr.c
|
|
||||||
+++ elfutils-0.155/libelf/elf32_newphdr.c
|
|
||||||
@@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count)
|
@@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count)
|
||||||
|| count == PN_XNUM
|
|| count == PN_XNUM
|
||||||
|| elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
|
|| elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
|
||||||
@ -173,10 +161,8 @@ Index: elfutils-0.155/libelf/elf32_newphdr.c
|
|||||||
/* Allocate a new program header with the appropriate number of
|
/* Allocate a new program header with the appropriate number of
|
||||||
elements. */
|
elements. */
|
||||||
result = (ElfW2(LIBELFBITS,Phdr) *)
|
result = (ElfW2(LIBELFBITS,Phdr) *)
|
||||||
Index: elfutils-0.155/libelf/elf32_updatefile.c
|
--- elfutils/libelf/elf32_updatefile.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf32_updatefile.c
|
||||||
--- elfutils-0.155.orig/libelf/elf32_updatefile.c
|
|
||||||
+++ elfutils-0.155/libelf/elf32_updatefile.c
|
|
||||||
@@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf
|
@@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf
|
||||||
/* Write all the sections. Well, only those which are modified. */
|
/* Write all the sections. Well, only those which are modified. */
|
||||||
if (shnum > 0)
|
if (shnum > 0)
|
||||||
@ -198,10 +184,8 @@ Index: elfutils-0.155/libelf/elf32_updatefile.c
|
|||||||
off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
|
off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
|
||||||
#if EV_NUM != 2
|
#if EV_NUM != 2
|
||||||
xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
|
xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
|
||||||
Index: elfutils-0.155/libelf/elf_begin.c
|
--- elfutils/libelf/elf_begin.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf_begin.c
|
||||||
--- elfutils-0.155.orig/libelf/elf_begin.c
|
|
||||||
+++ elfutils-0.155/libelf/elf_begin.c
|
|
||||||
@@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c
|
@@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c
|
||||||
|
|
||||||
if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
|
if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
|
||||||
@ -267,10 +251,20 @@ Index: elfutils-0.155/libelf/elf_begin.c
|
|||||||
elf->state.elf64.shdr
|
elf->state.elf64.shdr
|
||||||
= (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
|
= (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
|
||||||
|
|
||||||
Index: elfutils-0.155/libelf/elf_getshdrstrndx.c
|
--- elfutils/libelf/elf_getarsym.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf_getarsym.c
|
||||||
--- elfutils-0.155.orig/libelf/elf_getshdrstrndx.c
|
@@ -183,6 +183,9 @@ elf_getarsym (elf, ptr)
|
||||||
+++ elfutils-0.155/libelf/elf_getshdrstrndx.c
|
size_t index_size = atol (tmpbuf);
|
||||||
|
|
||||||
|
if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
|
||||||
|
+#if SIZE_MAX <= 4294967295U
|
||||||
|
+ || n >= SIZE_MAX / sizeof (Elf_Arsym)
|
||||||
|
+#endif
|
||||||
|
|| n * w > index_size)
|
||||||
|
{
|
||||||
|
/* This index table cannot be right since it does not fit into
|
||||||
|
--- elfutils/libelf/elf_getshdrstrndx.c
|
||||||
|
+++ elfutils/libelf/elf_getshdrstrndx.c
|
||||||
@@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst)
|
@@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst)
|
||||||
if (elf->map_address != NULL
|
if (elf->map_address != NULL
|
||||||
&& elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
|
&& elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
|
||||||
@ -329,10 +323,8 @@ Index: elfutils-0.155/libelf/elf_getshdrstrndx.c
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* We avoid reading in all the section headers. Just read
|
/* We avoid reading in all the section headers. Just read
|
||||||
Index: elfutils-0.155/libelf/elf_newscn.c
|
--- elfutils/libelf/elf_newscn.c
|
||||||
===================================================================
|
+++ elfutils/libelf/elf_newscn.c
|
||||||
--- elfutils-0.155.orig/libelf/elf_newscn.c
|
|
||||||
+++ elfutils-0.155/libelf/elf_newscn.c
|
|
||||||
@@ -83,10 +83,18 @@ elf_newscn (elf)
|
@@ -83,10 +83,18 @@ elf_newscn (elf)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -353,10 +345,8 @@ Index: elfutils-0.155/libelf/elf_newscn.c
|
|||||||
newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
|
newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
|
||||||
+ ((elf->state.elf.scnincr *= 2)
|
+ ((elf->state.elf.scnincr *= 2)
|
||||||
* sizeof (Elf_Scn)), 1);
|
* sizeof (Elf_Scn)), 1);
|
||||||
Index: elfutils-0.155/libelf/gelf_getdyn.c
|
--- elfutils/libelf/gelf_getdyn.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getdyn.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getdyn.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getdyn.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get information from dynamic table at the given index.
|
/* Get information from dynamic table at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -382,10 +372,8 @@ Index: elfutils-0.155/libelf/gelf_getdyn.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_getlib.c
|
--- elfutils/libelf/gelf_getlib.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getlib.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getlib.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getlib.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get library from table at the given index.
|
/* Get library from table at the given index.
|
||||||
- Copyright (C) 2004 Red Hat, Inc.
|
- Copyright (C) 2004 Red Hat, Inc.
|
||||||
@ -402,10 +390,8 @@ Index: elfutils-0.155/libelf/gelf_getlib.c
|
|||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Index: elfutils-0.155/libelf/gelf_getmove.c
|
--- elfutils/libelf/gelf_getmove.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getmove.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getmove.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getmove.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get move structure at the given index.
|
/* Get move structure at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -422,10 +408,8 @@ Index: elfutils-0.155/libelf/gelf_getmove.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_getrela.c
|
--- elfutils/libelf/gelf_getrela.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getrela.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getrela.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getrela.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get RELA relocation information at given index.
|
/* Get RELA relocation information at given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -464,10 +448,8 @@ Index: elfutils-0.155/libelf/gelf_getrela.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
result = NULL;
|
result = NULL;
|
||||||
Index: elfutils-0.155/libelf/gelf_getrel.c
|
--- elfutils/libelf/gelf_getrel.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getrel.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getrel.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getrel.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get REL relocation information at given index.
|
/* Get REL relocation information at given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -506,10 +488,8 @@ Index: elfutils-0.155/libelf/gelf_getrel.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
result = NULL;
|
result = NULL;
|
||||||
Index: elfutils-0.155/libelf/gelf_getsym.c
|
--- elfutils/libelf/gelf_getsym.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getsym.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getsym.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getsym.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get symbol information from symbol table at the given index.
|
/* Get symbol information from symbol table at the given index.
|
||||||
- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -535,10 +515,8 @@ Index: elfutils-0.155/libelf/gelf_getsym.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_getsyminfo.c
|
--- elfutils/libelf/gelf_getsyminfo.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getsyminfo.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getsyminfo.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getsyminfo.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get additional symbol information from symbol table at the given index.
|
/* Get additional symbol information from symbol table at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -555,10 +533,8 @@ Index: elfutils-0.155/libelf/gelf_getsyminfo.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_getsymshndx.c
|
--- elfutils/libelf/gelf_getsymshndx.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getsymshndx.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getsymshndx.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getsymshndx.c
|
|
||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
/* Get symbol information and separate section index from symbol table
|
/* Get symbol information and separate section index from symbol table
|
||||||
at the given index.
|
at the given index.
|
||||||
@ -594,10 +570,8 @@ Index: elfutils-0.155/libelf/gelf_getsymshndx.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_getversym.c
|
--- elfutils/libelf/gelf_getversym.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_getversym.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_getversym.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_getversym.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Get symbol version information at the given index.
|
/* Get symbol version information at the given index.
|
||||||
- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -614,10 +588,8 @@ Index: elfutils-0.155/libelf/gelf_getversym.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
result = NULL;
|
result = NULL;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_dyn.c
|
--- elfutils/libelf/gelf_update_dyn.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_dyn.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_dyn.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_dyn.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update information in dynamic table at the given index.
|
/* Update information in dynamic table at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -656,10 +628,8 @@ Index: elfutils-0.155/libelf/gelf_update_dyn.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_lib.c
|
--- elfutils/libelf/gelf_update_lib.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_lib.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_lib.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_lib.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update library in table at the given index.
|
/* Update library in table at the given index.
|
||||||
- Copyright (C) 2004 Red Hat, Inc.
|
- Copyright (C) 2004 Red Hat, Inc.
|
||||||
@ -689,10 +659,8 @@ Index: elfutils-0.155/libelf/gelf_update_lib.c
|
|||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Index: elfutils-0.155/libelf/gelf_update_move.c
|
--- elfutils/libelf/gelf_update_move.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_move.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_move.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_move.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update move structure at the given index.
|
/* Update move structure at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -710,10 +678,8 @@ Index: elfutils-0.155/libelf/gelf_update_move.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
return 0;
|
return 0;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_rela.c
|
--- elfutils/libelf/gelf_update_rela.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_rela.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_rela.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_rela.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update RELA relocation information at given index.
|
/* Update RELA relocation information at given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -752,10 +718,8 @@ Index: elfutils-0.155/libelf/gelf_update_rela.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_rel.c
|
--- elfutils/libelf/gelf_update_rel.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_rel.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_rel.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_rel.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update REL relocation information at given index.
|
/* Update REL relocation information at given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -794,10 +758,8 @@ Index: elfutils-0.155/libelf/gelf_update_rel.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_sym.c
|
--- elfutils/libelf/gelf_update_sym.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_sym.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_sym.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_sym.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update symbol information in symbol table at the given index.
|
/* Update symbol information in symbol table at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -836,10 +798,8 @@ Index: elfutils-0.155/libelf/gelf_update_sym.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_syminfo.c
|
--- elfutils/libelf/gelf_update_syminfo.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_syminfo.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_syminfo.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_syminfo.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update additional symbol information in symbol table at the given index.
|
/* Update additional symbol information in symbol table at the given index.
|
||||||
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
|
||||||
@ -869,10 +829,8 @@ Index: elfutils-0.155/libelf/gelf_update_syminfo.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_symshndx.c
|
--- elfutils/libelf/gelf_update_symshndx.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_symshndx.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_symshndx.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_symshndx.c
|
|
||||||
@@ -1,6 +1,6 @@
|
@@ -1,6 +1,6 @@
|
||||||
/* Update symbol information and section index in symbol table at the
|
/* Update symbol information and section index in symbol table at the
|
||||||
given index.
|
given index.
|
||||||
@ -912,10 +870,8 @@ Index: elfutils-0.155/libelf/gelf_update_symshndx.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
goto out;
|
goto out;
|
||||||
Index: elfutils-0.155/libelf/gelf_update_versym.c
|
--- elfutils/libelf/gelf_update_versym.c
|
||||||
===================================================================
|
+++ elfutils/libelf/gelf_update_versym.c
|
||||||
--- elfutils-0.155.orig/libelf/gelf_update_versym.c
|
|
||||||
+++ elfutils-0.155/libelf/gelf_update_versym.c
|
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/* Update symbol version information.
|
/* Update symbol version information.
|
||||||
- Copyright (C) 2001, 2002 Red Hat, Inc.
|
- Copyright (C) 2001, 2002 Red Hat, Inc.
|
||||||
@ -933,10 +889,8 @@ Index: elfutils-0.155/libelf/gelf_update_versym.c
|
|||||||
{
|
{
|
||||||
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
__libelf_seterrno (ELF_E_INVALID_INDEX);
|
||||||
return 0;
|
return 0;
|
||||||
Index: elfutils-0.155/libelf/libelfP.h
|
--- elfutils/libelf/libelfP.h
|
||||||
===================================================================
|
+++ elfutils/libelf/libelfP.h
|
||||||
--- elfutils-0.155.orig/libelf/libelfP.h
|
|
||||||
+++ elfutils-0.155/libelf/libelfP.h
|
|
||||||
@@ -587,4 +587,8 @@ extern uint32_t __libelf_crc32 (uint32_t
|
@@ -587,4 +587,8 @@ extern uint32_t __libelf_crc32 (uint32_t
|
||||||
/* Align offset to 4 bytes as needed for note name and descriptor data. */
|
/* Align offset to 4 bytes as needed for note name and descriptor data. */
|
||||||
#define NOTE_ALIGN(n) (((n) + 3) & -4U)
|
#define NOTE_ALIGN(n) (((n) + 3) & -4U)
|
||||||
@ -946,11 +900,9 @@ Index: elfutils-0.155/libelf/libelfP.h
|
|||||||
+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
|
+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
|
||||||
+
|
+
|
||||||
#endif /* libelfP.h */
|
#endif /* libelfP.h */
|
||||||
Index: elfutils-0.155/src/ChangeLog
|
--- elfutils/src/ChangeLog
|
||||||
===================================================================
|
+++ elfutils/src/ChangeLog
|
||||||
--- elfutils-0.155.orig/src/ChangeLog
|
@@ -504,6 +504,12 @@
|
||||||
+++ elfutils-0.155/src/ChangeLog
|
|
||||||
@@ -344,6 +344,12 @@
|
|
||||||
|
|
||||||
* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
|
* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
|
||||||
|
|
||||||
@ -963,7 +915,7 @@ Index: elfutils-0.155/src/ChangeLog
|
|||||||
2011-02-11 Roland McGrath <roland@redhat.com>
|
2011-02-11 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* elfcmp.c (verbose): New variable.
|
* elfcmp.c (verbose): New variable.
|
||||||
@@ -2081,6 +2087,16 @@
|
@@ -2216,6 +2222,16 @@
|
||||||
object symbols or symbols with unknown type.
|
object symbols or symbols with unknown type.
|
||||||
(check_rel): Likewise.
|
(check_rel): Likewise.
|
||||||
|
|
||||||
@ -980,7 +932,7 @@ Index: elfutils-0.155/src/ChangeLog
|
|||||||
2005-06-08 Roland McGrath <roland@redhat.com>
|
2005-06-08 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* readelf.c (print_ops): Add consts.
|
* readelf.c (print_ops): Add consts.
|
||||||
@@ -2131,6 +2147,19 @@
|
@@ -2261,6 +2277,19 @@
|
||||||
|
|
||||||
* readelf.c (dwarf_tag_string): Add new tags.
|
* readelf.c (dwarf_tag_string): Add new tags.
|
||||||
|
|
||||||
@ -1000,10 +952,8 @@ Index: elfutils-0.155/src/ChangeLog
|
|||||||
2005-05-08 Roland McGrath <roland@redhat.com>
|
2005-05-08 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
* strip.c (handle_elf): Don't translate hash and versym data formats,
|
* strip.c (handle_elf): Don't translate hash and versym data formats,
|
||||||
Index: elfutils-0.155/src/elflint.c
|
--- elfutils/src/elflint.c
|
||||||
===================================================================
|
+++ elfutils/src/elflint.c
|
||||||
--- elfutils-0.155.orig/src/elflint.c
|
|
||||||
+++ elfutils-0.155/src/elflint.c
|
|
||||||
@@ -123,6 +123,10 @@ static uint32_t shstrndx;
|
@@ -123,6 +123,10 @@ static uint32_t shstrndx;
|
||||||
/* Array to count references in section groups. */
|
/* Array to count references in section groups. */
|
||||||
static int *scnref;
|
static int *scnref;
|
||||||
@ -1077,7 +1027,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sym->st_shndx == SHN_XINDEX)
|
if (sym->st_shndx == SHN_XINDEX)
|
||||||
@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
@@ -1040,9 +1050,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);
|
||||||
@ -1091,7 +1041,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
{
|
{
|
||||||
/* 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);
|
||||||
@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
@@ -1052,7 +1064,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);
|
||||||
@ -1102,7 +1052,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
|
|
||||||
if (dyn->d_tag == DT_RELCOUNT)
|
if (dyn->d_tag == DT_RELCOUNT)
|
||||||
{
|
{
|
||||||
@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
@@ -1066,7 +1080,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? */
|
||||||
@ -1113,7 +1063,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
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),
|
||||||
@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m
|
@@ -1226,7 +1242,8 @@ section [%2d] '%s': no relocations for m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1123,7 +1073,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
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"),
|
||||||
@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
@@ -1449,7 +1466,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;
|
||||||
|
|
||||||
@ -1133,7 +1083,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
{
|
{
|
||||||
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);
|
||||||
@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
@@ -1499,7 +1517,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;
|
||||||
|
|
||||||
@ -1143,7 +1093,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
{
|
{
|
||||||
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);
|
||||||
@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string
|
@@ -1598,7 +1617,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));
|
||||||
|
|
||||||
@ -1153,7 +1103,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
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));
|
||||||
@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d
|
@@ -1608,7 +1628,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;
|
||||||
@ -1162,7 +1112,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
{
|
{
|
||||||
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);
|
||||||
@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not
|
@@ -1880,6 +1900,8 @@ section [%2d] '%s': entry size does not
|
||||||
idx, section_name (ebl, idx));
|
idx, section_name (ebl, idx));
|
||||||
|
|
||||||
if (symshdr != NULL
|
if (symshdr != NULL
|
||||||
@ -1171,7 +1121,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
&& (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 ("\
|
||||||
@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind
|
@@ -1906,6 +1928,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);
|
||||||
@ -1184,7 +1134,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
|
|
||||||
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"));
|
||||||
@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i
|
@@ -1948,7 +1976,7 @@ section [%2d] '%s': hash table section i
|
||||||
|
|
||||||
size_t maxidx = nchain;
|
size_t maxidx = nchain;
|
||||||
|
|
||||||
@ -1193,7 +1143,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
{
|
{
|
||||||
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
||||||
|
|
||||||
@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i
|
@@ -1959,18 +1987,28 @@ section [%2d] '%s': hash table section i
|
||||||
maxidx = symsize;
|
maxidx = symsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1224,7 +1174,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i
|
@@ -2000,18 +2038,28 @@ section [%2d] '%s': hash table section i
|
||||||
maxidx = symsize;
|
maxidx = symsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1256,7 +1206,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow
|
@@ -2036,7 +2084,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 ("\
|
||||||
@ -1265,7 +1215,7 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
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;
|
||||||
@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to
|
@@ -2708,8 +2756,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. */
|
||||||
@ -1277,11 +1227,9 @@ Index: elfutils-0.155/src/elflint.c
|
|||||||
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),
|
||||||
Index: elfutils-0.155/src/readelf.c
|
--- elfutils/src/readelf.c
|
||||||
===================================================================
|
+++ elfutils/src/readelf.c
|
||||||
--- elfutils-0.155.orig/src/readelf.c
|
@@ -1363,6 +1363,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||||
+++ elfutils-0.155/src/readelf.c
|
|
||||||
@@ -1189,6 +1189,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;
|
||||||
@ -1290,7 +1238,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
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",
|
||||||
@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
@@ -1375,8 +1377,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),
|
||||||
@ -1301,7 +1249,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
?: gettext ("<INVALID SYMBOL>"),
|
?: gettext ("<INVALID SYMBOL>"),
|
||||||
data->d_size / sizeof (Elf32_Word) - 1);
|
data->d_size / sizeof (Elf32_Word) - 1);
|
||||||
|
|
||||||
@@ -1353,10 +1355,12 @@ static void
|
@@ -1527,10 +1529,12 @@ 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);
|
||||||
@ -1315,7 +1263,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
/* Get the data of the section. */
|
/* Get the data of the section. */
|
||||||
data = elf_getdata (scn, NULL);
|
data = elf_getdata (scn, NULL);
|
||||||
@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
@@ -1542,21 +1546,26 @@ 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"));
|
||||||
|
|
||||||
@ -1348,7 +1296,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
{
|
{
|
||||||
GElf_Dyn dynmem;
|
GElf_Dyn dynmem;
|
||||||
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
|
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
|
||||||
@@ -1531,7 +1540,8 @@ static void
|
@@ -1705,7 +1714,8 @@ static void
|
||||||
handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||||
{
|
{
|
||||||
int class = gelf_getclass (ebl->elf);
|
int class = gelf_getclass (ebl->elf);
|
||||||
@ -1358,7 +1306,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
/* Get the data of the section. */
|
/* Get the data of the section. */
|
||||||
Elf_Data *data = elf_getdata (scn, NULL);
|
Elf_Data *data = elf_getdata (scn, NULL);
|
||||||
@@ -1717,7 +1727,8 @@ static void
|
@@ -1891,7 +1901,8 @@ static void
|
||||||
handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||||
{
|
{
|
||||||
int class = gelf_getclass (ebl->elf);
|
int class = gelf_getclass (ebl->elf);
|
||||||
@ -1368,7 +1316,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
/* Get the data of the section. */
|
/* Get the data of the section. */
|
||||||
Elf_Data *data = elf_getdata (scn, NULL);
|
Elf_Data *data = elf_getdata (scn, NULL);
|
||||||
@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2138,6 +2149,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"));
|
||||||
|
|
||||||
@ -1382,7 +1330,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
/* 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)
|
||||||
@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2148,15 +2166,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);
|
||||||
@ -1399,7 +1347,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
fputs_unlocked (class == ELFCLASS32
|
fputs_unlocked (class == ELFCLASS32
|
||||||
? gettext ("\
|
? gettext ("\
|
||||||
@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
@@ -2392,7 +2407,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"));
|
||||||
|
|
||||||
@ -1414,7 +1362,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
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",
|
||||||
"\
|
"\
|
||||||
@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
@@ -2403,9 +2424,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,
|
||||||
@ -1425,7 +1373,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||||
@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2458,8 +2477,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"));
|
||||||
|
|
||||||
@ -1441,7 +1389,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
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",
|
||||||
"\
|
"\
|
||||||
@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2471,9 +2496,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,
|
||||||
@ -1452,7 +1400,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
unsigned int offset = 0;
|
unsigned int offset = 0;
|
||||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||||
@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
@@ -2735,25 +2758,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||||
filename = NULL;
|
filename = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1490,7 +1438,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
{
|
{
|
||||||
if (cnt % 2 == 0)
|
if (cnt % 2 == 0)
|
||||||
printf ("\n %4d:", cnt);
|
printf ("\n %4d:", cnt);
|
||||||
@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
@@ -2802,7 +2830,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]];
|
||||||
|
|
||||||
@ -1509,7 +1457,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
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",
|
||||||
"\
|
"\
|
||||||
@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
@@ -2815,9 +2853,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,
|
||||||
@ -1520,7 +1468,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
|
|
||||||
if (extrastr != NULL)
|
if (extrastr != NULL)
|
||||||
fputs (extrastr, stdout);
|
fputs (extrastr, stdout);
|
||||||
@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl)
|
@@ -3077,7 +3113,8 @@ print_liblist (Ebl *ebl)
|
||||||
|
|
||||||
if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
|
if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
|
||||||
{
|
{
|
||||||
@ -1530,7 +1478,7 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
|
\nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
|
||||||
"\
|
"\
|
||||||
@@ -4168,6 +4205,16 @@ print_debug_aranges_section (Dwfl_Module
|
@@ -4397,6 +4434,16 @@ print_decoded_aranges_section (Ebl *ebl,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1547,11 +1495,9 @@ Index: elfutils-0.155/src/readelf.c
|
|||||||
printf (ngettext ("\
|
printf (ngettext ("\
|
||||||
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
|
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
|
||||||
"\
|
"\
|
||||||
Index: elfutils-0.155/src/strip.c
|
--- elfutils/src/strip.c
|
||||||
===================================================================
|
+++ elfutils/src/strip.c
|
||||||
--- elfutils-0.155.orig/src/strip.c
|
@@ -565,6 +565,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
+++ elfutils-0.155/src/strip.c
|
|
||||||
@@ -580,6 +580,11 @@ handle_elf (int fd, Elf *elf, const char
|
|
||||||
goto fail_close;
|
goto fail_close;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1563,7 +1509,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
/* Storage for section information. We leave room for two more
|
/* Storage for section information. We leave room for two more
|
||||||
entries since we unconditionally create a section header string
|
entries since we unconditionally create a section header string
|
||||||
table. Maybe some weird tool created an ELF file without one.
|
table. Maybe some weird tool created an ELF file without one.
|
||||||
@@ -601,7 +606,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -586,7 +591,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
{
|
{
|
||||||
/* This should always be true (i.e., there should not be any
|
/* This should always be true (i.e., there should not be any
|
||||||
holes in the numbering). */
|
holes in the numbering). */
|
||||||
@ -1572,7 +1518,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
shdr_info[cnt].scn = scn;
|
shdr_info[cnt].scn = scn;
|
||||||
|
|
||||||
@@ -614,6 +619,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -599,6 +604,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
shdr_info[cnt].shdr.sh_name);
|
shdr_info[cnt].shdr.sh_name);
|
||||||
if (shdr_info[cnt].name == NULL)
|
if (shdr_info[cnt].name == NULL)
|
||||||
{
|
{
|
||||||
@ -1580,7 +1526,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
error (0, 0, gettext ("illformed file '%s'"), fname);
|
error (0, 0, gettext ("illformed file '%s'"), fname);
|
||||||
goto fail_close;
|
goto fail_close;
|
||||||
}
|
}
|
||||||
@@ -623,6 +629,8 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -608,6 +614,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
|
|
||||||
/* Remember the shdr.sh_link value. */
|
/* Remember the shdr.sh_link value. */
|
||||||
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
|
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
|
||||||
@ -1589,7 +1535,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
/* Sections in files other than relocatable object files which
|
/* Sections in files other than relocatable object files which
|
||||||
are not loaded can be freely moved by us. In relocatable
|
are not loaded can be freely moved by us. In relocatable
|
||||||
@@ -635,7 +643,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -620,7 +628,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
appropriate reference. */
|
appropriate reference. */
|
||||||
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
|
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
|
||||||
{
|
{
|
||||||
@ -1598,7 +1544,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
|
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
|
||||||
}
|
}
|
||||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
|
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
|
||||||
@@ -652,7 +660,12 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -637,7 +645,12 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
for (inner = 1;
|
for (inner = 1;
|
||||||
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
|
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
|
||||||
++inner)
|
++inner)
|
||||||
@ -1611,7 +1557,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
|
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
|
||||||
/* If the section group contains only one element and this
|
/* If the section group contains only one element and this
|
||||||
@@ -663,7 +676,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -648,7 +661,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
}
|
}
|
||||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
|
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
|
||||||
{
|
{
|
||||||
@ -1620,7 +1566,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
|
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -671,7 +684,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -656,7 +669,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
discarded right away. */
|
discarded right away. */
|
||||||
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
|
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
|
||||||
{
|
{
|
||||||
@ -1629,7 +1575,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
|
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
|
||||||
{
|
{
|
||||||
@@ -747,10 +760,14 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -732,10 +745,14 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
{
|
{
|
||||||
/* If a relocation section is marked as being removed make
|
/* If a relocation section is marked as being removed make
|
||||||
sure the section it is relocating is removed, too. */
|
sure the section it is relocating is removed, too. */
|
||||||
@ -1647,7 +1593,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
/* If a group section is marked as being removed make
|
/* If a group section is marked as being removed make
|
||||||
sure all the sections it contains are being removed, too. */
|
sure all the sections it contains are being removed, too. */
|
||||||
@@ -794,7 +811,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -779,7 +796,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
if (shdr_info[cnt].symtab_idx != 0
|
if (shdr_info[cnt].symtab_idx != 0
|
||||||
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
|
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
|
||||||
{
|
{
|
||||||
@ -1656,7 +1602,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
shdr_info[shdr_info[cnt].symtab_idx].data
|
shdr_info[shdr_info[cnt].symtab_idx].data
|
||||||
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||||
@@ -834,6 +851,9 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -819,6 +836,9 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
else if (scnidx == SHN_XINDEX)
|
else if (scnidx == SHN_XINDEX)
|
||||||
scnidx = xndx;
|
scnidx = xndx;
|
||||||
|
|
||||||
@ -1666,7 +1612,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
if (shdr_info[scnidx].idx == 0)
|
if (shdr_info[scnidx].idx == 0)
|
||||||
/* This symbol table has a real symbol in
|
/* This symbol table has a real symbol in
|
||||||
a discarded section. So preserve the
|
a discarded section. So preserve the
|
||||||
@@ -864,12 +884,16 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -849,12 +869,16 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle references through sh_info. */
|
/* Handle references through sh_info. */
|
||||||
@ -1685,7 +1631,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
/* Mark the section as investigated. */
|
/* Mark the section as investigated. */
|
||||||
shdr_info[cnt].idx = 2;
|
shdr_info[cnt].idx = 2;
|
||||||
@@ -1010,7 +1034,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -995,7 +1019,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
|
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
|
||||||
elf_errmsg (-1));
|
elf_errmsg (-1));
|
||||||
|
|
||||||
@ -1694,7 +1640,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
/* Add this name to the section header string table. */
|
/* Add this name to the section header string table. */
|
||||||
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
|
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
|
||||||
@@ -1047,7 +1071,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1032,7 +1056,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("while create section header section: %s"),
|
gettext ("while create section header section: %s"),
|
||||||
elf_errmsg (-1));
|
elf_errmsg (-1));
|
||||||
@ -1703,7 +1649,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
|
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
|
||||||
if (shdr_info[cnt].data == NULL)
|
if (shdr_info[cnt].data == NULL)
|
||||||
@@ -1103,7 +1127,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1089,7 +1113,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
error (EXIT_FAILURE, 0,
|
error (EXIT_FAILURE, 0,
|
||||||
gettext ("while create section header section: %s"),
|
gettext ("while create section header section: %s"),
|
||||||
elf_errmsg (-1));
|
elf_errmsg (-1));
|
||||||
@ -1712,7 +1658,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
/* Finalize the string table and fill in the correct indices in the
|
/* Finalize the string table and fill in the correct indices in the
|
||||||
section headers. */
|
section headers. */
|
||||||
@@ -1193,20 +1217,20 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1179,20 +1203,20 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
@ -1736,7 +1682,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
>= shdr_info[cnt].data->d_size / elsize);
|
>= shdr_info[cnt].data->d_size / elsize);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1261,7 +1285,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1247,7 +1271,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
sec = shdr_info[sym->st_shndx].idx;
|
sec = shdr_info[sym->st_shndx].idx;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1745,7 +1691,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
sec = shdr_info[xshndx].idx;
|
sec = shdr_info[xshndx].idx;
|
||||||
}
|
}
|
||||||
@@ -1282,7 +1306,7 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1268,7 +1292,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
nxshndx = sec;
|
nxshndx = sec;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1754,7 +1700,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
if ((inner != destidx || nshndx != sym->st_shndx
|
if ((inner != destidx || nshndx != sym->st_shndx
|
||||||
|| (shndxdata != NULL && nxshndx != xshndx))
|
|| (shndxdata != NULL && nxshndx != xshndx))
|
||||||
@@ -1309,9 +1333,11 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1295,9 +1319,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
{
|
{
|
||||||
size_t sidx = (sym->st_shndx != SHN_XINDEX
|
size_t sidx = (sym->st_shndx != SHN_XINDEX
|
||||||
? sym->st_shndx : xshndx);
|
? sym->st_shndx : xshndx);
|
||||||
@ -1769,7 +1715,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1499,11 +1525,11 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1485,11 +1511,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
{
|
{
|
||||||
GElf_Sym sym_mem;
|
GElf_Sym sym_mem;
|
||||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||||
@ -1783,7 +1729,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
size_t hidx = elf_hash (name) % nbucket;
|
size_t hidx = elf_hash (name) % nbucket;
|
||||||
|
|
||||||
if (bucket[hidx] == 0)
|
if (bucket[hidx] == 0)
|
||||||
@@ -1522,8 +1548,8 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1508,8 +1534,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
|
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
|
||||||
@ -1794,7 +1740,7 @@ Index: elfutils-0.155/src/strip.c
|
|||||||
|
|
||||||
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
|
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
|
||||||
|
|
||||||
@@ -1553,11 +1579,11 @@ handle_elf (int fd, Elf *elf, const char
|
@@ -1539,11 +1565,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||||
{
|
{
|
||||||
GElf_Sym sym_mem;
|
GElf_Sym sym_mem;
|
||||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||||
|
@ -1,38 +0,0 @@
|
|||||||
Index: elfutils-0.155/src/ar.c
|
|
||||||
===================================================================
|
|
||||||
--- elfutils-0.155.orig/src/ar.c
|
|
||||||
+++ elfutils-0.155/src/ar.c
|
|
||||||
@@ -461,7 +461,7 @@ do_oper_extract (int oper, const char *a
|
|
||||||
long int instance)
|
|
||||||
{
|
|
||||||
bool found[argc];
|
|
||||||
- memset (found, '\0', sizeof (found));
|
|
||||||
+ memset (found, '\0', sizeof (bool) * argc);
|
|
||||||
|
|
||||||
size_t name_max = 0;
|
|
||||||
inline bool should_truncate_fname (void)
|
|
||||||
@@ -919,7 +919,7 @@ do_oper_delete (const char *arfname, cha
|
|
||||||
long int instance)
|
|
||||||
{
|
|
||||||
bool *found = alloca (sizeof (bool) * argc);
|
|
||||||
- memset (found, '\0', sizeof (found));
|
|
||||||
+ memset (found, '\0', sizeof (bool) * argc);
|
|
||||||
|
|
||||||
/* List of the files we keep. */
|
|
||||||
struct armem *to_copy = NULL;
|
|
||||||
Index: elfutils-0.155/src/nm.c
|
|
||||||
===================================================================
|
|
||||||
--- elfutils-0.155.orig/src/nm.c
|
|
||||||
+++ elfutils-0.155/src/nm.c
|
|
||||||
@@ -769,8 +769,9 @@ show_symbols_sysv (Ebl *ebl, GElf_Word s
|
|
||||||
gelf_getshdr (scn, &shdr_mem)->sh_name);
|
|
||||||
if (unlikely (name == NULL))
|
|
||||||
{
|
|
||||||
- name = alloca (sizeof "[invalid sh_name 0x12345678]");
|
|
||||||
- snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
|
|
||||||
+ size_t len = sizeof "[invalid sh_name 0x12345678]";
|
|
||||||
+ name = alloca (len);
|
|
||||||
+ snprintf (name, len, "[invalid sh_name %#" PRIx32 "]",
|
|
||||||
gelf_getshdr (scn, &shdr_mem)->sh_name);
|
|
||||||
}
|
|
||||||
scnnames[elf_ndxscn (scn)] = name;
|
|
@ -1,3 +1,39 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 13 12:12:20 UTC 2013 - sweet_f_a@gmx.de
|
||||||
|
|
||||||
|
- update to 0.157:
|
||||||
|
libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr
|
||||||
|
and dwarf_getlocation_die.
|
||||||
|
readelf: Show contents of NT_SIGINFO and NT_FILE core notes.
|
||||||
|
addr2line: Support -i, --inlines output option.
|
||||||
|
backends: abi_cfi hook for arm, ppc and s390.
|
||||||
|
- update to 0.156:
|
||||||
|
lib: New macro COMPAT_VERSION_NEWPROTO.
|
||||||
|
libdw: Handle GNU extension opcodes in dwarf_getlocation.
|
||||||
|
libdwfl: Fix STB_GLOBAL over STB_WEAK preference in dwfl_module_addrsym.
|
||||||
|
Add minisymtab support.
|
||||||
|
Add parameter add_p_vaddr to dwfl_report_elf.
|
||||||
|
Use DT_DEBUG library search first.
|
||||||
|
libebl: Handle new core note types in EBL.
|
||||||
|
backends: Interpret NT_ARM_VFP.
|
||||||
|
Implement core file registers parsing for s390/s390x.
|
||||||
|
readelf: Add --elf-section input option to inspect an embedded ELF file.
|
||||||
|
Add -U, --unresolved-address-offsets output control.
|
||||||
|
Add --debug-dump=decodedline support.
|
||||||
|
Accept version 8 .gdb_index section format.
|
||||||
|
Adjust output formatting width.
|
||||||
|
When highpc is in constant form print it also as address.
|
||||||
|
Display raw .debug_aranges. Use libdw only for decodedaranges.
|
||||||
|
elflint: Add __bss_start__ to the list of allowed symbols.
|
||||||
|
tests: Add configure --enable-valgrind option to run all tests under valgrind.
|
||||||
|
Enable automake parallel-tests for make check.
|
||||||
|
translations: Updated Polish translation.
|
||||||
|
Updates for Automake 1.13.
|
||||||
|
- remove elfutils-aarch64.patch and elfutils-sizeof-pointer-memaccess.patch
|
||||||
|
(fixed by upstream)
|
||||||
|
- rebase elfutils-robustify.patch and elfutils-portability.patch, they are
|
||||||
|
provided by ustream
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jun 18 16:05:13 UTC 2013 - schwab@suse.de
|
Tue Jun 18 16:05:13 UTC 2013 - schwab@suse.de
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: elfutils
|
Name: elfutils
|
||||||
Version: 0.155
|
Version: 0.157
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Higher-level library to access ELF
|
Summary: Higher-level library to access ELF
|
||||||
License: SUSE-GPL-2.0-with-OSI-exception
|
License: SUSE-GPL-2.0-with-OSI-exception
|
||||||
@ -26,16 +26,14 @@ Url: http://elfutils.fedorahosted.org
|
|||||||
Source: https://fedorahosted.org/releases/e/l/%{name}/%{version}/%{name}-%{version}.tar.bz2
|
Source: https://fedorahosted.org/releases/e/l/%{name}/%{version}/%{name}-%{version}.tar.bz2
|
||||||
Source1: README-BEFORE-ADDING-PATCHES
|
Source1: README-BEFORE-ADDING-PATCHES
|
||||||
Source2: baselibs.conf
|
Source2: baselibs.conf
|
||||||
Patch1: elfutils-portability.patch
|
Patch1: https://fedorahosted.org/releases/e/l/%{name}/%{version}/elfutils-portability.patch
|
||||||
Patch2: elfutils-robustify.patch
|
Patch2: https://fedorahosted.org/releases/e/l/%{name}/%{version}/elfutils-robustify.patch
|
||||||
Patch3: elfutils-no-po-test-build.diff
|
Patch3: elfutils-no-po-test-build.diff
|
||||||
Patch4: libebl-prototype-fix.diff
|
Patch4: libebl-prototype-fix.diff
|
||||||
Patch5: elfutils-uninitialized.diff
|
Patch5: elfutils-uninitialized.diff
|
||||||
Patch6: elfutils-0.137-dwarf-header-check-fix.diff
|
Patch6: elfutils-0.137-dwarf-header-check-fix.diff
|
||||||
Patch7: elfutils-0.148-dont-crash.diff
|
Patch7: elfutils-0.148-dont-crash.diff
|
||||||
Patch8: elfutils-revert-portability-scanf.patch
|
Patch8: elfutils-revert-portability-scanf.patch
|
||||||
Patch9: elfutils-aarch64.patch
|
|
||||||
Patch10: elfutils-sizeof-pointer-memaccess.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
@ -146,8 +144,6 @@ to develop applications that require these.
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1 -R
|
%patch8 -p1 -R
|
||||||
%patch9 -p1
|
|
||||||
%patch10 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Change DATE/TIME macros to use last change time of elfutils.changes
|
# Change DATE/TIME macros to use last change time of elfutils.changes
|
||||||
|
Loading…
Reference in New Issue
Block a user