(root)/
gcc-13.2.0/
gcc/
config/
alpha/
linux-elf.h
       1  /* Definitions of target machine for GNU compiler
       2     for Alpha Linux-based GNU systems using ELF.
       3     Copyright (C) 1996-2023 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