boot/syslinux: fix i386 bios build with recent binutils
authorArnout Vandecappelle <arnout@mind.be>
Tue, 15 Aug 2017 22:45:46 +0000 (00:45 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 16 Aug 2017 20:54:03 +0000 (22:54 +0200)
commit11089e20624052dbef4c3960713ba3c8b5ddc30c
tree7721cc226925d85250a1e19326f2de548742c2ed
parent4867d07d354a0f2edb9df37c0dc9b64e840aa8d9
boot/syslinux: fix i386 bios build with recent binutils

When we use the cross-compiler to build syslinux with a recent binutils
version, it fails with:

/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld  -Bsymbolic -pie -E --hash-style=gnu -T
/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \
--start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N
--no-omagic \
> ldlinux.map
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value
/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed

Backport an upstream patch that reorganises the i386 bios build by
removing some symbols and making others hidden. To simplify the
backport, an additional patch that also touches the link script is
also included - it anyway looks like that patch could be relevant as
well.

Partially fixes: https://gitlab.com/arnout/buildroot/-/jobs/28979377

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/syslinux/0009-bios-Don-t-try-to-guess-the-sections-alignment.patch [new file with mode: 0644]
boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch [new file with mode: 0644]