[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'

Juergen Zimmermann - Sun Microsystems - Walldorf Germany Juergen.Zimmermann at Sun.COM
Fri Oct 30 05:52:25 PDT 2009


Hi all,
I'm currently trying to bootstrap llvm-gcc-4.2 from the latest stable LLVM release 2.6
on Solaris SPARC.

The compilation with a self-build gcc-4.2.4 goes pretty well, however, I hit
a seemingly widely know error during llvm-gcc's bootstrap in getting
an assertion during the compile of /data/LLVM/src/GCC/RELEASE_26/gcc/libgcc2.c:

/data/LLVM/src/GCC/RELEASE_26/gcc/libgcc2.c: In function '__powitf2':
/data/LLVM/src/GCC/RELEASE_26/gcc/libgcc2.c:1765: internal compiler error: in HandleArgument, at 
llvm-abi.h:535

Looking into the code of llvm-abi.h, I added the following patch to it:
--- /data/LLVM/src/GCC/RELEASE_26/gcc/llvm-abi.h.jnz    Thu Oct 29 00:32:52 2009
+++ /data/LLVM/src/GCC/RELEASE_26/gcc/llvm-abi.h        Fri Oct 30 13:09:09 2009
@@ -529,7 +529,12 @@
          HandleArgument(TREE_TYPE(type), ScalarElts);
          C.ExitField();
        }
+    } else if (TREE_CODE(type) == REAL_TYPE) {
+      fprintf(stderr,"unhandled REAL_TYPE!\n");
+      assert(0 && "unhandled REAL_TYPE!");
+      abort();
      } else {
+      fprintf(stderr,"unknown aggreate type %d\n",TREE_CODE(type));
        assert(0 && "unknown aggregate type!");
        abort();
      }


Note that at first, I only inserted the last fprintf to get a better
understanding what's going wrong and found out that TREE_CODE(type) has
value 9 which matches REAL_TYPE from my understanding.

With the full patch, I get the assertion of the 'unhandled REAL_TYPE!',
so I wonder what needs to be done in order to get LLVM to produce
code for 'TREE_CODE(type) == REAL_TYPE' in the 'HandleArgument' function.


Does anyone have an idea? And why does this only happen on SPARC?


Regards,
   Juergen


-- 
Sun Microsystems GmbH		Juergen Zimmermann
Altrottstrasse 31		ISV Engineering EMEA, Technical Lead for SAP
69190 Walldorf			Phone: +49 (0)6227 356 256
Germany				Fax: +49 (0)6227 356 222
                                 mailto:Juergen.Zimmermann at Sun.COM

Sun Microsystems GmbH
Altrottstrasse 31, 69190 Walldorf
Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Haering



More information about the llvm-dev mailing list