32-bit gcc help

Michal Jaegermann michal at ellpspace.math.ualberta.ca
Wed Jul 7 17:13:16 UTC 2004


On Wed, Jul 07, 2004 at 09:22:09AM -0700, Stephen Williams wrote:
> 
> Also, the DEC compiler for alpha had a "32bit" mode that limited
> the sizes of things in the same way. It needed operating system
> support to keep the application address space within a 32bit
> pointer.

If you will dig deep enough then you will find out that gcc has also
this '-taso' (or this was '-xtaso'?) mode.  At least in some version.
Pointers really have then an upper half always zero and you have to fix
binutils, a loader in particular, to load your program that way that
addresses satisfy that "zeros in high bits" condition.  If you will dig
deep enough you should find some patches.  I do not think that anybody
ever pursued that in depth and checked what else may then break. I guess
that you need to ensure somehow that library calls will not ever return
a "too wide" address or value which probably means "32-bit library
variants".  A flag EF_ALPHA_32BIT for an ELF header is most likely still
there.

For the particular problem of OP I would rather look at fixing
that configure script and/or program. :-)

   Michal





More information about the axp-list mailing list