mkdir build cd build ../configure --host=i386-unknown-freebsd5.0 --target=x86_64-unknown-freebsd5.0 --disable-threads --disable-shared --disable-nls --prefix=/home/hammer diff -ru2 ../orig/gcc-20030407/gcc/config/i386/freebsd.h ./gcc/config/i386/freebsd.h --- ../orig/gcc-20030407/gcc/config/i386/freebsd.h Fri Nov 15 06:57:11 2002 +++ ./gcc/config/i386/freebsd.h Tue Apr 22 23:04:30 2003 @@ -119,4 +119,5 @@ #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN +#ifndef ASM_OUTPUT_MAX_SKIP_ALIGN /* maybe defined by x86-64.h */ #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \ if ((LOG) != 0) { \ @@ -124,4 +125,5 @@ else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ } +#endif #endif diff -ru2 ../orig/gcc-20030407/gcc/config/i386/freebsd64.h ./gcc/config/i386/freebsd64.h --- ../orig/gcc-20030407/gcc/config/i386/freebsd64.h Tue Apr 2 19:47:39 2002 +++ ./gcc/config/i386/freebsd64.h Tue Apr 22 23:02:05 2003 @@ -42,2 +42,10 @@ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" + +/* repair the damage done by i386/freebsd.h */ +#undef SIZE_TYPE +#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int") +