This is the mail archive of the
mailing list for the GCC project.
Re: s390: larl for Simode on 64-bit
- From: DJ Delorie <dj at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 8 Jul 2015 17:05:07 -0400
- Subject: Re: s390: larl for Simode on 64-bit
- Authentication-results: sourceware.org; auth=none
- References: <201507082033 dot t68KXrdI028695 at greed dot delorie dot com> <559D8DBD dot 60508 at redhat dot com>
In the TPF case, the software has to explicitly mark such pointers as
SImode (such things happen only when structures that contain addresses
can't change size, for backwards compatibility reasons):
int * __attribute__((mode(SImode))) ptr;
ptr = &some_var;
so I wouldn't consider this the "default" case for those apps, just
*a* case that needs to be handled "well enough", and the user is
already telling the compiler that they assume those addresses are
32-bit (that either the whole app, or at least the part with that
object, will be linked below 4Gb).
The majority of the addresses are handled as 64-bit.
 /me refrains from commenting on the worth of such practices, just
that they exist and need to be (and have been) supported.