xref: /haiku/src/system/libroot/posix/glibc/include/arch/riscv64/config.h (revision 1a76488fc88584bf66b9751d7fb9b6527ac20d87)
1 //#if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
2 //# error "glibc cannot be compiled without optimization"
3 //#endif
4 
5 /* Another evil option when it comes to compiling the C library is
6    --ffast-math since it alters the ABI.  */
7 #if defined __FAST_MATH__ && !defined TEST_FAST_MATH
8 # error "glibc must not be compiled with -ffast-math"
9 #endif
10 
11 /* Define if using GNU ld, with support for weak symbols in a.out,
12    and for symbol set and warning messages extensions in a.out and ELF.
13    This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld.  */
14 #define	HAVE_GNU_LD 1
15 
16 /* Define if using ELF, which supports weak symbols.
17    This implies HAVE_ASM_WEAK_DIRECTIVE set by --with-elf.  */
18 #define	HAVE_ELF 1
19 
20 /* Define if using XCOFF. Set by --with-xcoff.  */
21 #undef	HAVE_XCOFF
22 
23 /* Define if weak symbols are available via the `.weak' directive.  */
24 #define	HAVE_ASM_WEAK_DIRECTIVE 1
25 
26 /* Define if weak symbols are available via the `.weakext' directive.  */
27 #undef	HAVE_ASM_WEAKEXT_DIRECTIVE
28 
29 /* Define to the assembler line separator character for multiple
30    assembler instructions per line.  Default is `;'  */
31 #undef ASM_LINE_SEP
32 
33 /* Define if not using ELF, but `.init' and `.fini' sections are available.  */
34 #undef	HAVE_INITFINI
35 
36 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
37 /*#define	HAVE_SECTION_QUOTES 1
38  [zooey]: defining this causes assembler errors, and I don't think
39           that any BeOS-gcc actually produces quotes in sections...
40 */
41 #undef	HAVE_SECTION_QUOTES
42 
43 /* Define if using the GNU assembler, gas.  */
44 #define	HAVE_GNU_AS 1
45 
46 /* Define if the assembler supports the `.set' directive.  */
47 #define	HAVE_ASM_SET_DIRECTIVE 1
48 
49 /* Define to the name of the assembler's directive for
50    declaring a symbol global (default `.globl').  */
51 #define	ASM_GLOBAL_DIRECTIVE .globl
52 
53 /* Define to the prefix before `object' or `function' in the
54    assembler's `.type' directive, if it has one.  */
55 #undef	ASM_TYPE_DIRECTIVE_PREFIX
56 
57 /* Define a symbol_name as a global .symbol_name for ld.  */
58 #undef	HAVE_ASM_GLOBAL_DOT_NAME
59 
60 /* Define if the assembler generates debugging information directly.  */
61 #undef	HAVE_CPP_ASM_DEBUGINFO
62 
63 /* Define if _Unwind_Find_FDE should be exported from glibc.  */
64 #undef  EXPORT_UNWIND_FIND_FDE
65 
66 /* Define to use GNU libio instead of GNU stdio.
67    This is defined by configure under --enable-libio.  */
68 #define	USE_IN_LIBIO 1
69 
70 /* Define if using ELF and the assembler supports the `.previous'
71    directive.  */
72 #define	HAVE_ASM_PREVIOUS_DIRECTIVE 1
73 
74 /* Define if using ELF and the assembler supports the `.popsection'
75    directive.  */
76 #undef	HAVE_ASM_POPSECTION_DIRECTIVE
77 
78 /* Define if versioning of the library is wanted.  */
79 #undef	DO_VERSIONING
80 
81 /* Defined to the oldest ABI we support, like 2.1.  */
82 #undef GLIBC_OLDEST_ABI
83 
84 /* Define if static NSS modules are wanted.  */
85 #undef	DO_STATIC_NSS
86 
87 /* Define if gcc uses DWARF2 unwind information for exception support.  */
88 #define	HAVE_DWARF2_UNWIND_INFO 1
89 
90 /* Define if gcc uses DWARF2 unwind information for exception support
91    with static variable. */
92 #define	HAVE_DWARF2_UNWIND_INFO_STATIC 1
93 
94 /* Define if the compiler supports __builtin_expect.  */
95 #undef	HAVE_BUILTIN_EXPECT
96 
97 /* Define if the compiler supports __builtin_memset.  */
98 #undef	HAVE_BUILTIN_MEMSET
99 
100 /* Define if the __thread keyword is supported.  */
101 #undef HAVE___THREAD
102 
103 /* Define if the compiler supports __attribute__((tls_model(""))).  */
104 #undef HAVE_TLS_MODEL_ATTRIBUTE
105 
106 /* Define if the regparm attribute shall be used for local functions
107    (gcc on ix86 only).  */
108 #define	USE_REGPARMS 0
109 
110 /* Defined on PowerPC if the GCC being used has a problem with clobbering
111    certain registers (CR0, MQ, CTR, LR) in asm statements.  */
112 #undef	BROKEN_PPC_ASM_CR0
113 
114 /* Defined on SPARC if ld doesn't handle R_SPARC_WDISP22 against .hidden
115    symbol.  sysdeps/sparc/sparc32/elf/configure.  */
116 #undef	BROKEN_SPARC_WDISP22
117 
118 /* Define if the linker supports the -z combreloc option.  */
119 #undef	HAVE_Z_COMBRELOC
120 
121 /* Define if the assembler supported .protected.  */
122 #undef	HAVE_PROTECTED
123 
124 /* Define if the assembler supported .hidden.  */
125 #undef	HAVE_HIDDEN
126 
127 /* Define if the compiler supports __attribute__ ((visibility (...))).  */
128 #undef	HAVE_VISIBILITY_ATTRIBUTE
129 
130 /* Define if the compiler doesn't support __attribute__ ((visibility (...)))
131    together with __asm__ redirection properly.  */
132 #undef	HAVE_BROKEN_VISIBILITY_ATTRIBUTE
133 
134 /* Define if the compiler doesn't support __attribute__ ((alias (...)))
135    together with __asm__ redirection properly.  */
136 #undef	HAVE_BROKEN_ALIAS_ATTRIBUTE
137 
138 /* Define if _rtld_local structure should be forced into .sdata section.  */
139 #undef	HAVE_SDATA_SECTION
140 
141 /* Define if binutils support TLS handling.  */
142 #undef	HAVE_TLS_SUPPORT
143 
144 /* Define if the linker supports .preinit_array/.init_array/.fini_array
145    sections.  */
146 #undef	HAVE_INITFINI_ARRAY
147 
148 /* Define if the access to static and hidden variables is position independent
149    and does not need relocations.  */
150 #undef	PI_STATIC_AND_HIDDEN
151 
152 /* Define this to disable the `hidden_proto' et al macros in
153    include/libc-symbols.h that avoid PLT slots in the shared objects.  */
154 #undef	NO_HIDDEN
155 
156 
157 /* Defined to some form of __attribute__ ((...)) if the compiler supports
158    a different, more efficient calling convention.  */
159 #if USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
160 # define internal_function __attribute__ ((regparm (3), stdcall))
161 #endif
162 
163 /* Linux specific: minimum supported kernel version.  */
164 #undef	__LINUX_KERNEL_VERSION
165 
166 /* Override abi-tags ABI version if necessary.  */
167 #undef  __ABI_TAG_VERSION
168 
169 /* An extension in gcc 2.96 and up allows the subtraction of two
170    local labels.  */
171 #undef	HAVE_SUBTRACT_LOCAL_LABELS
172 
173 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
174    getopt determine whether a parameter is a flag or not.  This features
175    was disabled later since it caused trouble.  We are by default therefore
176    disabling the support as well.  */
177 #undef USE_NONOPTION_FLAGS
178 
179 /* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
180 #undef	HAVE_MIG_RETCODE
181 
182 /* Mach specific: define if the `host_page_size' RPC is available.  */
183 #undef	HAVE_HOST_PAGE_SIZE
184 
185 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
186 #undef	HAVE_I386_IO_PERM_MODIFY
187 
188 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
189 #undef	HAVE_I386_SET_GDT
190 
191 /*
192  */
193 
194 #ifndef	_LIBC
195 
196 /* These symbols might be defined by some sysdeps configures.
197    They are used only in miscellaneous generator programs, not
198    in compiling libc itself.   */
199 
200 /* sysdeps/generic/configure.in */
201 #undef	HAVE_PSIGNAL
202 
203 /* sysdeps/unix/configure.in */
204 #define	HAVE_STRERROR
205 
206 /* sysdeps/unix/common/configure.in */
207 #undef	HAVE_SYS_SIGLIST
208 #undef	HAVE__SYS_SIGLIST
209 #undef	HAVE__CTYPE_
210 #undef	HAVE___CTYPE_
211 #undef	HAVE___CTYPE
212 #undef	HAVE__CTYPE__
213 #undef	HAVE__CTYPE
214 #undef	HAVE__LOCP
215 
216 #endif
217 
218 /*
219  */
220 
221 #ifdef	_LIBC
222 
223 /* The zic and zdump programs need these definitions.  */
224 
225 #define	HAVE_STRERROR	1
226 
227 /* The locale code needs these definitions.  */
228 
229 #define HAVE_REGEX 1
230 
231 //#define HAVE_MMAP 1
232 #undef HAVE_MMAP
233 
234 #endif
235 
236