xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/riscv/linux.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1 /* Definitions for RISC-V GNU/Linux systems with ELF format.
2    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
3    2007, 2008, 2010, 2011 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
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11 
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License 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 #undef WCHAR_TYPE
22 #define WCHAR_TYPE "int"
23 
24 #undef WCHAR_TYPE_SIZE
25 #define WCHAR_TYPE_SIZE 32
26 
27 #define TARGET_OS_CPP_BUILTINS()				\
28   do {								\
29     GNU_USER_TARGET_OS_CPP_BUILTINS();				\
30     /* The GNU C++ standard library requires this.  */		\
31     if (c_dialect_cxx ())					\
32       builtin_define ("_GNU_SOURCE");				\
33   } while (0)
34 
35 #undef SUBTARGET_CPP_SPEC
36 #define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
37 
38 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
39 
40 /* Borrowed from sparc/linux.h */
41 #undef LINK_SPEC
42 #define LINK_SPEC \
43   "%{shared:-shared} \
44   %{!shared: \
45     %{!static: \
46       %{rdynamic:-export-dynamic} \
47       -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \
48       %{static:-static}}"
49 
50 #undef LIB_SPEC
51 #define LIB_SPEC "\
52 %{pthread:-lpthread} \
53 %{shared:-lc} \
54 %{!shared: \
55   %{profile:-lc_p} %{!profile:-lc}}"
56 
57 /* Similar to standard Linux, but adding -ffast-math support.  */
58 #undef  ENDFILE_SPEC
59 #define ENDFILE_SPEC \
60    "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
61