This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/47324] New: g++.dg/torture/stackalign failures with -O3 -g at -m32 on darwin


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

           Summary: g++.dg/torture/stackalign failures with -O3 -g at -m32
                    on darwin
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: howarth@nitro.med.uc.edu


This is the last remaining breakage with the stackalign tests on x86 darwin10.
We are failing...

FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-alloca-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-1.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/eh-vararg-2.C  -O3 -g  execution test

These tests don't fail their execution tests if the -g is omitted. However if I
take a failing test and strip the eh-alloca-1.o object file created with -g
using 'strip -S eh-alloca-1.o' and relink the testcase it still fails. So the
failure is dependent on -g being passed to the testcase but not the debug code
generated.

Comparing the disassembled eh-alloca-1.o file (using 'otool -tv eh-alloca-1.o')
created with -g0 to that created with -g and then stripped with 'strip -S', I
find the following diff.

--- disasm_g0.txt    2011-01-16 16:33:15.000000000 -0500
+++ disasm_g_stripped.tex    2011-01-16 16:52:28.000000000 -0500
@@ -76,10 +76,10 @@ 
 000000ed    calll    0x100000000
 000000f2    movl    $0x00000004,(%esp)
 000000f9    calll    0x100000000
-000000fe    movl    0x000002cb(%ebx),%edx
+000000fe    movl    0x00000d50(%ebx),%edx
 00000104    addl    $0x0c,%edx
 00000107    movl    %edx,(%eax)
-00000109    movl    0x000002d3(%ebx),%edx
+00000109    movl    0x00000d58(%ebx),%edx
 0000010f    movl    $0x00000000,0x08(%esp)
 00000117    movl    %eax,(%esp)
 0000011a    movl    %edx,0x04(%esp)


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