pxe, efi: Bad read of file size over TFTP on EFI64

A fancy pointers logic has been replaced with a plain old if / else
branches. It was assigning only half of a 64 bits integer which is then
assigned to a size_t. Thus leading to a bug on platform where size_t is
64 bits.

Resolves bug #26

Signed-off-by: Celelibi <celelibi@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Merge remote-tracking branch 'origin/elflink' into firmware

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
isolinux: Shorten a few of the debug messages

Apparently with some toolchains, isolinux-debug runs out of space by a
few bytes.  Shorted a few messages slightly to make up for that.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
efi: Make the gnu-efi build scripts more portable

Not all distributions point /bin/sh at /bin/bash, so remove some
bashisms (pushd/popd) and require that build-gnu-efi.sh be run from the
Syslinux object directory.

Also, swap realpath(1) for readlink(1) because the former isn't
available on Debian.

Reported-by: Ferenc Wagner <wferi@niif.hu>
Reported-by: Celelibi <celelibi@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>