summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/packages/elfutils/elfutils-0.131/prelink_build_fix.patch70
-rw-r--r--meta/packages/elfutils/elfutils_0.131.bb5
2 files changed, 74 insertions, 1 deletions
diff --git a/meta/packages/elfutils/elfutils-0.131/prelink_build_fix.patch b/meta/packages/elfutils/elfutils-0.131/prelink_build_fix.patch
new file mode 100644
index 000000000..3c3cf79d9
--- /dev/null
+++ b/meta/packages/elfutils/elfutils-0.131/prelink_build_fix.patch
@@ -0,0 +1,70 @@
+newer prelink building (configure) fails like this
+ checking libelf.h usability... no
+ checking libelf.h presence... yes
+ configure: WARNING: libelf.h: present but cannot be compiled
+
+Found a bug report suggesting fix for the issue here:
+ http://bugs.gentoo.org/204502
+The bug report says:
+------- Comment #7 From SpanKY 2008-01-06 04:53:16 0000 [reply] -------
+do `sed -i 's:off64_t:__off64_t:'` on libelf.h ... that lets me build prelink
+
+2010/06/24
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+
+Index: elfutils-0.131/libelf/libelf.h
+===================================================================
+--- elfutils-0.131.orig/libelf/libelf.h
++++ elfutils-0.131/libelf/libelf.h
+@@ -95,7 +95,7 @@ typedef struct
+ Elf_Type d_type; /* Type of this piece of data. */
+ unsigned int d_version; /* ELF version. */
+ size_t d_size; /* Size in bytes. */
+- off64_t d_off; /* Offset into section. */
++ __off64_t d_off; /* Offset into section. */
+ size_t d_align; /* Alignment in section. */
+ } Elf_Data;
+
+@@ -157,7 +157,7 @@ typedef struct
+ uid_t ar_uid; /* User ID. */
+ gid_t ar_gid; /* Group ID. */
+ mode_t ar_mode; /* File mode. */
+- off64_t ar_size; /* File size. */
++ __off64_t ar_size; /* File size. */
+ char *ar_rawname; /* Original name of archive member. */
+ } Elf_Arhdr;
+
+@@ -198,13 +198,13 @@ extern Elf_Cmd elf_next (Elf *__elf);
+ extern int elf_end (Elf *__elf);
+
+ /* Update ELF descriptor and write file to disk. */
+-extern off64_t elf_update (Elf *__elf, Elf_Cmd __cmd);
++extern __off64_t elf_update (Elf *__elf, Elf_Cmd __cmd);
+
+ /* Determine what kind of file is associated with ELF. */
+ extern Elf_Kind elf_kind (Elf *__elf) __attribute__ ((__pure__));
+
+ /* Get the base offset for an object file. */
+-extern off64_t elf_getbase (Elf *__elf);
++extern __off64_t elf_getbase (Elf *__elf);
+
+
+ /* Retrieve file identification data. */
+@@ -302,7 +302,7 @@ extern Elf_Data *elf_newdata (Elf_Scn *_
+ would be for TYPE. The resulting Elf_Data pointer is valid until
+ elf_end (ELF) is called. */
+ extern Elf_Data *elf_getdata_rawchunk (Elf *__elf,
+- off64_t __offset, size_t __size,
++ __off64_t __offset, size_t __size,
+ Elf_Type __type);
+
+
+@@ -314,7 +314,7 @@ extern char *elf_strptr (Elf *__elf, siz
+ extern Elf_Arhdr *elf_getarhdr (Elf *__elf);
+
+ /* Return offset in archive for current file ELF. */
+-extern off64_t elf_getaroff (Elf *__elf);
++extern __off64_t elf_getaroff (Elf *__elf);
+
+ /* Select archive element at OFFSET. */
+ extern size_t elf_rand (Elf *__elf, size_t __offset);
diff --git a/meta/packages/elfutils/elfutils_0.131.bb b/meta/packages/elfutils/elfutils_0.131.bb
index 4169b31d2..4ecbf5745 100644
--- a/meta/packages/elfutils/elfutils_0.131.bb
+++ b/meta/packages/elfutils/elfutils_0.131.bb
@@ -3,10 +3,13 @@ LICENSE = "OSL"
DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
DEPENDS = "libtool"
+PR = "r1"
+
SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
file://warnings.patch;patch=1 \
file://gcc-4.3_support.diff;patch=1 \
- file://gnu_inline.diff;patch=1"
+ file://gnu_inline.diff;patch=1 \
+ file://prelink_build_fix.patch"
inherit autotools