aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-09-20 11:35:11 +0000
committerNick Clifton <nickc@redhat.com>2006-09-20 11:35:11 +0000
commit99ad839030c1177eb409a99320fa7e60226f0db3 (patch)
tree31841958e04c69ceb1aeafcf7cdef5e721d23829 /bfd/coffcode.h
parenta8bbe5b03e6b16a41a69e570061e34014d30431a (diff)
downloadgdb-99ad839030c1177eb409a99320fa7e60226f0db3.zip
gdb-99ad839030c1177eb409a99320fa7e60226f0db3.tar.gz
gdb-99ad839030c1177eb409a99320fa7e60226f0db3.tar.bz2
Add x86_64-mingw64 target
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 0c7f897..bc5c72e 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -1882,11 +1882,17 @@ coff_set_arch_mach_hook (bfd *abfd, void * filehdr)
#ifdef I386MAGIC
case I386MAGIC:
case I386PTXMAGIC:
- case I386AIXMAGIC: /* Danbury PS/2 AIX C Compiler */
- case LYNXCOFFMAGIC: /* shadows the m68k Lynx number below, sigh */
+ case I386AIXMAGIC: /* Danbury PS/2 AIX C Compiler. */
+ case LYNXCOFFMAGIC: /* Shadows the m68k Lynx number below, sigh. */
arch = bfd_arch_i386;
break;
#endif
+#ifdef AMD64MAGIC
+ case AMD64MAGIC:
+ arch = bfd_arch_i386;
+ machine = bfd_mach_x86_64;
+ break;
+#endif
#ifdef IA64MAGIC
case IA64MAGIC:
arch = bfd_arch_ia64;
@@ -2721,13 +2727,18 @@ coff_set_flags (bfd * abfd,
return TRUE;
#endif
-#ifdef I386MAGIC
+#if defined(I386MAGIC) || defined(AMD64MAGIC)
case bfd_arch_i386:
+#if defined(I386MAGIC)
*magicp = I386MAGIC;
-#ifdef LYNXOS
+#endif
+#if defined LYNXOS
/* Just overwrite the usual value if we're doing Lynx. */
*magicp = LYNXCOFFMAGIC;
#endif
+#if defined AMD64MAGIC
+ *magicp = AMD64MAGIC;
+#endif
return TRUE;
#endif
@@ -3759,6 +3770,7 @@ coff_write_object_contents (bfd * abfd)
internal_f.f_flags |= IMAGE_FILE_LARGE_ADDRESS_AWARE;
#endif
+#ifndef COFF_WITH_pex64
#ifdef COFF_WITH_PE
internal_f.f_flags |= IMAGE_FILE_32BIT_MACHINE;
#else
@@ -3767,6 +3779,7 @@ coff_write_object_contents (bfd * abfd)
else
internal_f.f_flags |= F_AR32W;
#endif
+#endif
#ifdef TI_TARGET_ID
/* Target id is used in TI COFF v1 and later; COFF0 won't use this field,
@@ -3860,11 +3873,13 @@ coff_write_object_contents (bfd * abfd)
#if defined(I386)
#define __A_MAGIC_SET__
-#if defined(LYNXOS)
+#if defined LYNXOS
internal_a.magic = LYNXCOFFMAGIC;
-#else /* LYNXOS */
+#elif defined AMD64
+ internal_a.magic = IMAGE_NT_OPTIONAL_HDR64_MAGIC;
+#else
internal_a.magic = ZMAGIC;
-#endif /* LYNXOS */
+#endif
#endif /* I386 */
#if defined(IA64)