lightning
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/2] jit_disasm: Simplify jit_init_debug()


From: Paul Cercueil
Subject: [PATCH 1/2] jit_disasm: Simplify jit_init_debug()
Date: Sat, 10 Sep 2022 10:29:25 +0100

Use bfd_get_arch() / bfd_get_mach() to initialize the disasm_info
structure, and get rid of things that aren't relevant anymore, like
disassemble_init_powerpc().

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
---
 lib/jit_disasm.c | 58 +++++++-----------------------------------------
 1 file changed, 8 insertions(+), 50 deletions(-)

diff --git a/lib/jit_disasm.c b/lib/jit_disasm.c
index 6d4e51c..b2ceba0 100644
--- a/lib/jit_disasm.c
+++ b/lib/jit_disasm.c
@@ -77,63 +77,21 @@ jit_init_debug(const char *progname)
     if (!disasm_stream)
        disasm_stream = stderr;
     INIT_DISASSEMBLE_INFO(disasm_info, disasm_stream, fprintf);
-#  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
     disassemble_init_for_target(&disasm_info);
-#    elif HAVE_DISASSEMBLE_INIT_POWERPC
-    disassemble_init_powerpc(&disasm_info);
-#    endif
-#    if defined(__powerpc64__)
+#  endif
+
+#  if defined(__powerpc64__)
     disasm_info.disassembler_options = "64";
-#    endif
-#    if HAVE_DISASSEMBLE_INIT_FOR_TARGET
-    disassemble_init_for_target(&disasm_info);
-#    elif HAVE_DISASSEMBLE_INIT_POWERPC
-    disassemble_init_powerpc(&disasm_info);
-#    endif
 #  endif
-#  if defined(__sparc__)
+#  if defined(__sparc__) || defined(__s390__) || defined(__s390x__)
     disasm_info.endian = disasm_info.display_endian = BFD_ENDIAN_BIG;
 #  endif
 #  if defined(__s390__) || defined(__s390x__)
-    disasm_info.arch = bfd_arch_s390;
-#    if __WORDSIZE == 32
-    disasm_info.mach = bfd_mach_s390_31;
-#    else
-    disasm_info.mach = bfd_mach_s390_64;
-#    endif
-    disasm_info.endian = disasm_info.display_endian = BFD_ENDIAN_BIG;
     disasm_info.disassembler_options = "zarch";
-#  endif
-#  if defined(__alpha__)
-    disasm_info.arch = bfd_arch_alpha;
-    disasm_info.mach = bfd_mach_alpha_ev6;
-#  endif
-#  if defined(__hppa__)
-    disasm_info.arch = bfd_arch_hppa;
-    disasm_info.mach = bfd_mach_hppa10;
-#  endif
-#  if defined(__riscv)
-    disasm_info.arch = bfd_arch_riscv;
-#  if __WORDSIZE == 32
-    disasm_info.mach = bfd_mach_riscv32;
-#  else
-    disasm_info.mach = bfd_mach_riscv64;
-#  endif
 #  endif
     disasm_info.print_address_func = disasm_print_address;
 
-- 
2.35.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]