[PATCH 72/73] syslinux: Set LD to avoid using build host ld

Khem Raj
2016-01-17T11:38:03Z

base ld is used during link phase and since its x86 so it
works mostly, however it can cause problems depending upon
build host. During cross build we should use cross linker
Fixes errors e.g.

ld -shared -m elf_i386 --hash-style=gnu -T
/home/ubuntu/work/oe/openembedded-core/build/tmp-glibc/work/i586-oe-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/i386/elf.ld
-soname libcom32.c32 -o libcom32.elf zlib/adler32.o zlib/compress.
o zlib/crc32.o zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o
zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o sys/zfile.o
sys/zfopen.o libpng/png.o libpng/pngset.o libpng/pngget.o
libpng/pngrutil.o libpng/pngtrans.o
libpng/pngwutil.o libpng/pngread.o libpng/pngrio.o libpng/pngwio.o
libpng/pngwrite.o libpng/pngrtran.o libpng/pngwtran.o libpng/pngmem.o
libpng/pngerror.o libpng/pngpread.o jpeg/tinyjpeg.o jpeg/jidctflt.o
jpeg/decode1.o jpeg/decode3.o jpe
g/rgb24.o jpeg/bgr24.o jpeg/yuv420p.o jpeg/grey.o jpeg/rgba32.o
jpeg/bgra32.o pci/cfgtype.o pci/scan.o pci/bios.o pci/readb.o
pci/readw.o pci/readl.o pci/writeb.o pci/writew.o pci/writel.o
sys/vesacon_write.o sys/vesaserial_write.o sys/ve
sa/initvesa.o sys/vesa/drawtxt.o sys/vesa/background.o
sys/vesa/alphatbl.o sys/vesa/screencpy.o sys/vesa/fmtpixel.o
sys/vesa/i915resolution.o syslinux/reboot.o syslinux/keyboard.o
syslinux/version.o syslinux/pxe_get_cached.o syslinux/pxe_get_nic.o
syslinux/pxe_dns.o syslinux/video/fontquery.o
syslinux/video/reportmode.o syslinux/addlist.o syslinux/freelist.o
syslinux/memmap.o syslinux/movebits.o syslinux/shuffle.o
syslinux/shuffle_pm.o syslinux/shuffle_rm.o syslinux/bios$oot.o
syslinux/zonelist.o syslinux/dump_mmap.o syslinux/dump_movelist.o
syslinux/run_default.o syslinux/run_command.o syslinux/cleanup.o
syslinux/localboot.o syslinux/runimage.o syslinux/loadfile.o
syslinux/floadfile.o syslinux/zloadfile$o syslinux/load_linux.o
syslinux/initramfs.o syslinux/initramfs_file.o
syslinux/initramfs_loadfile.o syslinux/initramfs_archive.o sys/libansi.o
sys/gpxe.o atexit.o onexit.o abort.o
| ld: zlib/deflate.o: unrecognized relocation (0x2b) in section `.text'
| ld: final link failed: Bad value
| make[4]: *** [libcom32.elf] Error 1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/recipes-devtools/syslinux/syslinux_6.03.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/syslinux/syslinux_6.03.bb b/meta/recipes-devtools/syslinux/syslinux_6.03.bb
index 8534528..51d5474 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.03.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.03.bb
@@ -59,11 +59,11 @@ do_compile() {

# Rebuild only the installer; keep precompiled bootloaders
# as per author's request (doc/distrib.txt)
- oe_runmake CC="${CC} ${CFLAGS}" LDFLAGS="${LDFLAGS}" firmware="bios" installer
+ oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" LDFLAGS="${LDFLAGS}" firmware="bios" installer
}

do_install() {
- oe_runmake CC="${CC} ${CFLAGS}" install INSTALLROOT="${D}" firmware="bios"
+ oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" install INSTALLROOT="${D}" firmware="bios"

install -d ${D}${datadir}/syslinux/
install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/
--
2.7.0