Aligning world configuration with vendor-build configuration
authorJohn Marino <draco@marino.st>
Sat, 26 Mar 2011 06:29:16 +0000 (07:29 +0100)
committerSascha Wildner <saw@online.de>
Mon, 4 Apr 2011 00:57:08 +0000 (02:57 +0200)
contrib/gcc-4.4/gcc/config/dragonfly.h
contrib/gcc-4.4/gcc/config/i386/dragonfly.h
contrib/gcc-4.4/gcc/config/i386/dragonfly64.h
contrib/gcc-4.4/include/libiberty.h

index 3b07e7f..2386e0c 100644 (file)
@@ -17,57 +17,38 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* Common DragonFly configuration. 
+/* Common DragonFly configuration.
    All DragonFly architectures should include this file, which will specify
    their commonalities.
 
    Adapted from gcc/config/freebsd.h by
    Joerg Sonnenberger <joerg@bec.de>
 
-   Adapted from gcc/config/i386/freebsd-elf.h by 
-   David O'Brien <obrien@FreeBSD.org>.  
+   Adapted from gcc/config/i386/freebsd-elf.h by
+   David O'Brien <obrien@FreeBSD.org>.
    Further work by David O'Brien <obrien@FreeBSD.org> and
    Loren J. Rittle <ljrittle@acm.org>.  */
 
-
-/* This defines which switch letters take arguments.  On DragonFly, most of
-   the normal cases (defined in gcc.c) apply, and we also have -h* and
-   -z* options (for the linker) (coming from SVR4).
-   We also have -R (alias --rpath), no -z, --soname (-h), --assert etc.  */
-
-#undef  SWITCH_TAKES_ARG
-#define SWITCH_TAKES_ARG(CHAR)                                         \
-  (DEFAULT_SWITCH_TAKES_ARG (CHAR)                                     \
-    || (CHAR) == 'h'                                                   \
-    || (CHAR) == 'z' /* ignored by ld */                               \
-    || (CHAR) == 'R')
-
-
-#undef  WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR)                                     \
-  (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)                                 \
-   || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link")                \
-   || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym")           \
-   || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
-
-
+/* JRM: 15 Nov 2010
+   SWITCH_TAKES_ARG & WORD_SWITCH_TAKES_ARG removed due to poisoning.
+   http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02102.html
+   http://gcc.gnu.org/ml/gcc-patches/2010-10/msg02373.html */
+   
 #undef  TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()                                       \
-  do                                                                   \
-    {                                                                  \
-       builtin_define ("__DragonFly__");                               \
-       builtin_define_std ("unix");                                    \
-       builtin_assert ("system=unix");                                 \
-       builtin_assert ("system=bsd");                                  \
-       builtin_assert ("system=DragonFly");                            \
-    }                                                                  \
+#define TARGET_OS_CPP_BUILTINS()            \
+  do                                        \
+    {                                       \
+       builtin_define_std ("unix");         \
+       builtin_define ("__DragonFly__");    \
+       builtin_assert ("system=unix");      \
+       builtin_assert ("system=bsd");       \
+       builtin_assert ("system=DragonFly"); \
+    }                                       \
   while (0)
 
 #undef  CPP_SPEC
-#define CPP_SPEC "                                                     \
-  %(cpp_cpu)                                                           \
-  %(cpp_arch)                                                          \
-  %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC \
+ "%(cpp_cpu) %(cpp_arch) %{posix:-D_POSIX_SOURCE}"
 
 #undef  STARTFILE_SPEC
 #define STARTFILE_SPEC \
@@ -78,51 +59,40 @@ along with GCC; see the file COPYING3.  If not see
    crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
 
 #undef  ENDFILE_SPEC
-#define ENDFILE_SPEC   \
+#define ENDFILE_SPEC \
   "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
 
 #undef  LIB_SPEC
-#define LIB_SPEC "                                                     \
-  %{pthread:-lpthread}                                                 \
-  -lc                                                                  \
-  "
+#define LIB_SPEC \
+  "%{pthread:-lpthread} -lc"
 
 /* Provide a LINK_SPEC appropriate for DragonFly.  Here we provide support
    for the special GCC options -static and -shared, which allow us to
    link things in one of these three modes by applying the appropriate
-   combinations of options at link-time. We like to support here for
-   as many of the other GNU linker options as possible. But I don't
-   have the time to search for those flags. I am sure how to add
-   support for -soname shared_object_name. H.J.
-
-   I took out %{v:%{!V:-V}}. It is too much :-(. They can use
-   -Wl,-V.
+   combinations of options at link-time.
 
    When the -shared link option is used a final link is not being
    done.  */
 
-#define DFBSD_LINK_SPEC "\
-  %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
+#undef LINK_SPEC
+#define        LINK_SPEC \
+ "%{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \
   %{v:-V} \
   %{assert*} %{R*} %{rpath*} %{defsym*} \
   %{shared:-Bshareable %{h*} %{soname*}} \
     %{!shared: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker %(dfbsd_dynamic_linker) }} \
+        -dynamic-linker %(dfbsd_dynamic_linker) } \
     %{static:-Bstatic}} \
   %{symbolic:-Bsymbolic}"
 
-#undef LINK_SPEC
-#define        LINK_SPEC DFBSD_LINK_SPEC
-
-/* Define this so we can compile MS code for use with WINE.  */
-#define HANDLE_PRAGMA_PACK_PUSH_POP 1
-
-#define        DFBSD_DYNAMIC_LINKER            "/usr/libexec/ld-elf.so.2"
+#define        DFBSD_DYNAMIC_LINKER \
+  "/usr/libexec/ld-elf.so.2"
 
 #if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+#define LINK_EH_SPEC \
+  "%{!static:--eh-frame-hdr}"
 #endif
 
 /* Use --as-needed -lgcc_s for eh support.  */
@@ -145,6 +115,8 @@ along with GCC; see the file COPYING3.  If not see
 #undef  WCHAR_TYPE
 #define WCHAR_TYPE "int"
 
+#define MATH_LIBRARY_PROFILE    "-lm_p"
+
 /* Code generation parameters.  */
 
 /* Use periods rather than dollar signs in special g++ assembler names.
index 6c0b521..52eeea3 100644 (file)
@@ -4,8 +4,6 @@
    Modified for stabs-in-ELF by H.J. Lu.
    Adapted from GNU/Linux version by John Polstra.
    Continued development by David O'Brien <obrien@freebsd.org>
-   Adapted from the FreeBSD version.
-
 
 This file is part of GCC.
 
@@ -51,18 +49,18 @@ along with GCC; see the file COPYING3.  If not see
 /* Make gcc agree with <machine/ansi.h>.  */
 
 #undef  SIZE_TYPE
-#define SIZE_TYPE      "unsigned int"
+#define SIZE_TYPE      (TARGET_64BIT ? "long unsigned int" : "unsigned int")
+
 #undef  PTRDIFF_TYPE
-#define PTRDIFF_TYPE   "int"
-  
+#define PTRDIFF_TYPE   (TARGET_64BIT ? "long int" : "int")
+
 #undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE        BITS_PER_WORD
+#define WCHAR_TYPE_SIZE        (TARGET_64BIT ? 32 : BITS_PER_WORD)
 
 #undef  SUBTARGET_EXTRA_SPECS  /* i386.h bogusly defines it.  */
 #define SUBTARGET_EXTRA_SPECS \
   { "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
-    
+
 
 /* A C statement to output to the stdio stream FILE an assembler
    command to advance the location counter to a multiple of 1<<LOG
@@ -87,7 +85,13 @@ along with GCC; see the file COPYING3.  If not see
 #undef  DEFAULT_PCC_STRUCT_RETURN
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
-/* DragonFly sets the rounding precision of the FPU to 53 bits.  Let the
-   compiler get the contents of <float.h> and std::numeric_limits correct.  */
+/* DragonFly sets the rounding precision of the FPU to 53 bits, but GNAT
+   resets it to full precision.  */
 #undef TARGET_96_ROUND_53_LONG_DOUBLE
-#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)
+#define TARGET_96_ROUND_53_LONG_DOUBLE 0
+
+/* Define this to be nonzero if static stack checking is supported. */
+/*#define STACK_CHECK_STATIC_BUILTIN 1 */
+
+/* Define location of OS-specific unwind support configuration. */
+/* #define MD_UNWIND_SUPPORT "config/i386/dragonfly-unwind.h"  */
index 0789786..2a17e05 100644 (file)
@@ -1,33 +1,5 @@
-/* Definitions for AMD x86-64 running FreeBSD with ELF format
-   Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
-   Contributed by David O'Brien <obrien@FreeBSD.org>
-   Adapted from the FreeBSD version.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
+/* Definitions for AMD x86_64 running DragonFly BSD with ELF Format */
 
 #undef  TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (x86-64 DragonFly/ELF)");
 
-/* Tell final.c that we don't need a label passed to mcount.  */
-
-#undef  MCOUNT_NAME
-#define MCOUNT_NAME ".mcount"
-
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "dfbsd_dynamic_linker", DFBSD_DYNAMIC_LINKER }
index e3eca9d..79f60fd 100644 (file)
@@ -101,7 +101,16 @@ extern int writeargv PARAMS ((char **, FILE *));
    to find the declaration so provide a fully prototyped one.  If it
    is 1, we found it so don't provide any declaration at all.  */
 #if !HAVE_DECL_BASENAME
-#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
+#if defined (__GNU_LIBRARY__ )         \
+ || defined (__linux__)                \
+ || defined (__FreeBSD__)      \
+ || defined (__OpenBSD__)      \
+ || defined (__NetBSD__)       \
+ || defined (__DragonFly__)    \
+ || defined (__CYGWIN__)       \
+ || defined (__CYGWIN32__)     \
+ || defined (__MINGW32__)      \
+ || defined (HAVE_DECL_BASENAME)
 extern char *basename (const char *);
 #else
 /* Do not allow basename to be used if there is no prototype seen.  We