]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/xtensa/elf.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / xtensa / elf.h
1 /* Xtensa/Elf configuration.
2 Derived from the configuration for GCC for Intel i386 running Linux.
3 Copyright (C) 2001-2022 Free Software Foundation, Inc.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
20
21 #define TARGET_SECTION_TYPE_FLAGS xtensa_multibss_section_type_flags
22
23 #undef ASM_APP_ON
24 #define ASM_APP_ON "#APP\n"
25
26 #undef ASM_APP_OFF
27 #define ASM_APP_OFF "#NO_APP\n"
28
29 #undef SIZE_TYPE
30 #define SIZE_TYPE "unsigned int"
31
32 #undef PTRDIFF_TYPE
33 #define PTRDIFF_TYPE "int"
34
35 #undef WCHAR_TYPE
36 #define WCHAR_TYPE "short unsigned int"
37
38 #undef WCHAR_TYPE_SIZE
39 #define WCHAR_TYPE_SIZE 16
40
41 #undef ASM_SPEC
42 #define ASM_SPEC \
43 "%{mtext-section-literals:--text-section-literals} \
44 %{mno-text-section-literals:--no-text-section-literals} \
45 %{mtarget-align:--target-align} \
46 %{mno-target-align:--no-target-align} \
47 %{mlongcalls:--longcalls} \
48 %{mno-longcalls:--no-longcalls} \
49 %{mauto-litpools:--auto-litpools} \
50 %{mno-auto-litpools:--no-auto-litpools} \
51 %{mabi=windowed:--abi-windowed} \
52 %{mabi=call0:--abi-call0}"
53
54 #undef LIB_SPEC
55 #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
56
57 #undef STARTFILE_SPEC
58 #define STARTFILE_SPEC \
59 "crt1-sim%O%s crt0%O%s crti%O%s crtbegin%O%s _vectors%O%s"
60
61 #undef ENDFILE_SPEC
62 #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
63
64 #undef LINK_SPEC
65 #define LINK_SPEC \
66 "%{shared:-shared} \
67 %{!shared: \
68 %{!static: \
69 %{rdynamic:-export-dynamic} \
70 %{static:-static}}} \
71 %{mabi=windowed:--abi-windowed} \
72 %{mabi=call0:--abi-call0}"
73
74 #undef LOCAL_LABEL_PREFIX
75 #define LOCAL_LABEL_PREFIX "."
76
77 /* Avoid dots for compatibility with VxWorks. */
78 #undef NO_DOLLAR_IN_LABEL
79 #define NO_DOT_IN_LABEL
80
81 /* Do not force "-fpic" for this target. */
82 #define XTENSA_ALWAYS_PIC 0
83
84 #undef DBX_REGISTER_NUMBER
85
86 /* Search for headers in $tooldir/arch/include and for libraries and
87 startfiles in $tooldir/arch/lib. */
88 #define GCC_DRIVER_HOST_INITIALIZATION \
89 do \
90 { \
91 char *tooldir, *archdir; \
92 tooldir = concat (tooldir_base_prefix, spec_machine, \
93 dir_separator_str, NULL); \
94 if (!IS_ABSOLUTE_PATH (tooldir)) \
95 tooldir = concat (standard_exec_prefix, spec_machine, dir_separator_str, \
96 spec_version, dir_separator_str, tooldir, NULL); \
97 archdir = concat (tooldir, "arch", dir_separator_str, NULL); \
98 add_prefix (&startfile_prefixes, \
99 concat (archdir, "lib", dir_separator_str, NULL), \
100 "GCC", PREFIX_PRIORITY_LAST, 0, 1); \
101 add_prefix (&include_prefixes, archdir, \
102 "GCC", PREFIX_PRIORITY_LAST, 0, 0); \
103 } \
104 while (0)