]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - config.h.in
elf: Refuse to dlopen PIE objects [BZ #24323]
[thirdparty/glibc.git] / config.h.in
index f3a096983a9461db2d5f8ebece4a6e000aa9e5c4..824dfe8d8cb61dd1595ae374ac712c795b815f09 100644 (file)
-/* 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 building with SELinux support.  Set by --with-selinux.  */
+#undef HAVE_SELINUX
 
-/* Define if using ELF, which supports weak symbols.
-   This implies HAVE_WEAK_SYMBOLS; set by --with-elf.  */
-#undef HAVE_ELF
+/* Defined if building with SELinux support & audit libs are detected. */
+#undef HAVE_LIBAUDIT
 
-/* Define if weak symbols are available in the assembler and
-   linker being used.  Set by --with-weak-symbols.  */
-#undef HAVE_WEAK_SYMBOLS
+/* Defined if building with SELinux support & libcap libs are detected.  */
+#undef  HAVE_LIBCAP
 
-/* Define if using the GNU assembler, gas.  */
-#undef HAVE_GNU_AS
+/* Define to the assembler line separator character for multiple
+   assembler instructions per line.  Default is `;'  */
+#undef ASM_LINE_SEP
+
+/* Define if __attribute__((section("foo"))) puts quotes around foo.  */
+#undef  HAVE_SECTION_QUOTES
 
 /* Define if the assembler supports the `.set' directive.  */
 #undef HAVE_ASM_SET_DIRECTIVE
 
-/* 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
+/* On powerpc64, use overlapping .opd entries.  */
+#undef  USE_PPC64_OVERLAPPING_OPD
+
+/* Define if _Unwind_Find_FDE should be exported from glibc.  */
+#undef  EXPORT_UNWIND_FIND_FDE
+
+/* Define if static NSS modules are wanted.  */
+#undef DO_STATIC_NSS
+
+/* Assume that the compiler supports __builtin_expect.
+   This macro is necessary for proper compilation of code
+   shared between GNU libc and GNU gettext projects.  */
+#define HAVE_BUILTIN_EXPECT 1
+
+/* Define if the compiler supports __builtin_memset.  */
+#undef HAVE_BUILTIN_MEMSET
+
+/* Define if compiler accepts -ftree-loop-distribute-patterns.  */
+#undef  HAVE_CC_INHIBIT_LOOP_TO_LIBCALL
+
+/* Define if compiler accepts -fno-stack-protector in an
+   __attribute__ ((__optimize__)).  */
+#undef HAVE_CC_NO_STACK_PROTECTOR
+
+/* The level of stack protection in use for glibc as a whole.
+   May be overridden on a file-by-file basis.  */
+#ifndef STACK_PROTECTOR_LEVEL
+#undef STACK_PROTECTOR_LEVEL
 #endif
-/* \f */
-/* These symbols might be defined by some sysdeps configures.  */
 
-/* sysdeps/generic/configure.in */
+/* Defined on SPARC if GCC emits GOTDATA relocations.  */
+#undef  HAVE_GCC_GOTDATA
+
+/* Define if the linker supports the -z combreloc option.  */
+#undef HAVE_Z_COMBRELOC
+
+/* Define if _rtld_local structure should be forced into .sdata section.  */
+#undef HAVE_SDATA_SECTION
+
+/* Define if compiler supports AVX512.  */
+#undef  HAVE_AVX512_SUPPORT
+
+/* Define if assembler supports AVX512DQ.  */
+#undef  HAVE_AVX512DQ_ASM_SUPPORT
+
+/* Define if assembler supports z10 zarch instructions as default on S390.  */
+#undef  HAVE_S390_MIN_Z10_ZARCH_ASM_SUPPORT
+
+/* Define if assembler supports z196 zarch instructions as default on S390.  */
+#undef  HAVE_S390_MIN_Z196_ZARCH_ASM_SUPPORT
+
+/* Define if assembler supports z13 zarch instructions as default on S390.  */
+#undef  HAVE_S390_MIN_Z13_ZARCH_ASM_SUPPORT
+
+/* Define if assembler supports arch13 zarch instruction as default on S390.  */
+#undef  HAVE_S390_MIN_ARCH13_ZARCH_ASM_SUPPORT
+
+/* Define if assembler supports vector instructions on S390.  */
+#undef  HAVE_S390_VX_ASM_SUPPORT
+
+/* Define if gcc supports vector registers as clobbers in inline assembly
+   on S390.  */
+#undef  HAVE_S390_VX_GCC_SUPPORT
+
+/* Define if assembler supports arch13 instructions on S390.  */
+#undef  HAVE_S390_ARCH13_ASM_SUPPORT
+
+/* Define if assembler supports Intel MPX.  */
+#undef  HAVE_MPX_SUPPORT
+
+/* Define if the compiler\'s exception support is based on libunwind.  */
+#undef HAVE_CC_WITH_LIBUNWIND
+
+/* 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 PIE.  */
+#undef  NO_HIDDEN_EXTERN_FUNC_IN_PIE
+
+/* 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
+
+/* Define this to disable in rtld the 'hidden_proto' et al macros in
+   include/libc-symbols.h that avoid PLT slots in the shared objects.  */
+#undef NO_RTLD_HIDDEN
+
+/* Define this to disable lazy relocations in DSOs.  */
+#undef BIND_NOW
+
+/* AArch64 big endian ABI */
+#undef HAVE_AARCH64_BE
+
+/* C-SKY ABI version.  */
+#undef CSKYABI
+
+/* C-SKY floating-point ABI.  */
+#undef CSKY_HARD_FLOAT
+
+/* RISC-V integer ABI for ld.so.  */
+#undef RISCV_ABI_XLEN
+
+/* RISC-V floating-point ABI for ld.so.  */
+#undef RISCV_ABI_FLEN
+
+/* Linux specific: minimum supported kernel version.  */
+#undef __LINUX_KERNEL_VERSION
+
+/* Override abi-tags ABI version if necessary.  */
+#undef  __ABI_TAG_VERSION
+
+/* 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
+
+/* Define if inlined system calls are available.  */
+#undef HAVE_INLINED_SYSCALLS
+
+/* Define if your compiler defaults to -msecure-plt mode on ppc.  */
+#undef HAVE_PPC_SECURE_PLT
+
+/* Define if __stack_chk_guard canary should be randomized at program startup.  */
+#undef ENABLE_STACKGUARD_RANDOMIZE
+
+/* Package description.  */
+#undef PKGVERSION
+
+/* Bug reporting address.  */
+#undef REPORT_BUGS_TO
+
+/* Define if multi-arch DSOs should be generated.  */
+#undef USE_MULTIARCH
+
+/* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
+#undef NO_CTORS_DTORS_SECTIONS
+
+/* Define if obsolete RPC code should be made available for user-level code
+   to link against.  */
+#undef LINK_OBSOLETE_RPC
+
+/* Define if obsolete libnsl code should be made available for user-level
+   code to link against.  */
+#undef LINK_OBSOLETE_NSL
+
+/* Define if Systemtap <sys/sdt.h> probes should be defined.  */
+#undef USE_STAP_PROBE
+
+/* Define if library functions should try to contact the nscd daemon.  */
+#undef USE_NSCD
+
+/* Define if the dynamic linker should consult an ld.so.cache file.  */
+#undef USE_LDCONFIG
+
+/* Define to 1 if STT_GNU_IFUNC support actually works.  */
+#define HAVE_IFUNC 0
+
+/* Define if gcc supports attribute ifunc.  */
+#undef HAVE_GCC_IFUNC
+
+/* Define if the linker defines __ehdr_start.  */
+#undef HAVE_EHDR_START
+
+/*
+\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.ac */
 #undef HAVE_PSIGNAL
 
-/* sysdeps/unix/common/configure.in */
+/* sysdeps/unix/configure.ac */
+#undef HAVE_STRERROR
+
+/* sysdeps/unix/common/configure.ac */
 #undef HAVE_SYS_SIGLIST
 #undef HAVE__SYS_SIGLIST
 #undef HAVE__CTYPE_
 #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
+
+/* The ARM hard-float ABI is being used.  */
+#undef HAVE_ARM_PCS_VFP
+
+/* The ARM movw/movt instructions using PC-relative relocs work right.  */
+#define ARM_PCREL_MOVW_OK 0
+
+/* The pt_chown binary is being built and used by grantpt.  */
+#define HAVE_PT_CHOWN 0
+
+/* Define if the compiler supports __builtin_trap without
+   any external dependencies such as making a function call.  */
+#define HAVE_BUILTIN_TRAP 0
+
+/* ports/sysdeps/mips/configure.in  */
+/* Define if using the IEEE 754-2008 NaN encoding on the MIPS target.  */
+#undef HAVE_MIPS_NAN2008
+
+/* The PowerPC64 ELFv2 ABI is being used.  */
+#undef HAVE_ELFV2_ABI
+
+/* PowerPC32 uses fcfid for integer to floating point conversions.  */
+#define HAVE_PPC_FCFID 0
+
+/* PowerPC32 uses fctidz for floating point to long long conversions.  */
+#define HAVE_PPC_FCTIDZ 0
+
+/* Build glibc with tunables support.  */
+#define HAVE_TUNABLES 0
+
+/* Define if static PIE is enabled.  */
+#define ENABLE_STATIC_PIE 0
+
+/* Some compiler options may now allow to use ebp in __asm__ (used mainly
+   in i386 6 argument syscall issue).  */
+#define CAN_USE_REGISTER_ASM_EBP 0
+
+#endif