summaryrefslogtreecommitdiffstats
path: root/meta
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
parentf5dcdf918110ed8033a0e4ee80fbf29e6816fef4 (diff)
downloadpoky-84d96bac339716d7ac4d90688c552896815bacd8.tar.gz
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')
-rw-r--r--meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch37
-rw-r--r--meta/packages/elfutils/elfutils_0.148.bb3
2 files changed, 39 insertions, 1 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 0000000000..9cf9cef525
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.148/elfutils-fsize.patch
@@ -0,0 +1,37 @@
1The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table.
2
3This could cause a failure in the elf*_xlatetof function.
4
5diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h
6--- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800
7+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700
8@@ -94,6 +94,7 @@
9 Vernaux32 (Ext_);
10 Syminfo32 (Ext_);
11 Move32 (Ext_);
12+Lib32 (Ext_);
13 auxv_t32 (Ext_);
14
15 Ehdr64 (Ext_);
16@@ -110,6 +111,7 @@
17 Vernaux64 (Ext_);
18 Syminfo64 (Ext_);
19 Move64 (Ext_);
20+Lib64 (Ext_);
21 auxv_t64 (Ext_);
22
23 #undef START
24diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c
25--- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800
26+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700
27@@ -87,7 +87,9 @@
28 [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
29 [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
30 [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
31- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t))
32+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
33+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
34+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
35 TYPE_SIZES (32)
36 },
37 [ELFCLASS64 - 1] = {
diff --git a/meta/packages/elfutils/elfutils_0.148.bb b/meta/packages/elfutils/elfutils_0.148.bb
index 3922222f4d..18887e4b96 100644
--- a/meta/packages/elfutils/elfutils_0.148.bb
+++ b/meta/packages/elfutils/elfutils_0.148.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
6 file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417" 6 file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
7DEPENDS = "libtool" 7DEPENDS = "libtool"
8 8
9PR = "r0" 9PR = "r1"
10 10
11SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2" 11SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
12 12
@@ -23,6 +23,7 @@ SRC_URI += "\
23 file://do-autoreconf.diff \ 23 file://do-autoreconf.diff \
24 file://testsuite-ignore-elflint.diff \ 24 file://testsuite-ignore-elflint.diff \
25 file://elf_additions.diff \ 25 file://elf_additions.diff \
26 file://elfutils-fsize.patch \
26" 27"
27 28
28# The buildsystem wants to generate 2 .h files from source using a binary it just built, 29# The buildsystem wants to generate 2 .h files from source using a binary it just built,