OSDN Git Service

* gcc.c: Document %{, in big comment at top.
[pf3gnuchains/gcc-fork.git] / gcc / config / alpha / linux-elf.h
1 /* Definitions of target machine for GNU compiler
2    for Alpha Linux-based GNU systems using ELF.
3    Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2006
4    Free Software Foundation, Inc.
5    Contributed by Richard Henderson.
6
7 This file is part of GCC.
8
9 GCC is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 GCC is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with GCC; see the file COPYING.  If not, write to
21 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22 Boston, MA 02110-1301, USA.  */
23
24 #undef TARGET_VERSION
25 #define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ELF)");
26
27 #undef SUBTARGET_EXTRA_SPECS
28 #define SUBTARGET_EXTRA_SPECS \
29 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
30
31 #define GLIBC_DYNAMIC_LINKER    "/lib/ld-linux.so.2"
32 #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
33 #if UCLIBC_DEFAULT
34 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
35 #else
36 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
37 #endif
38 #define LINUX_DYNAMIC_LINKER \
39   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
40
41 #define ELF_DYNAMIC_LINKER      LINUX_DYNAMIC_LINKER
42
43 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}          \
44   %{O*:-O3} %{!O*:-O1}                                          \
45   %{shared:-shared}                                             \
46   %{!shared:                                                    \
47     %{!static:                                                  \
48       %{rdynamic:-export-dynamic}                               \
49       %{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
50     %{static:-static}}"
51
52 #undef LIB_SPEC
53 #define LIB_SPEC \
54 "%{pthread:-lpthread} %{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
55
56 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack