mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
e6cc316af9
Since existing ld and gold support the 64-bit (MIPS) ELF archives, we can use the 64-bit (MIPS) ELF archives as 64-bit archives. Since the plugin target is used to create archive in plugin-enabled ar, we need a way to enable 64-bit archives in the plugin target. This patch adds --enable-64-bit-archive to bfd to force 64-bit archives in ar and ranlib. Since both 64-bit MIPS and s390 ELF targets currently use 64-bit archives, 64-bit archives are enabled by default for them. 64-bit archive is generated automatically if the archive is too big. Tested on Linux/x86 and Linux/x86-64 with existing ld and gold. bfd/ PR binutils/14625 * archive.c (bfd_slurp_armap): Replace bfd_elf64_archive_slurp_armap with _bfd_archive_64_bit_slurp_armap. (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if BFD64 is defined and the archive is too big. (coff_write_armap): Likewise. * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... (_bfd_archive_64_bit_slurp_armap): This. (bfd_elf64_archive_write_armap): Renamed to ... (_bfd_archive_64_bit_write_armap): This. * configure.ac: Add --enable-64-bit-archive. (want_64_bit_archive): New. Set to true by default for 64-bit MIPS and s390 ELF targets. (USE_64_BIT_ARCHIVE): New AC_DEFINE. * config.in: Regenerated. * configure: Likewise. * elf64-mips.c (bfd_elf64_archive_functions): Removed. (bfd_elf64_archive_slurp_armap): Likewise. (bfd_elf64_archive_write_armap): Likewise. (bfd_elf64_archive_slurp_extended_name_table): Likewise. (bfd_elf64_archive_construct_extended_name_table): Likewise. (bfd_elf64_archive_truncate_arname): Likewise. (bfd_elf64_archive_read_ar_hdr): Likewise. (bfd_elf64_archive_write_ar_hdr): Likewise. (bfd_elf64_archive_openr_next_archived_file): Likewise. (bfd_elf64_archive_get_elt_at_index): Likewise. (bfd_elf64_archive_generic_stat_arch_elt): Likewise. (bfd_elf64_archive_update_armap_timestamp): Likewise. * elf64-s390.c (bfd_elf64_archive_functions): Removed. (bfd_elf64_archive_slurp_armap): Likewise. (bfd_elf64_archive_write_armap): Likewise. (bfd_elf64_archive_slurp_extended_name_table): Likewise. (bfd_elf64_archive_construct_extended_name_table): Likewise. (bfd_elf64_archive_truncate_arname): Likewise. (bfd_elf64_archive_read_ar_hdr): Likewise. (bfd_elf64_archive_write_ar_hdr): Likewise. (bfd_elf64_archive_openr_next_archived_file): Likewise. (bfd_elf64_archive_get_elt_at_index): Likewise. (bfd_elf64_archive_generic_stat_arch_elt): Likewise. (bfd_elf64_archive_update_armap_timestamp): Likewise. * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and bfd_elfNN_archive_functions isn't defined. (TARGET_LITTLE_SYM): Likewise. * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. (_bfd_archive_64_bit_write_armap): Likewise. (_bfd_archive_64_bit_slurp_extended_name_table): New macro. (_bfd_archive_64_bit_construct_extended_name_table): Likewise. (_bfd_archive_64_bit_truncate_arname): Likewise. (_bfd_archive_64_bit_read_ar_hdr): Likewise. (_bfd_archive_64_bit_write_ar_hdr): Likewise. (_bfd_archive_64_bit_openr_next_archived_file): Likewise. (_bfd_archive_64_bit_get_elt_at_index): Likewise. (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. (_bfd_archive_64_bit_update_armap_timestamp): Likewise. * libbfd.h: Regenerated. * plugin.c (plugin_vec): Use _bfd_archive_64_bit on BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. binutils/ PR binutils/14625 * NEWS: Mention --enable-64-bit-archive.
395 lines
10 KiB
Plaintext
395 lines
10 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
|
|
|
|
/* Name of host specific core header file to include in elf.c. */
|
|
#undef CORE_HEADER
|
|
|
|
/* Define to 1 if translation of program messages to the user's native
|
|
language is requested. */
|
|
#undef ENABLE_NLS
|
|
|
|
/* Define to 1 if you have the <alloca.h> header file. */
|
|
#undef HAVE_ALLOCA_H
|
|
|
|
/* 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 `ffs', and to 0 if you don't. */
|
|
#undef HAVE_DECL_FFS
|
|
|
|
/* Define to 1 if you have the declaration of `free', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_FREE
|
|
|
|
/* Define to 1 if you have the declaration of `fseeko', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_FSEEKO
|
|
|
|
/* Define to 1 if you have the declaration of `fseeko64', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_FSEEKO64
|
|
|
|
/* Define to 1 if you have the declaration of `ftello', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_FTELLO
|
|
|
|
/* Define to 1 if you have the declaration of `ftello64', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_FTELLO64
|
|
|
|
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_GETENV
|
|
|
|
/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_MALLOC
|
|
|
|
/* Define to 1 if you have the declaration of `realloc', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_REALLOC
|
|
|
|
/* 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 `stpcpy', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_STPCPY
|
|
|
|
/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
|
|
don't. */
|
|
#undef HAVE_DECL_STRNLEN
|
|
|
|
/* Define to 1 if you have the declaration of `strstr', and to 0 if you don't.
|
|
*/
|
|
#undef HAVE_DECL_STRSTR
|
|
|
|
/* 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 <dirent.h> header file, and it defines `DIR'.
|
|
*/
|
|
#undef HAVE_DIRENT_H
|
|
|
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
#undef HAVE_DLFCN_H
|
|
|
|
/* Define to 1 if you have the `fcntl' function. */
|
|
#undef HAVE_FCNTL
|
|
|
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
#undef HAVE_FCNTL_H
|
|
|
|
/* Define to 1 if you have the `fdopen' function. */
|
|
#undef HAVE_FDOPEN
|
|
|
|
/* Define to 1 if you have the `fileno' function. */
|
|
#undef HAVE_FILENO
|
|
|
|
/* Define to 1 if you have the `fopen64' function. */
|
|
#undef HAVE_FOPEN64
|
|
|
|
/* Define to 1 if you have the `fseeko' function. */
|
|
#undef HAVE_FSEEKO
|
|
|
|
/* Define to 1 if you have the `fseeko64' function. */
|
|
#undef HAVE_FSEEKO64
|
|
|
|
/* Define to 1 if you have the `ftello' function. */
|
|
#undef HAVE_FTELLO
|
|
|
|
/* Define to 1 if you have the `ftello64' function. */
|
|
#undef HAVE_FTELLO64
|
|
|
|
/* Define to 1 if you have the `getgid' function. */
|
|
#undef HAVE_GETGID
|
|
|
|
/* Define to 1 if you have the `getpagesize' function. */
|
|
#undef HAVE_GETPAGESIZE
|
|
|
|
/* Define to 1 if you have the `getrlimit' function. */
|
|
#undef HAVE_GETRLIMIT
|
|
|
|
/* Define to 1 if you have the `getuid' function. */
|
|
#undef HAVE_GETUID
|
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
#undef HAVE_INTTYPES_H
|
|
|
|
/* Define if <sys/procfs.h> has lwpstatus_t. */
|
|
#undef HAVE_LWPSTATUS_T
|
|
|
|
/* Define if <sys/procfs.h> has lwpstatus_t.pr_context. */
|
|
#undef HAVE_LWPSTATUS_T_PR_CONTEXT
|
|
|
|
/* Define if <sys/procfs.h> has lwpstatus_t.pr_fpreg. */
|
|
#undef HAVE_LWPSTATUS_T_PR_FPREG
|
|
|
|
/* Define if <sys/procfs.h> has lwpstatus_t.pr_reg. */
|
|
#undef HAVE_LWPSTATUS_T_PR_REG
|
|
|
|
/* Define if <sys/procfs.h> has lwpxstatus_t. */
|
|
#undef HAVE_LWPXSTATUS_T
|
|
|
|
/* Define to 1 if you have the `madvise' function. */
|
|
#undef HAVE_MADVISE
|
|
|
|
/* Define to 1 if you have the <memory.h> header file. */
|
|
#undef HAVE_MEMORY_H
|
|
|
|
/* Define to 1 if you have a working `mmap' system call. */
|
|
#undef HAVE_MMAP
|
|
|
|
/* Define to 1 if you have the `mprotect' function. */
|
|
#undef HAVE_MPROTECT
|
|
|
|
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
|
#undef HAVE_NDIR_H
|
|
|
|
/* Define if <sys/procfs.h> has prpsinfo32_t. */
|
|
#undef HAVE_PRPSINFO32_T
|
|
|
|
/* Define if <sys/procfs.h> has prpsinfo32_t.pr_pid. */
|
|
#undef HAVE_PRPSINFO32_T_PR_PID
|
|
|
|
/* Define if <sys/procfs.h> has prpsinfo_t. */
|
|
#undef HAVE_PRPSINFO_T
|
|
|
|
/* Define if <sys/procfs.h> has prpsinfo_t.pr_pid. */
|
|
#undef HAVE_PRPSINFO_T_PR_PID
|
|
|
|
/* Define if <sys/procfs.h> has prstatus32_t. */
|
|
#undef HAVE_PRSTATUS32_T
|
|
|
|
/* Define if <sys/procfs.h> has prstatus32_t.pr_who. */
|
|
#undef HAVE_PRSTATUS32_T_PR_WHO
|
|
|
|
/* Define if <sys/procfs.h> has prstatus_t. */
|
|
#undef HAVE_PRSTATUS_T
|
|
|
|
/* Define if <sys/procfs.h> has prstatus_t.pr_who. */
|
|
#undef HAVE_PRSTATUS_T_PR_WHO
|
|
|
|
/* Define if <sys/procfs.h> has psinfo32_t. */
|
|
#undef HAVE_PSINFO32_T
|
|
|
|
/* Define if <sys/procfs.h> has psinfo32_t.pr_pid. */
|
|
#undef HAVE_PSINFO32_T_PR_PID
|
|
|
|
/* Define if <sys/procfs.h> has psinfo_t. */
|
|
#undef HAVE_PSINFO_T
|
|
|
|
/* Define if <sys/procfs.h> has psinfo_t.pr_pid. */
|
|
#undef HAVE_PSINFO_T_PR_PID
|
|
|
|
/* Define if <sys/procfs.h> has pstatus32_t. */
|
|
#undef HAVE_PSTATUS32_T
|
|
|
|
/* Define if <sys/procfs.h> has pstatus_t. */
|
|
#undef HAVE_PSTATUS_T
|
|
|
|
/* Define if <sys/procfs.h> has pxstatus_t. */
|
|
#undef HAVE_PXSTATUS_T
|
|
|
|
/* Define to 1 if you have the `setitimer' function. */
|
|
#undef HAVE_SETITIMER
|
|
|
|
/* Define to 1 if you have the <stddef.h> header file. */
|
|
#undef HAVE_STDDEF_H
|
|
|
|
/* 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 `strtoull' function. */
|
|
#undef HAVE_STRTOULL
|
|
|
|
/* Define if struct core_dumpx has member c_impl */
|
|
#undef HAVE_ST_C_IMPL
|
|
|
|
/* Define to 1 if you have the `sysconf' function. */
|
|
#undef HAVE_SYSCONF
|
|
|
|
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
|
|
*/
|
|
#undef HAVE_SYS_DIR_H
|
|
|
|
/* Define to 1 if you have the <sys/file.h> header file. */
|
|
#undef HAVE_SYS_FILE_H
|
|
|
|
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
|
|
*/
|
|
#undef HAVE_SYS_NDIR_H
|
|
|
|
/* Define to 1 if you have the <sys/procfs.h> header file. */
|
|
#undef HAVE_SYS_PROCFS_H
|
|
|
|
/* Define to 1 if you have the <sys/resource.h> header file. */
|
|
#undef HAVE_SYS_RESOURCE_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/time.h> header file. */
|
|
#undef HAVE_SYS_TIME_H
|
|
|
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
#undef HAVE_SYS_TYPES_H
|
|
|
|
/* Define to 1 if you have the <time.h> header file. */
|
|
#undef HAVE_TIME_H
|
|
|
|
/* Define to 1 if you have the <unistd.h> header file. */
|
|
#undef HAVE_UNISTD_H
|
|
|
|
/* Define to 1 if you have the <wchar.h> header file. */
|
|
#undef HAVE_WCHAR_H
|
|
|
|
/* Define to 1 if you have the <wctype.h> header file. */
|
|
#undef HAVE_WCTYPE_H
|
|
|
|
/* Define if <sys/procfs.h> has win32_pstatus_t. */
|
|
#undef HAVE_WIN32_PSTATUS_T
|
|
|
|
/* Define to 1 if you have the <windows.h> header file. */
|
|
#undef HAVE_WINDOWS_H
|
|
|
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
|
*/
|
|
#undef LT_OBJDIR
|
|
|
|
/* 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
|
|
|
|
/* The size of `char', as computed by sizeof. */
|
|
#undef SIZEOF_CHAR
|
|
|
|
/* The size of `int', as computed by sizeof. */
|
|
#undef SIZEOF_INT
|
|
|
|
/* The size of `long', as computed by sizeof. */
|
|
#undef SIZEOF_LONG
|
|
|
|
/* The size of `long long', as computed by sizeof. */
|
|
#undef SIZEOF_LONG_LONG
|
|
|
|
/* The size of `off_t', as computed by sizeof. */
|
|
#undef SIZEOF_OFF_T
|
|
|
|
/* The size of `short', as computed by sizeof. */
|
|
#undef SIZEOF_SHORT
|
|
|
|
/* The size of `void *', as computed by sizeof. */
|
|
#undef SIZEOF_VOID_P
|
|
|
|
/* Define to 1 if you have the ANSI C header files. */
|
|
#undef STDC_HEADERS
|
|
|
|
/* Define if you can safely include both <string.h> and <strings.h>. */
|
|
#undef STRING_WITH_STRINGS
|
|
|
|
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
|
|
#undef TIME_WITH_SYS_TIME
|
|
|
|
/* Name of host specific header file to include in trad-core.c. */
|
|
#undef TRAD_HEADER
|
|
|
|
/* Define if we should use 64-bit archives. */
|
|
#undef USE_64_BIT_ARCHIVE
|
|
|
|
/* Use b modifier when opening binary files? */
|
|
#undef USE_BINARY_FOPEN
|
|
|
|
/* Define if we should use leading underscore on 64 bit mingw targets */
|
|
#undef USE_MINGW64_LEADING_UNDERSCORES
|
|
|
|
/* Use mmap if it's available? */
|
|
#undef USE_MMAP
|
|
|
|
/* Define if we should default to creating read-only plt entries */
|
|
#undef USE_SECUREPLT
|
|
|
|
/* 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
|
|
|
|
/* Number of bits in a file offset, on hosts where this is settable. */
|
|
#undef _FILE_OFFSET_BITS
|
|
|
|
/* Define for large files, on AIX-style hosts. */
|
|
#undef _LARGE_FILES
|
|
|
|
/* 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
|