This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: EGCS-1.0.2 pre fails on Spec CPU 95


>>>>> "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) :-).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]