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