40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
Upstream-Status: Backport
|
|
|
|
The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table.
|
|
|
|
This could cause a failure in the elf*_xlatetof function.
|
|
|
|
diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h
|
|
--- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800
|
|
+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700
|
|
@@ -94,6 +94,7 @@
|
|
Vernaux32 (Ext_);
|
|
Syminfo32 (Ext_);
|
|
Move32 (Ext_);
|
|
+Lib32 (Ext_);
|
|
auxv_t32 (Ext_);
|
|
|
|
Ehdr64 (Ext_);
|
|
@@ -110,6 +111,7 @@
|
|
Vernaux64 (Ext_);
|
|
Syminfo64 (Ext_);
|
|
Move64 (Ext_);
|
|
+Lib64 (Ext_);
|
|
auxv_t64 (Ext_);
|
|
|
|
#undef START
|
|
diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c
|
|
--- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800
|
|
+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700
|
|
@@ -87,7 +87,9 @@
|
|
[ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
|
|
[ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
|
|
[ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
|
|
- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t))
|
|
+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
|
|
+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
|
|
+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
|
|
TYPE_SIZES (32)
|
|
},
|
|
[ELFCLASS64 - 1] = {
|