]> git.ipfire.org Git - thirdparty/glibc.git/blame - config.h.in
assert.h: allow gcc to detect assert(a = 1) errors
[thirdparty/glibc.git] / config.h.in
CommitLineData
28aeeda4
JM
1#if !defined IS_IN_build && !defined __ASSEMBLER__ && !defined _ISOMAC \
2 && !defined __OPTIMIZE__
d322efa8
UD
3# error "glibc cannot be compiled without optimization"
4#endif
5
8a989129
UD
6/* Another evil option when it comes to compiling the C library is
7 --ffast-math since it alters the ABI. */
d747a0a5 8#if defined __FAST_MATH__ && !defined TEST_FAST_MATH
8a989129
UD
9# error "glibc must not be compiled with -ffast-math"
10#endif
11
74a30a58
UD
12/* Define if building with SELinux support. Set by --with-selinux. */
13#undef HAVE_SELINUX
14
ec23b9be
UD
15/* Defined if building with SELinux support & audit libs are detected. */
16#undef HAVE_LIBAUDIT
17
e1f0c5bc
UD
18/* Defined if building with SELinux support & libcap libs are detected. */
19#undef HAVE_LIBCAP
20
b15cb495
UD
21/* Define to the assembler line separator character for multiple
22 assembler instructions per line. Default is `;' */
23#undef ASM_LINE_SEP
24
e26dd47f
UD
25/* Define if __attribute__((section("foo"))) puts quotes around foo. */
26#undef HAVE_SECTION_QUOTES
27
e215c478
RM
28/* Define if the assembler supports the `.set' directive. */
29#undef HAVE_ASM_SET_DIRECTIVE
30
590b40f7
UD
31/* On powerpc64, use overlapping .opd entries. */
32#undef USE_PPC64_OVERLAPPING_OPD
33
74bd2300
UD
34/* Define if _Unwind_Find_FDE should be exported from glibc. */
35#undef EXPORT_UNWIND_FIND_FDE
36
5107cf1d
UD
37/* Define if static NSS modules are wanted. */
38#undef DO_STATIC_NSS
39
80fcb5c5
DL
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
d555194c
UD
45/* Define if the compiler supports __builtin_memset. */
46#undef HAVE_BUILTIN_MEMSET
47
85c2e611
AZ
48/* Define if compiler accepts -ftree-loop-distribute-patterns. */
49#undef HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
50
66000494 51/* Define if the regparm attribute shall be used for local functions
dfd2257a
UD
52 (gcc on ix86 only). */
53#undef USE_REGPARMS
54
c80098a9
DM
55/* Defined on SPARC if GCC emits GOTDATA relocations. */
56#undef HAVE_GCC_GOTDATA
57
eae47a36
DM
58/* Define on SPARC if AS supports VIS3 instructions. */
59#undef HAVE_AS_VIS3_SUPPORT
60
a711b01d
UD
61/* Define if the linker supports the -z combreloc option. */
62#undef HAVE_Z_COMBRELOC
63
0d01dace
UD
64/* Define if _rtld_local structure should be forced into .sdata section. */
65#undef HAVE_SDATA_SECTION
66
2d63a517
IZ
67/* Define if compiler supports AVX512. */
68#undef HAVE_AVX512_SUPPORT
69
f43cb35c
L
70/* Define if assembler supports AVX512DQ. */
71#undef HAVE_AVX512DQ_ASM_SUPPORT
a4c75cfd 72
e9b42488
SL
73/* Define if assembler supports z196 zarch instructions as default on S390. */
74#undef HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
75
4f0a1cea
SL
76/* Define if assembler supports vector instructions on S390. */
77#undef HAVE_S390_VX_ASM_SUPPORT
78
9b7f0559
SL
79/* Define if gcc supports vector registers as clobbers in inline assembly
80 on S390. */
81#undef HAVE_S390_VX_GCC_SUPPORT
82
a4c75cfd
IZ
83/* Define if assembler supports Intel MPX. */
84#undef HAVE_MPX_SUPPORT
56f6f6a2 85
56f6f6a2 86/* Define if the compiler\'s exception support is based on libunwind. */
c776b3d7
UD
87#undef HAVE_CC_WITH_LIBUNWIND
88
5a47e7f2
UD
89/* Define if the access to static and hidden variables is position independent
90 and does not need relocations. */
91#undef PI_STATIC_AND_HIDDEN
92
56f6f6a2 93/* Define this to disable the 'hidden_proto' et al macros in
749a9a4f
RM
94 include/libc-symbols.h that avoid PLT slots in the shared objects. */
95#undef NO_HIDDEN
96
6901def6
L
97/* Define this to disable lazy relocations in DSOs. */
98#undef BIND_NOW
99
44cb254f
SN
100/* AArch64 big endian ABI */
101#undef HAVE_AARCH64_BE
102
dfd2257a
UD
103
104/* Defined to some form of __attribute__ ((...)) if the compiler supports
105 a different, more efficient calling convention. */
2bdd4ca6 106#if defined USE_REGPARMS && !defined PROF
dfd2257a
UD
107# define internal_function __attribute__ ((regparm (3), stdcall))
108#endif
109
958f238f
UD
110/* Linux specific: minimum supported kernel version. */
111#undef __LINUX_KERNEL_VERSION
112
a986484f
UD
113/* Override abi-tags ABI version if necessary. */
114#undef __ABI_TAG_VERSION
115
a3151b02
UD
116/* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
117 getopt determine whether a parameter is a flag or not. This features
118 was disabled later since it caused trouble. We are by default therefore
119 disabling the support as well. */
120#undef USE_NONOPTION_FLAGS
121
dde2f4a0
RM
122/* Mach/Hurd specific: define if mig supports the `retcode' keyword. */
123#undef HAVE_MIG_RETCODE
124
30537cab
RM
125/* Mach specific: define if the `host_page_size' RPC is available. */
126#undef HAVE_HOST_PAGE_SIZE
127
db6b51ad
RM
128/* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available. */
129#undef HAVE_I386_IO_PERM_MODIFY
130
679e4c43
RM
131/* Mach/i386 specific: define if the `i386_set_gdt' RPC is available. */
132#undef HAVE_I386_SET_GDT
133
e2fd3cbe
UD
134/* Defined of libidn is available. */
135#undef HAVE_LIBIDN
136
ce6e047f
UD
137/* Define if inlined system calls are available. */
138#undef HAVE_INLINED_SYSCALLS
139
70c50602
UD
140/* Define if your compiler defaults to -msecure-plt mode on ppc. */
141#undef HAVE_PPC_SECURE_PLT
142
35f1e827
UD
143/* Define if __stack_chk_guard canary should be randomized at program startup. */
144#undef ENABLE_STACKGUARD_RANDOMIZE
145
1717da59
AK
146/* Define if lock elision should be enabled by default. */
147#undef ENABLE_LOCK_ELISION
148
8b748aed
JM
149/* Package description. */
150#undef PKGVERSION
151
152/* Bug reporting address. */
153#undef REPORT_BUGS_TO
154
425ce2ed
UD
155/* Define if multi-arch DSOs should be generated. */
156#undef USE_MULTIARCH
157
4a531bb0
L
158/* Define if `.ctors' and `.dtors' sections shouldn't be used. */
159#undef NO_CTORS_DTORS_SECTIONS
160
021db4be
AJ
161/* Define if obsolete RPC code should be made available for user-level code
162 to link against. */
163#undef LINK_OBSOLETE_RPC
3a097cc7
RM
164
165/* Define if Systemtap <sys/sdt.h> probes should be defined. */
166#undef USE_STAP_PROBE
167
3cc3ef96
RM
168/* Define if library functions should try to contact the nscd daemon. */
169#undef USE_NSCD
170
f57f8055
RM
171/* Define if the dynamic linker should consult an ld.so.cache file. */
172#undef USE_LDCONFIG
173
6c9578a2
AS
174/* Define to 1 if STT_GNU_IFUNC support actually works. */
175#define HAVE_IFUNC 0
6e6249d0 176
022dfdce
SL
177/* Define if gcc supports attribute ifunc. */
178#undef HAVE_GCC_IFUNC
179
44c4e5d5
RM
180/* Define if the linker defines __ehdr_start. */
181#undef HAVE_EHDR_START
182
92777700
RM
183/*
184\f */
185
186#ifndef _LIBC
187
188/* These symbols might be defined by some sysdeps configures.
189 They are used only in miscellaneous generator programs, not
190 in compiling libc itself. */
28f540f4 191
cb8a6dbd 192/* sysdeps/generic/configure.ac */
28f540f4
RM
193#undef HAVE_PSIGNAL
194
cb8a6dbd 195/* sysdeps/unix/configure.ac */
92777700
RM
196#undef HAVE_STRERROR
197
cb8a6dbd 198/* sysdeps/unix/common/configure.ac */
28f540f4
RM
199#undef HAVE_SYS_SIGLIST
200#undef HAVE__SYS_SIGLIST
201#undef HAVE__CTYPE_
202#undef HAVE___CTYPE_
203#undef HAVE___CTYPE
204#undef HAVE__CTYPE__
205#undef HAVE__CTYPE
206#undef HAVE__LOCP
92777700
RM
207
208#endif
209
210/*
211\f */
212
213#ifdef _LIBC
214
215/* The zic and zdump programs need these definitions. */
216
217#define HAVE_STRERROR 1
218
9a8c0d4f
RM
219/* The locale code needs these definitions. */
220
221#define HAVE_REGEX 1
222
6a43ec98
CD
223/* The ARM hard-float ABI is being used. */
224#undef HAVE_ARM_PCS_VFP
225
8c2b1ed8
RM
226/* The ARM movw/movt instructions using PC-relative relocs work right. */
227#define ARM_PCREL_MOVW_OK 0
228
e4608715 229/* The pt_chown binary is being built and used by grantpt. */
73ba67cb 230#define HAVE_PT_CHOWN 0
e4608715 231
9fe7e787
RM
232/* Define if the compiler supports __builtin_trap without
233 any external dependencies such as making a function call. */
234#define HAVE_BUILTIN_TRAP 0
235
9c21573c
MR
236/* ports/sysdeps/mips/configure.in */
237/* Define if using the IEEE 754-2008 NaN encoding on the MIPS target. */
238#undef HAVE_MIPS_NAN2008
239
73a39112
JM
240/* The PowerPC64 ELFv2 ABI is being used. */
241#undef HAVE_ELFV2_ABI
242
bc375363
JM
243/* PowerPC32 uses fcfid for integer to floating point conversions. */
244#define HAVE_PPC_FCFID 0
245
e8dab947
JM
246/* PowerPC32 uses fctidz for floating point to long long conversions. */
247#define HAVE_PPC_FCTIDZ 0
248
92777700 249#endif