+ void *fill = bfd_malloc (count);
+ if (fill != NULL)
+ memset (fill, code ? 0x90 : 0, count);
+ return fill;
+}
+
+#define N(BITS, MACH, NAME, PRINT, DEF, FILL, NEXT) \
+ { BITS, /* Bits in a word. */ \
+ BITS, /* Bits in an address. */ \
+ 8, /* Bits in a byte. */ \
+ bfd_arch_i386, \
+ MACH, /* Machine number. */ \
+ NAME, \
+ PRINT, \
+ 3, /* Section alignment power. */ \
+ DEF, /* Default architecture version ? */ \
+ bfd_i386_compatible, \
+ bfd_default_scan, \
+ FILL, \
+ NEXT, \
+ 0 /* Maximum instruction length. */ \
+ }
+
+
+static const bfd_arch_info_type bfd_x64_32_nacl_arch =
+ N (64, bfd_mach_x64_32_nacl, "i386", "i386:x64-32:nacl",
+ FALSE, bfd_arch_i386_onebyte_nop_fill, NULL);
+
+static const bfd_arch_info_type bfd_x86_64_nacl_arch =
+ N (64, bfd_mach_x86_64_nacl, "i386", "i386:x86-64:nacl",
+ FALSE, bfd_arch_i386_onebyte_nop_fill, &bfd_x64_32_nacl_arch);
+
+const bfd_arch_info_type bfd_i386_nacl_arch =
+ N (32, bfd_mach_i386_i386_nacl, "i386", "i386:nacl",
+ TRUE, bfd_arch_i386_onebyte_nop_fill, &bfd_x86_64_nacl_arch);
+
+
+static const bfd_arch_info_type bfd_x64_32_arch_intel_syntax =
+ N (64, bfd_mach_x64_32_intel_syntax, "i386:intel", "i386:x64-32:intel",
+ FALSE, bfd_arch_i386_long_nop_fill, &bfd_i386_nacl_arch);
+
+static const bfd_arch_info_type bfd_x86_64_arch_intel_syntax =
+ N (64, bfd_mach_x86_64_intel_syntax, "i386:intel", "i386:x86-64:intel",
+ FALSE, bfd_arch_i386_long_nop_fill, &bfd_x64_32_arch_intel_syntax);
+
+static const bfd_arch_info_type bfd_i386_arch_intel_syntax =
+ N (32, bfd_mach_i386_i386_intel_syntax, "i386:intel", "i386:intel",
+ TRUE, bfd_arch_i386_short_nop_fill, &bfd_x86_64_arch_intel_syntax);
+