[Bug c++/13245] New: SIGBUS (alignment) on ia-32 if alignment trapping is enabled

gcc-bug at vogtner dot de gcc-bugzilla@gcc.gnu.org
Sun Nov 30 20:22:00 GMT 2003


even if -malign-double/-mpreferred-stack-boundary is properly set
GCC 3.3.2 generates unaligned stores/loads of double data.
Cf. code/test script enclosed.

ebp is 0xbffff328

    0x08048243 <main_(int, char**)+63>:	call   0x80481f4 <prepare_fpu()>
    0x08048248 <main_(int, char**)+68>:	fldl   0x80ed420
    0x0804824e <main_(int, char**)+74>:	fstpl  0xfffffff0(%ebp)
    0x08048251 <main_(int, char**)+77>:	fldl   0xfffffff0(%ebp)
===>0x08048254 <main_(int, char**)+80>:	fstpl  0x4(%esp,1)       <=====
    0x08048258 <main_(int, char**)+84>:	lea    0xffffffff(%ebp),%eax
    0x0804825b <main_(int, char**)+87>:	mov    %eax,(%esp,1)
    0x0804825e <main_(int, char**)+90>:	call   0x80482fe <XM& operator<<

-- 
           Summary: SIGBUS (alignment) on ia-32 if alignment trapping is
                    enabled
           Product: gcc
           Version: 3.3.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: gcc-bug at vogtner dot de
                CC: gcc-bugs at gcc dot gnu dot org
 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=13245



More information about the Gcc-bugs mailing list