From a523505e2a0e3e79662bdf66c95546de61162656 Mon Sep 17 00:00:00 2001 From: kan Date: Fri, 11 Jul 2003 05:03:47 +0000 Subject: Update for 3.3.1-prerelease. --- contrib/gcc/config/alpha/freebsd.h | 26 +++++++++++++++----------- contrib/gcc/config/i386/freebsd.h | 23 +++++++++++++---------- 2 files changed, 28 insertions(+), 21 deletions(-) (limited to 'contrib/gcc') diff --git a/contrib/gcc/config/alpha/freebsd.h b/contrib/gcc/config/alpha/freebsd.h index 5b88dff..4668987 100644 --- a/contrib/gcc/config/alpha/freebsd.h +++ b/contrib/gcc/config/alpha/freebsd.h @@ -22,19 +22,26 @@ Boston, MA 02111-1307, USA. */ /* $FreeBSD$ */ - -/* Provide a CPP_SPEC appropriate for FreeBSD/alpha. Besides the dealing with +/* Provide a FBSD_TARGET_CPU_CPP_BUILTINS and CPP_SPEC appropriate for + FreeBSD/alpha. Besides the dealing with the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must deal with the Alpha's FP issues. */ +#undef FBSD_TARGET_CPU_CPP_BUILTINS +#define FBSD_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + if (flag_pic) \ + { \ + builtin_define ("__PIC__"); \ + builtin_define ("__pic__"); \ + } \ + } \ + while (0) + #undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget) -D__ELF__ \ - %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \ - %{posix:-D_POSIX_SOURCE} \ - %{mieee:-D_IEEE_FP} \ - %{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}" +#define CPP_SPEC "%(cpp_subtarget) %{posix:-D_POSIX_SOURCE}" -#undef LINK_SPEC #define LINK_SPEC "%{G*} %{relax:-relax} \ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ %{Wl,*:%*} \ @@ -66,9 +73,6 @@ Boston, MA 02111-1307, USA. */ /* alpha.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ #undef WCHAR_TYPE -#undef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE 32 diff --git a/contrib/gcc/config/i386/freebsd.h b/contrib/gcc/config/i386/freebsd.h index 6fda7b8..e4aeb2e 100644 --- a/contrib/gcc/config/i386/freebsd.h +++ b/contrib/gcc/config/i386/freebsd.h @@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA. */ #undef LINK_SPEC #define LINK_SPEC "\ - %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ + %{p:%nconsider using `-pg' instead of `-p' with gprof(1) } \ %{Wl,*:%*} \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ @@ -99,7 +99,6 @@ Boston, MA 02111-1307, USA. */ #undef WCHAR_TYPE_SIZE #define WCHAR_TYPE_SIZE (TARGET_64BIT ? 32 : BITS_PER_WORD) -#undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); #define MASK_PROFILER_EPILOGUE 010000000000 @@ -125,20 +124,24 @@ Boston, MA 02111-1307, USA. */ #undef DEFAULT_PCC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 0 +/* FreeBSD sets the rounding precision of the FPU to 53 bits. Let the + compiler get the contents of and std::numeric_limits correct. */ +#define SUBTARGET_OVERRIDE_OPTIONS \ + do { \ + real_format_for_mode[XFmode - QFmode] \ + = &ieee_extended_intel_96_round_53_format; \ + real_format_for_mode[TFmode - QFmode] \ + = &ieee_extended_intel_96_round_53_format; \ + } while (0) + /* Tell final.c that we don't need a label passed to mcount. */ #define NO_PROFILE_COUNTERS 1 /* Output assembler code to FILE to begin profiling of the current function. LABELNO is an optional label. */ -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ - do { \ - if (flag_pic) \ - fprintf ((FILE), "\tcall *.mcount@GOT(%%ebx)\n"); \ - else \ - fprintf ((FILE), "\tcall .mcount\n"); \ - } while (0) +#undef MCOUNT_NAME +#define MCOUNT_NAME ".mcount" /* Output assembler code to FILE to end profiling of the current function. */ -- cgit v1.1