guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 406/437: Adapt for binutils 2.29


From: Andy Wingo
Subject: [Guile-commits] 406/437: Adapt for binutils 2.29
Date: Mon, 2 Jul 2018 05:15:05 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 7259f9dc8a24279d50ed05d2eb92add4fcce723a
Author: pcpa <address@hidden>
Date:   Wed Sep 13 11:39:30 2017 -0400

    Adapt for binutils 2.29
    
        * configure.ac: Add check for binutils 2.29 prototype to the
        disassembler function.
        * lib/jit_disasm.c: Adapt for binutils 2.29 change.
---
 ChangeLog        |  6 ++++++
 configure.ac     | 18 ++++++++++++++++++
 lib/jit_disasm.c | 10 ++++++++--
 3 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 97263f7..42d6129 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-13-09 Paulo Andrade <address@hidden>
+
+       * configure.ac: Add check for binutils 2.29 prototype to the
+       disassembler function.
+       * lib/jit_disasm.c: Adapt for binutils 2.29 change.
+
 2017-06-09 Paulo Andrade <address@hidden>
 
        * include/lightning/jit_private.h, lib/lightning.c: Add a
diff --git a/configure.ac b/configure.ac
index f5a0fb5..289083b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,6 +93,24 @@ fi
 AM_CONDITIONAL(with_disassembler, [test "x$DISASSEMBLER" != "xno"])
 if test "x$DISASSEMBLER" != "xno"; then
     LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DDISASSEMBLER=1"
+    save_CFLAGS=$CFLAGS
+    AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+       #include <lightning.h>
+       #include <lightning/jit_private.h>
+       #include <dis-asm.h>
+       int main(int argc, char *argv[])
+       {
+               disassembler_ftype       print;
+               bdf                     *abfd;
+               print = disassembler(abfd);
+               return 0;
+       }
+    )], [ac_cv_test_new_disassembler=no],,)
+    CFLAGS="$CFLAGS -I$PWD/include -D_GNU_SOURCE"
+    CFLAGS="$save_CFLAGS"
+    if test "x$ac_cv_test_new_disassembler" != "xno"; then
+       LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DBINUTILS_2_29=1"
+    fi
 fi
 
 AC_ARG_ENABLE(devel-disassembler,
diff --git a/lib/jit_disasm.c b/lib/jit_disasm.c
index e3773a7..cc623b6 100644
--- a/lib/jit_disasm.c
+++ b/lib/jit_disasm.c
@@ -73,8 +73,6 @@ jit_init_debug(const char *progname)
     }
     bfd_check_format(disasm_bfd, bfd_object);
     bfd_check_format(disasm_bfd, bfd_archive);
-    disasm_print = disassembler(disasm_bfd);
-    assert(disasm_print);
     INIT_DISASSEMBLE_INFO(disasm_info, disasm_stream, fprintf);
 #  if defined(__i386__) || defined(__x86_64__)
     disasm_info.arch = bfd_arch_i386;
@@ -124,6 +122,14 @@ jit_init_debug(const char *progname)
 #  endif
     disasm_info.print_address_func = disasm_print_address;
 
+# if BINUTILS_2_29
+    disasm_print = disassembler(disasm_info.arch, __BYTE_ORDER == __BIG_ENDIAN,
+                               disasm_info.mach, disasm_bfd);
+#  else
+    disasm_print = disassembler(disasm_bfd);
+#  endif
+    assert(disasm_print);
+
     if (bfd_get_file_flags(disasm_bfd) & HAS_SYMS) {
        asymbol         **in;
        asymbol         **out;



reply via email to

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