This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


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

Re: alignment of common blocks


You can align an entire section using various ldscript options.  Also,
-malign-double can be used to set the default alignment to 8 bytes for
double, long double, and long long.  I don't know whether Cygnus
compiled this option into the default release.

The stack pointer is almost always kept aligned on a 4 byte boundary
unless someone makes a mistake (3,2,&1 do work, but slow the system).
I don't know what effect, if any, -malign-double has on automatic doubles.

If you do recompile from scratch, changing default alignments for the
various blocks is just a header change.  Don't remember which one off
the top, though ... somewhere in gcc/config.

Hope this helps,

- Tim Iverson
  iverson@cisco.com



+----------------
| Subject: alignment of common blocks
| To: gnu-win32@cygnus.com
| Date: Fri, 8 Aug 1997 17:54:36 -0700 (PDT)
| From: Larry Meadows <lfm@pgroup.com>
| 
| For performance reasons, we would like to be able to control the
| alignment of common blocks (.comm name,size). We'd probably like to
| be able to control the alignment of local common blocks (.lcomm name,size)
...
| Finally, another question -- what is the default alignment of the stack?
| 
| This is all important to get good performance on double precision stuff
| on pentium, pentium pro, and later, as well as to allow users control
| based on cache line size.
| 
| Regards,
| 
| Larry Meadows
| lfm@pgroup.com
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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