freebsd64.h revision 182579
1240116Smarcel/* Definitions for AMD x86-64 running FreeBSD with ELF format 2240116Smarcel Copyright (C) 2002, 2004 Free Software Foundation, Inc. 3240116Smarcel Contributed by David O'Brien <obrien@FreeBSD.org> 4240116Smarcel 5240116SmarcelThis file is part of GCC. 6240116Smarcel 7240116SmarcelGCC is free software; you can redistribute it and/or modify 8240116Smarcelit under the terms of the GNU General Public License as published by 9240116Smarcelthe Free Software Foundation; either version 2, or (at your option) 10240116Smarcelany later version. 11240116Smarcel 12240116SmarcelGCC is distributed in the hope that it will be useful, 13240116Smarcelbut WITHOUT ANY WARRANTY; without even the implied warranty of 14240116SmarcelMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15240116SmarcelGNU General Public License for more details. 16240116Smarcel 17240116SmarcelYou should have received a copy of the GNU General Public License 18240116Smarcelalong with GCC; see the file COPYING. If not, write to 19240116Smarcelthe Free Software Foundation, 51 Franklin Street, Fifth Floor, 20240116SmarcelBoston, MA 02110-1301, USA. */ 21240116Smarcel 22240116Smarcel/* $FreeBSD: head/contrib/gcc/config/i386/freebsd64.h 182579 2008-08-31 23:38:28Z obrien $ */ 23240116Smarcel 24240116Smarcel 25240116Smarcel#undef TARGET_VERSION 26275988Sngie#define TARGET_VERSION fprintf (stderr, " (FreeBSD/amd64 ELF)"); 27275988Sngie 28240116Smarcel#undef FBSD_TARGET_CPU_CPP_BUILTINS 29240116Smarcel#define FBSD_TARGET_CPU_CPP_BUILTINS() \ 30240116Smarcel do \ 31240116Smarcel { \ 32240116Smarcel if (TARGET_64BIT) \ 33240116Smarcel { \ 34240116Smarcel builtin_define ("__LP64__"); \ 35240116Smarcel } \ 36240116Smarcel } \ 37275988Sngie while (0) 38240116Smarcel 39275988Sngie#define SUBTARGET_EXTRA_SPECS \ 40240116Smarcel { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER } 41240116Smarcel 42240116Smarcel/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target. 43240116Smarcel This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for 44240116Smarcel the x86-64 target. */ 45240116Smarcel 46240116Smarcel#undef LINK_SPEC 47240116Smarcel#define LINK_SPEC "\ 48240116Smarcel %{m32:-m elf_i386_fbsd} \ 49240116Smarcel %{v:-V} \ 50240116Smarcel %{assert*} %{R*} %{rpath*} %{defsym*} \ 51240116Smarcel %{shared:-Bshareable %{h*} %{soname*}} \ 52240116Smarcel %{!shared: \ 53240116Smarcel %{!static: \ 54240116Smarcel %{rdynamic:-export-dynamic} \ 55240116Smarcel %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ 56240116Smarcel %{static:-Bstatic}} \ 57240116Smarcel %{symbolic:-Bsymbolic}" 58240116Smarcel