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 middle-end/34621] [4.3 Regression] gcc.c-torture/execute/va-arg-25.c:32: internal compiler error: in expand_call, at calls.c:2785



------- Comment #13 from geoffk at geoffk dot org  2008-02-12 22:43 -------
Subject: Re:  [4.3 Regression] gcc.c-torture/execute/va-arg-25.c:32: internal
compiler error: in expand_call, at calls.c:2785


On 12/02/2008, at 7:46 AM, hjl dot tools at gmail dot com wrote:

> ------- Comment #10 from hjl dot tools at gmail dot com  2008-02-12  
> 15:46 -------
> (In reply to comment #3)
>> Reproducible even with x86_64-linux -> i686-darwin9 cross, at -Os  
>> as well as
>> -O2 -mno-accumulate-outgoing-args.  The difference between i686- 
>> linux and
>> i686-darwin9 that matters here is that darwin defines  
>> STACK_BOUNDARY to 128,
>> while linux to 4.
>>
>
> I think it is wrong to set STACK_BOUNDARY to 128 for 32bit since it is
> hardware related, not ABI related.  They should set  
> PREFERRED_STACK_BOUNDARY
> instead, which is set to 128 already. On stack alignment branch, we
> introduced a new macro, ABI_STACK_BOUNDARY, to handle different ABIs.

If you do not align the stack at a 128-bit boundary, your program will  
crash.  The hardware that it is related to is SSE2.


-- 


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


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