Fix passing symbol value to pltexit callbacks when ld.so auditing.
[glibc.git] / config.h.in
blob9e797eb5b7e00e13257eec0ad7d98a320bf828d4
1 #if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
2 # error "glibc cannot be compiled without optimization"
3 #endif
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
11 /* Define if using ELF, which supports weak symbols.
12 This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
13 --with-elf. */
14 #undef HAVE_ELF
16 /* Define if building with SELinux support. Set by --with-selinux. */
17 #undef HAVE_SELINUX
19 /* Defined if building with SELinux support & audit libs are detected. */
20 #undef HAVE_LIBAUDIT
22 /* Defined if building with SELinux support & libcap libs are detected. */
23 #undef HAVE_LIBCAP
25 /* Define if using XCOFF. Set by --with-xcoff. */
26 #undef HAVE_XCOFF
28 /* Define if C symbols are asm symbols. Don't define if C symbols
29 have a `_' prepended to make the asm symbol. */
30 #undef NO_UNDERSCORES
32 /* Define if weak symbols are available via the `.weak' directive. */
33 #undef HAVE_ASM_WEAK_DIRECTIVE
35 /* Define if weak symbols are available via the `.weakext' directive. */
36 #undef HAVE_ASM_WEAKEXT_DIRECTIVE
38 /* Define if CFI directives are available. */
39 #undef HAVE_ASM_CFI_DIRECTIVES
41 /* Define to the assembler line separator character for multiple
42 assembler instructions per line. Default is `;' */
43 #undef ASM_LINE_SEP
45 /* Define if not using ELF, but `.init' and `.fini' sections are available. */
46 #undef HAVE_INITFINI
48 /* Define if __attribute__((section("foo"))) puts quotes around foo. */
49 #undef HAVE_SECTION_QUOTES
51 /* Define if the assembler supports the `.set' directive. */
52 #undef HAVE_ASM_SET_DIRECTIVE
54 /* Define to the name of the assembler's directive for
55 declaring a symbol global (default `.globl'). */
56 #undef ASM_GLOBAL_DIRECTIVE
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
62 /* Define if the assembler supports the gnu_unique_object symbol type. */
63 #undef HAVE_ASM_UNIQUE_OBJECT
65 /* Define a symbol_name as a global .symbol_name for ld. */
66 #undef HAVE_ASM_GLOBAL_DOT_NAME
68 /* On powerpc64, use overlapping .opd entries. */
69 #undef USE_PPC64_OVERLAPPING_OPD
71 /* Define if the assembler generates debugging information directly. */
72 #undef HAVE_CPP_ASM_DEBUGINFO
74 /* Define if _Unwind_Find_FDE should be exported from glibc. */
75 #undef EXPORT_UNWIND_FIND_FDE
77 /* Define to use GNU libio instead of GNU stdio.
78 This is defined by configure under --enable-libio. */
79 #undef USE_IN_LIBIO
81 /* Define if using ELF and the assembler supports the `.previous'
82 directive. */
83 #undef HAVE_ASM_PREVIOUS_DIRECTIVE
85 /* Define if using ELF and the assembler supports the `.popsection'
86 directive. */
87 #undef HAVE_ASM_POPSECTION_DIRECTIVE
89 /* Define if versioning of the library is wanted. */
90 #undef DO_VERSIONING
92 /* Defined to the oldest ABI we support, like 2.1. */
93 #undef GLIBC_OLDEST_ABI
95 /* Define if static NSS modules are wanted. */
96 #undef DO_STATIC_NSS
98 /* Define if the compiler supports __builtin_expect. */
99 #undef HAVE_BUILTIN_EXPECT
101 /* Define if the compiler supports __builtin_memset. */
102 #undef HAVE_BUILTIN_MEMSET
104 /* Define if __asm () on built-in function's prototype causes redirection of
105 the builtin. */
106 #undef HAVE_BUILTIN_REDIRECTION
108 /* Define if the __thread keyword is supported. */
109 #undef HAVE___THREAD
111 /* Define if the compiler supports __attribute__((tls_model(""))). */
112 #undef HAVE_TLS_MODEL_ATTRIBUTE
114 /* Define if the regparm attribute shall be used for local functions
115 (gcc on ix86 only). */
116 #undef USE_REGPARMS
118 /* Defined on PowerPC if the GCC being used has a problem with clobbering
119 certain registers (CR0, MQ, CTR, LR) in asm statements. */
120 #undef BROKEN_PPC_ASM_CR0
122 /* Defined on SPARC if ld doesn't handle R_SPARC_WDISP22 against .hidden
123 symbol. sysdeps/sparc/sparc32/elf/configure. */
124 #undef BROKEN_SPARC_WDISP22
126 /* Define if the linker supports the -z combreloc option. */
127 #undef HAVE_Z_COMBRELOC
129 /* Define if _rtld_local structure should be forced into .sdata section. */
130 #undef HAVE_SDATA_SECTION
132 /* Define if binutils support TLS handling. */
133 #undef HAVE_TLS_SUPPORT
135 /* Define if gcc supports SSE4. */
136 #undef HAVE_SSE4_SUPPORT
138 /* Define if gcc supports AVX. */
139 #undef HAVE_AVX_SUPPORT
141 /* Define if the compiler's exception support is based on libunwind. */
142 #undef HAVE_CC_WITH_LIBUNWIND
144 /* Define if the access to static and hidden variables is position independent
145 and does not need relocations. */
146 #undef PI_STATIC_AND_HIDDEN
148 /* Define this to disable the `hidden_proto' et al macros in
149 include/libc-symbols.h that avoid PLT slots in the shared objects. */
150 #undef NO_HIDDEN
153 /* Defined to some form of __attribute__ ((...)) if the compiler supports
154 a different, more efficient calling convention. */
155 #if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
156 # define internal_function __attribute__ ((regparm (3), stdcall))
157 #endif
159 /* Linux specific: minimum supported kernel version. */
160 #undef __LINUX_KERNEL_VERSION
162 /* Override abi-tags ABI version if necessary. */
163 #undef __ABI_TAG_VERSION
165 /* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
166 getopt determine whether a parameter is a flag or not. This features
167 was disabled later since it caused trouble. We are by default therefore
168 disabling the support as well. */
169 #undef USE_NONOPTION_FLAGS
171 /* Mach/Hurd specific: define if mig supports the `retcode' keyword. */
172 #undef HAVE_MIG_RETCODE
174 /* Mach specific: define if the `host_page_size' RPC is available. */
175 #undef HAVE_HOST_PAGE_SIZE
177 /* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available. */
178 #undef HAVE_I386_IO_PERM_MODIFY
180 /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available. */
181 #undef HAVE_I386_SET_GDT
183 /* Defined if forced unwind support is available. */
184 #undef HAVE_FORCED_UNWIND
186 /* Defined of libidn is available. */
187 #undef HAVE_LIBIDN
189 /* Define if inlined system calls are available. */
190 #undef HAVE_INLINED_SYSCALLS
192 /* Define if your assembler and linker support R_PPC_REL16* relocs. */
193 #undef HAVE_ASM_PPC_REL16
195 /* Define if your compiler defaults to -msecure-plt mode on ppc. */
196 #undef HAVE_PPC_SECURE_PLT
198 /* Define if __stack_chk_guard canary should be randomized at program startup. */
199 #undef ENABLE_STACKGUARD_RANDOMIZE
201 /* Define if multi-arch DSOs should be generated. */
202 #undef USE_MULTIARCH
204 /* Define if `.ctors' and `.dtors' sections shouldn't be used. */
205 #undef NO_CTORS_DTORS_SECTIONS
208 \f */
210 #ifndef _LIBC
212 /* These symbols might be defined by some sysdeps configures.
213 They are used only in miscellaneous generator programs, not
214 in compiling libc itself. */
216 /* sysdeps/generic/configure.in */
217 #undef HAVE_PSIGNAL
219 /* sysdeps/unix/configure.in */
220 #undef HAVE_STRERROR
222 /* sysdeps/unix/common/configure.in */
223 #undef HAVE_SYS_SIGLIST
224 #undef HAVE__SYS_SIGLIST
225 #undef HAVE__CTYPE_
226 #undef HAVE___CTYPE_
227 #undef HAVE___CTYPE
228 #undef HAVE__CTYPE__
229 #undef HAVE__CTYPE
230 #undef HAVE__LOCP
232 #endif
235 \f */
237 #ifdef _LIBC
239 /* The zic and zdump programs need these definitions. */
241 #define HAVE_STRERROR 1
243 /* The locale code needs these definitions. */
245 #define HAVE_REGEX 1
247 #endif