]> code.ossystems Code Review - openembedded-core.git/commitdiff
elfutils_0.148.bb: Fix compilation issues on uclibc
authorKhem Raj <raj.khem@gmail.com>
Fri, 1 Apr 2011 03:52:54 +0000 (20:52 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 28 Apr 2011 08:52:27 +0000 (09:52 +0100)
* Add -luargp and -lintl to linker flags
* __mempcpy is not there on uclibc so define it to mempcpy

Signed-off-by: Khem Raj <raj.khem@gmail.com>
meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch [new file with mode: 0644]
meta/recipes-devtools/elfutils/elfutils_0.148.bb

diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch
new file mode 100644 (file)
index 0000000..e1e4ad0
--- /dev/null
@@ -0,0 +1,23 @@
+uclibc does not export __mempcpy like glibc so we alias it here.
+This patch may make sense for upstream but elfutils uses more
+glibc specific features like obstack_printf which are missing in
+uclibc they need to be fixed along to make it work all the way
+
+Upstream-status: Inappropriate[Elfutils uses more glibc specific features]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: elfutils-0.148/libelf/elf_begin.c
+===================================================================
+--- elfutils-0.148.orig/libelf/elf_begin.c
++++ elfutils-0.148/libelf/elf_begin.c
+@@ -68,6 +68,9 @@
+ #include "libelfP.h"
+ #include "common.h"
++#ifdef __UCLIBC__
++#define __mempcpy mempcpy
++#endif
+ /* Create descriptor for archive in memory.  */
+ static inline Elf *
index a55b98d1e74ecb7d90b43dfff58f2f912e13b1ea..df933f61aeb15e08fcbf8d596f24ac1da9bbf3e0 100644 (file)
@@ -28,8 +28,8 @@ SRC_URI += "\
         file://elf_additions.diff \
        file://elfutils-fsize.patch \
        file://remove-unused.patch \
+       file://mempcpy.patch \
 "
-
 # The buildsystem wants to generate 2 .h files from source using a binary it just built,
 # which can not pass the cross compiling, so let's work around it by adding 2 .h files
 # along with the do_configure_prepend()
@@ -38,7 +38,6 @@ SRC_URI += "\
         file://i386_dis.h \
         file://x86_64_dis.h \
 "
-
 inherit autotools
 
 EXTRA_OECONF = "--program-prefix=eu-"
@@ -49,6 +48,9 @@ do_configure_prepend() {
        cp ${WORKDIR}/*dis.h ${S}/libcpu
 }
 
+# Only append ldflags for target recipe
+TARGET_LDFLAGS_libc-uclibc += "${@['', '-lintl -luargp']['${PN}' == '${BPN}']}"
+
 BBCLASSEXTEND = "native nativesdk"
 
 # Package utilities separately