public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/41475]  New: common variables cannot be expected to be aligned
@ 2009-09-26  4:04 mikulas at artax dot karlin dot mff dot cuni dot cz
  2009-09-26  4:05 ` [Bug middle-end/41475] " mikulas at artax dot karlin dot mff dot cuni dot cz
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: mikulas at artax dot karlin dot mff dot cuni dot cz @ 2009-09-26  4:04 UTC (permalink / raw)
  To: gcc-bugs

Hi.

When I compile these two sources, one with -O3 -march=pentium3 and the other
with -Os, the linker warns about nonmatching alignments and the program crashes
because of misaligned SSE accesses.

/usr/bin/ld: Warning: alignment 4 of symbol `array' in commonalign2.o is
smaller than 32 in commonalign1.o
/usr/bin/ld: Warning: alignment 4 of symbol `array2' in commonalign2.o is
smaller than 32 in commonalign1.o

The reson is that gcc aligns arrays in common section to 32 bytes and expects
that they will be aligned so. This expectation is wrong, the common entries may
be resolved pointing to data section in another module that doesn't meet the
alignment (it may be compiled with different compiler or with the same compiler
with different flags (-Os)).

For extern arrays, gcc correctly assumes that they are aligned to their ABI
standard (4 bytes) and generates appropriate SSE code; for common arrays it
should expect 4-byte alignment too.


-- 
           Summary: common variables cannot be expected to be aligned
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mikulas at artax dot karlin dot mff dot cuni dot cz
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41475


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-09-27  9:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-26  4:04 [Bug middle-end/41475] New: common variables cannot be expected to be aligned mikulas at artax dot karlin dot mff dot cuni dot cz
2009-09-26  4:05 ` [Bug middle-end/41475] " mikulas at artax dot karlin dot mff dot cuni dot cz
2009-09-26  4:06 ` mikulas at artax dot karlin dot mff dot cuni dot cz
2009-09-26  4:14 ` mikulas at artax dot karlin dot mff dot cuni dot cz
2009-09-26 11:24 ` rguenth at gcc dot gnu dot org
2009-09-26 14:14 ` hjl dot tools at gmail dot com
2009-09-26 14:38 ` rguenth at gcc dot gnu dot org
2009-09-26 15:27 ` mikulas at artax dot karlin dot mff dot cuni dot cz
2009-09-26 19:30 ` pinskia at gcc dot gnu dot org
2009-09-27  9:51 ` mikulas at artax dot karlin dot mff dot cuni dot cz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).