PR target/24837
[official-gcc.git] / gcc / config / xtensa / linux.h
blob0a64a1ed0b32aa91138f0b2943869a6dfec227b8
1 /* Xtensa Linux configuration.
2 Derived from the configuration for GCC for Intel i386 running Linux.
3 Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
5 This file is part of GCC.
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 2, or (at your option) any later
10 version.
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.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING. If not, write to the Free
19 Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
20 02110-1301, USA. */
22 #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
24 #undef SUBTARGET_CPP_SPEC
25 #define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
27 #undef TARGET_VERSION
28 #define TARGET_VERSION fputs (" (Xtensa GNU/Linux with ELF)", stderr);
30 #undef WCHAR_TYPE
31 #define WCHAR_TYPE "long int"
33 #undef WCHAR_TYPE_SIZE
34 #define WCHAR_TYPE_SIZE 32
36 #undef ASM_SPEC
37 #define ASM_SPEC \
38 "%{v} \
39 %{mtext-section-literals:--text-section-literals} \
40 %{mno-text-section-literals:--no-text-section-literals} \
41 %{mtarget-align:--target-align} \
42 %{mno-target-align:--no-target-align} \
43 %{mlongcalls:--longcalls} \
44 %{mno-longcalls:--no-longcalls}"
46 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
48 #undef LINK_SPEC
49 #define LINK_SPEC \
50 "%{shared:-shared} \
51 %{!shared: \
52 %{!ibcs: \
53 %{!static: \
54 %{rdynamic:-export-dynamic} \
55 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
56 %{static:-static}}}"
58 #undef LOCAL_LABEL_PREFIX
59 #define LOCAL_LABEL_PREFIX "."
61 /* Always enable "-fpic" for Xtensa Linux. */
62 #define XTENSA_ALWAYS_PIC 1
64 /* Redefine the standard ELF version of ASM_DECLARE_FUNCTION_SIZE to
65 allow adding the ".end literal_prefix" directive at the end of the
66 function. */
67 #undef ASM_DECLARE_FUNCTION_SIZE
68 #define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
69 do \
70 { \
71 if (!flag_inhibit_size_directive) \
72 ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
73 XTENSA_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL); \
74 } \
75 while (0)