summaryrefslogtreecommitdiff
path: root/meta/packages/elfutils/elfutils-0.148
diff options
context:
space:
mode:
authorMark Hatle <mhatle@windriver.com>2010-08-18 15:23:50 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-19 20:00:36 +0100
commit84d96bac339716d7ac4d90688c552896815bacd8 (patch)
tree00633091828761d47291544327348c021c828749 /meta/packages/elfutils/elfutils-0.148
parentf5dcdf918110ed8033a0e4ee80fbf29e6816fef4 (diff)
downloadopenembedded-core-84d96bac339716d7ac4d90688c552896815bacd8.tar.gz
openembedded-core-84d96bac339716d7ac4d90688c552896815bacd8.tar.bz2
openembedded-core-84d96bac339716d7ac4d90688c552896815bacd8.tar.xz
openembedded-core-84d96bac339716d7ac4d90688c552896815bacd8.zip
elfutils: Add GNU_HASH support to elf*_xlatetof
Add GNU_HASH and LIB types to the size table used by elf*_xlatetof in order to avoid a divide by zero error. Signed-off-by: Mark Hatle <mhatle@windriver.com>
Diffstat (limited to 'meta/packages/elfutils/elfutils-0.148')
-rw-r--r--meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch b/meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch
new file mode 100644
index 000000000..9cf9cef52
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch
@@ -0,0 +1,37 @@
+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] = {