Porting GCC on a new arch (cross-compilation)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have to port GCC on a new arch. I'm working on an i686-pc-linux-gnu
machine so it is cross-compilation.

I read tutorials from IIT of Bombay. I read parts of GCC Internals.
I'm working with gcc-4.3.3 sources. The binutils are already installed
in /home/me/target/.

I am now debugging my cc1 with GDB. I try to compile an empty file this way :
gdb /home/me/target/libexec/gcc/target/4.3.3/cc1 -x command.gdb
...
run -quiet -v a.c -quiet -dumpbase a.c -da -auxbase a -version -o a.s

where a.c is an empty file.

The problem is that cc1 comes in an infinite call loop, here is the back trace :
(gdb) bt
#0  0x081f473c in simplify_subreg (outermode=HImode, op=0xb7c525d0,
innermode=HImode, byte=0) at ../../gcc-4.3.3/gcc/simplify-rtx.c:4930
#1  0x081f5968 in simplify_gen_subreg (outermode=HImode,
op=0xb7c525d0, innermode=HImode, byte=0) at
../../gcc-4.3.3/gcc/simplify-rtx.c:5225
#2  0x08121405 in emit_move_multi_word (mode=HImode, x=0xb7c525d0,
y=0xb7c525c0) at ../../gcc-4.3.3/gcc/expr.c:3270
#3  0x08120eca in emit_move_insn (x=0xb7c525d0, y=0xb7c525c0) at
../../gcc-4.3.3/gcc/expr.c:3417
#4  0x081214b6 in emit_move_multi_word (mode=HImode, x=0xb7c525d0,
y=0xb7c525c0) at ../../gcc-4.3.3/gcc/expr.c:3295
#5  0x08120eca in emit_move_insn (x=0xb7c525d0, y=0xb7c525c0) at
../../gcc-4.3.3/gcc/expr.c:3417
#6  0x081214b6 in emit_move_multi_word (mode=HImode, x=0xb7c525d0,
y=0xb7c525c0) at ../../gcc-4.3.3/gcc/expr.c:3295
#7  0x08120eca in emit_move_insn (x=0xb7c525d0, y=0xb7c525c0) at
../../gcc-4.3.3/gcc/expr.c:3417

Why is it running emit_move_... while the file is empty and there is
nothing to compile ?

I did not include any move pattern in the md, I try to construct a
minimal md like it is explained in IITB tutorials, should I ?

Maybe macros in target.h file are not defined well ? Which macros are
concerned with these calls ?

Thank you.

Florent

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux