]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/arc/elf.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / arc / elf.h
CommitLineData
fad92291
CZ
1/* Target macros for arc*-elf targets.
2
a5544970 3 Copyright (C) 2017-2019 Free Software Foundation, Inc.
fad92291
CZ
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 3, or (at your option)
10any later version.
11
12GCC is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
20
21#undef DWARF2_UNWIND_INFO
22#define DWARF2_UNWIND_INFO 0
23
24#undef LINK_SPEC
25#define LINK_SPEC "%{mbig-endian:-EB} %{EB} %{EL}"
26
27#define ARC_TLS_EXTRA_START_SPEC "crttls.o%s"
28
0dee55fe
CZ
29#undef SUBTARGET_EXTRA_SPECS
30#define SUBTARGET_EXTRA_SPECS \
fad92291
CZ
31 { "arc_tls_extra_start_spec", ARC_TLS_EXTRA_START_SPEC }, \
32
33#undef STARTFILE_SPEC
34#define STARTFILE_SPEC "%{pg|p:gcrt0.o%s}%{!pg:%{!p:crt0.o%s}} crti%O%s " \
35 "%(arc_tls_extra_start_spec) crtbegin.o%s"
36
37#undef ENDFILE_SPEC
38#define ENDFILE_SPEC "crtend.o%s crtn%O%s"
39
40/* Leave the linker script to choose the appropriate libraries. */
41#undef LIB_SPEC
42#define LIB_SPEC ""
43
44/* SDATA default for elf. */
45#undef TARGET_SDATA_DEFAULT
46#define TARGET_SDATA_DEFAULT 1
47
48/* We no medium calls. */
49#undef TARGET_MMEDIUM_CALLS_DEFAULT
50#define TARGET_MMEDIUM_CALLS_DEFAULT 0
51
52#ifdef ARC_MULTILIB_CPU_DEFAULT
53# ifndef MULTILIB_DEFAULTS
54# define MULTILIB_DEFAULTS { "mcpu=" ARC_MULTILIB_CPU_DEFAULT }
55# endif
56#endif
81b98ef7
CZ
57
58/* Bare-metal toolchains do not need a thread pointer register. */
59#undef TARGET_ARC_TP_REGNO_DEFAULT
60#define TARGET_ARC_TP_REGNO_DEFAULT -1
f26322a6
CZ
61
62/* Indexed loads are default. */
63#undef TARGET_INDEXED_LOADS_DEFAULT
64#define TARGET_INDEXED_LOADS_DEFAULT 1
65
66/* Pre/post modify with register displacement are default. */
67#undef TARGET_AUTO_MODIFY_REG_DEFAULT
68#define TARGET_AUTO_MODIFY_REG_DEFAULT 1
6b55f8c9 69
048c6a9a
CZ
70/* Build attribute: procedure call standard. */
71#undef ATTRIBUTE_PCS
72#define ATTRIBUTE_PCS 2
73
6b55f8c9
CZ
74#undef TARGET_ASM_FILE_END
75#define TARGET_ASM_FILE_END arc_file_end
60a3f659
CZ
76
77/* If no specs file is enforced, default to nosys libarary. */
78#undef LINK_GCC_C_SEQUENCE_SPEC
79#define LINK_GCC_C_SEQUENCE_SPEC \
f37866e8 80 "--start-group %G %{!specs=*:%{!nolibc:-lc -lnosys}} --end-group"
9de6af45
CZ
81
82/* Emit rtl for profiling. Output assembler code to FILE
83 to call "_mcount" for profiling a function entry. */
84#define PROFILE_HOOK(LABEL) \
85 { \
86 rtx fun; \
87 fun = gen_rtx_SYMBOL_REF (Pmode, "__mcount"); \
88 emit_library_call (fun, LCT_NORMAL, VOIDmode); \
89 }