diff options
author | Mark Hatle <mhatle@windriver.com> | 2010-08-18 15:23:50 -0700 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-19 20:00:36 +0100 |
commit | 84d96bac339716d7ac4d90688c552896815bacd8 (patch) | |
tree | 00633091828761d47291544327348c021c828749 /meta | |
parent | f5dcdf918110ed8033a0e4ee80fbf29e6816fef4 (diff) | |
download | poky-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.patch | 37 | ||||
-rw-r--r-- | meta/packages/elfutils/elfutils_0.148.bb | 3 |
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 @@ | |||
1 | The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table. | ||
2 | |||
3 | This could cause a failure in the elf*_xlatetof function. | ||
4 | |||
5 | diff -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 | ||
24 | diff -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" |
7 | DEPENDS = "libtool" | 7 | DEPENDS = "libtool" |
8 | 8 | ||
9 | PR = "r0" | 9 | PR = "r1" |
10 | 10 | ||
11 | SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2" | 11 | SRC_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, |