Juergen Zimmermann - Sun Microsystems - Walldorf Germany
2009-Oct-30 12:52 UTC
[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
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
Anton Korobeynikov
2009-Oct-30 15:19 UTC
[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
Hello, Juergen> 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?What is the value of "Ty" in your case? Just do "call Ty->dump()". -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University
Juergen Zimmermann - Sun Microsystems - Walldorf Germany
2009-Oct-30 15:27 UTC
[LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
Hi Anton, thanks for the fast response. Ty->dump() prints "{double, double}" in the failing case (just before my introduced assert). HTH, and regards, Juergen On 10/30/09 16:19, Anton Korobeynikov wrote:> Hello, Juergen > >> 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? > What is the value of "Ty" in your case? Just do "call Ty->dump()". >-- 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
Possibly Parallel Threads
- [LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
- [LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
- [LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
- [LLVMdev] llvm-gcc-4.2 RELEASE_26 bootstrap failure on Solaris/SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
- [LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?