mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-11 11:23:35 +08:00
701821154b
Following the same format as the implementation in ld:
9e2bb0cb5e
Generate a .note.package FDO package metadata ELF note, following
the spec: https://systemd.io/ELF_PACKAGE_METADATA/
If the jansson library is available at build time (and it is explicitly
enabled), link ld to it, and use it to validate that the input is
correct JSON, to avoid writing garbage to the file. The
configure option --enable-jansson has to be used to explicitly enable
it (error out when not found). This allows bootstrappers (or others who
are not interested) to seamlessly skip it without issues.
elfcpp/
* elfcpp.h: Add FDO_PACKAGING_METADATA note type.
gold/
* Makefile.am: Add jansson flags and libraries.
* configure.ac: Check for jansson library.
* layout.cc (Layout::create_notes): Call create_package_metadata().
(Layout::create_package_metadata): New function.
* layout.h (Layout::create_package_metadata): New function.
(Layout::package_metadata_note_): New data member.
* options.h (class General_options): Add --package-metadata option.
* testsuite/Makefile.am (object_unittest): Add jansson libraries.
(binary_unittest): Likewise.
(leb128_unittest): Likewise.
(overflow_unittest): Likewise.
(package_metadata_test): New test.
* testsuite/package_metadata_main.c: New test source.
318 lines
8.3 KiB
Plaintext
318 lines
8.3 KiB
Plaintext
/* config.in. Generated from configure.ac by autoheader. */
|
|
|
|
/* Check that config.h is #included before system headers
|
|
(this works only for glibc, but that should be enough). */
|
|
#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
|
|
# error config.h must be #included before system headers
|
|
#endif
|
|
#define __CONFIG_H__ 1
|
|
|
|
/* Define if building universal (internal helper macro) */
|
|
#undef AC_APPLE_UNIVERSAL_BUILD
|
|
|
|
/* Set the default --hash-style value */
|
|
#undef DEFAULT_HASH_STYLE
|
|
|
|
/* Define to 1 if you want to enable -z relro in ELF linker by default. */
|
|
#undef DEFAULT_LD_Z_RELRO
|
|
|
|
/* Define to 1 if translation of program messages to the user's native
|
|
language is requested. */
|
|
#undef ENABLE_NLS
|
|
|
|
/* Define to enable linker plugins */
|
|
#undef ENABLE_PLUGINS
|
|
|
|
/* Define to do multi-threaded linking */
|
|
#undef ENABLE_THREADS
|
|
|
|
/* Default big endian (true or false) */
|
|
#undef GOLD_DEFAULT_BIG_ENDIAN
|
|
|
|
/* Default machine code */
|
|
#undef GOLD_DEFAULT_MACHINE
|
|
|
|
/* Default OSABI code */
|
|
#undef GOLD_DEFAULT_OSABI
|
|
|
|
/* Default size (32 or 64) */
|
|
#undef GOLD_DEFAULT_SIZE
|
|
|
|
/* Define to 1 if you have the <byteswap.h> header file. */
|
|
#undef HAVE_BYTESWAP_H
|
|
|
|
/* Define to 1 if you have the `chsize' function. */
|
|
#undef HAVE_CHSIZE
|
|
|
|
/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_ASPRINTF
|
|
|
|
/* Define to 1 if you have the declaration of `basename', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_BASENAME
|
|
|
|
/* Define to 1 if you have the declaration of `bswap_16', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_BSWAP_16
|
|
|
|
/* Define to 1 if you have the declaration of `bswap_32', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_BSWAP_32
|
|
|
|
/* Define to 1 if you have the declaration of `bswap_64', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_BSWAP_64
|
|
|
|
/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
|
|
#undef HAVE_DECL_FFS
|
|
|
|
/* Define to 1 if you have the declaration of `memmem', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_MEMMEM
|
|
|
|
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_SNPRINTF
|
|
|
|
/* Define to 1 if you have the declaration of `strndup', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_STRNDUP
|
|
|
|
/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_STRVERSCMP
|
|
|
|
/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_VASPRINTF
|
|
|
|
/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_VSNPRINTF
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#undef HAVE_DLFCN_H
|
|
|
|
/* Define to 1 if you have the <ext/hash_map> header file. */
|
|
#undef HAVE_EXT_HASH_MAP
|
|
|
|
/* Define to 1 if you have the <ext/hash_set> header file. */
|
|
#undef HAVE_EXT_HASH_SET
|
|
|
|
/* Define to 1 if you have the `fallocate' function. */
|
|
#undef HAVE_FALLOCATE
|
|
|
|
/* Define to 1 if you have the `ffsll' function. */
|
|
#undef HAVE_FFSLL
|
|
|
|
/* Define to 1 if you have the `ftruncate' function. */
|
|
#undef HAVE_FTRUNCATE
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* The jansson library is to be used */
|
|
#undef HAVE_JANSSON
|
|
|
|
/* Define if your <locale.h> file defines LC_MESSAGES. */
|
|
#undef HAVE_LC_MESSAGES
|
|
|
|
/* Define to 1 if you have the `link' function. */
|
|
#undef HAVE_LINK
|
|
|
|
/* Define to 1 if you have the <locale.h> header file. */
|
|
#undef HAVE_LOCALE_H
|
|
|
|
/* Define to 1 if you have the `mallinfo' function. */
|
|
#undef HAVE_MALLINFO
|
|
|
|
/* Define to 1 if you have the `mallinfo2' function. */
|
|
#undef HAVE_MALLINFO2
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#undef HAVE_MEMORY_H
|
|
|
|
/* Define to 1 if you have the `mkdtemp' function. */
|
|
#undef HAVE_MKDTEMP
|
|
|
|
/* Define to 1 if you have the `mmap' function. */
|
|
#undef HAVE_MMAP
|
|
|
|
/* Define to 1 if you have the mremap function with MREMAP_MAYMOVE support */
|
|
#undef HAVE_MREMAP
|
|
|
|
/* Define if compiler supports #pragma omp threadprivate */
|
|
#undef HAVE_OMP_SUPPORT
|
|
|
|
/* Define to 1 if you have the `posix_fallocate' function. */
|
|
#undef HAVE_POSIX_FALLOCATE
|
|
|
|
/* Define to 1 if you have the `pread' function. */
|
|
#undef HAVE_PREAD
|
|
|
|
/* Have PTHREAD_PRIO_INHERIT. */
|
|
#undef HAVE_PTHREAD_PRIO_INHERIT
|
|
|
|
/* Define to 1 if you have the `readv' function. */
|
|
#undef HAVE_READV
|
|
|
|
/* Define to 1 if you have the `setlocale' function. */
|
|
#undef HAVE_SETLOCALE
|
|
|
|
/* Define if struct stat has a field st_mtim with timespec for mtime */
|
|
#undef HAVE_STAT_ST_MTIM
|
|
|
|
/* Define to 1 if you have the <stdint.h> header file. */
|
|
#undef HAVE_STDINT_H
|
|
|
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
#undef HAVE_STDLIB_H
|
|
|
|
/* Define to 1 if you have the <strings.h> header file. */
|
|
#undef HAVE_STRINGS_H
|
|
|
|
/* Define to 1 if you have the <string.h> header file. */
|
|
#undef HAVE_STRING_H
|
|
|
|
/* Define to 1 if you have the `sysconf' function. */
|
|
#undef HAVE_SYSCONF
|
|
|
|
/* Define to 1 if you have the <sys/mman.h> header file. */
|
|
#undef HAVE_SYS_MMAN_H
|
|
|
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
#undef HAVE_SYS_STAT_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to support 32-bit big-endian targets */
|
|
#undef HAVE_TARGET_32_BIG
|
|
|
|
/* Define to support 32-bit little-endian targets */
|
|
#undef HAVE_TARGET_32_LITTLE
|
|
|
|
/* Define to support 64-bit big-endian targets */
|
|
#undef HAVE_TARGET_64_BIG
|
|
|
|
/* Define to support 64-bit little-endian targets */
|
|
#undef HAVE_TARGET_64_LITTLE
|
|
|
|
/* Define if attributes work on C++ templates */
|
|
#undef HAVE_TEMPLATE_ATTRIBUTES
|
|
|
|
/* Define to 1 if you have the `times' function. */
|
|
#undef HAVE_TIMES
|
|
|
|
/* Define if std::tr1::hash<off_t> is usable */
|
|
#undef HAVE_TR1_HASH_OFF_T
|
|
|
|
/* Define to 1 if you have the <tr1/unordered_map> header file. */
|
|
#undef HAVE_TR1_UNORDERED_MAP
|
|
|
|
/* Define if ::std::tr1::unordered_map::rehash is usable */
|
|
#undef HAVE_TR1_UNORDERED_MAP_REHASH
|
|
|
|
/* Define to 1 if you have the <tr1/unordered_set> header file. */
|
|
#undef HAVE_TR1_UNORDERED_SET
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define to 1 if you have the <unordered_map> header file. */
|
|
#undef HAVE_UNORDERED_MAP
|
|
|
|
/* Define to 1 if you have the <unordered_set> header file. */
|
|
#undef HAVE_UNORDERED_SET
|
|
|
|
/* Define to 1 if you have the <windows.h> header file. */
|
|
#undef HAVE_WINDOWS_H
|
|
|
|
/* Default library search path */
|
|
#undef LIB_PATH
|
|
|
|
/* Whether configured as a native linker */
|
|
#undef NATIVE_LINKER
|
|
|
|
/* Name of package */
|
|
#undef PACKAGE
|
|
|
|
/* Define to the address where bug reports for this package should be sent. */
|
|
#undef PACKAGE_BUGREPORT
|
|
|
|
/* Define to the full name of this package. */
|
|
#undef PACKAGE_NAME
|
|
|
|
/* Define to the full name and version of this package. */
|
|
#undef PACKAGE_STRING
|
|
|
|
/* Define to the one symbol short name of this package. */
|
|
#undef PACKAGE_TARNAME
|
|
|
|
/* Define to the home page for this package. */
|
|
#undef PACKAGE_URL
|
|
|
|
/* Define to the version of this package. */
|
|
#undef PACKAGE_VERSION
|
|
|
|
/* Define to necessary symbol if this constant uses a non-standard name on
|
|
your system. */
|
|
#undef PTHREAD_CREATE_JOINABLE
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* System root for target files */
|
|
#undef TARGET_SYSTEM_ROOT
|
|
|
|
/* Whether the system root can be relocated */
|
|
#undef TARGET_SYSTEM_ROOT_RELOCATABLE
|
|
|
|
/* Enable extensions on AIX 3, Interix. */
|
|
#ifndef _ALL_SOURCE
|
|
# undef _ALL_SOURCE
|
|
#endif
|
|
/* Enable GNU extensions on systems that have them. */
|
|
#ifndef _GNU_SOURCE
|
|
# undef _GNU_SOURCE
|
|
#endif
|
|
/* Enable threading extensions on Solaris. */
|
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
# undef _POSIX_PTHREAD_SEMANTICS
|
|
#endif
|
|
/* Enable extensions on HP NonStop. */
|
|
#ifndef _TANDEM_SOURCE
|
|
# undef _TANDEM_SOURCE
|
|
#endif
|
|
/* Enable general extensions on Solaris. */
|
|
#ifndef __EXTENSIONS__
|
|
# undef __EXTENSIONS__
|
|
#endif
|
|
|
|
|
|
/* Version number of package */
|
|
#undef VERSION
|
|
|
|
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
|
significant byte first (like Motorola and SPARC, unlike Intel). */
|
|
#if defined AC_APPLE_UNIVERSAL_BUILD
|
|
# if defined __BIG_ENDIAN__
|
|
# define WORDS_BIGENDIAN 1
|
|
# endif
|
|
#else
|
|
# ifndef WORDS_BIGENDIAN
|
|
# undef WORDS_BIGENDIAN
|
|
# endif
|
|
#endif
|
|
|
|
/* Define to 1 if on MINIX. */
|
|
#undef _MINIX
|
|
|
|
/* Define to 2 if the system does not provide POSIX.1 features except with
|
|
this defined. */
|
|
#undef _POSIX_1_SOURCE
|
|
|
|
/* Define to 1 if you need to in order for `stat' and other things to work. */
|
|
#undef _POSIX_SOURCE
|