]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - config.h.in
(gnulib): If have-cc-withh-libunwind is "yes", also mention -lunwind.
[thirdparty/glibc.git] / config.h.in
index 504f77021e0742289415a7c5952486719457fc92..ba5a55cfc653924a458915785a17719a9fa8f6a5 100644 (file)
+#if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
+# error "glibc cannot be compiled without optimization"
+#endif
+
+/* Another evil option when it comes to compiling the C library is
+   --ffast-math since it alters the ABI.  */
+#if defined __FAST_MATH__ && !defined TEST_FAST_MATH
+# error "glibc must not be compiled with -ffast-math"
+#endif
+
 /* Define if using GNU ld, with support for weak symbols in a.out,
    and for symbol set and warning messages extensions in a.out and ELF.
    This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld.  */
 #undef HAVE_GNU_LD
 
 /* Define if using ELF, which supports weak symbols.
-   This implies HAVE_WEAK_SYMBOLS; set by --with-elf.  */
+   This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
+   --with-elf.  */
 #undef HAVE_ELF
 
-/* Define if weak symbols are available in the assembler and
-   linker being used.  Set by --with-weak-symbols.  */
-#undef HAVE_WEAK_SYMBOLS
+/* Define if using XCOFF. Set by --with-xcoff.  */
+#undef HAVE_XCOFF
+
+/* Define if C symbols are asm symbols.  Don't define if C symbols
+   have a `_' prepended to make the asm symbol.  */
+#undef NO_UNDERSCORES
+
+/* Define if weak symbols are available via the `.weak' directive.  */
+#undef HAVE_ASM_WEAK_DIRECTIVE
+
+/* Define if weak symbols are available via the `.weakext' directive.  */
+#undef HAVE_ASM_WEAKEXT_DIRECTIVE
+
+/* Define if CFI directives are available.  */
+#undef HAVE_ASM_CFI_DIRECTIVES
+
+/* Define to the assembler line separator character for multiple
+   assembler instructions per line.  Default is `;'  */
+#undef ASM_LINE_SEP
+
+/* Define if not using ELF, but `.init' and `.fini' sections are available.  */
+#undef HAVE_INITFINI
+
+/* Define if __attribute__((section("foo"))) puts quotes around foo.  */
+#undef  HAVE_SECTION_QUOTES
 
 /* Define if using the GNU assembler, gas.  */
 #undef HAVE_GNU_AS
 
-/* ELF has weak symbols, and with GNU ld a.out does too.  */
-#ifndef HAVE_WEAK_SYMBOLS
-#if defined (HAVE_ELF) || defined (HAVE_GNU_LD)
-#define HAVE_WEAK_SYMBOLS
-#endif
+/* Define if the assembler supports the `.set' directive.  */
+#undef HAVE_ASM_SET_DIRECTIVE
+
+/* Define to the name of the assembler's directive for
+   declaring a symbol global (default `.globl').  */
+#undef ASM_GLOBAL_DIRECTIVE
+
+/* Define to the prefix before `object' or `function' in the
+   assembler's `.type' directive, if it has one.  */
+#undef ASM_TYPE_DIRECTIVE_PREFIX
+
+/* Define a symbol_name as a global .symbol_name for ld.  */
+#undef HAVE_ASM_GLOBAL_DOT_NAME
+
+/* Define if the assembler generates debugging information directly.  */
+#undef HAVE_CPP_ASM_DEBUGINFO
+
+/* Define if _Unwind_Find_FDE should be exported from glibc.  */
+#undef  EXPORT_UNWIND_FIND_FDE
+
+/* Define to use GNU libio instead of GNU stdio.
+   This is defined by configure under --enable-libio.  */
+#undef USE_IN_LIBIO
+
+/* Define if using ELF and the assembler supports the `.previous'
+   directive.  */
+#undef HAVE_ASM_PREVIOUS_DIRECTIVE
+
+/* Define if using ELF and the assembler supports the `.popsection'
+   directive.  */
+#undef HAVE_ASM_POPSECTION_DIRECTIVE
+
+/* Define if versioning of the library is wanted.  */
+#undef DO_VERSIONING
+
+/* Defined to the oldest ABI we support, like 2.1.  */
+#undef GLIBC_OLDEST_ABI
+
+/* Define if static NSS modules are wanted.  */
+#undef DO_STATIC_NSS
+
+/* Define if gcc uses DWARF2 unwind information for exception support.  */
+#undef HAVE_DWARF2_UNWIND_INFO
+
+/* Define if gcc uses DWARF2 unwind information for exception support
+   with static variable. */
+#undef HAVE_DWARF2_UNWIND_INFO_STATIC
+
+/* Define if the compiler supports __builtin_expect.  */
+#undef HAVE_BUILTIN_EXPECT
+
+/* Define if the compiler supports __builtin_memset.  */
+#undef HAVE_BUILTIN_MEMSET
+
+/* Define if __asm () on built-in function's prototype causes redirection of
+   the builtin.  */
+#undef HAVE_BUILTIN_REDIRECTION
+
+/* Define if the __thread keyword is supported.  */
+#undef HAVE___THREAD
+
+/* Define if the compiler supports __attribute__((tls_model(""))).  */
+#undef HAVE_TLS_MODEL_ATTRIBUTE
+
+/* Define if the regparm attribute shall be used for local functions
+   (gcc on ix86 only).  */
+#undef USE_REGPARMS
+
+/* Defined on PowerPC if the GCC being used has a problem with clobbering
+   certain registers (CR0, MQ, CTR, LR) in asm statements.  */
+#undef BROKEN_PPC_ASM_CR0
+
+/* Defined on SPARC if ld doesn't handle R_SPARC_WDISP22 against .hidden
+   symbol.  sysdeps/sparc/sparc32/elf/configure.  */
+#undef BROKEN_SPARC_WDISP22
+
+/* Define if the linker supports the -z combreloc option.  */
+#undef HAVE_Z_COMBRELOC
+
+/* Define if the assembler supported .protected.  */
+#undef HAVE_PROTECTED
+
+/* Define if the assembler supported .hidden.  */
+#undef HAVE_HIDDEN
+
+/* Define if the compiler supports __attribute__ ((visibility (...))).  */
+#undef HAVE_VISIBILITY_ATTRIBUTE
+
+/* Define if the compiler doesn't support __attribute__ ((visibility (...)))
+   together with __asm__ redirection properly.  */
+#undef HAVE_BROKEN_VISIBILITY_ATTRIBUTE
+
+/* Define if the compiler doesn't support __attribute__ ((alias (...)))
+   together with __asm__ redirection properly.  */
+#undef HAVE_BROKEN_ALIAS_ATTRIBUTE
+
+/* Define if _rtld_local structure should be forced into .sdata section.  */
+#undef HAVE_SDATA_SECTION
+
+/* Define if binutils support TLS handling.  */
+#undef HAVE_TLS_SUPPORT
+
+/* Define if the linker supports .preinit_array/.init_array/.fini_array
+   sections.  */
+#undef HAVE_INITFINI_ARRAY
+
+/* Define if the access to static and hidden variables is position independent
+   and does not need relocations.  */
+#undef PI_STATIC_AND_HIDDEN
+
+/* Define this to disable the `hidden_proto' et al macros in
+   include/libc-symbols.h that avoid PLT slots in the shared objects.  */
+#undef NO_HIDDEN
+
+
+/* Defined to some form of __attribute__ ((...)) if the compiler supports
+   a different, more efficient calling convention.  */
+#if defined USE_REGPARMS && !defined PROF && !defined __BOUNDED_POINTERS__
+# define internal_function __attribute__ ((regparm (3), stdcall))
 #endif
-\f
-/* These symbols might be defined by some sysdeps configures.  */
+
+/* Linux specific: minimum supported kernel version.  */
+#undef __LINUX_KERNEL_VERSION
+
+/* Override abi-tags ABI version if necessary.  */
+#undef  __ABI_TAG_VERSION
+
+/* An extension in gcc 2.96 and up allows the subtraction of two
+   local labels.  */
+#undef HAVE_SUBTRACT_LOCAL_LABELS
+
+/* bash 2.0 introduced the _XXX_GNU_nonoption_argv_flags_ variable to help
+   getopt determine whether a parameter is a flag or not.  This features
+   was disabled later since it caused trouble.  We are by default therefore
+   disabling the support as well.  */
+#undef USE_NONOPTION_FLAGS
+
+/* Mach/Hurd specific: define if mig supports the `retcode' keyword.  */
+#undef HAVE_MIG_RETCODE
+
+/* Mach specific: define if the `host_page_size' RPC is available.  */
+#undef HAVE_HOST_PAGE_SIZE
+
+/* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available.  */
+#undef HAVE_I386_IO_PERM_MODIFY
+
+/* Mach/i386 specific: define if the `i386_set_gdt' RPC is available.  */
+#undef HAVE_I386_SET_GDT
+
+/* Defined if forced unwind support is available.  */
+#undef HAVE_FORCED_UNWIND
+
+/*
+\f */
+
+#ifndef        _LIBC
+
+/* These symbols might be defined by some sysdeps configures.
+   They are used only in miscellaneous generator programs, not
+   in compiling libc itself.   */
 
 /* sysdeps/generic/configure.in */
 #undef HAVE_PSIGNAL
 
+/* sysdeps/unix/configure.in */
+#undef HAVE_STRERROR
+
 /* sysdeps/unix/common/configure.in */
 #undef HAVE_SYS_SIGLIST
 #undef HAVE__SYS_SIGLIST
 #undef HAVE__CTYPE__
 #undef HAVE__CTYPE
 #undef HAVE__LOCP
+
+#endif
+
+/*
+\f */
+
+#ifdef _LIBC
+
+/* The zic and zdump programs need these definitions.  */
+
+#define        HAVE_STRERROR   1
+
+/* The locale code needs these definitions.  */
+
+#define HAVE_REGEX 1
+
+#endif