00001 /* Definitions for DEC Alpha/AXP running FreeBSD using the ELF format 00002 Copyright (C) 2000, 2002 Free Software Foundation, Inc. 00003 Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi. 00004 00005 This file is part of GNU CC. 00006 00007 GNU CC is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2, or (at your option) 00010 any later version. 00011 00012 GNU CC is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with GNU CC; see the file COPYING. If not, write to 00019 the Free Software Foundation, 59 Temple Place - Suite 330, 00020 Boston, MA 02111-1307, USA. */ 00021 00022 00023 /* Provide a CPP_SPEC appropriate for FreeBSD/alpha. Besides the dealing with 00024 the GCC option `-posix', and PIC issues as on all FreeBSD platforms, we must 00025 deal with the Alpha's FP issues. */ 00026 00027 #undef CPP_SPEC 00028 #define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget) -D__ELF__ \ 00029 %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \ 00030 %{posix:-D_POSIX_SOURCE} \ 00031 %{mieee:-D_IEEE_FP} \ 00032 %{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}" 00033 00034 #undef LINK_SPEC 00035 #define LINK_SPEC "%{G*} %{relax:-relax} \ 00036 %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ 00037 %{Wl,*:%*} \ 00038 %{assert*} %{R*} %{rpath*} %{defsym*} \ 00039 %{shared:-Bshareable %{h*} %{soname*}} \ 00040 %{symbolic:-Bsymbolic} \ 00041 %{!shared: \ 00042 %{!static: \ 00043 %{rdynamic:-export-dynamic} \ 00044 %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ 00045 %{static:-Bstatic}}" 00046 00047 00048 /************************[ Target stuff ]***********************************/ 00049 00050 /* Define the actual types of some ANSI-mandated types. 00051 Needs to agree with <machine/ansi.h>. GCC defaults come from c-decl.c, 00052 c-common.c, and config/<arch>/<arch>.h. */ 00053 00054 /* alpha.h gets this wrong for FreeBSD. We use the GCC defaults instead. */ 00055 #undef WCHAR_TYPE 00056 00057 #undef WCHAR_UNSIGNED 00058 #define WCHAR_UNSIGNED 0 00059 00060 #undef WCHAR_TYPE_SIZE 00061 #define WCHAR_TYPE_SIZE 32 00062 00063 #undef TARGET_VERSION 00064 #define TARGET_VERSION fprintf (stderr, " (FreeBSD/alpha ELF)"); 00065 00066 #define TARGET_ELF 1 00067 00068 #undef TARGET_DEFAULT 00069 #define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS) 00070 00071 #undef HAS_INIT_SECTION 00072 00073 /* Show that we need a GP when profiling. */ 00074 #undef TARGET_PROFILING_NEEDS_GP 00075 #define TARGET_PROFILING_NEEDS_GP 1 00076 00077 /* This is the char to use for continuation (in case we need to turn 00078 continuation back on). */ 00079 00080 #undef DBX_CONTIN_CHAR 00081 #define DBX_CONTIN_CHAR '?' 00082 00083 /* Don't default to pcc-struct-return, we want to retain compatibility with 00084 older FreeBSD releases AND pcc-struct-return may not be reentrant. */ 00085 00086 #undef DEFAULT_PCC_STRUCT_RETURN 00087 #define DEFAULT_PCC_STRUCT_RETURN 0
1.5.6