-# if defined(__i386__) || defined(__x86_64__)
- disasm_info.arch = bfd_arch_i386;
-# if defined(__x86_64__)
-# if __WORDSIZE == 32
- disasm_info.mach = bfd_mach_x64_32;
-# else
- disasm_info.mach = bfd_mach_x86_64;
-# endif
-# else
- disasm_info.mach = bfd_mach_i386_i386;
-# endif
-# endif
-# if defined(__powerpc__)
- disasm_info.arch = bfd_arch_powerpc;
- disasm_info.mach = bfd_mach_ppc64;
-# if HAVE_DISASSEMBLE_INIT_FOR_TARGET
+ disasm_info.arch = bfd_get_arch(disasm_bfd);
+ disasm_info.mach = bfd_get_mach(disasm_bfd);
+
+# if HAVE_DISASSEMBLE_INIT_FOR_TARGET