If building on 32bit host and creating 64bit libraries, the target
package builds should not invoke the 32bit hosts's ar.  Specifically
you will get an error message like:

x86_64-linux-gcc  -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Llibs/x86emu v86_x86emu.o 
v86_mem.o v86_common.o  v86.o -lx86emu -o v86d
libs/x86emu/libx86emu.a: could not read symbols: Archive has no index; run 
ranlib to add one
collect2: error: ld returned 1 exit status

Signed-off-by: Jason Wessel <jason.wes...@windriver.com>
---
 meta/recipes-bsp/v86d/v86d/ar-from-env.patch |   33 ++++++++++++++++++++++++++
 meta/recipes-bsp/v86d/v86d_0.1.10.bb         |    5 ++-
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-bsp/v86d/v86d/ar-from-env.patch

diff --git a/meta/recipes-bsp/v86d/v86d/ar-from-env.patch 
b/meta/recipes-bsp/v86d/v86d/ar-from-env.patch
new file mode 100644
index 0000000..1dcbc71
--- /dev/null
+++ b/meta/recipes-bsp/v86d/v86d/ar-from-env.patch
@@ -0,0 +1,33 @@
+Fix cross link using host-cross ar
+
+If building on 32bit host and creating 64bit libraries, the target
+package builds should not invoke the 32bit hosts's ar.  Specifically
+you will get an error message like:
+
+x86_64-linux-gcc  -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Llibs/x86emu v86_x86emu.o 
v86_mem.o v86_common.o  v86.o -lx86emu -o v86d
+libs/x86emu/libx86emu.a: could not read symbols: Archive has no index; run 
ranlib to add one
+collect2: error: ld returned 1 exit status
+
+Signed-off-by: Jason Wessel <jason.wes...@windriver.com>
+
+Upstream-Status: Pending
+
+---
+ libs/x86emu/Makefile |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/libs/x86emu/Makefile
++++ b/libs/x86emu/Makefile
+@@ -1,7 +1,11 @@
+ OBJS = decode.o fpu.o ops.o ops2.o prim_ops.o sys.o
+ 
++ifeq ($(AR),)
++      AR = ar
++endif
++
+ libx86emu.a: $(OBJS)
+-      ar rv $@ $+
++      $(AR) rv $@ $+
+ 
+ %.o: %.c
+       $(CC) -c $(CFLAGS) -o $@ $<
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.10.bb 
b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
index 70db6ad..ce1fe7a 100644
--- a/meta/recipes-bsp/v86d/v86d_0.1.10.bb
+++ b/meta/recipes-bsp/v86d/v86d_0.1.10.bb
@@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = 
"file://README;md5=94ac1971e4f2309dc322d598e7b1f7dd"
 
 DEPENDS = "virtual/kernel"
 RRECOMMENDS_${PN} = "kernel-module-uvesafb"
-PR = "r0"
+PR = "r1"
 
 SRC_URI = 
"http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-${PV}.tar.bz2 \
-           file://fbsetup"
+           file://fbsetup \
+           file://ar-from-env.patch"
 
 SRC_URI[md5sum] = "51c792ba7b874ad8c43f0d3da4cfabe0"
 SRC_URI[sha256sum] = 
"634964ae18ef68c8493add2ce150e3b4502badeb0d9194b4bd81241d25e6735c"
-- 
1.7.1


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to