Sfoglia il codice sorgente

Remove java support

Has been marked as broken since July 2010 (39e6ba1b), and nobody has
stepped up to support it, so now finally remove it completely.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Peter Korsgaard 13 anni fa
parent
commit
b0bcafc6a0

+ 1 - 1
docs/buildroot.html

@@ -816,7 +816,7 @@ $(ZLIB_DIR)/libz.a: $(ZLIB_DIR)/.configured
     directory for your software, for example <code>libfoo</code>.</p>
 
     <p>Some packages have been grouped by topic in a sub-directory:
-    <code>multimedia</code>, <code>java</code>, <code>x11r7</code>, and
+    <code>multimedia</code>, <code>x11r7</code>, and
     <code>games</code>. If your package fits in one of these
     categories, then create your package directory in these.</p>
 

+ 0 - 8
package/Config.in

@@ -222,7 +222,6 @@ endmenu
 
 menu "Interpreter languages and scripting"
 source "package/haserl/Config.in"
-source "package/java/jamvm/Config.in"
 source "package/lua/Config.in"
 if BR2_PACKAGE_LUA
 menu "LUA libraries/modules"
@@ -327,13 +326,6 @@ source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
 endmenu
 
-if BROKEN
-menu "Java"
-source "package/java/classpath/Config.in"
-source "package/java/concierge/Config.in"
-endmenu
-endif
-
 menu "Javascript"
 source "package/explorercanvas/Config.in"
 source "package/flot/Config.in"

+ 0 - 5
package/java/Config.in

@@ -1,5 +0,0 @@
-menu "Java"
-source "package/java/classpath/Config.in"
-source "package/java/jamvm/Config.in"
-source "package/java/concierge/Config.in"
-endmenu

+ 0 - 9
package/java/classpath/Config.in

@@ -1,9 +0,0 @@
-config BR2_PACKAGE_CLASSPATH
-	bool "classpath"
-	help
-	  GNU Classpath, Essential Libraries for Java, is a GNU
-	  project to create free core class libraries for use with
-	  virtual machines and compilers for the java programming
-	  language.
-
-	  http://www.classpath.org/

+ 0 - 86
package/java/classpath/classpath.mk

@@ -1,86 +0,0 @@
-#############################################################
-#
-# classpath 0.96.1
-#
-#############################################################
-CLASSPATH_VERSION = 0.98
-CLASSPATH_SOURCE = classpath-$(CLASSPATH_VERSION).tar.gz
-CLASSPATH_SITE = $(BR2_GNU_MIRROR)/classpath
-CLASSPATH_AUTORECONF = NO
-CLASSPATH_INSTALL_STAGING = YES
-CLASSPATH_INSTALL_TARGET = YES
-CLASSPATH_DIR_PREFIX = package/java
-
-CLASSPATH_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
-		glib_cv_uscore=no ac_cv_func_strtod=yes \
-		ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \
-		ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \
-		ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \
-		ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \
-		ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \
-		ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \
-		ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \
-		ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \
-		vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \
-		jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \
-		ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \
-		ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \
-		ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \
-		ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \
-		utils_cv_func_mkdir_trailing_slash_bug=no \
-		jm_cv_func_gettimeofday_clobber=no \
-		gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \
-		utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \
-		gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \
-		gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \
-		am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \
-		gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \
-		ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
-		ac_use_included_regex=no gl_cv_c_restrict=no \
-		ac_cv_path_GLIB_GENMARSHAL=$(LIBGLIB2_HOST_BINARY) \
-		ac_cv_prog_F77=no ac_cv_prog_CXX=no ac_cv_path_CUPS_CONFIG=no
-
-
-CLASSPATH_CONF_OPT = \
-		--libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/man \
-		--infodir=/usr/info \
-		--disable-glibtest --enable-explicit-deps=no \
-		--disable-debug \
-		--disable-gconf-peer --disable-examples --disable-plugin \
-		--disable-Werror
-
-CLASSPATH_DEPENDENCIES = host-pkg-config libpng jpeg
-
-ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
-	CLASSPATH_DEPENDENCIES+= alsa-lib
-	CLASSPATH_CONF_OPT+= --enable-alsa
-else
-	CLASSPATH_CONF_OPT+= --disable-alsa
-endif
-
-ifeq ($(BR2_PACKAGE_QT),y)
-	CLASSPATH_DEPENDENCIES+= qt
-	CLASSPATH_CONF_OPT+= --enable-qt-peer
-else
-	CLASSPATH_CONF_OPT+= --disable-qt-peer
-endif
-
-ifeq ($(BR2_PACKAGE_LIBGTK2),y)
-	CLASSPATH_DEPENDENCIES+= libgtk2
-	CLASSPATH_CONF_OPT+= --enable-gtk-peer
-else
-	CLASSPATH_CONF_OPT+= --disable-gtk-peer
-endif
-
-ifeq ($(BR2_PACKAGE_XORG7),y)
-	CLASSPATH_DEPENDENCIES+= xserver_xorg-server
-	CLASSPATH_CONF_OPT+= --with-x \
-		--x-includes=$(STAGING_DIR)/usr/include/X11 \
-		--x-libraries=$(STAGING_DIR)/usr/lib
-else
-	CLASSPATH_CONF_OPT+= --without-x
-endif
-
-
-
-$(eval $(call AUTOTARGETS))

+ 0 - 10
package/java/concierge/Config.in

@@ -1,10 +0,0 @@
-config BR2_PACKAGE_CONCIERGE
-	bool "concierge"
-        depends on BR2_PACKAGE_JAMVM
-
-	help
-	  Concierge is an optimized OSGi R3 framework implementations
-	  with a file footprint of about 80 kBytes. This makes it
-	  ideal for mobile or embedded devices.
-
-	  http://concierge.sourceforge.net/

+ 0 - 40
package/java/concierge/concierge.mk

@@ -1,40 +0,0 @@
-#############################################################
-#
-# concierge 1.0-RC2
-#
-#############################################################
-CONCIERGE_VERSION = 1.0_RC2
-CONCIERGE_SOURCE = concierge-$(CONCIERGE_VERSION).jar
-CONCIERGE_SITE = http://ovh.dl.sourceforge.net/sourceforge/concierge/
-CONCIERGE_DIR=$(BUILD_DIR)/concierge-$(CONCIERGE_VERSION)
-CONCIERGE_SITE_BUNDLES = http://concierge.sourceforge.net/bundles/
-
-$(DL_DIR)/concierge:
-	 mkdir -p $(DL_DIR)/concierge/
-	 $(call DOWNLOAD,$(CONCIERGE_SITE),concierge-$(CONCIERGE_VERSION).jar)
-	 $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)shell-1.0.0.RC2.jar)
-	 $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)service-tracker-1.0.0.RC2.jar)
-	 $(call DOWNLOAD,$(CONCIERGE_SITE_BUNDLES)event-admin-1.0.0.RC2.jar)
-
-$(TARGET_DIR)/usr/lib/concierge/: $(DL_DIR)/concierge
-	mkdir -p $(TARGET_DIR)/usr/lib
-	mkdir -p $(TARGET_DIR)/usr/lib/concierge
-	cp -dpf $(DL_DIR)/concierge/* $(TARGET_DIR)/usr/lib/concierge/
-	cp -dpf package/java/concierge/files/init.xargs $(TARGET_DIR)/usr/lib/concierge/
-	touch -c $@
-
-$(TARGET_DIR)/usr/bin/concierge:
-	cp -dpf package/java/concierge/files/concierge $(TARGET_DIR)/usr/bin/
-	chmod +x $(TARGET_DIR)/usr/bin/concierge
-	touch -c $@
-
-concierge: $(TARGET_DIR)/usr/lib/concierge $(TARGET_DIR)/usr/bin/concierge
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_CONCIERGE),y)
-TARGETS+=concierge
-endif

+ 0 - 2
package/java/concierge/files/concierge

@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/jamvm -jar /usr/lib/concierge/concierge-1.0_RC2.jar

+ 0 - 10
package/java/concierge/files/init.xargs

@@ -1,10 +0,0 @@
--init
--all
--Dch.ethz.iks.concierge.debug=true
--Dch.ethz.iks.concierge.log.enabled=true
--Dch.ethz.iks.concierge.log.level=4
-
-
-#-istart shell-1.0.0.RC2.jar
-#-istart service-tracker-1.0.0.RC2.jar
-#-istart event-admin-1.0.0.RC2.jar

+ 0 - 8
package/java/jamvm/Config.in

@@ -1,8 +0,0 @@
-config BR2_PACKAGE_JAMVM
-	bool "jamvm"
-        depends on BR2_PACKAGE_CLASSPATH
-	help
-	  JamVM is a new Java Virtual Machine which conforms to
-	  the JVM specification version 2 (blue book).
-
-	  http://jamvm.sourceforge.net/

+ 0 - 1473
package/java/jamvm/jamvm-1.5.0.patch.avr32

@@ -1,1473 +0,0 @@
-diff -urpN jamvm-1.5.0/configure jamvm-1.5.0-avr32/configure
---- jamvm-1.5.0/configure	2007-10-29 06:37:06.000000000 +0100
-+++ jamvm-1.5.0-avr32/configure	2008-02-08 09:20:37.000000000 +0100
-@@ -2550,6 +2550,7 @@ i386-*-openbsd*) host_os=bsd libdl_neede
- i386-*-freebsd*) host_os=bsd libdl_needed=no ;;
- x86_64-*-linux*) host_os=linux ;;
- hppa*-*-linux*) host_cpu=parisc host_os=linux ;;
-+avr32*-*-linux*) host_cpu=avr32 host_os=linux ;;
- mipsel-*-linux*) host_cpu=mips host_os=linux ;;
- amd64-*-openbsd*) host_os=bsd libdl_needed=no ;;
- amd64-*-freebsd*) host_os=bsd libdl_needed=no ;;
-@@ -22839,7 +22840,7 @@ fi
- ac_config_links="$ac_config_links src/arch.h:src/arch/$arch.h"
- 
- 
--ac_config_files="$ac_config_files Makefile src/Makefile src/interp/Makefile src/interp/engine/Makefile src/arch/Makefile src/os/Makefile src/os/linux/Makefile src/os/darwin/Makefile src/os/bsd/Makefile src/os/linux/powerpc/Makefile src/os/linux/arm/Makefile src/os/linux/i386/Makefile src/os/linux/x86_64/Makefile src/os/linux/parisc/Makefile src/os/linux/mips/Makefile src/os/darwin/i386/Makefile src/os/darwin/powerpc/Makefile src/os/bsd/powerpc/Makefile src/os/bsd/arm/Makefile src/os/bsd/i386/Makefile src/os/bsd/x86_64/Makefile lib/Makefile lib/java/Makefile lib/java/lang/Makefile lib/jamvm/Makefile lib/jamvm/java/Makefile lib/jamvm/java/lang/Makefile lib/java/lang/reflect/Makefile lib/java/security/Makefile lib/gnu/Makefile lib/sun/reflect/annotation/Makefile lib/sun/reflect//Makefile lib/sun/Makefile lib/gnu/classpath/Makefile"
-+ac_config_files="$ac_config_files Makefile src/Makefile src/interp/Makefile src/interp/engine/Makefile src/arch/Makefile src/os/Makefile src/os/linux/Makefile src/os/darwin/Makefile src/os/bsd/Makefile src/os/linux/powerpc/Makefile src/os/linux/arm/Makefile src/os/linux/i386/Makefile src/os/linux/x86_64/Makefile src/os/linux/avr32/Makefile src/os/linux/parisc/Makefile src/os/linux/mips/Makefile src/os/darwin/i386/Makefile src/os/darwin/powerpc/Makefile src/os/bsd/powerpc/Makefile src/os/bsd/arm/Makefile src/os/bsd/i386/Makefile src/os/bsd/x86_64/Makefile lib/Makefile lib/java/Makefile lib/java/lang/Makefile lib/jamvm/Makefile lib/jamvm/java/Makefile lib/jamvm/java/lang/Makefile lib/java/lang/reflect/Makefile lib/java/security/Makefile lib/gnu/Makefile lib/sun/reflect/annotation/Makefile lib/sun/reflect//Makefile lib/sun/Makefile lib/gnu/classpath/Makefile"
- 
- 
- cat >confcache <<\_ACEOF
-@@ -23475,6 +23476,7 @@ do
-     "src/os/linux/i386/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/i386/Makefile" ;;
-     "src/os/linux/x86_64/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/x86_64/Makefile" ;;
-     "src/os/linux/parisc/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/parisc/Makefile" ;;
-+    "src/os/linux/avr32/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/avr32/Makefile" ;;
-     "src/os/linux/mips/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/linux/mips/Makefile" ;;
-     "src/os/darwin/i386/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/darwin/i386/Makefile" ;;
-     "src/os/darwin/powerpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/os/darwin/powerpc/Makefile" ;;
-diff -urpN jamvm-1.5.0/src/alloc.c jamvm-1.5.0-avr32/src/alloc.c
---- jamvm-1.5.0/src/alloc.c	2007-10-22 01:24:22.000000000 +0200
-+++ jamvm-1.5.0-avr32/src/alloc.c	2008-02-08 09:20:38.000000000 +0100
-@@ -274,6 +274,11 @@ void initialiseAlloc(InitArgs *args) {
- #else
-     char *mem = (char*)mmap(0, args->max_heap, PROT_READ|PROT_WRITE,
-                                                MAP_PRIVATE|MAP_ANON, -1, 0);
-+//    char *mem = (char*)mmap(0, 8196, PROT_READ|PROT_WRITE,
-+//                                               MAP_PRIVATE|MAP_ANON, -1, 0);
-+//TODO: lto
-+//jam_printf("trying to mmap max:%lo min:%lo heap\n",args->max_heap , args->max_heap);
-+//jam_printf("mem: %d %d\n",mem,MAP_FAILED);
-     if(mem == MAP_FAILED) {
- #endif
-         perror("Aborting the VM -- couldn't allocate the heap");
-@@ -2214,7 +2219,7 @@ void *sysMalloc(int size) {
-     int n = size < sizeof(void*) ? sizeof(void*) : size;
-     void *mem = malloc(n);
- 
--    if(mem == NULL) {
-+    if(mem == NULL && n != 0) {
-         jam_fprintf(stderr, "Malloc failed - aborting VM...\n");
-         exitVM(1);
-     }
-diff -urpN jamvm-1.5.0/src/arch/avr32.h jamvm-1.5.0-avr32/src/arch/avr32.h
---- jamvm-1.5.0/src/arch/avr32.h	1970-01-01 01:00:00.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/arch/avr32.h	2008-02-08 09:20:41.000000000 +0100
-@@ -0,0 +1,109 @@
-+/*
-+ * Copyright (C) 2003, 2004, 2005, 2006, 2007
-+ * Robert Lougher <rob@lougher.org.uk>.
-+ *
-+ * This file is part of JamVM.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+ */
-+
-+#define OS_ARCH "avr32"
-+//#ifndef DEBUG
-+//#define DEBUG
-+//#endif
-+
-+/* Override default min and max heap sizes.  AVR32 machines are
-+   usually embedded, and the standard defaults are too large. */
-+#define DEFAULT_MAX_HEAP 8*MB
-+#define DEFAULT_MIN_HEAP 1*MB
-+
-+#define HANDLER_TABLE_T static const void
-+#define DOUBLE_1_BITS 0x3ff0000000000000LL
-+
-+#define READ_DBL(v,p,l)	v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \
-+                            |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \
-+                            |((u8)p[6]<<8)|(u8)p[7]; p+=8
-+
-+//extern void setDoublePrecision();
-+#define FPU_HACK
-+
-+//#define COMPARE_AND_SWAP(addr, old_val, new_val)    ({char result;result;})
-+//static inline unsigned long __cmpxchg_u32(volatile int *m, unsigned int old,
-+//					  unsigned int new)
-+//{
-+//	int ret;
-+//	//printf("compare and swap %d %d %s:line%d\n",old,new,__FILE__,__LINE__);
-+//	asm volatile(
-+//		"1:	ssrf	5\n"
-+//		"	ld.w	%[ret], %[m]\n"
-+//		"	cp.w		%[ret], %[old]\n"
-+//		"	brne	2f\n"
-+//		"	stcond	%[m], %[new]\n"
-+//		"	brne	1b\n"
-+//		"2:\n"
-+//		: [ret] "=&r"(ret), [m] "=m"(*m)
-+//		: "m"(*m), [new] "r"(new), [old] "r"(old)
-+//		: "memory", "cc");
-+//	return ret;
-+//}
-+
-+//see C:\Cygwin\usr\local\avr32-linux\include\bits\atomicity.h
-+//see http://www.avr32linux.org/twiki/bin/view/Main/AtomicOperations
-+//see http://www.mail-archive.com/uclibc@uclibc.org/msg00914.html
-+//http://www.avr32linux.org/twiki/pub/Main/MicroClibcPatches/uClibc-0.9.28-avr32-20060621.patch
-+//http://www.google.com/codesearch?hl=en&q=+cmpxchg+avr32+show:WwwDfOAAdbA:L2BlPHy6h_g:nY7RakaTOnE&sa=N&cd=1&ct=rc&cs_p=http://gobo.calica.com/packages/official/Linux--2.6.20.4-r1--i686.tar.bz2&cs_f=Linux/2.6.20.4/Resources/Unmanaged/Files/Compile/Sources/linux-2.6.20.4/include/asm-avr32/system.h#first
-+//#define  COMPARE_AND_SWAP(p, oldval, newval)({	\
-+//	printf("compare and swap %d %d %s:line%d\n",oldval,newval,__FILE__,__LINE__);	\ 
-+//	__cmpxchg_u32(p,oldval,newval);\
-+//})
-+
-+//	printf("compare and swap %d %d %s:line %d\n",old_val,new_val,__FILE__,__LINE__); 
-+#define COMPARE_AND_SWAP(addr, old_val, new_val)	    			\
-+({                                                  	\
-+	int result;											\
-+	__asm__ __volatile__ ("								\
-+		1:	ssrf	5;									\
-+			ld.w	%[ret], %[m];						\
-+			cp.w	%[ret], %[old];						\
-+			brne	2f;									\
-+			stcond	%[m], %[new];						\
-+			brne	1b;									\
-+		2:"												\
-+		: [ret] "=&r" (result), [m] "=m" (*addr)		\
-+		: "m" (*addr), [old] "r" (old_val), [new] "r" (new_val)	\
-+		: "memory", "cc");								\
-+	result;												\
-+})
-+
-+//ssrf 5	:set lock bit
-+//stcond	:store param2 when lock is set
-+//sreq		:If equal set register to true or false
-+//brne		:Branch when not equal
-+//brne 1b	:When the lock wasn't set anymore, try again
-+//label 1b 2f	:first label named 1/2 before/after
-+#define FLUSH_CACHE(addr, length)
-+
-+#define LOCKWORD_READ(addr) *addr
-+#define LOCKWORD_WRITE(addr, value) *addr = value
-+#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \
-+        COMPARE_AND_SWAP(addr, old_val, new_val)
-+
-+#define UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
-+#define JMM_LOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
-+#define JMM_UNLOCK_MBARRIER() __asm__ __volatile__ ("" ::: "memory")
-+
-+//TODO: lto
-+#define MBARRIER() __asm__ __volatile__ ("" ::: "memory")
-+//#define MBARRIER() __asm__ __volatile__ ("lock; addl $0,0(%%esp)" ::: "memory")
-diff -urpN jamvm-1.5.0/src/arch/Makefile.am jamvm-1.5.0-avr32/src/arch/Makefile.am
---- jamvm-1.5.0/src/arch/Makefile.am	2007-10-28 00:19:26.000000000 +0200
-+++ jamvm-1.5.0-avr32/src/arch/Makefile.am	2008-02-08 09:20:41.000000000 +0100
-@@ -19,4 +19,4 @@
- ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- ##
- 
--EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h
-+EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h avr32.h
-diff -urpN jamvm-1.5.0/src/arch/Makefile.in jamvm-1.5.0-avr32/src/arch/Makefile.in
---- jamvm-1.5.0/src/arch/Makefile.in	2007-10-29 07:02:36.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/arch/Makefile.in	2008-02-08 09:20:41.000000000 +0100
-@@ -162,7 +162,7 @@ top_srcdir = @top_srcdir@
- use_zip_no = @use_zip_no@
- use_zip_yes = @use_zip_yes@
- with_classpath_install_dir = @with_classpath_install_dir@
--EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h
-+EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h avr32.h
- all: all-am
- 
- .SUFFIXES:
-diff -urpN jamvm-1.5.0/src/class.c jamvm-1.5.0-avr32/src/class.c
---- jamvm-1.5.0/src/class.c	2007-10-29 05:45:32.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/class.c	2008-02-08 09:20:37.000000000 +0100
-@@ -40,6 +40,8 @@
- #define SCAVENGE(ptr) FALSE
- #define FOUND(ptr) ptr
- 
-+#define TRACE(fmt, ...) jam_printf(fmt, ## __VA_ARGS__)
-+
- static int verbose;
- static char *bootpath;
- static char *classpath;
-@@ -1273,6 +1275,9 @@ Class *findSystemClass0(char *classname)
- }
- 
- Class *findSystemClass(char *classname) {
-+#ifdef DEBUG
-+  	TRACE(">>>>>>finding class: %s\n", classname);
-+#endif
-    Class *class = findSystemClass0(classname);
- 
-    if(!exceptionOccurred())
-@@ -1383,18 +1388,32 @@ Class *findClassFromClassLoader(char *cl
- }
- 
- Object *getSystemClassLoader() {
-+#ifdef DEBUG
-+	printf("%s: %d: trying to find ClassLoader\n",__FILE__,__LINE__);
-+#endif
-     Class *class_loader = findSystemClass("java/lang/ClassLoader");
- 
-     if(!exceptionOccurred()) {
-+#ifdef DEBUG
-+    	printf("%s: %d: found ClassLoader\n",__FILE__,__LINE__);
-+#endif    	
-         MethodBlock *mb;
- 
-         if((mb = findMethod(class_loader, "getSystemClassLoader",
-                                           "()Ljava/lang/ClassLoader;")) != NULL) {
-+#ifdef DEBUG
-+            printf("%s: %d: executing static SystemClassLoader",__FILE__,__LINE__);
-+#endif
-+                                          	
-             Object *system_loader = *(Object**)executeStaticMethod(class_loader, mb);
- 
-             if(!exceptionOccurred()) 
-                 return system_loader;
-         }
-+#ifdef DEBUG
-+    }else{
-+    	printf("%s: %d: found ClassLoader WITH EXCEPTION\n",__FILE__,__LINE__);
-+#endif
-     }
-     return NULL;
- }
-diff -urpN jamvm-1.5.0/src/interp/direct.c jamvm-1.5.0-avr32/src/interp/direct.c
---- jamvm-1.5.0/src/interp/direct.c	2007-10-26 05:10:47.000000000 +0200
-+++ jamvm-1.5.0-avr32/src/interp/direct.c	2008-02-08 09:20:40.000000000 +0100
-@@ -31,7 +31,7 @@
- #include "interp.h"
- 
- #ifdef TRACEDIRECT
--#define TRACE(fmt, ...) jam_printf(fmt, ## __VA_ARGS__)
-+#define TRACE(fmt, ...) printf(fmt, ## __VA_ARGS__)
- #else
- #define TRACE(fmt, ...)
- #endif
-Binary files jamvm-1.5.0/src/interp/engine/compute_relocatability and jamvm-1.5.0-avr32/src/interp/engine/compute_relocatability differ
-diff -urpN jamvm-1.5.0/src/os/linux/avr32/dll_md.c jamvm-1.5.0-avr32/src/os/linux/avr32/dll_md.c
---- jamvm-1.5.0/src/os/linux/avr32/dll_md.c	1970-01-01 01:00:00.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/os/linux/avr32/dll_md.c	2008-02-08 09:20:38.000000000 +0100
-@@ -0,0 +1,669 @@
-+/*
-+ * Copyright (C) 2003, 2004, 2005, 2006, 2007
-+ * Robert Lougher <rob@lougher.org.uk>.
-+ *
-+ * This file is part of JamVM.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+ */
-+
-+#include "../../../jam.h"
-+
-+#ifndef USE_FFI
-+#include <string.h>
-+#include "../../../sig.h"
-+
-+#define RET_VOID    0
-+#define RET_DOUBLE  1
-+#define RET_LONG    2
-+#define RET_FLOAT   3
-+#define RET_DFLT    4
-+
-+int nativeExtraArg(MethodBlock *mb) {
-+	//printf("!!!!!!!!!!nativeExtraArg (name=%s) (type=%s)!!!!!!!\n",mb->name,mb->type);
-+    int len = strlen(mb->type);
-+    if(mb->type[len-2] == ')')
-+        switch(mb->type[len-1]) {
-+            case 'V':
-+                return RET_VOID;
-+            case 'D':
-+                return RET_DOUBLE;
-+            case 'J':
-+                return RET_LONG;
-+            case 'F':
-+                return RET_FLOAT;
-+        }
-+
-+    return RET_DFLT;
-+}
-+
-+//calls the f function pointer and takes care of the return type
-+#define perform_f(label,...)													\
-+		switch(ret_type) {														\
-+        	case RET_VOID:														\
-+            	(*(void (*)())f)(__VA_ARGS__);									\
-+				goto label;														\
-+        	case RET_DOUBLE:													\
-+	        	*(double*)ostack = (*(double (*)())f)(__VA_ARGS__);				\
-+            	ostack += 2;													\
-+				goto label;														\
-+        	case RET_LONG:														\
-+	        	*(long long*)ostack = (*(long long (*)())f)(__VA_ARGS__);		\
-+            	ostack += 2;													\
-+				goto label;														\
-+        	case RET_FLOAT:														\
-+	        	*(float*)ostack = (*(float (*)())f)(__VA_ARGS__);				\
-+            	ostack++;														\
-+				goto label;														\
-+        	default:															\
-+	            *ostack++ = (*(u4 (*)())f)(__VA_ARGS__);						\
-+				goto label;														\
-+	    }
-+
-+#define write_ops_to_stack(x)	    											\
-+	/*write x operands to the stack	*/											\
-+	int i;																		\
-+	for(i=0; i < x; i++){														\
-+		__asm__ __volatile__(													\
-+    	"ld.w r11,%0		\n\t"												\
-+    	"st.w --sp,r11		" 													\
-+    	:: "m"(*--opntr)														\
-+    	:"sp","r11");															\
-+	}										
-+	
-+u4 *callJNIMethod(void *env, Class *class, char *sig, int ret_type, u4 *ostack, unsigned char *f, int args) {
-+	u4 *opntr = ostack + args;
-+	int nrofopsonstack = 0;
-+	if(class && args > 3){
-+		nrofopsonstack = args - 3;
-+	}else if(class){
-+		nrofopsonstack = 0;
-+	}else if(args > 4){
-+		nrofopsonstack = args -4;
-+	}else{
-+		nrofopsonstack = 0;
-+	}
-+	
-+	if(args == 0){
-+		if(class){
-+			perform_f(done,env,class);
-+		}else{
-+			perform_f(done,env);
-+		}
-+	}else if(args == 1){
-+		if(class){
-+    		perform_f(done,env,class,*--opntr);
-+		}else{
-+    		perform_f(done,env,*--opntr);
-+		}
-+	}else if(args == 2){
-+		if(class){
-+    		perform_f(done,env,class,*--opntr,*--opntr);
-+		}else{
-+    		perform_f(done,env,*--opntr,*--opntr);
-+		}
-+	}else if(args == 3){
-+		if(class){
-+    		perform_f(done,env,class,*--opntr,*--opntr,*--opntr);
-+		}else{
-+    		perform_f(done,env,*--opntr,*--opntr,*--opntr);
-+		}
-+	}else{
-+		write_ops_to_stack(nrofopsonstack)
-+		if(class){
-+    		perform_f(empty_stack,env,class,*--opntr,*--opntr,*--opntr);
-+		}else{
-+    		perform_f(empty_stack,env,*--opntr,*--opntr,*--opntr,*--opntr);
-+		}
-+	}
-+	
-+	empty_stack:
-+	//Increment stack pointer to loose all operands we put there
-+	if(nrofopsonstack > 0) {
-+ 		__asm__ __volatile__("add sp,%0" ::"r"((nrofopsonstack) * sizeof(u4)): "sp");
-+	}
-+		
-+	done:
-+	return ostack;
-+}
-+
-+/*
-+    int i;
-+    int nrofopsonstack,nrofopsinregister;
-+	u4 *opntr = ostack + args;
-+	register int *r5 asm ("r5");
-+	*r5 = *f;
-+	
-+//	register unsigned char *r6 asm ("r6");
-+//	register int *r7 asm ("r7");
-+//	register int *r8 asm ("r8");
-+//	register int *r9 asm ("r9");
-+//	register int *r10 asm ("r10");
-+//	register int *r11 asm ("r11");
-+//	register int *r12 asm ("r12");
-+	
-+	if(class && args > 3){
-+		nrofopsonstack = args - 3;
-+		nrofopsinregister = 3;
-+	}else if(class){
-+		nrofopsonstack = 0;
-+		nrofopsinregister = args;
-+	}else if(args > 4){
-+		nrofopsonstack = args -4;
-+		nrofopsinregister = 4;
-+	}else{
-+		nrofopsonstack = 0;
-+		nrofopsinregister = args;
-+	}
-+
-+	//write all operands except 3 or 4 to the stack	
-+	for(i=0; i < nrofopsonstack; i++){
-+		//printf("!!!!!writing arg %d to stack\n",i);
-+    	__asm__ __volatile__(
-+    	"ld.w r11,%0		\n\t"
-+    	"st.w --sp,r11		" 
-+    	:: "m"(*--opntr)
-+    	:"sp","r11");
-+	}
-+
-+	
-+	//TODO: make sure none of the registers above have been changed
-+	switch(ret_type) {
-+        case RET_VOID:
-+        	goto do_void_function;
-+        case RET_DOUBLE:
-+        	goto do_double_function;
-+        case RET_LONG:
-+        	goto do_longlong_function;
-+        case RET_FLOAT:
-+        	goto do_float_function;
-+        default:
-+        	goto do_default_function;
-+    }
-+
-+	do_void_function:
-+			WRITE_PARAMS(label_void)
-+			__asm__ __volatile__(
-+				"icall r5"
-+				::"m"(f));
-+			label_void:
-+            (*(void (*)())f)();
-+            //printf("!!!!!!!!!!!!! called void JNIMethod %s!!!!!!!!!!\n",sig);
-+            goto empty_stack;
-+            
-+	do_double_function:
-+			WRITE_PARAMS(label_double)
-+			label_double:
-+        	*(double*)ostack = (*(double (*)())f)();
-+            ostack += 2;
-+            //printf("!!!!!!!!!!!!! called double JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack);
-+            goto empty_stack;
-+
-+	do_longlong_function:
-+			WRITE_PARAMS(label_longlong)
-+			label_longlong:
-+        	*(long long*)ostack = (*(long long (*)())f)();
-+            ostack += 2;
-+            //printf("!!!!!!!!!!!!! called long JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack);
-+            goto empty_stack;
-+
-+	do_float_function:
-+			WRITE_PARAMS(label_float)
-+			label_float:
-+        	*(float*)ostack = (*(float (*)())f)();
-+            ostack++;
-+            //printf("!!!!!!!!!!!!! called float JNIMethod %s %f!!!!!!!!!!\n",sig,*ostack);
-+            goto empty_stack;
-+
-+	do_default_function:
-+			WRITE_PARAMS(label_default)
-+			label_default:
-+            *ostack++ = (*(u4 (*)())f)();
-+            //printf("!!!!!!!!!!!!! called default JNIMethod %s!!!!!!!!!!\n",sig);
-+        	goto empty_stack;
-+    
-+    empty_stack:
-+
-+	//Get rid of the items on the stack
-+	if(nrofopsonstack > 0) {
-+ 		__asm__ __volatile__("add sp,%0" ::"r"(nrofopsonstack): "sp");
-+	}
-+    return ostack;*/
-+
-+
-+//    	r8 = (u4*)(*--opntr);
-+//    	r9 = (u4*)(*--opntr);
-+//    	r10 = (u4*)(*--opntr);
-+//    	r11 = (u4*)(*--opntr);
-+//    	r12 = env;
-+
-+
-+
-+/*    
-+   	//write all operands to register
-+    if(!class){
-+    	switch(nrofopsinregister){
-+    	case 4:
-+   		__asm__ __volatile__(
-+   			"ld.w r8,%[r8]		\n\t"
-+   			"ld.w r9,%[r9]		\n\t"
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[r11]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)
-+   			:"r8","r9","r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 3:
-+   		__asm__ __volatile__(
-+   			"ld.w r9,%[r9]		\n\t"
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[r11]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)
-+   			:"r9","r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 2:
-+   		__asm__ __volatile__(
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[r11]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)
-+   			:"r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 1:
-+   		__asm__ __volatile__(
-+   			"ld.w r11,%[r11]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			::[r11]"m"(*--opntr),[env]"m"(env)
-+   			:"r11","r12"
-+   			);
-+   			goto select_function;
-+   		case 0:
-+   		__asm__ __volatile__(
-+   			"ld.w r12,%[env]"
-+   			::[env]"m"(env)
-+   			:"r12"
-+   			);
-+   			goto select_function;
-+   		}
-+    }else{//class needs to be written to r11 
-+    	switch(nrofopsinregister){
-+    	case 3:
-+   		__asm__ __volatile__(
-+   			"ld.w r8,%[r8]		\n\t"
-+   			"ld.w r9,%[r9]		\n\t"
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[class]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)
-+   			:"r8","r9","r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 2:
-+   		__asm__ __volatile__(
-+   			"ld.w r9,%[r9]		\n\t"
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[class]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)
-+   			:"r9","r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 1:
-+   		__asm__ __volatile__(
-+   			"ld.w r10,%[r10]	\n\t"
-+   			"ld.w r11,%[class]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)
-+   			:"r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	case 0:
-+   		__asm__ __volatile__(
-+   			"ld.w r11,%[class]	\n\t"
-+   			"ld.w r12,%[env]"
-+   			:: [class]"m"(class),[env]"m"(env)
-+   			:"r10","r11","r12"
-+   			);
-+   			goto select_function;
-+    	}
-+    }
-+	select_function: //This label is put here to make some cleaner assembler jumps above
-+	*/
-+
-+//    int isstatic;
-+//    if(class){
-+//    	isstatic = 1; 
-+//    }else{
-+//    	isstatic = 0;
-+//    }
-+//    printf("!!!!!!!!!!!!! calling JNIMethod (sig:%s) (type:%d) (argcount:%d) (static:%d)!!!!!!!!!!\n",sig,ret_type,args,isstatic);
-+
-+//Dit werkt!!!    
-+//    if(args == 3 && isstatic == 0 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+/*
-+    u4 *opntr = ostack + args;
-+    long long *result;
-+	if(class){
-+		//printf("I am static!!!!!!!\n");
-+		if(args == 0){
-+      		//*ostack = (*(u4 (*)())f)(env,class);
-+      		*result = (*(long long (*)())f)(env,class);
-+    	}else if(args == 1){
-+       		*result = (*(long long (*)())f)(env,class,*--opntr);
-+       	}else if(args == 2){
-+       		*result = (*(long long (*)())f)(env,class,*--opntr,*--opntr);
-+       	}else if(args == 3){
-+       		*result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr);
-+       	}else if(args == 4){
-+       		*result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr);
-+       	}else if(args == 5){
-+       		*result = (*(long long (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr);
-+       	}
-+	}else{
-+      	//printf("I am not static!!!!!!!\n");
-+		if(args == 0){
-+       		*result = (*(long long (*)())f)(env);
-+       	}else if(args == 1){
-+       		*result = (*(long long (*)())f)(env,*--opntr);
-+       	}else if(args == 2){
-+       		*result = (*(long long (*)())f)(env,*--opntr,*--opntr);
-+       	}else if(args == 3){
-+       		*result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr);
-+       	}else if(args == 4){
-+       		*result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr,*--opntr);
-+       	}else if(args == 5){
-+       		*result = (*(long long (*)())f)(env,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr);
-+       	}
-+	}
-+	
-+	switch(ret_type) {
-+        case RET_VOID:
-+			printf("-------->Performed void function %s\n",sig);
-+            break;
-+
-+        case RET_DOUBLE:
-+        	*(double*)ostack = *(double(*))result;
-+        	ostack += 2;
-+			printf("-------->Performed double function %s,casting to %d\n",sig, ret_type);
-+        	//printf("returned a double %f\n",*ostack);
-+            break;
-+
-+        case RET_LONG:
-+        	*(long long*)ostack = *(long long(*))result;
-+        	ostack += 2;
-+			printf("-------->Performed long function %s,casting to %d\n",sig, ret_type);
-+        	//printf("returned a long %l\n",*ostack);
-+            break;
-+
-+        case RET_FLOAT:
-+        	*(float*)ostack = *(float(*))result;
-+        	ostack++;
-+			printf("-------->Performed float function %s,casting to %d\n",sig, ret_type);
-+        	//printf("returned a float %f\n",*ostack);
-+            break;
-+
-+        default:
-+        	*ostack++ = *(u4(*))result;
-+            //ostack++;
-+			printf("-------->Performed default function %s,casting to %d\n",sig, ret_type);
-+        	//printf("returned a default %d\n",*ostack);
-+        	break;
-+    }
-+    return ostack;
-+    */
-+
-+
-+
-+
-+//    if(args == 3 && isstatic == 0 && ret_type == RET_DFLT){
-+//       printf("I am here!!!!!!!\n");
-+//       u4 *result = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr);
-+//       *ostack++ = result;
-+//       //*ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+//    if(args == 2 && isstatic == 0 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+//    if(args == 1 && isstatic == 0 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,*--opntr);
-+//	   return ostack;
-+//    }
-+//    
-+//    if(args == 6 && isstatic == 1 && ret_type == RET_DFLT){
-+//       printf("I am here for 7 args..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+//    if(args == 4 && isstatic == 1 && ret_type == RET_DFLT){
-+//       printf("I am here for 5 args..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+//    if(args == 3 && isstatic == 1 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr,*--opntr);
-+//	   return ostack;
-+//    }
-+//    if(args == 2 && isstatic == 1 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//      *ostack++ = (*(u4 (*)())f)(env,class,*--opntr,*--opntr);
-+//	   return ostack;
-+//   }
-+//    if(args == 1 && isstatic == 1 && ret_type == RET_DFLT){
-+//       printf("I am here..\n");
-+//       *ostack++ = (*(u4 (*)())f)(env,class,*--opntr);
-+//	   return ostack;
-+//    }
-+    
-+    //int i;
-+
-+    //for(i = 0; i < args; i++){
-+    //	printf("!!!!!should write arg %d\n",i);
-+    	//__asm__ __volatile__("ld.w r11,%0" :: "m"(*--opntr):"r11");
-+        //__asm__ __volatile__("st.w --sp,r11" ::: "sp","r11");
-+    //}
-+
-+//	int i=args;
-+//    if(class) {
-+//    	for(i=args;i>3;i--){
-+//	    	__asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8");
-+//    		__asm__ __volatile__("st.w --sp,r8" ::: "sp","r8");
-+//    	}
-+//    	if(args >= 3){
-+//    		__asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8");
-+//    	}
-+//    	if(args >= 2){
-+//    		__asm__ __volatile__("ld.w r9,%0" :: "m"(*--opntr):"r9");
-+//    	}
-+//    	if(args >= 1){
-+//    		__asm__ __volatile__("ld.w r10,%0" :: "m"(*--opntr):"r10");
-+//    	}
-+//    	__asm__ __volatile__("ld.w r11,%0" :: "m"(class):"r11");
-+//	   	__asm__ __volatile__("ld.w r12,%0" :: "m"(env):"r12");
-+//    }else{//static, don't add class variable
-+//	   	for(i=args;i>4;i--){
-+//	   		//r8 will be reused by the last register argument
-+//    		__asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8");
-+//    		__asm__ __volatile__("st.w --sp,r8" ::: "sp","r8");
-+//    	}
-+//    	if(args >= 4){
-+//    		__asm__ __volatile__("ld.w r8,%0" :: "m"(*--opntr):"r8");
-+//    	}
-+//    	if(args >= 3){
-+//    		__asm__ __volatile__("ld.w r9,%0" :: "m"(*--opntr):"r9");
-+//    	}
-+//    	if(args >= 2){
-+//    		__asm__ __volatile__("ld.w r10,%0" :: "m"(*--opntr):"r10");
-+//    	}
-+//    	if(args >= 1){
-+//    		__asm__ __volatile__("ld.w r11,%0" :: "m"(*--opntr):"r11");
-+//    	}
-+//    	__asm__ __volatile__("ld.w r12,%0" :: "m"(env):"r12");
-+//    }
-+
-+//    printf("!!!!!pushing environment to r12\n");
-+
-+    //printf("!!!!!!!!!!!!! switching ret_type %s %d ,nr of args: %d!!!!!!!!!!\n",sig, ret_type,args);
-+//    switch(ret_type) {
-+//        case RET_VOID:
-+//            (*(void (*)())f)();
-+//            //printf("!!!!!!!!!!!!! called void JNIMethod %s!!!!!!!!!!\n",sig);
-+//            break;
-+//
-+//        case RET_DOUBLE:
-+//        	*(double*)ostack = (*(double (*)())f)();
-+//            ostack += 2;
-+//            //printf("!!!!!!!!!!!!! called double JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack);
-+//            break;
-+//
-+//        case RET_LONG:
-+//        	*(long long*)ostack = (*(long long (*)())f)();
-+//            ostack += 2;
-+//            //printf("!!!!!!!!!!!!! called long JNIMethod %s %l!!!!!!!!!!\n",sig,*ostack);
-+//            break;
-+//
-+//        case RET_FLOAT:
-+//        	*(float*)ostack = (*(float (*)())f)();
-+//            ostack++;
-+//            //printf("!!!!!!!!!!!!! called float JNIMethod %s %f!!!!!!!!!!\n",sig,*ostack);
-+//            break;
-+//
-+//        default:
-+//            *ostack++ = (*(u4 (*)())f)();
-+//            //printf("!!!!!!!!!!!!! called default JNIMethod %s!!!!!!!!!!\n",sig);
-+//        	break;
-+//    }
-+//
-+// if(class && args > 3) {
-+// 		int to_add = args-3;
-+// 		__asm__ __volatile__("add sp,%0" ::"r"(to_add): "sp");
-+// }else if(!class && args > 4){
-+// 		int to_add = args-4;
-+// 		__asm__ __volatile__("add sp,%0" ::"r"(to_add): "sp");
-+// }
-+//    //printf("!!!!!!!!!!!!! returning JNIMethod (sig:%s) (type:%d) (argcount:%d)!!!!!!!!!!\n",sig,ret_type,args);
-+//    //printf("!!!!!!!!!!!!! returning %s %d ,nr of args: %d!!!!!!!!!!\n",sig, ret_type,args);
-+//    //printf("!!!!!!!!!!!!! returning JNIMethod !!!!!!!!!!\n");
-+//    //__asm__ __volatile__ ("addl %0,%%esp" :: "r" ((args + 1) * sizeof(u4)) : "cc", "sp");
-+//    
-+//    return ostack;
-+
-+
-+//write all operands, class and env to register
-+#define WRITE_PARAMS(label)								\
-+    if(!class){											\
-+    	switch(nrofopsinregister){						\
-+    	case 4:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r8,%[r8]		\n\t"					\
-+   			"ld.w r9,%[r9]		\n\t"					\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[r11]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)						\
-+   			:"r8","r9","r10","r11","r12"				\
-+   			);											\
-+   			goto label;									\
-+    	case 3:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r9,%[r9]		\n\t"					\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[r11]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)						\
-+   			:"r9","r10","r11","r12"						\
-+   			);											\
-+   			goto label;									\
-+    	case 2:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[r11]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r10]"m"(*--opntr),[r11]"m"(*--opntr),[env]"m"(env)						\
-+   			:"r10","r11","r12"							\
-+   			);											\
-+   			goto label;									\
-+    	case 1:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r11,%[r11]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			::[r11]"m"(*--opntr),[env]"m"(env)			\
-+   			:"r11","r12"								\
-+   			);											\
-+   			goto label;									\
-+   		case 0:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r12,%[env]"							\
-+   			::[env]"m"(env)								\
-+   			:"r12"										\
-+   			);											\
-+   			goto label;									\
-+   		}												\
-+    }else{												\
-+    	switch(nrofopsinregister){						\
-+    	case 3:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r8,%[r8]		\n\t"					\
-+   			"ld.w r9,%[r9]		\n\t"					\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[class]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r8]"m"(*--opntr),[r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)						\
-+   			:"r8","r9","r10","r11","r12"				\
-+   			);											\
-+   			goto label;									\
-+    	case 2:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r9,%[r9]		\n\t"					\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[class]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r9]"m"(*--opntr),[r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)						\
-+   			:"r9","r10","r11","r12"						\
-+   			);											\
-+   			goto label;									\
-+    	case 1:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r10,%[r10]	\n\t"					\
-+   			"ld.w r11,%[class]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [r10]"m"(*--opntr),[class]"m"(class),[env]"m"(env)						\
-+   			:"r10","r11","r12"							\
-+   			);											\
-+   			goto label;									\
-+    	case 0:											\
-+   		__asm__ __volatile__(							\
-+   			"ld.w r11,%[class]	\n\t"					\
-+   			"ld.w r12,%[env]"							\
-+   			:: [class]"m"(class),[env]"m"(env)			\
-+   			:"r10","r11","r12"							\
-+   			);											\
-+   			goto label;									\
-+    	}												\
-+    }													\
-+	//This label is put here to make some cleaner assembler jumps above
-+#endif
-diff -urpN jamvm-1.5.0/src/os/linux/avr32/init.c jamvm-1.5.0-avr32/src/os/linux/avr32/init.c
---- jamvm-1.5.0/src/os/linux/avr32/init.c	1970-01-01 01:00:00.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/os/linux/avr32/init.c	2008-02-08 09:20:38.000000000 +0100
-@@ -0,0 +1,39 @@
-+/*
-+ * Copyright (C) 2003, 2004, 2006, 2007
-+ * Robert Lougher <rob@lougher.org.uk>.
-+ *
-+ * This file is part of JamVM.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+ */
-+
-+//#include <fpu_control.h>
-+//#include <stdio.h>
-+
-+/* Change floating point precision to double (64-bit) from
-+ * the extended (80-bit) Linux default. */
-+
-+//void setDoublePrecision() {
-+//    fpu_control_t cw;
-+//
-+//    _FPU_GETCW(cw);
-+//    cw &= ~_FPU_EXTENDED;
-+//    cw |= _FPU_DOUBLE;
-+//    _FPU_SETCW(cw);
-+//}
-+
-+void initialisePlatform() {
-+	//TODO: is this needed for avr32?    setDoublePrecision();
-+}
-diff -urpN jamvm-1.5.0/src/os/linux/avr32/Makefile.am jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.am
---- jamvm-1.5.0/src/os/linux/avr32/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.am	2008-02-08 09:20:38.000000000 +0100
-@@ -0,0 +1,25 @@
-+##
-+## Copyright (C) 2003, 2004, 2005, 2006, 2007
-+## Robert Lougher <rob@lougher.org.uk>.
-+##
-+## This file is part of JamVM.
-+##
-+## This program is free software; you can redistribute it and/or
-+## modify it under the terms of the GNU General Public License
-+## as published by the Free Software Foundation; either version 2,
-+## or (at your option) any later version.
-+##
-+## This program is distributed in the hope that it will be useful,
-+## but WITHOUT ANY WARRANTY; without even the implied warranty of
-+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+## GNU General Public License for more details.
-+##
-+## You should have received a copy of the GNU General Public License
-+## along with this program; if not, write to the Free Software
-+## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-+##
-+
-+noinst_LTLIBRARIES = libnative.la
-+libnative_la_SOURCES = init.c dll_md.c
-+
-+AM_CPPFLAGS = -I$(top_builddir)/src
-diff -urpN jamvm-1.5.0/src/os/linux/avr32/Makefile.in jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.in
---- jamvm-1.5.0/src/os/linux/avr32/Makefile.in	1970-01-01 01:00:00.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/os/linux/avr32/Makefile.in	2008-02-08 09:20:38.000000000 +0100
-@@ -0,0 +1,446 @@
-+# Makefile.in generated by automake 1.10 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+subdir = src/os/linux/avr32
-+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-+	$(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+	$(ACLOCAL_M4)
-+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+CONFIG_HEADER = $(top_builddir)/src/config.h
-+CONFIG_CLEAN_FILES =
-+LTLIBRARIES = $(noinst_LTLIBRARIES)
-+libnative_la_LIBADD =
-+am_libnative_la_OBJECTS = init.lo dll_md.lo
-+libnative_la_OBJECTS = $(am_libnative_la_OBJECTS)
-+DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
-+am__depfiles_maybe = depfiles
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+CCLD = $(CC)
-+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-+	$(LDFLAGS) -o $@
-+SOURCES = $(libnative_la_SOURCES)
-+DIST_SOURCES = $(libnative_la_SOURCES)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+ACLOCAL = @ACLOCAL@
-+ALLOCA = @ALLOCA@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+CC = @CC@
-+CCAS = @CCAS@
-+CCASDEPMODE = @CCASDEPMODE@
-+CCASFLAGS = @CCASFLAGS@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CXX = @CXX@
-+CXXCPP = @CXXCPP@
-+CXXDEPMODE = @CXXDEPMODE@
-+CXXFLAGS = @CXXFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+ECHO = @ECHO@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+F77 = @F77@
-+FFLAGS = @FFLAGS@
-+GREP = @GREP@
-+INSTALL = @INSTALL@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+JAVAC = @JAVAC@
-+LDFLAGS = @LDFLAGS@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBTOOL = @LIBTOOL@
-+LN_S = @LN_S@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAINT = @MAINT@
-+MAKEINFO = @MAKEINFO@
-+MKDIR_P = @MKDIR_P@
-+OBJEXT = @OBJEXT@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+RANLIB = @RANLIB@
-+SED = @SED@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+VERSION = @VERSION@
-+abs_builddir = @abs_builddir@
-+abs_srcdir = @abs_srcdir@
-+abs_top_builddir = @abs_top_builddir@
-+abs_top_srcdir = @abs_top_srcdir@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_CXX = @ac_ct_CXX@
-+ac_ct_F77 = @ac_ct_F77@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+arch = @arch@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+builddir = @builddir@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+interp_cflags = @interp_cflags@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+os = @os@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+srcdir = @srcdir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+top_builddir = @top_builddir@
-+top_srcdir = @top_srcdir@
-+use_zip_no = @use_zip_no@
-+use_zip_yes = @use_zip_yes@
-+with_classpath_install_dir = @with_classpath_install_dir@
-+noinst_LTLIBRARIES = libnative.la
-+libnative_la_SOURCES = init.c dll_md.c
-+AM_CPPFLAGS = -I$(top_builddir)/src
-+all: all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .lo .o .obj
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-+	@for dep in $?; do \
-+	  case '$(am__configure_deps)' in \
-+	    *$$dep*) \
-+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-+		&& exit 0; \
-+	      exit 1;; \
-+	  esac; \
-+	done; \
-+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/os/linux/avr32/Makefile'; \
-+	cd $(top_srcdir) && \
-+	  $(AUTOMAKE) --gnu  src/os/linux/avr32/Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+	@case '$?' in \
-+	  *config.status*) \
-+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-+	  *) \
-+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-+	esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+clean-noinstLTLIBRARIES:
-+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+	  test "$$dir" != "$$p" || dir=.; \
-+	  echo "rm -f \"$${dir}/so_locations\""; \
-+	  rm -f "$${dir}/so_locations"; \
-+	done
-+libnative.la: $(libnative_la_OBJECTS) $(libnative_la_DEPENDENCIES) 
-+	$(LINK)  $(libnative_la_OBJECTS) $(libnative_la_LIBADD) $(LIBS)
-+
-+mostlyclean-compile:
-+	-rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+	-rm -f *.tab.c
-+
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dll_md.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/init.Plo@am__quote@
-+
-+.c.o:
-+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
-+
-+.c.obj:
-+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-+
-+.c.lo:
-+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-+
-+mostlyclean-libtool:
-+	-rm -f *.lo
-+
-+clean-libtool:
-+	-rm -rf .libs _libs
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-+		$(TAGS_FILES) $(LISP)
-+	tags=; \
-+	here=`pwd`; \
-+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-+	  test -n "$$unique" || unique=$$empty_fix; \
-+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+	    $$tags $$unique; \
-+	fi
-+ctags: CTAGS
-+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-+		$(TAGS_FILES) $(LISP)
-+	tags=; \
-+	here=`pwd`; \
-+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
-+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+	     $$tags $$unique
-+
-+GTAGS:
-+	here=`$(am__cd) $(top_builddir) && pwd` \
-+	  && cd $(top_srcdir) \
-+	  && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-+	list='$(DISTFILES)'; \
-+	  dist_files=`for file in $$list; do echo $$file; done | \
-+	  sed -e "s|^$$srcdirstrip/||;t" \
-+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-+	case $$dist_files in \
-+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-+			   sort -u` ;; \
-+	esac; \
-+	for file in $$dist_files; do \
-+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+	  if test -d $$d/$$file; then \
-+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+	    fi; \
-+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+	  else \
-+	    test -f $(distdir)/$$file \
-+	    || cp -p $$d/$$file $(distdir)/$$file \
-+	    || exit 1; \
-+	  fi; \
-+	done
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(LTLIBRARIES)
-+installdirs:
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+	  `test -z '$(STRIP)' || \
-+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+
-+maintainer-clean-generic:
-+	@echo "This command is intended for maintainers to use"
-+	@echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
-+
-+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-+	mostlyclean-am
-+
-+distclean: distclean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-dvi: install-dvi-am
-+
-+install-exec-am:
-+
-+install-html: install-html-am
-+
-+install-info: install-info-am
-+
-+install-man:
-+
-+install-pdf: install-pdf-am
-+
-+install-ps: install-ps-am
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-+	mostlyclean-libtool
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am:
-+
-+.MAKE: install-am install-strip
-+
-+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-+	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
-+	distclean-compile distclean-generic distclean-libtool \
-+	distclean-tags distdir dvi dvi-am html html-am info info-am \
-+	install install-am install-data install-data-am install-dvi \
-+	install-dvi-am install-exec install-exec-am install-html \
-+	install-html-am install-info install-info-am install-man \
-+	install-pdf install-pdf-am install-ps install-ps-am \
-+	install-strip installcheck installcheck-am installdirs \
-+	maintainer-clean maintainer-clean-generic mostlyclean \
-+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-+	pdf pdf-am ps ps-am tags uninstall uninstall-am
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff -urpN jamvm-1.5.0/src/os/linux/Makefile.am jamvm-1.5.0-avr32/src/os/linux/Makefile.am
---- jamvm-1.5.0/src/os/linux/Makefile.am	2007-10-28 00:19:26.000000000 +0200
-+++ jamvm-1.5.0-avr32/src/os/linux/Makefile.am	2008-02-08 09:20:38.000000000 +0100
-@@ -20,7 +20,7 @@
- ##
- 
- SUBDIRS = @arch@
--DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips
-+DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips avr32
- 
- noinst_LTLIBRARIES = libos.la
- libos_la_SOURCES = os.c
-diff -urpN jamvm-1.5.0/src/os/linux/Makefile.in jamvm-1.5.0-avr32/src/os/linux/Makefile.in
---- jamvm-1.5.0/src/os/linux/Makefile.in	2007-10-29 07:02:37.000000000 +0100
-+++ jamvm-1.5.0-avr32/src/os/linux/Makefile.in	2008-02-08 09:20:38.000000000 +0100
-@@ -191,7 +191,7 @@ use_zip_no = @use_zip_no@
- use_zip_yes = @use_zip_yes@
- with_classpath_install_dir = @with_classpath_install_dir@
- SUBDIRS = @arch@
--DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips
-+DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips avr32
- noinst_LTLIBRARIES = libos.la
- libos_la_SOURCES = os.c
- AM_CPPFLAGS = -I$(top_builddir)/src

+ 0 - 93
package/java/jamvm/jamvm.mk

@@ -1,93 +0,0 @@
-#############################################################
-#
-# jamvm 1.5.0
-#
-#############################################################
-JAMVM_VERSION = 1.5.0
-JAMVM_SOURCE = jamvm-$(JAMVM_VERSION).tar.gz
-JAMVM_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/jamvm/
-JAMVM_AUTORECONF = NO
-JAMVM_INSTALL_STAGING = YES
-JAMVM_INSTALL_TARGET = YES
-
-JAMVM_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
-		glib_cv_uscore=no ac_cv_func_strtod=yes \
-		ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \
-		ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \
-		ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \
-		ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \
-		ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \
-		ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \
-		ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \
-		ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \
-		vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \
-		jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \
-		ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \
-		ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \
-		ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \
-		ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \
-		utils_cv_func_mkdir_trailing_slash_bug=no \
-		jm_cv_func_gettimeofday_clobber=no \
-		gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \
-		utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \
-		gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \
-		gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \
-		am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \
-		gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \
-		ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
-		ac_use_included_regex=no gl_cv_c_restrict=no \
-		ac_cv_prog_F77=no ac_cv_prog_CXX=no ac_cv_path_CUPS_CONFIG=no
-
-JAMVM_CONF_OPT = \
-		--libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/man \
-		--infodir=/usr/info \
-		--disable-glibtest --enable-explicit-deps=no \
-		--disable-debug --with-classpath-install-dir=/usr
-
-
-JAMVM_DEPENDENCIES = host-pkg-config classpath
-
-#Include X libraries when we have an X server
-ifeq ($(BR2_PACKAGE_XORG7),y)
-	JAMVM_DEPENDENCIES+= xserver_xorg-server
-	JAMVM_CONF_OPT+= --with-x \
-		--x-includes=$(STAGING_DIR)/usr/include/X11 \
-		--x-libraries=$(STAGING_DIR)/usr/lib
-else
-	JAMVM_CONF_OPT+= --without-x
-endif
-
-
-#Enable or disable alsa
-ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
-	JAMVM_DEPENDENCIES+= alsa-lib
-	JAMVM_CONF_OPT+= --with-alsa
-else
-	JAMVM_CONF_OPT+= --without-alsa
-endif
-
-#Enable or disable gtk
-ifeq ($(BR2_PACKAGE_LIBGTK2),y)
-	JAMVM_DEPENDENCIES+= libgtk2
-	JAMVM_CONF_OPT+= --enable-gtk-peer
-else
-	JAMVM_CONF_OPT+= --disable-gtk-peer
-endif
-
-#Enable or disable qt backend
-ifeq ($(BR2_PACKAGE_QT),y)
-	JAMVM_DEPENDENCIES+= qt
-	JAMVM_CONF_OPT+= --enable-qt-peer
-else
-	JAMVM_CONF_OPT+= --disable-qt-peer
-endif
-
-
-# I have no clue but if this is not passed to configure, the assembler crashes
-ifeq ($(BR2_avr32),y)
-	JAMVM_CONF_OPT+= \
-		CFLAGS="-g0" \
-		CC="$(STAGING_DIR)/usr/bin/avr32-linux-gcc"
-endif
-
-$(eval $(call AUTOTARGETS))

+ 0 - 1
package/java/java.mk

@@ -1 +0,0 @@
-include package/java/*/*.mk

+ 0 - 12
toolchain/gcc/Config.in

@@ -68,18 +68,6 @@ config BR2_EXTRA_GCC_CONFIG_OPTIONS
 	help
 	  Any additional gcc configure options you may want to include....
 
-config BR2_GCC_CROSS_JAVA
-       bool
-
-config BR2_INSTALL_LIBGCJ
-	bool "Build/install java compiler and libgcj?"
-	depends on !BR2_avr32 && BR2_INSTALL_LIBSTDCPP
-	select BR2_GCC_CROSS_JAVA
-	select BR2_LARGEFILE
-	depends on BROKEN
-	help
-	  Build/install java compiler and libgcj?
-
 config BR2_INSTALL_OBJC
 	bool "Build/install Objective-C compiler and runtime?"
 	depends on !BR2_avr32

+ 0 - 19
toolchain/gcc/gcc-uclibc-4.x.mk

@@ -75,15 +75,11 @@ endif
 ifeq ($(BR2_GCC_CROSS_FORTRAN),y)
 GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),fortran
 endif
-ifeq ($(BR2_GCC_CROSS_JAVA),y)
-GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),java
-endif
 ifeq ($(BR2_GCC_CROSS_OBJC),y)
 GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),objc
 endif
 
 GCC_COMMON_PREREQ=$(wildcard $(BR2_DEPENDS_DIR)/br2/install/libstdcpp*)\
-$(wildcard $(BR2_DEPENDS_DIR)/br2/install/libgcj*)\
 $(wildcard $(BR2_DEPENDS_DIR)/br2/install/objc*)\
 $(wildcard $(BR2_DEPENDS_DIR)/br2/install/fortran*)\
 $(wildcard $(BR2_DEPENDS_DIR)/br2/prefer/ima*)\
@@ -100,10 +96,6 @@ ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
 GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),c++
 endif
 
-ifeq ($(BR2_INSTALL_LIBGCJ),y)
-GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),java
-endif
-
 ifeq ($(BR2_INSTALL_OBJC),y)
 GCC_TARGET_LANGUAGES:=$(GCC_TARGET_LANGUAGES),objc
 endif
@@ -466,17 +458,6 @@ ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
 	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libstdc++.so*
 endif
 endif
-ifeq ($(BR2_INSTALL_LIBGCJ),y)
-	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(STAGING_DIR)/usr/lib/
-	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgcj.so* $(TARGET_DIR)/usr/lib/
-	mkdir -p $(STAGING_DIR)/usr/lib/security
-	mkdir -p $(TARGET_DIR)/usr/lib/security
-	cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \
-		$(STAGING_DIR)/usr/lib/security/
-	cp -dpf $(HOST_DIR)/usr/lib/security/classpath.security \
-		$(TARGET_DIR)/usr/lib/security/
-	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgcj.so*
-endif
 ifeq ($(BR2_GCC_ENABLE_OPENMP),y)
 	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(STAGING_DIR)/usr/lib/
 	cp -dpf $(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/lib*/libgomp.so* $(TARGET_DIR)/usr/lib/