This is the mail archive of the gcc@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]

Re: remaining new darwin regressions


On Tue, Jan 20, 2009 at 6:21 PM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> On Tue, Jan 20, 2009 at 05:50:35PM -0800, H.J. Lu wrote:
>> On Tue, Jan 20, 2009 at 3:29 PM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
>> >  Currently i686-apple-darwin9 appears in very good shape for
>> > gcc 4.4 with the exception of one new set of testsuite failures
>> > related to the new stackalignment changes. These all share the
>> > commmon feature of only failing with the -O3 -g compiler option
>> > flags...
>> >
>> > 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/throw-1.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
>> > FAIL: g++.dg/torture/stackalign/throw-1.C  -O3 -g  execution test
>> >
>> > With -O3 alone, these test cases don't fail there execution tests.
>> > Mike Stump looked at the assembly code from eh-alloca-1.C and said
>> > he doesn't believe this is a bug in the Darwin assembler or linker
>> > but rather in gcc itself. Does anyone familiar with stackalign
>> > changes have access to Intel Darwin9 to take a look at this? These
>> > failures are currently the last bit of PR37012. Thanks in advance
>> > for any efforts to eliminate these.
>>
>> Are those assembly codes correct? If not, what are the problems?
>>
>>
>>
>> --
>> H.J.
>
> H.J.,
>   I can't say if the assembly is correct. Certainly without -g, the
> generated code always passes the execution test in each failing case
> compiled at -O3. Interestingly for...
>
> g++-4 -fmessage-length=0 -O3 -g -mstackrealign -mpreferred-stack-boundary=5 throw-1.C
>
> this test aborts whereas if I compile with...
>
> g++-4 -fmessage-length=0 -O3 -g -mstackrealign -mpreferred-stack-boundary=5 -DDEBUG throw-1.C
>
> instead the code bus errors...
>
> Starting program: /Users/howarth/stackalign/a.out
> Reading symbols for shared libraries +++. done
>
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_PROTECTION_FAILURE at address: 0x00000135
> 0x937d7457 in __vfprintf ()
>
> The difference in the assembly between...
>
> g++-4 -fmessage-length=0 -O3 -mstackrealign -mpreferred-stack-boundary=5 throw-1.C
>
> and
>
> g++-4 -fmessage-length=0 -O3 -g -mstackrealign -mpreferred-stack-boundary=5 throw-1.C
>
> is...
>

It looks like a Darwin specific bug. Someone who knows Darwin has to
tell me where
the problem is.


H.J.


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