OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[pf3gnuchains/gcc-fork.git] / gcc / config / nios2 / elf.h
1 /* Definitions of ELF target support for Altera Nios II.
2    Copyright (C) 2012 Free Software Foundation, Inc.
3    Contributed by Jonah Graham (jgraham@altera.com), 
4    Will Reece (wreece@altera.com), and Jeff DaSilva (jdasilva@altera.com).
5    Contributed by Mentor Graphics, Inc.
6
7    This file is part of GCC.
8
9    GCC is free software; you can redistribute it and/or modify it
10    under the terms of the GNU General Public License as published
11    by the Free Software Foundation; either version 3, or (at your
12    option) any later version.
13
14    GCC is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    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
24 /* Specs to support the additional command-line options for Nios II ELF
25    toolchains.  */
26
27 /* -msmallc chooses an alternate C library.
28    -msys-lib= specifies an additional low-level system/hosting library and
29    is typically used to suck in a library provided by a HAL BSP.  */
30 #undef LIB_SPEC
31 #define LIB_SPEC \
32 "--start-group %{msmallc: -lsmallc} %{!msmallc: -lc} -lgcc \
33  %{msys-lib=*: -l%*} \
34  --end-group \
35 "
36
37 /* Linking with -mhal suppresses inclusion of the GCC-provided crt* begin/end
38    code.  Normally in this case you also link with -msys-crt0= to specify
39    the startup code provided by the HAL BSP instead.  */
40 #undef STARTFILE_SPEC
41 #define STARTFILE_SPEC                                          \
42   "%{mhal:"                                                     \
43   "%{msys-crt0=*:%*} %{!msys-crt0=*:crt0%O%s} "                 \
44   "%{msys-crt0=:%eYou need a C startup file for -msys-crt0=};"  \
45   ":crti%O%s crtbegin%O%s}"
46
47 #undef  ENDFILE_SPEC
48 #define ENDFILE_SPEC "%{!mhal:crtend%O%s crtn%O%s}"
49
50 /* The ELF target doesn't support the Nios II Linux ABI.  */
51 #define TARGET_LINUX_ABI 0
52