Index: freebsd.h =================================================================== RCS file: /home/ncvs/src/contrib/gcc/config/rs6000/freebsd.h,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 freebsd.h --- freebsd.h 2002/02/01 18:15:22 1.1.1.1 +++ freebsd.h 2003/02/25 05:51:49 @@ -23,6 +23,15 @@ #undef CPP_OS_DEFAULT_SPEC #define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)" +#undef CPP_ENDIAN_BIG_SPEC +#define CPP_ENDIAN_BIG_SPEC "-D__BIG_ENDIAN__ -Amachine=bigendian" + +#undef CPP_ENDIAN_LITTLE_SPEC +#define CPP_ENDIAN_LITTLE_SPEC "-D__LITTLE_ENDIAN__ -Amachine=littleendian" + +#undef CPP_ENDIAN_DEFAULT_SPEC +#define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)" + #undef STARTFILE_DEFAULT_SPEC #define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)" @@ -35,10 +44,26 @@ #undef LINK_START_DEFAULT_SPEC #define LINK_START_DEFAULT_SPEC "%(link_start_freebsd)" +#undef LINK_OS_FREEBSD_SPEC +#define LINK_OS_FREEBSD_SPEC "\ + %{symbolic:-Bsymbolic} \ + %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}}}" + #undef LINK_OS_DEFAULT_SPEC #define LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)" +#undef LINK_SHLIB_SPEC +#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}" +#undef LIBGCC2_WORDS_BIG_ENDIAN +#if defined(__LITLE_ENDIAN__) +#define LIBGCC2_WORDS_BIG_ENDIAN 0 +#else +#define LIBGCC2_WORDS_BIG_ENDIAN 1 +#endif + /************************[ Target stuff ]***********************************/ /* Define the actual types of some ANSI-mandated types. @@ -48,11 +73,17 @@ /* rs6000.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ #undef WCHAR_TYPE +#undef SIZE_TYPE +#define SIZE_TYPE "unsigned int" + #undef WCHAR_UNSIGNED #define WCHAR_UNSIGNED 0 #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 + +#undef DEFAULT_SIGNED_CHAR +#define DEFAULT_SIGNED_CHAR 1 #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (FreeBSD/PowerPC ELF)");