0002-ppc-disassembler-build-fix.patch 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. From 361caf28545aa0c2b2ab8d1cbd334fbdd952f373 Mon Sep 17 00:00:00 2001
  2. From: Paulo Andrade <pcpa@gnu.org>
  3. Date: Thu, 15 Jan 2015 14:56:38 -0200
  4. Subject: [PATCH 4/4] PPC: Only call binutils function if it is available
  5. * configure.ac, lib/jit_disasm.c: Rewrite workaround
  6. to apparent problem to initialize powerpc disassembler.
  7. ---
  8. diff --git a/configure.ac b/configure.ac
  9. index 749659b..d26e777 100644
  10. --- a/configure.ac
  11. +++ b/configure.ac
  12. @@ -230,6 +230,13 @@ elif test $cpu = arm; then
  13. return 1;
  14. }
  15. ]])],[ac_cv_test_arm_swf=yes],[],[ac_cv_test_arm_swf=no])
  16. +elif test $cpu = ppc; then
  17. + if test "x$DISASSEMBLER" != "xno"; then
  18. + save_LIBS="$LIBS"
  19. + LIBS="$LIBS $SHLIB"
  20. + AC_CHECK_FUNCS(disassemble_init_for_target disassemble_init_powerpc)
  21. + LIBS="$save_LIBS"
  22. + fi
  23. fi
  24. CFLAGS=$save_CFLAGS
  25. diff --git a/lib/jit_disasm.c b/lib/jit_disasm.c
  26. index 01158de..86e5441 100644
  27. --- a/lib/jit_disasm.c
  28. +++ b/lib/jit_disasm.c
  29. @@ -91,11 +91,19 @@ jit_init_debug(const char *progname)
  30. # if defined(__powerpc__)
  31. disasm_info.arch = bfd_arch_powerpc;
  32. disasm_info.mach = bfd_mach_ppc64;
  33. +# if HAVE_DISASSEMBLE_INIT_FOR_TARGET
  34. + disassemble_init_for_target(&disasm_info);
  35. +# elif HAVE_DISASSEMBLE_INIT_POWERPC
  36. disassemble_init_powerpc(&disasm_info);
  37. +# endif
  38. # if defined(__powerpc64__)
  39. disasm_info.disassembler_options = "64";
  40. # endif
  41. +# if HAVE_DISASSEMBLE_INIT_FOR_TARGET
  42. + disassemble_init_for_target(&disasm_info);
  43. +# elif HAVE_DISASSEMBLE_INIT_POWERPC
  44. disassemble_init_powerpc(&disasm_info);
  45. +# endif
  46. # endif
  47. # if defined(__sparc__)
  48. disasm_info.endian = disasm_info.display_endian = BFD_ENDIAN_BIG;
  49. --
  50. 2.1.4