[LLVMdev] Re: Re: Re: Re: New GCC4-based C/C++/ObjC front-end for LLVM

Chris Lattner sabre at nondot.org
Wed Mar 15 10:01:33 PST 2006


On Wed, 15 Mar 2006, Vladimir Prus wrote:
>> Please give it a try and let me know if it works any better for you!
>
> Here we go:

Wow, you are good at finding problems!  Thanks!

> -fvisibility=hidden -DHIDE_EXPORTS
> -c ../../2006-03-14-llvm-gcc-4/gcc/libgcc2.c -o libgcc/./_fixunsxfdi.o
> cc1: /space/p2/ghost/build/llvm-cvs/include/llvm/Instructions.h:72: void
> llvm::AllocationInst::setAlignment(unsigned int): Assertion `(Align &
> (Align-1)) == 0 && "Alignment is not a power of 2!"' failed.
> ../../2006-03-14-llvm-gcc-4/gcc/libgcc2.c: In function '__fixunsxfdi':
> ../../2006-03-14-llvm-gcc-4/gcc/libgcc2.c:1205: internal compiler error:
> Aborted
> Please submit a full bug report,
> with preprocessed source if appropriate.

I can't reproduce this on darwin-ppc or darwin-x86, so this is a stab in 
the dark.  Can you try this patch:

===================================================================
--- i386.h      (revision 112156)
+++ i386.h      (working copy)
@@ -764,7 +764,13 @@ extern int x86_prefetch_sse;


  /* target machine storage layout */

+/* APPLE LOCAL begin LLVM */
+#ifdef ENABLE_LLVM
+#define LONG_DOUBLE_TYPE_SIZE 64
+#else
  #define LONG_DOUBLE_TYPE_SIZE 80
+#endif
+/* APPLE LOCAL end LLVM */

  /* Set the value of FLT_EVAL_METHOD in float.h.  When using only the
     FPU, assume that the fpcw is set to extended precision; when using


Applied to gcc/gcc/config/i386/i386.h

If that doesn't help, please send me a stack trace of the crash.  To do 
this, pass -v to the failing GCC command line, then debug the cc1 
invocation.  In addition, please go up to the first stack frame with a GCC 
tree, and 'call debug_tree(exp)' on it from within GDB.  That will help me 
understand what is going on.

Thanks, sorry this is taking so many iterations. :(

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/




More information about the llvm-dev mailing list