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