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