Hi Ian, thanks for reply. I think I have tried the -E option at first to see what the sources looked after the preprocessing step, cuz I was suspecting some 'void' macro breaking things, however that didn't happen.. The --save-temps gave me the same result. Below is the relevant part of the libgcc2.i file. I am wondering if some of the 'define_insn "jump"' or 'define_insn "indirect_jump"' definitions in the .md file would be responsible for this behavior. I am really new to all this, so I need to study a few papers that I found on the web about gcc porting. Before I can make any rough guess of what is going on. Still any input on what to look at in the .md file is very welcome. Jan This is the output after preprocessing: # 1 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c" # 1 "/home/jan/mc/gcc-4.0.2/obj-gcc-pic30/gcc//" # 1 "<built-in>" # 1 "<command line>" # 1 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c" # 35 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c" # 1 "./auto-host.h" 1 # 38 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c" 2 # 1 "./tconfig.h" 1 # 1 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/../include/ansidecl.h" 1 # 5 "./tconfig.h" 2 # 43 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c" 2 # 1 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h" 1 # 47 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h" # 1 "./include/stddef.h" 1 3 4 # 152 "./include/stddef.h" 3 4 typedef int ptrdiff_t; # 214 "./include/stddef.h" 3 4 typedef unsigned int size_t; # 326 "./include/stddef.h" 3 4 typedef short unsigned int wchar_t; # 48 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h" 2 # 1 "./include/float.h" 1 3 4 # 49 "/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h" 2 extern void *malloc (size_t); On Fri, 5 Oct 2007, Ian Lance Taylor wrote: > Jan Capek <jen@xxxxxxxx> writes: > > > make[1]: Entering directory `/home/jan/mc/gcc-4.0.2/obj-gcc-pic30/gcc' > > ./NONExgcc -B./ -B/home/jan/mc/pic30/pic30-coff/bin/ -isystem > > /home/jan/mc/pic30/pic30-coff/include -isystem > > /home/jan/mc/pic30/pic30-coff/sys-include > > -L/home/jan/mc/gcc-4.0.2/obj-gcc-pic30/gcc/../ld -O2 -DIN_GCC > > -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes > > -Wmissing-prototypes -Wold-style-definition -isystem ./include -g > > -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. > > -I/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc > > -I/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/. > > -I/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/../include > > -I/home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/../libcpp/include -DL_muldi3 -c > > /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c -o libgcc/./_muldi3.o > > In file included from /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c:37: > > ./auto-host.h:75:14: warning: missing whitespace after the macro name > > In file included from /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/libgcc2.c:43: > > /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h:53: error: syntax error > > before '*' token > > /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h:57: error: syntax error > > before 'void' > > /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h:61: error: syntax error > > before '(' token > > /home/jan/mc/gcc-4.0.2/gcc-4.0.2/gcc/tsystem.h:61: error: syntax error > > before ')' token > > / > > You need to look at the preprocessed output to see what is happening. > Run the above command with the --save-temps option. Look at the > libgcc2.i file. I suspect the problem will be obvious. > > Ian >