elf.h revision 1.1
1/* Definitions of ELF target support for Altera Nios II.
2   Copyright (C) 2012-2015 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
53