[ipxe-devel] 64 bit?
mcb30 at ipxe.org
Tue Jan 22 16:16:00 UTC 2019
On 22/01/2019 16:07, Johannes Thoma wrote:
>> From memory: the issue in 32-bit builds is that format_decimal() in
>> core/vsprintf.c will handle only 32-bit (signed) integers and so the
>> HTTP range request headers cannot be constructed correctly for >2GB.
>> This limitation in format_decimal() is originally intended to allow
>> for the binary to be kept as small as possible, by avoiding the need
>> to link in the 64-bit division code. This is arguably obsolete nowadays.
> I have prepared the patch for booting images > 2GB over http also on 32-bit
> systems, before I submit it, I would like to do further tests.
> How do I run the regression tests (especially the vsprintf_test)?
The easiest way is to build the Linux userspace test suite:
make bin-x86_64-linux/tests.linux bin-i386-linux/tests.linux
You can then run those as normal executables. I would typically run
them under Valgrind, e.g.:
make bin-x86_64-linux/tests.linux bin-i386-linux/tests.linux && \
valgrind ./bin-x86_64-linux/tests.linux && \
You can also build individual test executables using e.g.
The tests can run in any environment, so if you really want to then you
can build e.g.
and boot that ISO on a VM (or physical machine).
> And is there a way to compile 'everything' in order to check that my patch
> doesn't break other builds?
More information about the ipxe-devel