| Submitter | Jason Wessel |
|---|---|
| Date | June 8, 2012, 9:57 p.m. |
| Message ID | <1339192676-9335-1-git-send-email-jason.wessel@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/29549/ |
| State | Accepted |
| Commit | 4bb926513084dfa6ebf5598a177239315530276e |
| Headers | show |
Comments
On Fri, 2012-06-08 at 16:57 -0500, Jason Wessel wrote: > 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.wessel@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 Merged to master, thanks. Richard
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.wessel@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"
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.wessel@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