[LLVMdev] OT: intel darwin losing primary target status

Jack Howarth howarth at bromo.med.uc.edu
Fri Sep 18 23:27:41 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,
   FYI, executing...

make -k check RUNTESTFLAGS="--target_board=unix/-Wl,-no_compact_unwind"

reveals that this approach in fact eliminates all of the eh regressions
in gcc trunk. Unfortunately, it plays havoc with the gcc.dg/pch and
g++.dg/pch test cases causing hundreds of new failures of the form...

FAIL: ./common-1.h -O0 -g (test for excess errors)
FAIL: gcc.dg/pch/common-1.c -O0 -g
FAIL: gcc.dg/pch/common-1.c -O0 -g assembly comparison


Executing on host: /sw/src/fink.build/gcc45-4.4.999-20090914/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc45-4.4.999-20090914/darwin_objdir/gcc/ ./common-1.h  -O0 -g   -Wl,-no_compact_unwind -o common-1.h.gch    (timeout = 300)
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

FAIL: ./common-1.h -O0 -g (test for excess errors)
Excess errors:
Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found

pch file 'common-1.h.gch' missing
FAIL: gcc.dg/pch/common-1.c -O0 -g
assembly file 'common-1.s' missing
FAIL: gcc.dg/pch/common-1.c -O0 -g assembly comparison


                 Jack



More information about the llvm-dev mailing list