Save/restore bound registers in _dl_runtime_resolve
[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 if weak symbols are available via the `.weak' directive.  */
22 #undef  HAVE_ASM_WEAK_DIRECTIVE
23
24 /* Define if weak symbols are available via the `.weakext' directive.  */
25 #undef  HAVE_ASM_WEAKEXT_DIRECTIVE
26
27 /* Define if CFI directives are available.  */
28 #undef  HAVE_ASM_CFI_DIRECTIVES
29
30 /* Define to the assembler line separator character for multiple
31    assembler instructions per line.  Default is `;'  */
32 #undef ASM_LINE_SEP
33
34 /* Define if __attribute__((section("foo"))) puts quotes around foo.  */
35 #undef  HAVE_SECTION_QUOTES
36
37 /* Define if the assembler supports the `.set' directive.  */
38 #undef  HAVE_ASM_SET_DIRECTIVE
39
40 /* Define if the assembler supports the gnu_unique_object symbol type.  */
41 #undef  HAVE_ASM_UNIQUE_OBJECT
42
43 /* Define a symbol_name as a global .symbol_name for ld.  */
44 #undef  HAVE_ASM_GLOBAL_DOT_NAME
45
46 /* On powerpc64, use overlapping .opd entries.  */
47 #undef  USE_PPC64_OVERLAPPING_OPD
48
49 /* Define if _Unwind_Find_FDE should be exported from glibc.  */
50 #undef  EXPORT_UNWIND_FIND_FDE
51
52 /* Define if using ELF and the assembler supports the `.previous'
53    directive.  */
54 #undef  HAVE_ASM_PREVIOUS_DIRECTIVE
55
56 /* Define if using ELF and the assembler supports the `.popsection'
57    directive.  */
58 #undef  HAVE_ASM_POPSECTION_DIRECTIVE
59
60 /* Defined to the oldest ABI we support, like 2.1.  */
61 #undef GLIBC_OLDEST_ABI
62
63 /* Define if static NSS modules are wanted.  */
64 #undef  DO_STATIC_NSS
65
66 /* Define if the compiler supports __builtin_memset.  */
67 #undef  HAVE_BUILTIN_MEMSET
68
69 /* Define if compiler accepts -ftree-loop-distribute-patterns.  */
70 #undef  HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
71
72 /* Define if the regparm attribute shall be used for local functions
73    (gcc on ix86 only).  */
74 #undef  USE_REGPARMS
75
76 /* Defined on PowerPC if the GCC being used has a problem with clobbering
77    certain registers (CR0, MQ, CTR, LR) in asm statements.  */
78 #undef  BROKEN_PPC_ASM_CR0
79
80 /* Defined on SPARC if GCC emits GOTDATA relocations.  */
81 #undef  HAVE_GCC_GOTDATA
82
83 /* Define on SPARC if AS supports VIS3 instructions.  */
84 #undef  HAVE_AS_VIS3_SUPPORT
85
86 /* Define if the linker supports the -z combreloc option.  */
87 #undef  HAVE_Z_COMBRELOC
88
89 /* Define if _rtld_local structure should be forced into .sdata section.  */
90 #undef  HAVE_SDATA_SECTION
91
92 /* Define if gcc supports SSE4.  */
93 #undef  HAVE_SSE4_SUPPORT
94
95 /* Define if gcc supports AVX.  */
96 #undef  HAVE_AVX_SUPPORT
97
98 /* Define if gcc supports VEX encoding.  */
99 #undef  HAVE_SSE2AVX_SUPPORT
100
101 /* Define if compiler supports AVX512.  */
102 #undef  HAVE_AVX512_SUPPORT
103
104 /* Define if assembler supports AVX512.  */
105 #undef  HAVE_AVX512_ASM_SUPPORT
106
107 /* Define if assembler supports Intel MPX.  */
108 #undef  HAVE_MPX_SUPPORT
109
110 /* Define if gcc supports FMA4.  */
111 #undef  HAVE_FMA4_SUPPORT
112
113 /* Define if the compiler\'s exception support is based on libunwind.  */
114 #undef  HAVE_CC_WITH_LIBUNWIND
115
116 /* Define if the access to static and hidden variables is position independent
117    and does not need relocations.  */
118 #undef  PI_STATIC_AND_HIDDEN
119
120 /* Define this to disable the 'hidden_proto' et al macros in
121    include/libc-symbols.h that avoid PLT slots in the shared objects.  */
122 #undef  NO_HIDDEN
123
124
125 /* Defined to some form of __attribute__ ((...)) if the compiler supports
126    a different, more efficient calling convention.  */
127 #if defined USE_REGPARMS && !defined PROF
128 # define internal_function __attribute__ ((regparm (3), stdcall))
129 #endif
130
131 /* Linux specific: minimum supported kernel version.  */
132 #undef  __LINUX_KERNEL_VERSION
133
134 /* Override abi-tags ABI version if necessary.  */
135 #undef  __ABI_TAG_VERSION
136
137 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
138    getopt determine whether a parameter is a flag or not.  This features
139    was disabled later since it caused trouble.  We are by default therefore
140    disabling the support as well.  */
141 #undef USE_NONOPTION_FLAGS
142
143 /* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
144 #undef  HAVE_MIG_RETCODE
145
146 /* Mach specific: define if the `host_page_size' RPC is available.  */
147 #undef  HAVE_HOST_PAGE_SIZE
148
149 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
150 #undef  HAVE_I386_IO_PERM_MODIFY
151
152 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
153 #undef  HAVE_I386_SET_GDT
154
155 /* Defined if forced unwind support is available.  */
156 #undef  HAVE_FORCED_UNWIND
157
158 /* Defined of libidn is available.  */
159 #undef HAVE_LIBIDN
160
161 /* Define if inlined system calls are available.  */
162 #undef HAVE_INLINED_SYSCALLS
163
164 /* Define if your assembler and linker support R_PPC_REL16* relocs.  */
165 #undef HAVE_ASM_PPC_REL16
166
167 /* Define if your compiler defaults to -msecure-plt mode on ppc.  */
168 #undef HAVE_PPC_SECURE_PLT
169
170 /* Define if __stack_chk_guard canary should be randomized at program startup.  */
171 #undef ENABLE_STACKGUARD_RANDOMIZE
172
173 /* Define if lock elision should be enabled by default.  */
174 #undef ENABLE_LOCK_ELISION
175
176 /* Package description.  */
177 #undef PKGVERSION
178
179 /* Bug reporting address.  */
180 #undef REPORT_BUGS_TO
181
182 /* Define if multi-arch DSOs should be generated.  */
183 #undef USE_MULTIARCH
184
185 /* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
186 #undef  NO_CTORS_DTORS_SECTIONS
187
188 /* Define if obsolete RPC code should be made available for user-level code
189    to link against.  */
190 #undef LINK_OBSOLETE_RPC
191
192 /* Define if Systemtap <sys/sdt.h> probes should be defined.  */
193 #undef USE_STAP_PROBE
194
195 /* Define if library functions should try to contact the nscd daemon.  */
196 #undef USE_NSCD
197
198 /* Define if the dynamic linker should consult an ld.so.cache file.  */
199 #undef USE_LDCONFIG
200
201 /* Define if STT_GNU_IFUNC support actually works.  */
202 #undef HAVE_IFUNC
203
204 /* Define if linux/fanotify.h is available.  */
205 #undef HAVE_LINUX_FANOTIFY_H
206
207 /* Define if the linker defines __ehdr_start.  */
208 #undef HAVE_EHDR_START
209
210 /*
211 \f */
212
213 #ifndef _LIBC
214
215 /* These symbols might be defined by some sysdeps configures.
216    They are used only in miscellaneous generator programs, not
217    in compiling libc itself.   */
218
219 /* sysdeps/generic/configure.ac */
220 #undef  HAVE_PSIGNAL
221
222 /* sysdeps/unix/configure.ac */
223 #undef  HAVE_STRERROR
224
225 /* sysdeps/unix/common/configure.ac */
226 #undef  HAVE_SYS_SIGLIST
227 #undef  HAVE__SYS_SIGLIST
228 #undef  HAVE__CTYPE_
229 #undef  HAVE___CTYPE_
230 #undef  HAVE___CTYPE
231 #undef  HAVE__CTYPE__
232 #undef  HAVE__CTYPE
233 #undef  HAVE__LOCP
234
235 #endif
236
237 /*
238 \f */
239
240 #ifdef  _LIBC
241
242 /* The zic and zdump programs need these definitions.  */
243
244 #define HAVE_STRERROR   1
245
246 /* The locale code needs these definitions.  */
247
248 #define HAVE_REGEX 1
249
250 /* The ARM hard-float ABI is being used.  */
251 #undef HAVE_ARM_PCS_VFP
252
253 /* The pt_chown binary is being built and used by grantpt.  */
254 #undef HAVE_PT_CHOWN
255
256 /* ports/sysdeps/mips/configure.in  */
257 /* Define if using the IEEE 754-2008 NaN encoding on the MIPS target.  */
258 #undef HAVE_MIPS_NAN2008
259
260 #endif