[LLVMdev] OT: intel darwin losing primary target status

Jack Howarth howarth at bromo.med.uc.edu
Fri Sep 18 16:28:56 PDT 2009


On Fri, Sep 18, 2009 at 02:40:17PM -0700, Nick Kledzik wrote:
> I thought of another work around.  The FSF gcc driver can implicitly  
> add -no_compact_unwind to the link line.  This tells the linker to not  
> produce compact unwind information from the dwarf unwind info in .o  
> files.  Then at runtime the darwin unwinder will fallback and use the  
> slow dwarf unwind info.
> 
> -Nick
> 

Nick,
   Thanks! I have asked Richard to propose a patch to disable the
additional epilog info on darwin. While we are on the topic of
eh issues on darwin, could you take a look at PR37012? On darwin9/10.
we have the following remaining failures in gcc-4.4.1 at -m32...

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/throw-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/throw-3.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
FAIL: g++.dg/torture/stackalign/throw-2.C  -O3 -g  execution test
FAIL: g++.dg/torture/stackalign/throw-3.C  -O3 -g  execution test

These eh failures are really weird because they are triggered by the
-g option. Without -g, the resulting test cases pass their execution
tests fine. The problem doesn't exist for -m64 (with or without -g).
I posted assembly files for these testcases at the various 
combinations (-m32 -O3, -m32 -O3 -g, -m64 -O3 -g, -m64 -O3)...

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37012#c48
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37012#c49
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37012#c50
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37012#c51

Perhaps if you diff the assembly files, you might recognize the
problem in that one as well.
              Jack



More information about the llvm-dev mailing list