/* Definitions of target machine for GNU compiler
|
/* Definitions of target machine for GNU compiler
|
for Alpha Linux-based GNU systems using ELF.
|
for Alpha Linux-based GNU systems using ELF.
|
Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2006, 2007
|
Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2006, 2007
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
Contributed by Richard Henderson.
|
Contributed by Richard Henderson.
|
|
|
This file is part of GCC.
|
This file is part of GCC.
|
|
|
GCC is free software; you can redistribute it and/or modify
|
GCC is free software; you can redistribute it and/or modify
|
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
the Free Software Foundation; either version 3, or (at your option)
|
the Free Software Foundation; either version 3, or (at your option)
|
any later version.
|
any later version.
|
|
|
GCC is distributed in the hope that it will be useful,
|
GCC is distributed in the hope that it will be useful,
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
GNU General Public License for more details.
|
GNU General Public License for more details.
|
|
|
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
along with GCC; see the file COPYING3. If not see
|
along with GCC; see the file COPYING3. If not see
|
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
|
|
#undef TARGET_VERSION
|
#undef TARGET_VERSION
|
#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ELF)");
|
#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ELF)");
|
|
|
#undef SUBTARGET_EXTRA_SPECS
|
#undef SUBTARGET_EXTRA_SPECS
|
#define SUBTARGET_EXTRA_SPECS \
|
#define SUBTARGET_EXTRA_SPECS \
|
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
|
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
|
|
|
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
#if UCLIBC_DEFAULT
|
#if UCLIBC_DEFAULT
|
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
|
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
|
#else
|
#else
|
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
|
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
|
#endif
|
#endif
|
#define LINUX_DYNAMIC_LINKER \
|
#define LINUX_DYNAMIC_LINKER \
|
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
|
|
#define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
|
#define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
|
|
|
#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
|
#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
|
%{O*:-O3} %{!O*:-O1} \
|
%{O*:-O3} %{!O*:-O1} \
|
%{shared:-shared} \
|
%{shared:-shared} \
|
%{!shared: \
|
%{!shared: \
|
%{!static: \
|
%{!static: \
|
%{rdynamic:-export-dynamic} \
|
%{rdynamic:-export-dynamic} \
|
%{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
|
%{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
|
%{static:-static}}"
|
%{static:-static}}"
|
|
|
#undef LIB_SPEC
|
#undef LIB_SPEC
|
#define LIB_SPEC \
|
#define LIB_SPEC \
|
"%{pthread:-lpthread} %{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
|
"%{pthread:-lpthread} %{shared:-lc}%{!shared:%{profile:-lc_p}%{!profile:-lc}} "
|
|
|
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
|
|