This is the mail archive of the
mailing list for the GCC project.
Re: Host/Target confusion in Dwarf output
Michael Eager wrote:
Is it guaranteed to hold all target integer sizes? How
does this work for 32-bit hosts and 64-bit targets?
RTL and tree constants were defined from the beginning as two
HOST_WIDE_INTs. This was necessary to bootstrap long long support on
32-bit systems before most compilers had long long support.
This means that the largest int on the host must be at least half the
size of the largest int on the target. Hence, building 64-bit target
compilers on 32-bit host systems has never been a problem. We have
never supported 16-bit hosts from the beginning, so that is no problem.
This does mean that you can't build a 128-bit target compiler on a
32-bit host, but that hasn't been a problem yet. This restriction by
the way is one of the reasons why long long is 64-bits on 64-bit
targets, because the 32-bit hosts used to build the initial 64-bit cross
compilers could not support 128-bit integer constants.
Jim Wilson, GNU Tools Support, http://www.specifix.com