summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/bfd/pe-x86_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/bfd/pe-x86_64.c')
-rw-r--r--binutils-2.25/bfd/pe-x86_64.c58
1 files changed, 56 insertions, 2 deletions
diff --git a/binutils-2.25/bfd/pe-x86_64.c b/binutils-2.25/bfd/pe-x86_64.c
index 79d34d78..673a544b 100644
--- a/binutils-2.25/bfd/pe-x86_64.c
+++ b/binutils-2.25/bfd/pe-x86_64.c
@@ -1,5 +1,5 @@
/* BFD back-end for Intel/AMD x86_64 PECOFF files.
- Copyright 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006-2014 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -23,10 +23,11 @@
#include "sysdep.h"
#include "bfd.h"
-#define TARGET_SYM x86_64pe_vec
+#define TARGET_SYM x86_64_pe_vec
#define TARGET_NAME "pe-x86-64"
#define COFF_WITH_PE
#define COFF_WITH_pex64
+#define COFF_WITH_PE_BIGOBJ
#define PCRELOFFSET TRUE
#if defined (USE_MINGW64_LEADING_UNDERSCORES)
#define TARGET_UNDERSCORE '_'
@@ -58,3 +59,56 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 0 }
#include "coff-x86_64.c"
+
+/* Entry for big object files. */
+
+const bfd_target
+x86_64_pe_be_vec =
+{
+ "pe-bigobj-x86-64", /* Name. */
+ bfd_target_coff_flavour,
+ BFD_ENDIAN_LITTLE, /* Data byte order is little. */
+ BFD_ENDIAN_LITTLE, /* Header byte order is little. */
+
+ (HAS_RELOC | EXEC_P | /* Object flags. */
+ HAS_LINENO | HAS_DEBUG |
+ HAS_SYMS | HAS_LOCALS | WP_TEXT | D_PAGED | BFD_COMPRESS | BFD_DECOMPRESS),
+
+ (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC /* Section flags. */
+ | SEC_LINK_ONCE | SEC_LINK_DUPLICATES | SEC_READONLY | SEC_DEBUGGING
+ | SEC_CODE | SEC_DATA | SEC_EXCLUDE ),
+
+ TARGET_UNDERSCORE, /* Leading underscore. */
+ '/', /* Ar_pad_char. */
+ 15, /* Ar_max_namelen. */
+ 0, /* match priority. */
+
+ bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+ bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+ bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Data. */
+ bfd_getl64, bfd_getl_signed_64, bfd_putl64,
+ bfd_getl32, bfd_getl_signed_32, bfd_putl32,
+ bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Hdrs. */
+
+ /* Note that we allow an object file to be treated as a core file as well. */
+ { _bfd_dummy_target, amd64coff_object_p, /* BFD_check_format. */
+ bfd_generic_archive_p, amd64coff_object_p },
+ { bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format. */
+ bfd_false },
+ { bfd_false, coff_write_object_contents, /* bfd_write_contents. */
+ _bfd_write_archive_contents, bfd_false },
+
+ BFD_JUMP_TABLE_GENERIC (coff),
+ BFD_JUMP_TABLE_COPY (coff),
+ BFD_JUMP_TABLE_CORE (_bfd_nocore),
+ BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff),
+ BFD_JUMP_TABLE_SYMBOLS (coff),
+ BFD_JUMP_TABLE_RELOCS (coff),
+ BFD_JUMP_TABLE_WRITE (coff),
+ BFD_JUMP_TABLE_LINK (coff),
+ BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
+
+ NULL,
+
+ &bigobj_swap_table
+};