[LLVMdev] Can't bootstrap llvm-gcc-4.0 for x84_64

David Greene dag at cray.com
Wed Oct 10 16:28:57 PDT 2007


On Wednesday 10 October 2007 17:12, David Greene wrote:

> This particular problem is gone (thanks!) but I'm having other troubles.
> I'm tracking those down now.

This is the current problem:

[x86_64-off-dbg]: ./xgcc -B./ 
-B/install.official.debug/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/bin/ 
-isystem /install.official.debug/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/include 
-isystem /install.official.debug/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/sys-include 
-L/tmp/ptmp/dag/build.llvm-gcc-4.0.official.debug/x86_64-unknown-linux-gnu/gcc/../ld 
-O2 -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes 
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -I. -I32 
-I/llvm-project.official/llvm-gcc-4.0/trunk/gcc 
-I/llvm-project.official/llvm-gcc-4.0/trunk/gcc/32 
-I/llvm-project.official/llvm-gcc-4.0/trunk/gcc/../include 
-I/llvm-project.official/llvm-gcc-4.0/trunk/gcc/../libcpp/include  
-I/llvm-project.official/llvm/trunk/include 
-I/ptmp/dag/build.llvm.official.debug/x86_64-unknown-linux-gnu/include -m32 
-g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions 
-fno-zero-initialized-in-bss -fno-unit-at-a-time -fno-omit-frame-pointer 
-fno-asynchronous-unwind-tables \
[x86_64-off-dbg]: 	   
-c /llvm-project.official/llvm-gcc-4.0/trunk/gcc/crtstuff.c -DCRT_BEGIN \
[x86_64-off-dbg]: 	  -o 32/crtbegin.o
[x86_64-off-dbg]: Warning: Generation of 64-bit code for a 32-bit processor 
requested.
[x86_64-off-dbg]: Warning: 64-bit processors all have at least SSE2.
[x86_64-off-dbg]: 
cc1: /llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp:82: const 
llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(!
(__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum 
tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, 
(tcc_type), "/llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp", 
82, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64
((__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum 
tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, 
(tcc_type), "/llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp", 
82, __FUNCTION__); __t; })->type.size), true) || getInt64((__extension__ 
({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) 
(__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, 
(tcc_type), "/llvm-project.official/llvm-gcc-4.0/trunk/gcc/llvm-types.cpp", 
82, __FUNCTION__); __t; })->type.size), true) == 
getTargetData().getABITypeSizeInBits(Ty)) && "LLVM type size doesn't match 
GCC type size!"' failed.
[x86_64-off-dbg]: /llvm-project.official/llvm-gcc-4.0/trunk/gcc/crtstuff.c:194: 
internal compiler error: Aborted

Unfortunately, I don't know enough about gcc internals to really dig into 
this.  If someone immediately knows what this is, then great.  Otherwise
I may have to start reading info files.  :)

The warning about 64-bit code on a 32-bit target is worrisome.  Is that
supposed to happen?

                                                        -Dave



More information about the llvm-dev mailing list