OSDN Git Service

Set TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
[pf3gnuchains/gcc-fork.git] / gcc / config / alpha / freebsd.h
index bd74691..0b29361 100644 (file)
@@ -1,45 +1,60 @@
 /* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
    Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
 
-This file is part of GNU CC.
+This file is part of GCC.
 
-GNU CC is free software; you can redistribute it and/or modify
+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 2, or (at your option)
 any later version.
 
-GNU CC is distributed in the hope that it will be useful,
+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 GNU CC; see the file COPYING.  If not, write to
+along with GCC; see the file COPYING.  If not, write to
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
 
-/* Provide a CPP_SPEC appropriate for FreeBSD/alpha.  Besides the dealing with
+#undef  SUBTARGET_EXTRA_SPECS
+#define SUBTARGET_EXTRA_SPECS \
+  { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
+
+/* 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_subtarget)                                     \
-  %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__}              \
-  %{posix:-D_POSIX_SOURCE}"
+#define CPP_SPEC "%(cpp_subtarget) %{posix:-D_POSIX_SOURCE}"
 
 #define LINK_SPEC "%{G*} %{relax:-relax}                               \
-  %{p:%e`-p' not supported; use `-pg' and gprof(1)}                    \
+  %{p:%nconsider using `-pg' instead of `-p' with gprof(1)}            \
   %{Wl,*:%*}                                                           \
   %{assert*} %{R*} %{rpath*} %{defsym*}                                        \
   %{shared:-Bshareable %{h*} %{soname*}}                               \
-  %{symbolic:-Bsymbolic}                                               \
   %{!shared:                                                           \
     %{!static:                                                         \
       %{rdynamic:-export-dynamic}                                      \
-      %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}}     \
-    %{static:-Bstatic}}"
+      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }}      \
+    %{static:-Bstatic}}                                                        \
+  %{symbolic:-Bsymbolic}"
 
 
 /************************[  Target stuff  ]***********************************/