* config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
[official-gcc.git] / gcc / config / alpha / linux-elf.h
blobf578ecb31adfc9bf64683181c982123c9c0d0a5d
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, 2007, 2010, 2011
4 Free Software Foundation, Inc.
5 Contributed by Richard Henderson.
7 This file is part of GCC.
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 3, or (at your option)
12 any later version.
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.
19 You should have received a copy of the GNU General Public License
20 along with GCC; see the file COPYING3. If not see
21 <http://www.gnu.org/licenses/>. */
23 #undef EXTRA_SPECS
24 #define EXTRA_SPECS \
25 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
27 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
28 #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
29 #if DEFAULT_LIBC == LIBC_UCLIBC
30 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
31 #elif DEFAULT_LIBC == LIBC_GLIBC
32 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}"
33 #else
34 #error "Unsupported DEFAULT_LIBC"
35 #endif
36 #define GNU_USER_DYNAMIC_LINKER \
37 CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
39 #define ELF_DYNAMIC_LINKER GNU_USER_DYNAMIC_LINKER
41 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
42 %{O*:-O3} %{!O*:-O1} \
43 %{shared:-shared} \
44 %{!shared: \
45 %{!static: \
46 %{rdynamic:-export-dynamic} \
47 -dynamic-linker %(elf_dynamic_linker)} \
48 %{static:-static}}"
50 #undef LIB_SPEC
51 #define LIB_SPEC \
52 "%{pthread:-lpthread} %{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
54 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack