From 87381753d4b010ea86624cc373293e77a131235d Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Thu, 24 Jun 2010 06:38:08 -0700 Subject: [PATCH] elfutils: add a patch to fix latest prelink build Signed-off-by: Nitin A Kamble --- .../elfutils-0.131/prelink_build_fix.patch | 70 +++++++++++++++++++ meta/packages/elfutils/elfutils_0.131.bb | 5 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 meta/packages/elfutils/elfutils-0.131/prelink_build_fix.patch 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 0000000000..3c3cf79d91 --- /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 + +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 4169b31d27..4ecbf57458 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