summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch')
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch b/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch
new file mode 100644
index 0000000000..0ff353d0de
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch
@@ -0,0 +1,39 @@
1Upstream-Status: Backport
2
3The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table.
4
5This could cause a failure in the elf*_xlatetof function.
6
7diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h
8--- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800
9+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700
10@@ -94,6 +94,7 @@
11 Vernaux32 (Ext_);
12 Syminfo32 (Ext_);
13 Move32 (Ext_);
14+Lib32 (Ext_);
15 auxv_t32 (Ext_);
16
17 Ehdr64 (Ext_);
18@@ -110,6 +111,7 @@
19 Vernaux64 (Ext_);
20 Syminfo64 (Ext_);
21 Move64 (Ext_);
22+Lib64 (Ext_);
23 auxv_t64 (Ext_);
24
25 #undef START
26diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c
27--- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800
28+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700
29@@ -87,7 +87,9 @@
30 [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
31 [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
32 [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
33- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t))
34+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
35+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
36+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
37 TYPE_SIZES (32)
38 },
39 [ELFCLASS64 - 1] = {