[syslinux] [PATCH 0/2] Cross-compilation patches

Ady Ady ady-sf at hotmail.com
Wed Apr 5 09:13:24 PDT 2017


> Hi there,
> 
> I've had issue with the integration of syslinux into the buildroot project
> [0]. After some research, it turned out that we were wrongly using the host
> toolchain instead of the target toolchain to build syslinux. This gave us
> bigger issues (for instance) when trying to link syslinux with gnu-efi, that
> was built using the target toolchain.
> 
> The first one forces ld to output i386 binary when processing the binary
> files generated by nasm (for consistency with the other .o files), and the
> second one explicitely uses the host toolchain to build the utilities under
> utils/.
> 
> Those two patches turned out to be necessary in order to have a proper build.
> please consider them for upstream inclusion.
> 
> There was an aditionnal third patch [1] I required, but that one isn't
> authored by me. I would be grateful if you integrate it in your next release
> as well.
> 
> Best Regards,
> Ben.
> 
 
I'm not not sure the assumptions are always true (for every downstream 
use case / project / distro).

Expressions such as "The utilities are meant to run on the host 
machine, hence must be built using the host toolchain." might be 
relevant for certain use cases whereas not necessarily true for others.

What would happen if a user, while troubleshooting, wants to use a 
binary - just for the sake of simplicity, say we are talking about 
memdisk and/or the isohybrid tool - that was created on a different 
host than this user has/uses? We should want to be able to tell such 
user things like "try the pre-built official binaries included in the 
official distribution archives located at kernel.org".

In a similar (but not the same) line of thinking , there are Linux 
distributions that are no longer building packages for xi86, and so 
they don't build EFI binaries for UEFI IA32. I am sure that a PC with a 
UEFI IA32 firmware is not from the same era than a "686" PC, and they 
do not use such a similar microprocessor. UEFI IA32 binaries should 
still be built, but such distros don't do it anymore; IMHO, they still 
should.

We should be aware about the broad consequences (for others) when we 
assume that "my use-case is _the_ (only/best) case.

Regards,
Ady.



More information about the Syslinux mailing list