Dear gcc, I'm trying to build a cross compiler from i686-linux-pc to powerpc-elf. I ran into this error while compiling gnat library: make[2]: Entering directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada/rts' ../../xgcc -B../../ -c -DCROSS_COMPILE -DIN_GCC `echo -g -O2 -fexceptions -DIN_RTS |sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` -I. -I.. -I../.. -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/.. -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/../config -I/home/pee/XComp_source/CrossGNAT/script/gcc-3.3.2/gcc/ada/../../include -I./../.. adaint.c In file included from adaint.c:60: ../../tconfig.h:6: error: two types specified in one empty declaration adaint.c: In function `__gnat_readdir': adaint.c:743: warning: initialization makes pointer from integer without a cast adaint.c: In function `__gnat_get_env_value_ptr': adaint.c:1120: warning: assignment makes pointer from integer without a cast adaint.c: In function `__gnat_locate_exec_on_path': adaint.c:1834: warning: initialization makes pointer from integer without a cast make[2]: *** [adaint.o] Error 1 make[2]: Leaving directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada/rts' make[1]: *** [gnatlib] Error 2 make[1]: Leaving directory `/home/pee/XComp_source/CrossGNAT/script/build-gcc/gcc/ada' make: *** [gnatlib] Error 2 Here is my tconfig.h: #ifdef IN_GCC /* Provide three core typedefs used by everything, if we are compiling GCC. These used to be found in rtl.h and tree.h, but this is no longer practical. Providing these here rather that system.h allows the typedefs to be used everywhere within GCC. */ struct rtx_def; typedef struct rtx_def *rtx; struct rtvec_def; typedef struct rtvec_def *rtvec; union tree_node; typedef union tree_node *tree; #endif #define GTY(x) #ifdef IN_GCC # include "ansidecl.h" # include "rs6000/rs6000.h" # include "dbxelf.h" # include "elfos.h" # include "svr4.h" # include "freebsd-spec.h" # include "rs6000/sysv4.h" # include "defaults.h" #endif #ifndef POSIX # define POSIX #endif tconfig.h looks right to me. rtx_def, rtvec_def, and tree_node are declared early so that they can be used in all gcc files (http://gcc.gnu.org/ml/gcc-patches/2002-01/msg00003.html). Does anyone know how to fix this problem? Thank you very much! Pee