[PATCH] Introduce abi_word_mode

Ian Lance Taylor iant@google.com
Mon Oct 9 20:57:00 GMT 2006


Mark Mitchell <mark@codesourcery.com> writes:

> I'd argue that a program which uses word mode in a context that
> matters for the ABI is broken, if that program is intended to be used
> on multiple CPUs.

To be clear, the cases where it matters for gcc code are the uses of
attribute ((mode (word))) in unwind-generic.h and libgcc2.h.  Since on
the S/390 you can (apparently) compile code with BITS_PER_WORD set to
either 32 and 64, and since you can (apparently) link such code
together safely, then by your argument (which I think is reasonable)
those uses are broken.

I think the uses in libgcc2.c can be reliably replaced with int,
assuming corresponding changes are made to optabs.c.

The use in unwind-generic.h most likely does have to be the size of a
register.  The requirement for ABI compliance in this case when the
size of a register changes has already led to the introduction of the
undocumented target hook TARGET_EH_RETURN_FILTER_MODE, which would be
subsumed by Andreas's proposed patch.

Ian



More information about the Gcc-patches mailing list