1/* Definitions for AMD x86-64 running FreeBSD with ELF format
2   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3   Contributed by David O'Brien <obrien@FreeBSD.org>
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING.  If not, write to
19the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20Boston, MA 02110-1301, USA.  */
21
22/* $FreeBSD$ */
23
24
25#undef  TARGET_VERSION
26#define TARGET_VERSION fprintf (stderr, " (FreeBSD/amd64 ELF)");
27
28#undef  FBSD_TARGET_CPU_CPP_BUILTINS
29#define FBSD_TARGET_CPU_CPP_BUILTINS()		\
30  do						\
31    {						\
32      if (TARGET_64BIT)				\
33	{					\
34	  builtin_define ("__LP64__");		\
35	}					\
36    }						\
37  while (0)
38
39#define SUBTARGET_EXTRA_SPECS \
40  { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
41
42/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target.
43   This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for
44   the x86-64 target.  */
45
46#undef	LINK_SPEC
47#define LINK_SPEC "\
48  %{m32:-m elf_i386_fbsd} \
49  %{v:-V} \
50  %{assert*} %{R*} %{rpath*} %{defsym*} \
51  %{shared:-Bshareable %{h*} %{soname*}} \
52    %{!shared: \
53      %{!static: \
54        %{rdynamic:-export-dynamic} \
55	%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
56    %{static:-Bstatic}} \
57  %{!static:--hash-style=both --enable-new-dtags} \
58  %{symbolic:-Bsymbolic}"
59