Home | History | Annotate | Line # | Download | only in alpha
      1 /* Definitions of target machine for GNU compiler
      2    for Alpha Linux-based GNU systems using ELF.
      3    Copyright (C) 1996-2024 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