1 /* Definitions of target machine for GNU compiler 2 for Alpha Linux-based GNU systems using ELF. 3 Copyright (C) 1996-2013 Free Software Foundation, Inc. 4 Contributed by Richard Henderson. 5 6 This file is part of GCC. 7 8 GCC is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 3, or (at your option) 11 any later version. 12 13 GCC is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along 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