1 /* Xtensa/Elf configuration. 2 Derived from the configuration for GCC for Intel i386 running Linux. 3 Copyright (C) 2001-2020 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 52 #undef LIB_SPEC 53 #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal" 54 55 #undef STARTFILE_SPEC 56 #define STARTFILE_SPEC \ 57 "crt1-sim%O%s crt0%O%s crti%O%s crtbegin%O%s _vectors%O%s" 58 59 #undef ENDFILE_SPEC 60 #define ENDFILE_SPEC "crtend%O%s crtn%O%s" 61 62 #undef LINK_SPEC 63 #define LINK_SPEC \ 64 "%{shared:-shared} \ 65 %{!shared: \ 66 %{!static: \ 67 %{rdynamic:-export-dynamic} \ 68 %{static:-static}}}" 69 70 #undef LOCAL_LABEL_PREFIX 71 #define LOCAL_LABEL_PREFIX "." 72 73 /* Avoid dots for compatibility with VxWorks. */ 74 #undef NO_DOLLAR_IN_LABEL 75 #define NO_DOT_IN_LABEL 76 77 /* Do not force "-fpic" for this target. */ 78 #define XTENSA_ALWAYS_PIC 0 79 80 #undef DBX_REGISTER_NUMBER 81 82 /* Search for headers in $tooldir/arch/include and for libraries and 83 startfiles in $tooldir/arch/lib. */ 84 #define GCC_DRIVER_HOST_INITIALIZATION \ 85 do \ 86 { \ 87 char *tooldir, *archdir; \ 88 tooldir = concat (tooldir_base_prefix, spec_machine, \ 89 dir_separator_str, NULL); \ 90 if (!IS_ABSOLUTE_PATH (tooldir)) \ 91 tooldir = concat (standard_exec_prefix, spec_machine, dir_separator_str, \ 92 spec_version, dir_separator_str, tooldir, NULL); \ 93 archdir = concat (tooldir, "arch", dir_separator_str, NULL); \ 94 add_prefix (&startfile_prefixes, \ 95 concat (archdir, "lib", dir_separator_str, NULL), \ 96 "GCC", PREFIX_PRIORITY_LAST, 0, 1); \ 97 add_prefix (&include_prefixes, archdir, \ 98 "GCC", PREFIX_PRIORITY_LAST, 0, 0); \ 99 } \ 100 while (0) 101