From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Love To: egcs@cygnus.com Subject: Re: EGCS-1.0.2 pre fails on Spec CPU 95 Date: Tue, 10 Mar 1998 11:36:00 -0000 Message-id: References: <13614.889467252@hurl.cygnus.com> X-SW-Source: 1998-03/msg00359.html >>>>> "Jeff" == Jeffrey A Law 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) :-).