diff options
| -rw-r--r-- | docs/buildroot.html | 2 | ||||
| -rw-r--r-- | package/Config.in | 8 | ||||
| -rw-r--r-- | package/java/Config.in | 5 | ||||
| -rw-r--r-- | package/java/classpath/Config.in | 9 | ||||
| -rw-r--r-- | package/java/classpath/classpath.mk | 86 | ||||
| -rw-r--r-- | package/java/concierge/Config.in | 10 | ||||
| -rw-r--r-- | package/java/concierge/concierge.mk | 40 | ||||
| -rw-r--r-- | package/java/concierge/files/concierge | 2 | ||||
| -rw-r--r-- | package/java/concierge/files/init.xargs | 10 | ||||
| -rw-r--r-- | package/java/jamvm/Config.in | 8 | ||||
| -rw-r--r-- | package/java/jamvm/jamvm-1.5.0.patch.avr32 | 1473 | ||||
| -rw-r--r-- | package/java/jamvm/jamvm.mk | 93 | ||||
| -rw-r--r-- | package/java/java.mk | 1 | ||||
| -rw-r--r-- | toolchain/gcc/Config.in | 12 | ||||
| -rw-r--r-- | toolchain/gcc/gcc-uclibc-4.x.mk | 19 | 
15 files changed, 1 insertions, 1777 deletions
| diff --git a/docs/buildroot.html b/docs/buildroot.html index e13e8f752..0c1cddfff 100644 --- a/docs/buildroot.html +++ b/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> diff --git a/package/Config.in b/package/Config.in index 1042d95fb..8518f0641 100644 --- a/package/Config.in +++ b/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" diff --git a/package/java/Config.in b/package/java/Config.in deleted file mode 100644 index 3f17f91ad..000000000 --- a/package/java/Config.in +++ /dev/null @@ -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 diff --git a/package/java/classpath/Config.in b/package/java/classpath/Config.in deleted file mode 100644 index 5677f8c32..000000000 --- a/package/java/classpath/Config.in +++ /dev/null @@ -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/ diff --git a/package/java/classpath/classpath.mk b/package/java/classpath/classpath.mk deleted file mode 100644 index 872c06acb..000000000 --- a/package/java/classpath/classpath.mk +++ /dev/null @@ -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)) diff --git a/package/java/concierge/Config.in b/package/java/concierge/Config.in deleted file mode 100644 index b099b3a59..000000000 --- a/package/java/concierge/Config.in +++ /dev/null @@ -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/ diff --git a/package/java/concierge/concierge.mk b/package/java/concierge/concierge.mk deleted file mode 100644 index 8a40eb845..000000000 --- a/package/java/concierge/concierge.mk +++ /dev/null @@ -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 diff --git a/package/java/concierge/files/concierge b/package/java/concierge/files/concierge deleted file mode 100644 index c463753f2..000000000 --- a/package/java/concierge/files/concierge +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -/usr/bin/jamvm -jar /usr/lib/concierge/concierge-1.0_RC2.jar diff --git a/package/java/concierge/files/init.xargs b/package/java/concierge/files/init.xargs deleted file mode 100644 index 7848721ce..000000000 --- a/package/java/concierge/files/init.xargs +++ /dev/null @@ -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
 diff --git a/package/java/jamvm/Config.in b/package/java/jamvm/Config.in deleted file mode 100644 index 59ac593aa..000000000 --- a/package/java/jamvm/Config.in +++ /dev/null @@ -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/ diff --git a/package/java/jamvm/jamvm-1.5.0.patch.avr32 b/package/java/jamvm/jamvm-1.5.0.patch.avr32 deleted file mode 100644 index 27c905ecd..000000000 --- a/package/java/jamvm/jamvm-1.5.0.patch.avr32 +++ /dev/null @@ -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 diff --git a/package/java/jamvm/jamvm.mk b/package/java/jamvm/jamvm.mk deleted file mode 100644 index 4b2e32cce..000000000 --- a/package/java/jamvm/jamvm.mk +++ /dev/null @@ -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)) diff --git a/package/java/java.mk b/package/java/java.mk deleted file mode 100644 index 123a0d09b..000000000 --- a/package/java/java.mk +++ /dev/null @@ -1 +0,0 @@ -include package/java/*/*.mk diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index dbcbbd3fd..acaa3a88d 100644 --- a/toolchain/gcc/Config.in +++ b/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 diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index a2253c9fa..3074799d9 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/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/ | 
