]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commit
syslinux: build with the target toolchain
authorBenoît Allard <benoit.allard@greenbone.net>
Fri, 7 Apr 2017 09:05:13 +0000 (11:05 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 8 Apr 2017 14:07:49 +0000 (16:07 +0200)
commit6e432d5ecb46959f3c27dbbca48e41512bb40a70
tree9a740d4167d7b281cd55bcec339be6b9bd882dac
parenta4d8252ee940bfcf2ad3261ea9f9a87e99d0056f
syslinux: build with the target toolchain

Until now, the host toolchain was used to build syslinux, as it was
not possible to build a 32-bit syslinux with a x86-64 toolchain.

However, syslinux requires gnu-efi, and gnu-efi is built using the
target toolchain. Mixing different toolchains doesn't work well, so
this commit changes the syslinux package to use the target toolchain
for syslinux as well. This is made possible by patches
0003-Fix-ldlinux.elf-Not-enough-room-for-program-headers-.patch and
0004-memdisk-Force-ld-output-format-to-32-bits.patch.

Since syslinux also contains some utilities that have to run on the
host, those have to continue being built with the host toolchain,
which requires patch 0005-utils-Use-the-host-toolchain-to-build.patch.

Patch 0006-lzo-Use-the-host-toolchain-for-prepcore.patch is about
building prepcore, another utility with the host toolchain as it is
required at build-time.

This was tested using a Buildroot's built x86_64 toolchain, and
checked that the output binaries are 32-bits. It was tested as well if
they actually boot on hardware.

Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/syslinux/0003-Fix-ldlinux.elf-Not-enough-room-for-program-headers-.patch [new file with mode: 0644]
boot/syslinux/0004-memdisk-Force-ld-output-format-to-32-bits.patch [new file with mode: 0644]
boot/syslinux/0005-utils-Use-the-host-toolchain-to-build.patch [new file with mode: 0644]
boot/syslinux/0006-lzo-Use-the-host-toolchain-for-prepcore.patch [new file with mode: 0644]
boot/syslinux/Config.in
boot/syslinux/syslinux.mk