--- a/gcc/config/sparc/freebsd.h +++ b/gcc/config/sparc/freebsd.h @@ -26,9 +26,22 @@ /* FreeBSD needs the platform name (sparc64) defined. Emacs needs to know if the arch is 64 or 32-bits. */ -#undef CPP_CPU64_DEFAULT_SPEC -#define CPP_CPU64_DEFAULT_SPEC \ - "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__" +#undef FBSD_TARGET_CPU_CPP_BUILTINS +#define FBSD_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + if (TARGET_ARCH64) \ + { \ + builtin_define ("__sparc64__"); \ + builtin_define ("__sparc_v9__"); \ + builtin_define ("__sparcv9"); \ + } \ + else \ + builtin_define ("__sparc"); \ + builtin_define ("__sparc__"); \ + } \ + while (0) + #define LINK_SPEC "%(link_arch) \ %{!mno-relax:%{!r:-relax}} \