------- Comment #6 from ronis at ronispc dot chem dot mcgill dot ca 2008-11-24
19:29 -------
It works without -malign-double, but has worked with it for years. I
understand that all modules (even thouse in MY libraries) have to be compiled
with the same flags, but nothing seems to imply that the compiler's libraries
have to have it too. Something has changed recently. From the info page:
Control whether GCC aligns `double', `long double', and `long
long' variables on a two word boundary or a one word boundary.
Aligning `double' variables on a two word boundary will produce
code that runs somewhat faster on a `Pentium' at the expense of
more memory.
On x86-64, `-malign-double' is enabled by default.
*Warning:* if you use the `-malign-double' switch, structures
containing the above types will be aligned differently than the
published application binary interface specifications for the 386
and will not be binary compatible with structures in code compiled
without that switch.
This is the same as what it's been for some time.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38249