[llvm-commits] [vmkit] r48829 - in /vmkit/trunk: configure.ac include/mvm/JIT.h lib/JnJVM/Classpath/Makefile.am lib/JnJVM/Makefile.am lib/JnJVM/VMCore/JavaJIT.cpp lib/JnJVM/VMCore/Makefile.am lib/Mvm/Allocator/Makefile.am lib/Mvm/Disassembler.cc lib/Mvm/GCMmap2/Makefile.am lib/Mvm/Makefile.am lib/N3/Makefile.am lib/N3/VMCore/Makefile.am
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Mar 26 10:06:32 PDT 2008
Author: geoffray
Date: Wed Mar 26 12:06:31 2008
New Revision: 48829
URL: http://llvm.org/viewvc/llvm-project?rev=48829&view=rev
Log:
Allow VMKit to be compiled without libopcodes (for MacOSX)
Added:
vmkit/trunk/lib/Mvm/Disassembler.cc
Modified:
vmkit/trunk/configure.ac
vmkit/trunk/include/mvm/JIT.h
vmkit/trunk/lib/JnJVM/Classpath/Makefile.am
vmkit/trunk/lib/JnJVM/Makefile.am
vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/Makefile.am
vmkit/trunk/lib/Mvm/Allocator/Makefile.am
vmkit/trunk/lib/Mvm/GCMmap2/Makefile.am
vmkit/trunk/lib/Mvm/Makefile.am
vmkit/trunk/lib/N3/Makefile.am
vmkit/trunk/lib/N3/VMCore/Makefile.am
Modified: vmkit/trunk/configure.ac
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/configure.ac?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/configure.ac (original)
+++ vmkit/trunk/configure.ac Wed Mar 26 12:06:31 2008
@@ -87,50 +87,60 @@
dnl **************************************************************************
AC_HEADER_STDC
-AC_ARG_WITH(readline,
- [AS_HELP_STRING([--without-readline],
- [disable readline support])],
- [with_readline=$enableval],[with_readline=yes]
-)
-
-AS_IF([test "x$with_readline" = xyes],
- [AC_CHECK_HEADER([readline/readline.h],
- [AC_DEFINE(HAVE_READLINE_H,1,[readline found])],
- [AC_MSG_WARN(readline NOT found)])
- AC_CHECK_LIB(readline, history_truncate_file, [],
- [AC_MSG_ERROR([You need to install readline version 5.])])
- ]
-)
-
-AC_ARG_WITH(bare,
- [AS_HELP_STRING([--with-bare], [bare VVMos support])],
- [with_bare=$enableval],[with_bare=no]
-)
-
-bare_header=""
-AM_CONDITIONAL([BARE], [test "x$vvmthreadtype" != "xno"])
-if test "x$with_bare" != xno; then
- AC_DEFINE([BARE], [1], [bare VVMos support])
- bare_header=-I$PWD/../bare/include/
-fi
-
-AC_SUBST([bare_header])
-AC_SUBST([mksyms])
-AC_SUBST([rdynamic])
-AC_SUBST([LLVMDYLIB])
-
-
dnl **************************************************************************
-dnl Checks for typedefs, structures, and compiler characteristics.
+dnl Checks for header files.
dnl **************************************************************************
-AC_C_CONST
+AC_HEADER_STDC
+
+case $target_os in
+ *linux*)
+ dnl libiberty, libopcode and libbfd are part of binutils
+ AC_CHECK_HEADER([bfd.h], [], \
+ AC_MSG_ERROR([You need to install the binutils devel package (bfd.h).])
+ )
+ AC_CHECK_HEADER([dis-asm.h], [], \
+ AC_MSG_ERROR([You need to install the binutils devel package (dis-asm.h).])
+ )
+ ;;
+esac
+
+AC_CHECK_HEADER([zlib.h], [], \
+ AC_MSG_ERROR([You need to install the zlib devel package (zlib.h).])
+)
dnl **************************************************************************
-dnl
-dnl **************************************************************************
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
+dnl Checks for libraries
+dnl **************************************************************************
+case $target_os in
+ *darwin*)
+ rdynamic=""
+ ;;
+ *linux*)
+ AC_CHECK_LIB(iberty, xexit, [], \
+ [AC_MSG_ERROR([You need to install the binutils package (iberty).])]
+ )
+ AC_CHECK_LIB(bfd, bfd_get_arch, [], \
+ [AC_MSG_ERROR([You need to install the binutils package (bfd).])],
+ -liberty
+ )
+ AC_CHECK_LIB(opcodes, disassembler, [], \
+ [AC_MSG_ERROR([You need to install the binutils package (opcodes).])],
+ -lbfd -liberty
+ )
+
+ rdynamic="-rdynamic"
+ AC_DEFINE([HAVE_DISASSEMBLER], [1], [Using libopcodes])
+
+ ;;
+ *) AC_MSG_ERROR([$target_os target is not supported.]);;
+esac
+
+AC_CHECK_LIB(z, inflate, [], \
+ [AC_MSG_ERROR([You need to install the zlib package (z).])]
+)
+AC_SUBST([rdynamic])
+AC_SUBST([LLVMDYLIB])
dnl **************************************************************************
dnl VVM thread type
@@ -144,7 +154,7 @@
AS_IF([test "x$vvmthreadtype" != "xno"],
[AC_CHECK_HEADER([pthread.h],,
[AC_MSG_WARN(phtread include NOT found)])
- AC_CHECK_LIB(pthread, pthread_create, [],
+ AC_CHECK_LIB(pthread, pthread_create, [],
[AC_MSG_ERROR([pthread library not found])])
]
)
@@ -157,12 +167,25 @@
AC_SUBST([vvmthreadtype])
GCTHREAD_SUBDIRS="$GCTHREAD_SUBDIRS $vvmthreadtype-thread"
+
+dnl **************************************************************************
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl **************************************************************************
+AC_C_CONST
+
+dnl **************************************************************************
+dnl
+dnl **************************************************************************
+AC_LIBTOOL_DLOPEN
+AM_PROG_LIBTOOL
+
+
dnl **************************************************************************
dnl VVM GC type
dnl **************************************************************************
AC_ARG_WITH(vvm-gc-type,
[AS_HELP_STRING(--with-vvm-gc-type=something,
- [VVM GC type ('gen2', 'mmap2' or 'simple2')])],
+ [VVM GC type ('mmap2' or 'boehm')])],
[[vvmgctype=$withval]],
[[ echo Using mmap2 as vvm gc type.
vvmgctype=mmap2
Modified: vmkit/trunk/include/mvm/JIT.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/JIT.h?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/include/mvm/JIT.h (original)
+++ vmkit/trunk/include/mvm/JIT.h Wed Mar 26 12:06:31 2008
@@ -156,6 +156,7 @@
extern void protectConstants();
extern void unprotectConstants();
+extern int disassemble(unsigned int* addr);
} // end namespace jit
Modified: vmkit/trunk/lib/JnJVM/Classpath/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/Makefile.am (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/Makefile.am Wed Mar 26 12:06:31 2008
@@ -1,4 +1,3 @@
-# $Id: Makefile.am,v 1.6 2008/03/21 11:12:38 varth Exp $
lib_LTLIBRARIES = libClasspath.la
THREADDIR=../../Mvm/CommonThread
@@ -8,7 +7,6 @@
-I../VMCore
PREFIX=@prefix@
-LIBSUVM=$(LIBLLVM) $(LIBGC) $(LIBALLOC) $(LIBTHREAD)
libClasspath_la_SOURCES = \
ClasspathVMSystem.cpp ClasspathVMSystem.h Classpath.cpp \
Modified: vmkit/trunk/lib/JnJVM/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Makefile.am (original)
+++ vmkit/trunk/lib/JnJVM/Makefile.am Wed Mar 26 12:06:31 2008
@@ -12,14 +12,13 @@
LIBTHREAD=$(THREADDIR)/libuvm_ at vvmthreadtype@_thread.a
LIBALLOC=$(ALLOCDIR)/libuvm_alloc.a
LIBGC=$(GCDIR)/libuvm_gc_ at vvmgctype@.a @GC_LIBS@
-PREFIX=@prefix@
-LIBSUVM=$(LIBLLVM) $(LIBGC) $(LIBALLOC) $(LIBTHREAD)
+LIBSUVM=$(LIBGC) $(LIBALLOC) $(LIBTHREAD)
main_SOURCES = ../Mvm/Object.cc ../Mvm/Sigsegv.cc Main.cpp ../Mvm/MvmMemoryManager.cpp ../Mvm/JIT.cc ../Mvm/EscapeAnalysis.cpp
main_CXXFLAGS = $(libJnJVM_la_CXXFLAGS)
-main_LDADD = VMCore/.libs/libJnJVM.a Classpath/.libs/libClasspath.a $(LIBSUVM) @LLVMDYLIB@ -lopcodes -lbfd -liberty -lz
+main_LDADD = VMCore/.libs/libJnJVM.a Classpath/.libs/libClasspath.a $(LIBSUVM) @LLVMDYLIB@
main_LDFLAGS = @rdynamic@
libjnjvm.la:
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaJIT.cpp Wed Mar 26 12:06:31 2008
@@ -256,71 +256,6 @@
return llvmFunction;
}
-#if defined __PPC__
-extern "C"
-{
-# include <dis-asm.h>
-# include <bfd.h>
-};
-
-
-
-static struct disassemble_info info;
-static int initialised= 0;
-
-// this is the only function exported from this file
-
-extern "C" int disassemble(unsigned int *addr)
-{
-
- if (!initialised)
- {
- INIT_DISASSEMBLE_INFO(info, stdout, fprintf);
- info.flavour= bfd_target_elf_flavour;
- info.arch= bfd_arch_powerpc;
- info.mach= bfd_mach_ppc_750; // generic(ish) == PPC G3
- info.endian= BFD_ENDIAN_BIG;
- info.buffer_length= 65536;
- }
- info.buffer= (bfd_byte *)addr;
- info.buffer_vma= (bfd_vma)(long)addr;
- return print_insn_big_powerpc((bfd_vma)(long)addr, &info);
-
-}
-
-#else
-extern "C"
-{
-# include <bfd.h> // bfd types
-# include <dis-asm.h> // disassemble_info
- int print_insn_i386_att(bfd_vma, disassemble_info *);
-};
-
-
-static struct disassemble_info info;
-static int initialised= 0;
-
-// this is the only function exported from this file
-
-extern "C" int disassemble(unsigned int *addr)
-{
- if (!initialised)
- {
- INIT_DISASSEMBLE_INFO(info, stdout, fprintf);
- info.flavour= bfd_target_elf_flavour;
- info.arch= bfd_arch_i386;
- info.mach= bfd_mach_i386_i386;
- info.endian= BFD_ENDIAN_LITTLE;
- info.buffer_length= 65536;
- }
- info.buffer= (bfd_byte *)addr;
- info.buffer_vma= (bfd_vma)(long)addr;
- return print_insn_i386_att((bfd_vma)(long)addr, &info);
-}
-
-#endif
-
-
void JavaJIT::beginSynchronize() {
std::vector<Value*> argsSync;
if (isVirtual(compilingMethod->access)) {
@@ -591,7 +526,7 @@
void* base = res;
while (base < (void*)((char*)res + ((mvm::Code*)res)->objectSize())) {
printf("%08x\t", (unsigned)base);
- int n= disassemble((unsigned int *)base);
+ int n= mvm::jit::disassemble((unsigned int *)base);
printf("\n");
base= ((void *)((char *)base + n));
}
Modified: vmkit/trunk/lib/JnJVM/VMCore/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Makefile.am (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Makefile.am Wed Mar 26 12:06:31 2008
@@ -1,4 +1,3 @@
-# $Id: Makefile.am,v 1.7 2008/03/21 11:12:38 varth Exp $
EXTRA_DIST = OpcodeNames.def
lib_LTLIBRARIES = libJnJVM.la
Modified: vmkit/trunk/lib/Mvm/Allocator/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Allocator/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Allocator/Makefile.am (original)
+++ vmkit/trunk/lib/Mvm/Allocator/Makefile.am Wed Mar 26 12:06:31 2008
@@ -1,4 +1,3 @@
-# $Id: Makefile.am,v 1.2 2008/03/21 11:12:38 varth Exp $
noinst_LIBRARIES = libuvm_alloc.a
noinst_PROGRAMS = mainuvm_alloc
Added: vmkit/trunk/lib/Mvm/Disassembler.cc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Disassembler.cc?rev=48829&view=auto
==============================================================================
--- vmkit/trunk/lib/Mvm/Disassembler.cc (added)
+++ vmkit/trunk/lib/Mvm/Disassembler.cc Wed Mar 26 12:06:31 2008
@@ -0,0 +1,91 @@
+//===--------- Disassembler.cc - Intefarce to disassembler ----------------===//
+//
+// Micro Virtual Machine
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "mvm/JIT.h"
+
+#ifdef HAVE_DISASSEMBLER
+
+#if defined(__PPC__)
+extern "C"
+{
+# include <dis-asm.h>
+# include <bfd.h>
+}
+
+
+
+static struct disassemble_info info;
+static int initialised= 0;
+
+// this is the only function exported from this file
+
+int mvm::jit::disassemble(unsigned int *addr)
+{
+
+ if (!initialised)
+ {
+ INIT_DISASSEMBLE_INFO(info, stdout, fprintf);
+ info.flavour= bfd_target_elf_flavour;
+ info.arch= bfd_arch_powerpc;
+ info.mach= bfd_mach_ppc_750; // generic(ish) == PPC G3
+ info.endian= BFD_ENDIAN_BIG;
+ info.buffer_length= 65536;
+ }
+ info.buffer= (bfd_byte *)addr;
+ info.buffer_vma= (bfd_vma)(long)addr;
+ return print_insn_big_powerpc((bfd_vma)(long)addr, &info);
+
+}
+
+#elif defined(__i386__)
+extern "C"
+{
+# include <bfd.h> // bfd types
+# include <dis-asm.h> // disassemble_info
+ int print_insn_i386_att(bfd_vma, disassemble_info *);
+};
+
+
+static struct disassemble_info info;
+static int initialised= 0;
+
+
+int mvm::jit::disassemble(unsigned int *addr)
+{
+ if (!initialised)
+ {
+ INIT_DISASSEMBLE_INFO(info, stdout, fprintf);
+ info.flavour= bfd_target_elf_flavour;
+ info.arch= bfd_arch_i386;
+ info.mach= bfd_mach_i386_i386;
+ info.endian= BFD_ENDIAN_LITTLE;
+ info.buffer_length= 65536;
+ }
+ info.buffer= (bfd_byte *)addr;
+ info.buffer_vma= (bfd_vma)(long)addr;
+ return print_insn_i386_att((bfd_vma)(long)addr, &info);
+}
+
+#else
+
+int mvm::jit::disassemble(unsigned int* addr) {
+ return 0;
+}
+
+#endif
+
+#else
+
+int mvm::jit::disassemble(unsigned int* addr) {
+ return 0;
+}
+
+#endif
+
+
Modified: vmkit/trunk/lib/Mvm/GCMmap2/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/Makefile.am (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/Makefile.am Wed Mar 26 12:06:31 2008
@@ -1,4 +1,3 @@
-# $Id: Makefile.am,v 1.3 2008/03/21 16:25:31 varth Exp $
noinst_LIBRARIES = libuvm_gc_mmap2.a
noinst_PROGRAMS = mainuvm_gc_mmap2
Modified: vmkit/trunk/lib/Mvm/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/Mvm/Makefile.am (original)
+++ vmkit/trunk/lib/Mvm/Makefile.am Wed Mar 26 12:06:31 2008
@@ -7,17 +7,16 @@
THREADDIR=CommonThread
ALLOCDIR=Allocator
GCDIR=GCMmap2
-INCLUDEDIRS=-I at srcdir@/$(THREADDIR) -I at srcdir@/$(ALLOCDIR) -I at srcdir@/$(GCDIR)\
- @bare_header@
+INCLUDEDIRS=-I at srcdir@/$(THREADDIR) -I at srcdir@/$(ALLOCDIR) -I at srcdir@/$(GCDIR)
LIBTHREAD=$(THREADDIR)/libuvm_ at vvmthreadtype@_thread.a
LIBALLOC=$(ALLOCDIR)/libuvm_alloc.a
LIBGC=$(GCDIR)/libuvm_gc_ at vvmgctype@.a @GC_LIBS@
MAIN_O=main-main.o
-LIBSUVM=$(LIBLLVM) $(LIBGC) $(LIBALLOC) $(LIBTHREAD)
+LIBSUVM=$(LIBGC) $(LIBALLOC) $(LIBTHREAD)
PREFIX=@prefix@
-main_SOURCES = Main.cc Object.cc Sigsegv.cc JIT.cc CommandLine.cpp CommandLine.h MvmMemoryManager.h MvmMemoryManager.cpp EscapeAnalysis.cpp
+main_SOURCES = Main.cc Object.cc Sigsegv.cc JIT.cc CommandLine.cpp CommandLine.h MvmMemoryManager.h MvmMemoryManager.cpp EscapeAnalysis.cpp Disassembler.cc
main_CXXFLAGS = $(INCLUDEDIRS) -DPREFIX=\"$(PREFIX)\" -W -Wall -ansi -Wno-unused-parameter -pedantic -Wno-long-long -fno-omit-frame-pointer -O2 -g
main_LDFLAGS=@rdynamic@
-main_LDADD = $(LIBSUVM) @LLVMDYLIB@ -lopcodes -lbfd -liberty
+main_LDADD = $(LIBSUVM) @LLVMDYLIB@
Modified: vmkit/trunk/lib/N3/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/Makefile.am (original)
+++ vmkit/trunk/lib/N3/Makefile.am Wed Mar 26 12:06:31 2008
@@ -10,11 +10,10 @@
LIBALLOC=$(ALLOCDIR)/libuvm_alloc.a
LIBGC=$(GCDIR)/libuvm_gc_ at vvmgctype@.a @GC_LIBS@
PREFIX=@prefix@
-LIBSUVM=$(LIBLLVM) $(LIBGC) $(LIBALLOC) $(LIBTHREAD)
+LIBSUVM=$(LIBGC) $(LIBALLOC) $(LIBTHREAD)
main_SOURCES = ../Mvm/Object.cc ../Mvm/Sigsegv.cc Main.cpp ../Mvm/MvmMemoryManager.cpp ../Mvm/JIT.cc ../Mvm/EscapeAnalysis.cpp
-
-main_CXXFLAGS = $(libJnJVM_la_CXXFLAGS)
-main_LDADD = VMCore/.libs/libN3.a $(LIBSUVM) @LLVMDYLIB@ -lopcodes -lbfd -liberty
+main_CXXFLAGS = $(INCLUDEDIRS) -DPREFIX=\"$(PREFIX)\" -W -Wall -ansi -Wno-unused-parameter -Wno-long-long -Wno-unused-function -fno-omit-frame-pointer -g -Werror -O2
+main_LDADD = VMCore/.libs/libN3.a $(LIBSUVM) @LLVMDYLIB@
main_LDFLAGS = @rdynamic@
Modified: vmkit/trunk/lib/N3/VMCore/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/Makefile.am?rev=48829&r1=48828&r2=48829&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/VMCore/Makefile.am (original)
+++ vmkit/trunk/lib/N3/VMCore/Makefile.am Wed Mar 26 12:06:31 2008
@@ -1,4 +1,3 @@
-# $Id: Makefile.am,v 1.4 2008/03/21 11:12:39 varth Exp $
EXTRA_DIST = SignatureNames.def OpcodeNames.def
lib_LTLIBRARIES = libN3.la
More information about the llvm-commits
mailing list