Merge branch 'master' of ssh://sourceware.org/git/glibc
[platform/upstream/glibc.git] / config.h.in
1 #if !defined IS_IN_build && !defined __ASSEMBLER__ && !defined _ISOMAC \
2     && !defined __OPTIMIZE__
3 # error "glibc cannot be compiled without optimization"
4 #endif
5
6 /* Another evil option when it comes to compiling the C library is
7    --ffast-math since it alters the ABI.  */
8 #if defined __FAST_MATH__ && !defined TEST_FAST_MATH
9 # error "glibc must not be compiled with -ffast-math"
10 #endif
11
12 /* Define if building with SELinux support.  Set by --with-selinux.  */
13 #undef  HAVE_SELINUX
14
15 /* Defined if building with SELinux support & audit libs are detected. */
16 #undef  HAVE_LIBAUDIT
17
18 /* Defined if building with SELinux support & libcap libs are detected.  */
19 #undef  HAVE_LIBCAP
20
21 /* Define to the assembler line separator character for multiple
22    assembler instructions per line.  Default is `;'  */
23 #undef ASM_LINE_SEP
24
25 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
26 #undef  HAVE_SECTION_QUOTES
27
28 /* Define if the assembler supports the `.set' directive.  */
29 #undef  HAVE_ASM_SET_DIRECTIVE
30
31 /* On powerpc64, use overlapping .opd entries.  */
32 #undef  USE_PPC64_OVERLAPPING_OPD
33
34 /* Define if _Unwind_Find_FDE should be exported from glibc.  */
35 #undef  EXPORT_UNWIND_FIND_FDE
36
37 /* Define if static NSS modules are wanted.  */
38 #undef  DO_STATIC_NSS
39
40 /* Assume that the compiler supports __builtin_expect.
41    This macro is necessary for proper compilation of code
42    shared between GNU libc and GNU gettext projects.  */
43 #define HAVE_BUILTIN_EXPECT 1
44
45 /* Define if the compiler supports __builtin_memset.  */
46 #undef  HAVE_BUILTIN_MEMSET
47
48 /* Define if compiler accepts -ftree-loop-distribute-patterns.  */
49 #undef  HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
50
51 /* Define if compiler accepts -fno-stack-protector in an
52    __attribute__ ((__optimize__)).  */
53 #undef  HAVE_CC_NO_STACK_PROTECTOR
54
55 /* The level of stack protection in use for glibc as a whole.
56    May be overridden on a file-by-file basis.  */
57 #ifndef STACK_PROTECTOR_LEVEL
58 #undef  STACK_PROTECTOR_LEVEL
59 #endif
60
61 /* Define if the regparm attribute shall be used for local functions
62    (gcc on ix86 only).  */
63 #undef  USE_REGPARMS
64
65 /* Defined on SPARC if GCC emits GOTDATA relocations.  */
66 #undef  HAVE_GCC_GOTDATA
67
68 /* Define on SPARC if AS supports VIS3 instructions.  */
69 #undef  HAVE_AS_VIS3_SUPPORT
70
71 /* Define if the linker supports the -z combreloc option.  */
72 #undef  HAVE_Z_COMBRELOC
73
74 /* Define if _rtld_local structure should be forced into .sdata section.  */
75 #undef  HAVE_SDATA_SECTION
76
77 /* Define if compiler supports AVX512.  */
78 #undef  HAVE_AVX512_SUPPORT
79
80 /* Define if assembler supports AVX512DQ.  */
81 #undef  HAVE_AVX512DQ_ASM_SUPPORT
82
83 /* Define if assembler supports z196 zarch instructions as default on S390.  */
84 #undef  HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
85
86 /* Define if assembler supports vector instructions on S390.  */
87 #undef  HAVE_S390_VX_ASM_SUPPORT
88
89 /* Define if gcc supports vector registers as clobbers in inline assembly
90    on S390.  */
91 #undef  HAVE_S390_VX_GCC_SUPPORT
92
93 /* Define if assembler supports Intel MPX.  */
94 #undef  HAVE_MPX_SUPPORT
95
96 /* Define if the compiler\'s exception support is based on libunwind.  */
97 #undef  HAVE_CC_WITH_LIBUNWIND
98
99 /* Define if the access to static and hidden variables is position independent
100    and does not need relocations.  */
101 #undef  PI_STATIC_AND_HIDDEN
102
103 /* Define this to disable the 'hidden_proto' et al macros in
104    include/libc-symbols.h that avoid PLT slots in the shared objects.  */
105 #undef  NO_HIDDEN
106
107 /* Define this to disable lazy relocations in DSOs.  */
108 #undef  BIND_NOW
109
110 /* AArch64 big endian ABI */
111 #undef HAVE_AARCH64_BE
112
113
114 /* Defined to some form of __attribute__ ((...)) if the compiler supports
115    a different, more efficient calling convention.  */
116 #if defined USE_REGPARMS && !defined PROF
117 # define internal_function __attribute__ ((regparm (3), stdcall))
118 #endif
119
120 /* Linux specific: minimum supported kernel version.  */
121 #undef  __LINUX_KERNEL_VERSION
122
123 /* Override abi-tags ABI version if necessary.  */
124 #undef  __ABI_TAG_VERSION
125
126 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
127    getopt determine whether a parameter is a flag or not.  This features
128    was disabled later since it caused trouble.  We are by default therefore
129    disabling the support as well.  */
130 #undef USE_NONOPTION_FLAGS
131
132 /* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
133 #undef  HAVE_MIG_RETCODE
134
135 /* Mach specific: define if the `host_page_size' RPC is available.  */
136 #undef  HAVE_HOST_PAGE_SIZE
137
138 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
139 #undef  HAVE_I386_IO_PERM_MODIFY
140
141 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
142 #undef  HAVE_I386_SET_GDT
143
144 /* Defined of libidn is available.  */
145 #undef HAVE_LIBIDN
146
147 /* Define if inlined system calls are available.  */
148 #undef HAVE_INLINED_SYSCALLS
149
150 /* Define if your compiler defaults to -msecure-plt mode on ppc.  */
151 #undef HAVE_PPC_SECURE_PLT
152
153 /* Define if __stack_chk_guard canary should be randomized at program startup.  */
154 #undef ENABLE_STACKGUARD_RANDOMIZE
155
156 /* Define if lock elision should be enabled by default.  */
157 #undef ENABLE_LOCK_ELISION
158
159 /* Package description.  */
160 #undef PKGVERSION
161
162 /* Bug reporting address.  */
163 #undef REPORT_BUGS_TO
164
165 /* Define if multi-arch DSOs should be generated.  */
166 #undef USE_MULTIARCH
167
168 /* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
169 #undef  NO_CTORS_DTORS_SECTIONS
170
171 /* Define if obsolete RPC code should be made available for user-level code
172    to link against.  */
173 #undef LINK_OBSOLETE_RPC
174
175 /* Define if obsolete libnsl code should be made available for user-level
176    code to link against.  */
177 #undef LINK_OBSOLETE_NSL
178
179 /* Define if Systemtap <sys/sdt.h> probes should be defined.  */
180 #undef USE_STAP_PROBE
181
182 /* Define if library functions should try to contact the nscd daemon.  */
183 #undef USE_NSCD
184
185 /* Define if the dynamic linker should consult an ld.so.cache file.  */
186 #undef USE_LDCONFIG
187
188 /* Define to 1 if STT_GNU_IFUNC support actually works.  */
189 #define HAVE_IFUNC 0
190
191 /* Define if gcc supports attribute ifunc.  */
192 #undef HAVE_GCC_IFUNC
193
194 /* Define if the linker defines __ehdr_start.  */
195 #undef HAVE_EHDR_START
196
197 /*
198 \f */
199
200 #ifndef _LIBC
201
202 /* These symbols might be defined by some sysdeps configures.
203    They are used only in miscellaneous generator programs, not
204    in compiling libc itself.   */
205
206 /* sysdeps/generic/configure.ac */
207 #undef  HAVE_PSIGNAL
208
209 /* sysdeps/unix/configure.ac */
210 #undef  HAVE_STRERROR
211
212 /* sysdeps/unix/common/configure.ac */
213 #undef  HAVE_SYS_SIGLIST
214 #undef  HAVE__SYS_SIGLIST
215 #undef  HAVE__CTYPE_
216 #undef  HAVE___CTYPE_
217 #undef  HAVE___CTYPE
218 #undef  HAVE__CTYPE__
219 #undef  HAVE__CTYPE
220 #undef  HAVE__LOCP
221
222 #endif
223
224 /*
225 \f */
226
227 #ifdef  _LIBC
228
229 /* The zic and zdump programs need these definitions.  */
230
231 #define HAVE_STRERROR   1
232
233 /* The locale code needs these definitions.  */
234
235 #define HAVE_REGEX 1
236
237 /* The ARM hard-float ABI is being used.  */
238 #undef HAVE_ARM_PCS_VFP
239
240 /* The ARM movw/movt instructions using PC-relative relocs work right.  */
241 #define ARM_PCREL_MOVW_OK 0
242
243 /* The pt_chown binary is being built and used by grantpt.  */
244 #define HAVE_PT_CHOWN 0
245
246 /* Define if the compiler supports __builtin_trap without
247    any external dependencies such as making a function call.  */
248 #define HAVE_BUILTIN_TRAP 0
249
250 /* ports/sysdeps/mips/configure.in  */
251 /* Define if using the IEEE 754-2008 NaN encoding on the MIPS target.  */
252 #undef HAVE_MIPS_NAN2008
253
254 /* The PowerPC64 ELFv2 ABI is being used.  */
255 #undef HAVE_ELFV2_ABI
256
257 /* PowerPC32 uses fcfid for integer to floating point conversions.  */
258 #define HAVE_PPC_FCFID 0
259
260 /* PowerPC32 uses fctidz for floating point to long long conversions.  */
261 #define HAVE_PPC_FCTIDZ 0
262
263 /* Build glibc with tunables support.  */
264 #define HAVE_TUNABLES 0
265
266 /* Some compiler options may now allow to use ebp in __asm__ (used mainly
267    in i386 6 argument syscall issue).  */
268 #define CAN_USE_REGISTER_ASM_EBP 0
269
270 #endif