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 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 3, 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 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