freebsd64.h revision 236137
1259698Sdim/* Definitions for AMD x86-64 running FreeBSD with ELF format
2259698Sdim   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3259698Sdim   Contributed by David O'Brien <obrien@FreeBSD.org>
4259698Sdim
5259698SdimThis file is part of GCC.
6259698Sdim
7259698SdimGCC is free software; you can redistribute it and/or modify
8259698Sdimit under the terms of the GNU General Public License as published by
9259698Sdimthe Free Software Foundation; either version 2, or (at your option)
10259698Sdimany later version.
11259698Sdim
12259698SdimGCC is distributed in the hope that it will be useful,
13259698Sdimbut WITHOUT ANY WARRANTY; without even the implied warranty of
14259698SdimMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15259698SdimGNU General Public License for more details.
16259698Sdim
17259698SdimYou should have received a copy of the GNU General Public License
18259698Sdimalong with GCC; see the file COPYING.  If not, write to
19259698Sdimthe Free Software Foundation, 51 Franklin Street, Fifth Floor,
20259698SdimBoston, MA 02110-1301, USA.  */
21259698Sdim
22259698Sdim/* $FreeBSD: head/contrib/gcc/config/i386/freebsd64.h 236137 2012-05-27 05:27:47Z kib $ */
23259698Sdim
24259698Sdim
25259698Sdim#undef  TARGET_VERSION
26259698Sdim#define TARGET_VERSION fprintf (stderr, " (FreeBSD/amd64 ELF)");
27259698Sdim
28259698Sdim#undef  FBSD_TARGET_CPU_CPP_BUILTINS
29259698Sdim#define FBSD_TARGET_CPU_CPP_BUILTINS()		\
30259698Sdim  do						\
31259698Sdim    {						\
32259698Sdim      if (TARGET_64BIT)				\
33259698Sdim	{					\
34259698Sdim	  builtin_define ("__LP64__");		\
35259698Sdim	}					\
36259698Sdim    }						\
37259698Sdim  while (0)
38259698Sdim
39259698Sdim#define SUBTARGET_EXTRA_SPECS \
40259698Sdim  { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
41259698Sdim
42259698Sdim/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target.
43259698Sdim   This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for
44259698Sdim   the x86-64 target.  */
45259698Sdim
46259698Sdim#undef	LINK_SPEC
47259698Sdim#define LINK_SPEC "\
48259698Sdim  %{m32:-m elf_i386_fbsd} \
49259698Sdim  %{v:-V} \
50259698Sdim  %{assert*} %{R*} %{rpath*} %{defsym*} \
51259698Sdim  %{shared:-Bshareable %{h*} %{soname*}} \
52259698Sdim    %{!shared: \
53259698Sdim      %{!static: \
54259698Sdim        %{rdynamic:-export-dynamic} \
55259698Sdim	%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
56259698Sdim    %{static:-Bstatic}} \
57259698Sdim  %{!static:--hash-style=both} \
58259698Sdim  %{symbolic:-Bsymbolic}"
59259698Sdim