linux-elf.h revision 1.1.1.1.4.2
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
4   Free Software Foundation, Inc.
5   Contributed by Richard Henderson.
6
7This file is part of GCC.
8
9GCC is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 3, or (at your option)
12any later version.
13
14GCC is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GCC; see the file COPYING3.  If not see
21<http://www.gnu.org/licenses/>.  */
22
23#undef TARGET_VERSION
24#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ELF)");
25
26#undef EXTRA_SPECS
27#define EXTRA_SPECS \
28{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
29
30#define GLIBC_DYNAMIC_LINKER	"/lib/ld-linux.so.2"
31#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
32#if UCLIBC_DEFAULT
33#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
34#else
35#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
36#endif
37#define LINUX_DYNAMIC_LINKER \
38  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
39
40#define ELF_DYNAMIC_LINKER	LINUX_DYNAMIC_LINKER
41
42#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}		\
43  %{O*:-O3} %{!O*:-O1}						\
44  %{shared:-shared}						\
45  %{!shared:							\
46    %{!static:							\
47      %{rdynamic:-export-dynamic}				\
48      %{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}}	\
49    %{static:-static}}"
50
51#undef LIB_SPEC
52#define LIB_SPEC \
53"%{pthread:-lpthread} %{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
54
55#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
56