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