[LLVMbugs] [Bug 5353] New: llvm-gcc-4.2 RELEASE_26 compilation failure on Solaris/ SPARC - unhandled REAL_TYPE during compilation of '__powitf2'
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Oct 30 06:03:38 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=5353
Summary: llvm-gcc-4.2 RELEASE_26 compilation failure on
Solaris/SPARC - unhandled REAL_TYPE during compilation
of '__powitf2'
Product: tools
Version: 2.6
Platform: Sun
OS/Version: SunOS
Status: NEW
Keywords: crash-on-invalid, portability
Severity: major
Priority: P2
Component: llvm-gcc
AssignedTo: unassignedbugs at nondot.org
ReportedBy: jnzimmer at web.de
CC: llvmbugs at cs.uiuc.edu
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?
llvm-gcc was configured as:
data/LLVM/src/GCC/RELEASE_26/configure --prefix=/data/LLVM/inst
--disable-bootstrap --disable-multilib --program-prefix=llvm- --with-gnu-as
--with-as=/data/LLVM/GCC/bin/as --without-gnu-ld --with-ld=/usr/ccs
/bin/ld --with-gmp=/data/LLVM/GCC --with-mpfr=/data/LLVM/GCC
--enable-llvm=/data/LLVM/src/llvm-build --enable-languages=c,c++
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list