This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: EGCS-1.0.2 pre fails on Spec CPU 95
- To: egcs at cygnus dot com
- Subject: Re: EGCS-1.0.2 pre fails on Spec CPU 95
- From: Dave Love <d dot love at dl dot ac dot uk>
- Date: 10 Mar 1998 19:35:52 +0000
- References: <13614.889467252@hurl.cygnus.com>
>>>>> "Jeff" == Jeffrey A Law <law@hurl.cygnus.com> writes:
Jeff> Doesn't -malign-double effect the alignment of stack variables
Jeff> and parameters?
AFAIK it affects the stack only with something like this change from
the current (against gcc 2.7) g77 patches, relevant on a glibc2
system. [BTW, I've no memory of this going into g77-0.5.21 and may
have been misleading people by suggesting it wasn't there...]
* config/i386/i386.h (STACK_BOUNDARY): Define as BIGGEST_ALIGNMENT
so that -malign-double works for stack-allocated data.
I think parameter alignment is controlled by something else
(PARM_BOUNDARY?). [Note that in Fortran args are passed by reference
for EXTERNALs, though intrinsics implementations may get doubles by
value.]
Jeff> Changing the alignment of doubles in the stack changes the ABI;
I'm specifically talking about -malign-double with Fortran, though
(wot's a struct?).
Jeff> you've got to be careful as hell to make sure that old code
Jeff> still works correctly.
Experimentally it (Fortran) does, unless it ill-advisedly has
non-portable and inconsistent COMMON layout; this gets a warning with
-malign-double due to padding, the same as is normal on SPARC, for
instance.
I'm sorry I don't understand the reasons why it's expected to fail.
If I wasn't out of my depth I'd work on rather than just badger :-(.
(BTW, when we talk about old FORTRAN code we mean _old_ and, often,
_code_!)
Jeff> Damn I'll be glad when 1.0.2 gets out the door!
We'll be glad when you're glad but are relatively glad anyhow (thanks) :-).