Re: Two problems need a solution.
On Tue, Sep 04, 2001 at 08:24:48 -0700, C I wrote: > I am far from an > expert on this so if you could be explicit in your > explannation that would be appreciated. Use latest snapshot. Download it from http://egp.free.fr/kaffe -- Edouard G. Parmelan http://egp.free.fr
Re: Best way to correct bugs in javalibs
On Tue, Sep 04, 2001 at 15:11:04 +0200, Guillaume Rousse wrote: > Hello. > I've begun java implementation of pleac project (see > http://lis.snv.jussieu.fr/~rousse/linux/pleac), and i test all code with > current 1.0.6 kaffe, reporting which are OK and which fails. > This made me find some interesting bugs, probably in java library > implementations. So i downloaded the javalibs source from kaffe cvs, and > attempted to correct them myself. But i don't understand how to proceed to > easily modify and test basic classes from java package. Can someone briefly > expose me what to do ? Thanks. You should create a small test-case that show your bug. To include it into Kaffe's regression tests, you should add some magic comments in your source (none are required). // Sources: SOURCES compile also these sources with current test case. // javac flags: FLAGS add some javac flags. For exemple -nowarn remove warning lines and therefore don't let's think that javac fail. // Skip Run Compile only // java args: CLASSNAME [OPTIONS] Replace current classname by this classname and options. All lines enclose inside line /* Expected Output: and */ are compared to test-case's output. // Sort Output Sort output before compare it to Expected Output. Script test/regression/TestScript handle these magic lines. Run it with all your test-cases or include them in test/regression directory and in test/regression/Makefile.am (and Makefile.in or read FAQ/FAQ.automake). "make check" run all regression tests. -- Edouard G. Parmelan http://egp.free.fr
Re: kaffe 1.0.6 on NetBSD 1.5.1
On Mon, Sep 03, 2001 at 19:21:15 +1000, Ray Phillips wrote: > Dear Kaffe Users: > > Would someone give me some guidance re getting kaffe to compile and install > under NetBSD version 1.5.1, please? > > I've tried on two different platforms: i386 and alpha. An error occurs > when running make. Use my latest snapshot at http://egp.free.fr/kaffe. For Alpha configure with option --enable-debug. Note that I never compile on NetBSD/Alpha. I'm porting Kaffe to NetBSD-1.5.1/PowerPC but I experiments stranges stack or registers corrumption. As same code work on Darwin and GNU/Linux PowerPC. I think about a kernel issue related to handle a signal while handling another signal and syscalls. You may got some Undefined PLT symbol. This is a NetBSD ELF dynamic linker error common to all platforms and not a Kaffe bug. -- Edouard G. Parmelan http://egp.free.fr
Re: Bizarre StringBuffer/toHexString bug
On Fri, Aug 31, 2001 at 10:11:28 -0400, Stuart Ballard wrote: > > I think this problem is solved in current Kaffe CVS Tree. > > Yup! Thank you. > > Any idea when there will be a new release containing this fix? You can use snapshot, download them from http://egp.free.fr/kaffe. -- Edouard G. Parmelan http://egp.free.fr
Mixing Kaffe Custom Edition and Kaffe Open Edition (Was: native-math-lib-fix)
On Fri, Aug 31, 2001 at 13:22:17 +0300, Jukka Santala wrote: > And while I'm at it, what's the present policy regarding code transfer > between Kaffe.org & TVT's versions? They're both under GNU GPL, at least > in name, and both follow the cleanroom development policy, hence there > should be no problems that I can see. In the past Transvirtual had two versions of Kaffe, Custom Edition for embleded devices and Open Edition (kaffe.org). Since one year TVT release Custom Edition under GNU GPL. So yes, there are both under GNU GPL and follow cleanroom development policy. But changes have been done in Custom Edition and in Open Edition since few years by two teams. Some time TVT imports some changes into Open Edition. Today Custom Edition (TVT) and Open Edition (kaffe.org) have too many differencies to merge them easyly. TVT and I hope a merge of both products. For now, Custom Edition is well design for and PocketLinux where Open Edition builds on various CPU Family and OS. BTW, you can mix code between both versions but play attention of what you are doing, some fixes in kaffe.org will break changes of TVT Kaffe and some changes in TVT Kaffe will break others in kaffe.org. Giving that, you can mix code. -- Edouard G. Parmelan http://egp.free.fr
Re: Kaffe on CRIS/Etrax
On Wed, Aug 29, 2001 at 10:42:53 +0200, Mikael Pahmp wrote: > The CRIS ABI breaks some assumptions made in Kaffe about memory > alignment. More specifically, Kaffe expects local function variables to > be aligned on even 32-bit addresses, e.g. the 'where' pointers in > kaffe/kaffevm/locks.c. This is not true when compiled with gcc for CRIS > which doesn't align local variables at all. > > To work around this my idea is to simply align the 'where' pointers by > clearing their two lowest bits before using them in the functions in > locks.c. Does anyone see a problem with that? > > Identifying this problem wasn't easy. Does anyone know any more places > within Kaffe where a certain local variable alignment is assumed? Yep, when Garbadge Collector walks thread stack. kaffe/kaffevm/mem/gc-incremental.c: gcWalkConservative() Did alignment of local variable differ from alignement of fields in structure ? -- Edouard G. Parmelan http://egp.free.fr
Re: Two patches
On Wed, Aug 29, 2001 at 12:25:20 +0200, Oskar Sandberg wrote: > The first is a problem with BufferedReader, where fillOutBuffer() will > reset the buffer position before reading Thanks, I will commit a different version that defers change of markvalid field too. > The second issue is that BigInteger doesn't return consistant hashcode > values Thanks, I will commit it latter. -- Edouard G. Parmelan http://egp.free.fr
Re: Bizarre StringBuffer/toHexString bug
On Wed, Aug 29, 2001 at 17:48:15 -0400, Stuart Ballard wrote: > I'm using the debian package of kaffe, version 1.0.6-3. I think this problem is solved in current Kaffe CVS Tree. -- Edouard G. Parmelan http://egp.free.fr
Re: Kopi Version 1.5B Now Available
On Sat, Aug 11, 2001 at 21:22:57 +0200, Thomas Graf wrote: > Constantly aiming at providing its users with more effective > products, DMS Decision Management Systems is pleased to announce > the release of > Version 1.5B of the Kopi Suite. Kaffe now include kjc-suite-1.5B-bin.jar. I also add FAQ/FAQ.kjc to explain how new versions of KJC are tested before inclusion in Kaffe CVS Tree. -- Edouard G. Parmelan http://egp.free.fr
[ANNOUNCE] Porting Kaffe to a new platform
Hello, I had port JIT engine to Alpha Tru64 and GNU/Linux Alpha in the past and I know how it's difficult to understand correctly intrp and JIT engines with only sources as documentation. I had write this document latter while I was porting intrp engine to Darwin (Mac OS X) operating system. In the same time I was writing JIT back-end for PowerPC. If you find some bullets in this document, send an email to [EMAIL PROTECTED] All comments are welcome. If you want to fix typo or grammar use SGML sources only and send me "diff -u" result. Never fill-paragraph NOR reformat them. This is the Preface of "Porting Kaffe to a new platform" the document I'm writing. Read working draft here http://egp.free.fr/port-kaffe/port-kaffe.html Download SGML sources here: http://egp.free.fr/kaffe. -- Edouard G. Parmelan http://egp.free.fr
Re: Help for JIT
On Mon, Aug 13, 2001 at 03:39:29PM +, Arkadev Chattopadhyay wrote: > I'm looking into the JIT compiler of Kaffe. Samuel Sanseri had written a good document on JIT http://www.cs.pdx.edu/~sanseri > The names seem to appear as macro definitions under > the config directory specific for each architecture > like under x86, sparc etc. The things to which these > get defined do not seem to be function names though( > example spill_Rxx, fspill_Rxx etc )! So how is the > thing working? Obviously I'm missing out on > something.. Would appreciate if someone could help.. Implementations of functions spill_Rxx, fspill_Rxx etc are in files config/$cpu/jit-$cpu.def. -- Edouard G. Parmelan http://egp.free.fr
Re: [PATCH] full bytecode verification
On Fri, Aug 03, 2001 at 03:10:00AM +0300, [EMAIL PROTECTED] wrote: > The current Kaffe bytecode verification code can verify only the > basic Java types. It does not properly handle reference types and > arrays of references. The lack of full bytecode verification > allows an attacker to circumvent all Java security. > > Attached is a patch that adds full bytecode verification to Kaffe. > The patch applies cleanly to the CVS code from Aug 03, 2001 and > can be easily applied to Kaffe 1.0.6 manualy (one hunk fails > because of whitespace) > > It was written by Dr. Joel Jones <[EMAIL PROTECTED]> for Kaffe 0.9.2 > and ported to the 1.0.6 and the latest CVS version by me. > > The patch has been tested on Linux/i386 and Solaris/Sparc. > > We would appreciate any feedback and additional testing results. On On Fri, Jun 04, 1999 at 08:33:56AM +0200, Matthias Urlichs reports that ``Unknown classes generate errors even when the class is never needed'' > If a class conditionally requires another class which is unknown, Java > should cause an exception only when that class is actually required, > not when loading the class. > > This is important when running applets which conditionally use classes > for specific browsers. > > How-To-Repeat: > > == HelloWorldApp.java > import test.foo; > class HelloWorldApp { > public static void main (String args[]) { > test.foo xxx = new test.foo(); > System.out.println("Hello World!"); > xxx.foof(); > } > } > == test/foo.java > package test; > import test.bar; > public class foo > { > > public foo() > { x_foof = false; } > public void foof() { > if (x_foof) { > System.out.println("do Bar"); > test.bar baa = new test.bar(); x_foof = > baa.baab(); > } else > System.out.println("no Bar needed"); > } > > boolean x_foof; > } > == test/bar.java > > package test; > public class bar > { > public bar() {} > public boolean baab() { return true; } > } > == > > Compile all three, then remove test/bar.class. > > Expected output: > Hello World! > no Bar needed > > Actual output: > Hello World! > java.lang.NoClassDefFoundError: test/bar This was fixed (I don't remember when). I think your verifier patch will break it again :-( -- Edouard G. Parmelan http://egp.free.fr
Fwd: [rxu75@hotmail.com: who has been successfully in qnx-kaffe?]
- Forwarded message from Ron Xu <[EMAIL PROTECTED]> - Date: Mon, 23 Jul 2001 19:42:44 + From: "Ron Xu" <[EMAIL PROTECTED]> Subject: who has been successfully in qnx-kaffe? To: [EMAIL PROTECTED] Hi E.G. Parmelan: In some literature, it mentions that kaffe has been successfully ported on qnx. But I can not find anyone so far. Do you know anyone who successfully port kaffe on qnx ? Thanks for your help! Ron - End forwarded message - -- Edouard G. Parmelan http://egp.free.fr
Re: cross-compiling Kaffe
First sorry for the delay, I'm trying to setup my iBook with GNU/Linux and NetBSD :-) On Tue, Jul 03, 2001 at 11:25:18AM +0800, ½¹·å wrote: > I had download kaffe-1.0.6,and I want to compile it for arm using hadhat's arm > compiler, You can't use vanillia 1.0.6. In my last mail, I suggest you to use CVS version of Kaffe. BTW, you can use last snapshot I have build. Download it from http://egp.free.fr/kaffe. > but I don't know how to change the cross-compiler using autoconf and > automake.can you tell me how to do that?thanks very much. I'm not familliar with cross-compilation, but I will try to write a FAQ entry for that. 1. First you need a working _native_ kaffeh in order to compile Kaffe itself. So first configure Kaffe for local-use (without installing it). And save kaffeh in your PATH. $ KAFFESRC/configure $ cd kaffe/kaffeh $ make $ cp -p kaffeh $HOME/bin 2. Clean your build tree and setup your environment for cross-compiling. $ make distclean $ CC=cross-cc AR=cross-ar LD=cross-ld KAFFESRC/configure --host=target-host-alias $ make Hope this help. -- Edouard G. Parmelan http://egp.free.fr
Re: OutOfMemoryError
On Thu, Jul 12, 2001 at 01:44:06AM -0400, Raghavendra, Radhakrishnan wrote: > I am running Kaffe Virtual Machine on Redhat 6.2 > Engine: Just-in-time v3 Version: 1.0.6 Java Version: 1.1 > > I am getting the following exception when I run my application > > -- > partition=appl,record=stat > WARNING: file not found > java.lang.UnsatisfiedLinkError: Failed to locate native function: > devs/nvram/E_Partition._getFreeSpace(Ljava/lang/String;)I > at persistent.E_NVRAMReaderWriter.open(E_NVRAMReaderWriter.java:82) > at persistent.E_PersistentRecord.open(E_PersistentRecord.java:100) > at persistent.E_Statistics.getInstance(E_Statistics.java:53) > at > java.lang.OutOfMemoryError._handleOutOfMemory(OutOfMemoryError.java:62) > at java.lang.OutOfMemoryError.(OutOfMemoryError.java:43) > --- This class is not java.lang.OutOfMemoryError of Kaffe. There is no line 43 in OutOfMemoryError.java (located in libraries/javalib/java/lang), nor method _hanfleOutOfMemory. > Anybody has an idea what this is about. Bad CLASSPATH ? -- Edouard G. Parmelan http://egp.free.fr
Re: assertion failure
On Fri, Jun 22, 2001 at 11:10:06AM +0100, Matthew Spencer wrote: > My problem is that sys-admin here are blocking all external accesses other > than through the ftp/httpd proxy so I cant get access to the CVS > repository, is there a more recent snapshot other than 1.0.6 i can get > access to? http://egp.free.fr/kaffe/kaffe-snap-20010622.tar.bz2 -- Edouard G. Parmelan http://egp.free.fr
Re: Failed assertion on my Kaffe port
On Tue, Jun 19, 2001 at 10:18:43AM +0200, Vincent Lenders wrote: > I ported Kaffe on the CRIS-ETRAX architecture running Linux. I compiled > Kaffe with static libraries. My target system has 8 MB RAM. > > When I execute Kaffe with the following option, I receive the following > debug lines: > -mx 300 -ms 200 -as 10 -vmdebug ALL -stats ALL HelloWorldApp > > Failed assertion 'fidx < nrTypes && size != 0' in file > mem/gc-incremental.c at line 859. > allocated 4 small objects, total slack -156507, slack/per object > -39126.75 > Segmentation fault > > I figured out that the failed assertion is due to the "size !=0" > condition. I can't figure out why this occurs. Can anyone help me? > This error occurs on the Kaffe 1.05 and 1.06 release as well. Jason have fixed a similar bug on Wed Oct 11 10:20:07 MDT 2000. I send you his fix in a separate mail. I suggest you to use current CVS Tree. To checkout it, reads http://www.kaffe.org/CVS.html. -- Edouard G. Parmelan http://egp.free.fr
Re: Next Kaffe release ?
On Thu, Jun 14, 2001 at 10:43:45AM +0200, Sergio Ruocco wrote: > Time passed since the last Kaffe release...from the Kaffe.org website: > > The last release is 1.0.6 and was released on July 25, 2000 > > There is some new release at the horizon ? What is holding it back ? > Where we can contribute to remove roadblocks ? TODO before next release (not exclusive) - Rewrite stack inspection for Alpha without OSF/1 libexc. This task will enable JIT Alpha for GNU/Linux (and NetBSD). - Solve random SEGV on NetBSD/PowerPC. - Write JIT for PowerPC (NetBSD and GNU/Linux). - Include new release of KJC kjc-1.5A. Other TODO before or after next release: - Port to Darwin (Mac OS X). - Merge libraries with tvt-kaffe. - Study backlog of patches. - Solve random (and hard to reproduce) SEGV on FreeBSD/Intel. -- Edouard G. Parmelan http://egp.free.fr
Re: Bytecode & analyse
Philippe Laporte wrote: > A plus tard En privé ou en Anglais pour les non francophones de la liste :-) -- Edouard G. Parmelan http://egp.free.fr
Re: Bytecode & analyse
Thierry Rochelet wrote: > I have a few question about bytecode analyse and the Kaffe development. > > What about using tools such as Flex/Bison ? > Why don't you choose that way ? Because Kaffe does not need lexical scanner nor syntaxic parser. -- Edouard G. Parmelan http://egp.free.fr
Re: Status of BeOS x86 kaffe
Chris Nash wrote: > I saw it mentioned at kaffe.org and in the FAQ that the BeOS threading > model is incomplete (something I noticed when the preempt.java test > needed a ctrl+C to get past) and I checked the archives, and it seems > to me there hasn't been any BeOS activity for about 12 months, nor is > BeOS mentioned in the supported systems, however I can at least get > 1.0.6 to build and work except for the threading issues, and it seems > no JIT3. To add jit3 support for x86 BeOS, simply create the file config/i386/beos/jit3-md.h that contains only this line: #include "i386/beos/jit-md.h" > The BeKaffe AWT group seems equally dead. Yep, on 14 Oct 2000, Tomaso Paoletti wrote: Tomaso> For almost one year I've been developing, together with other Tomaso> developers (mainly Sim Ijskes) the AWT layer targeted to BeOS, Tomaso> under the name of Project BeKaffe (http://bekaffe.sourceforge.net). Tomaso> Tomaso> As I'm in the process of abandoning the project, due to lack of time, Tomaso> and no one is available to take this job, I would ask you if it's possible to Tomaso> contribute back all the sources, so that the effort does not remain pointless Tomaso> if some other brave soul wants to take from where we're leaving. Tomaso> Tomaso> It won't require great changes to the current CVS source base, Tomaso> we have been a nice project living in separate BeOS directories :-) Tomaso> The only shared changes that come to mind is the addition of two Tomaso> unharmful lines into the configure.in and ltconfig scripts. But I don't know if Tim have received `cleanroom conditions' (see http://www.kaffe.org/develop.html#cleanroom) so I never download bekaffe sources. > Is anyone looking at the BeOS-native version at all? If so, I'd like to > give some help - if not, it's something I'd like to give a little time > to, at the very least to get things going again. -- Edouard G. Parmelan http://egp.free.fr
[UNOFFICIAL] [ANNOUNCE] KJC-1.5A is out
Hi, Thomas Graf is in process of releasing kjc-1.5A (see http://www.dms.at/kopi/general/ann_1.5A.html). I have run jacks (checkout of 25 May) on kjc (checkout of 25 May) with Kaffe (checkout of 15 May) as JVM on my Debian GNU/Linux Intel computer. This is Jacks results: kjc:Total 1840Passed 1745Skipped 8 Failed 87 And results of other javac compilers reported by Mo DeJong when jikes-1.14 was out (on 14 May) on jacks-ml: jikes: Total 1840Passed 1743Skipped 1 Failed 96 javac: Total 1840Passed 1673Skipped 1 Failed 166 gcj:Total 1841Passed 1459Skipped 40 Failed 342 Enjoy. -- Edouard G. Parmelan http://egp.free.fr
PowerPC (Re: cvs Klasses.jar not up to date)
Yong Chen wrote: > I'm running kaffe on powerpc/netbsd. (A co-worker of mine made some > changes in libffi so kaffe can now run on powerpc/netbsd). There is not configuration files for powerpc/netbsd, could you send me them (in private mail), I will commit them into CVS Tree. Last March, with help of Carlos Valiente (I don't have PowerPC yet) I fix callmethod_ppc.h for float arguments. With GNU/Linux, Carlos was unable to use libffi as many test-case failed but with callmethod_ppc.h all tests passed. You may try to use this version of sysdepCallmethod. BTW, I'm looking for documentations about `Calling Convensions' on PowerPC and various OS. (GNU/Linux seems to pass 8 float/double in register where AIX pass 13). I plan to write JIT for PowerPC (I will have a PowerPC in few weeks). -- Edouard G. Parmelan http://egp.free.fr
Re: cvs Klasses.jar not up to date
Yong Chen wrote: > Hi, > > I did another fresh checkout from CVS (everything), this time it works much > better, the "gmake check" succeeded in all cases except one: InnerTest.java, > only this one failed. It's a bug in kjc-1.4F-egp1 that you can ignore, it's fixed in KOPI CVS Tree, but another recent bug prevent compilation of Klasses.jar. I'm working with Thomas Graf on next release of kjc. > I manually tested InnerTest (by issuing: java InnerTest), the result is > almost the same as expected (as outlined at the end of file InnerTest.java) > except the messages' sequence is different, here is my test result: Magic comment `// Sort output' will pipe output to `sort' program. Differences are in access modifiers values. > % java InnerTest Is `java' the current compiled kaffe tree ? Or a previous installed release ? I attach a small script `kaffe-test' that will help you to use kaffe binary in build tree. Simply replace `java' by `kaffe-tree top-directory-of-your-build-tree'. > Can you check what's wrong with it? I actually encountered an inner class > problem when using Kaffe in my Java application server, the inner class > can't access member variables of its containing class, I always get > NULLPointer exception. I believe the problem is with kjc since firstly, if I > compile the java file using either kopisusu or jdk1.2.2, then run the class > file using Kaffe, the inner class can access the variables in its containing > class; secondly, if I compile the java file using kjc, then run it using > jdk, the jdk throws verify error exception. I think you can use Jikes as javac compiler :-( -- Edouard G. Parmelan http://egp.free.fr #! /bin/sh kdir= vmdebug= kdir="$1"; shift old_CLASSPATH="$CLASSPATH" if [ -f $kdir/BUILD_ENVIRONMENT ]; then . $kdir/BUILD_ENVIRONMENT else echo "Can't find environment in $kdir." >&2 exit 1 fi [ -n "$old_CLASSPATH" ] && CLASSPATH="$old_CLASSPATH:$CLASSPATH" [ -n "$LD_LIBRARY_PATH" ] && KAFFELIBRARYPATH="$KAFFELIBRARYPATH:$LD_LIBRARY_PATH" if [ "$1" = "gdb" -o "$1" = "dbx" ]; then exec $kdir/libtool $1 $kdir/kaffe/kaffe/Kaffe fi if [ "$1" = "VMDebug" ]; then vmdebug="-addclasspath $HOME/Bin VMDebug -vmdebug $2"; shift 2; fi exec $kdir/libtool --mode=execute $kdir/kaffe/kaffe/Kaffe $vmdebug "$@"
Re: cvs Klasses.jar not up to date
Yong Chen wrote: > I did a fresh checkout from CVS (everything, not only Klasses.jar), and > re-configured/re-built Kaffe, everything was fine until when I did "gmake > check", almost all files failed. Oops, it's my previous fix of InputStreamReader. You can update Klasses.jar > error compiling: > main program: Undefined PLT symbol "munmap" (reloc type = 21, symnum = 197) What is your cpu ? PowerPC ? -- Edouard G. Parmelan http://egp.free.fr
Re: Error compiling java.lang.Float
Patrick Tullmann wrote: > Edouard recently checked in a patch to java.lang.Float with this > message: > > revision 1.16 > date: 2001/05/07 10:04:19; author: egp; state: Exp; lines: +13 -6 > Made POSITIVE_INFINITY, NEGATIVE_INFINITY, NaN, MIN_VALUE and > MAX_VALUE compile time constants. This is required by many Jacks test > (105 new tests succes with this patch). > > I'm not sure if the Jikes is wrong or if the constant is really too > small. > > Hope this helps, > > Pat > > Carlos Valiente wrote: > > > > Trying to rebuild Klasses.jar with jikes 1.1.3 I get the following error: Note that current release of Jikes is 1.13 and I use Debian package jikes-1.12.20010116-2. With this version, it compiles. Patrick, I guess that Flest Pseudo-User use Jikes to rebuild Klasses.jar. What his version number ? -- Edouard G. Parmelan http://egp.free.fr
Re: PATCH: java.util.zip.ZipInputStream.java
Carlos Valiente wrote: > The jar utility from jdk 1.30. adds an entry for the directory META-INF, > whose size and CRC is zero. kaffe's jar incorrectly barfs at this. I've > attached a diff to solve this problem. Thanks, commited. -- Edouard G. Parmelan http://egp.free.fr
Re: PATCH: DeflaterOutputStream.java
Carlos Valiente wrote: > Here's another fix for a problem regarding the creation of zip files. Kaffe > fails to create compressed zip files. apart from the diff, I have included a > small test program to reproduce the bug and test the fix. Thanks commited. -- Edouard G. Parmelan http://egp.free.fr
Re: Problem during Installation
Valentin Valchev wrote: > This is a verry strange problem I encountered when tried to compile bash for qnx. > A firend of mine used: > ./configure --host= > And this worked!??!? Kaffe need to know cpu and os for his thread subsystem and/or his exception support. Script configure loads config/$Khost_cpu/$Khost_os/config.frag file. Well, you must update config.sub to a new version that handle i386-qnx, see attached patch. And use i386-qnx as host type. Note that last change on i386/QNX port was done on 1999 :-( I quick read config/i386/qnx/* files and I think you can remove special definition of sysdepCallMethod in config/i386/qnx/md.h as new version of this macro let's GCC handle return value in registers or in other place. Hope this help. -- Edouard G. Parmelan http://egp.free.fr config.sub.diff.gz
Re: What's this error?Re: Hi,everyone here! About Kaffe on Linux-vr
Alexandre Oliva wrote: > On Apr 18, 2001, [EMAIL PROTECTED] wrote: > > > I still can not get the Kaffe cross-compiled. > > The variables you'll want to set in config.cache or in your > environment are ac_cv_sizeof_{short,int,long,long_long,__int64,voidp}. In config/i386/oskit/config.frag or in config/arm/linux/config.frag, you can find a list of variables that configure can't guess when Kaffe is cross-compiled ($cross_compiling = yes). -- Edouard G. Parmelan http://egp.free.fr
Re: The problems for cross-compiling Kaffe
[EMAIL PROTECTED] wrote: > 1)There is an error is config.log: > > configure:6008: checking whether the C++ compiler (/usr/bin/mipsel-linux-c++ ) > works C++ compiler is checked for GCJ support. Your ld program don't find stdc++ library. I guess you don't have installed cross libstdc++ library. If you don't want see this error again, configure with option --disable-gcj. > 2) when I tried to cross-compile: > ../../../include/jtypes.h:36: #error "sizeof(int) or sizeof(long) must be 4" > ../../../include/jtypes.h:46: #error "sizeof(long long) or sizeof(__int64) must > be 8" You must define av_cv_sizeof_* in your config.cache or in a config.frag file. -- Edouard G. Parmelan http://egp.free.fr
Changes from kjc-1.4F to kjc-1.4F-egp1 [Was: kaffe javac question: forward reference supported?]
Mark Wielaard wrote: > kjc-1.4F is were KopiSusu is based on isn't it? > Have the changes from 1.4F to 1.4F-egp1 been documented somewhere? > Or is KopiSusu already based on the egp1 version? It's not easy to document theses changes as there are not based on kjc-1.4F but on KOPI public CVS Tree of 2716 (for egp1) and of 20010104 (for egp2). With CVS it could be easy to retreive theses versions if public CVS was day to day in sync with there private CVS Tree. This was not the case :-( KopiSusu can't be based on egp1 as I only send my patches to KOPI team. > > Note also that I'm currently testing alpha release of kjc-1.5 from KOPI > > CVS Tree with Thomas Graf, upstream author. > Cool. So Kopi isn't dead after all. > Is there a changelog for the changes from 1.4 -> 1.5? > KopiSusu has a very long and impressive ChangeLog at > <http://klomp.org/KopiSusu/changes.html> > Hopefully we can merge the kjc 1.5 and KiopiSusu 1.9 releases. I hope so. -- Edouard G. Parmelan http://egp.free.fr
Re: kaffe javac question: forward reference supported?
Yong Chen wrote: > Hi, > > thank you very much for the reply, it did help me to some extent. But > unfortunately I'm still facing a problem which is related to my previous > question. I tried to compile 2 classes (each references the other) at same > time (like: kjc A.java B.java) but got exception (see below). This happens > when these 2 classes are in same package, also happens when these 2 classes > are in different packages. > > Any help is appreciated. Could you send me result of $ kjc -version > java.lang.ClassCastException: can't cast `at/dms/kjc/CMethodContext' to > `at/dms/kjc/CBodyContext' And a small part of your both sources A.java and B.java that throw this internal error. Note that kjc release contains in Kaffe-1.0.6 is broken (kjc-1.4F). You could use kjc.jar (kjc-1.4F-egp1) from latest CVS Tree or from http://egp.free.fr/kaffe. There are snapshot of KOPI CVS Tree with minor fixes. Note also that I'm currently testing alpha release of kjc-1.5 from KOPI CVS Tree with Thomas Graf, upstream author. -- Edouard G. Parmelan http://egp.free.fr
Re: program in running java program
andrew chan wrote: > the following error occur: > Internal error: caught an unexpected exception. > Please check your CLASSPATH and your installation. > java/lang/ClassNotFoundException: jj > at java.lang.Class.forName(Class.java:native) > at java.lang.Class.forName(Class.java:52) > Aborted (core dumped) > > i found that the classpath is as follows: > [...]:/usr/java/jdk/jdk116_v5/lib/classes.zip:[...] You _must_ remove Sun JDK classes from your class path. -- Edouard G. Parmelan http://egp.free.fr
Re: can't compile log4j by Ant
Takashi Okamoto wrote: > I have following error when compile jakarta-log4j by ant-1.3 with Kaffe. > > -- > BUILD FAILED > > java.lang.OutOfMemoryError > at java.lang.StringBuffer.ensureCapacity(StringBuffer.java:162) > at java.lang.StringBuffer.setLength(StringBuffer.java:264) > at >org.apache.tools.ant.util.SourceFileScanner.restrict(SourceFileScanner.java:128) > at >org.apache.tools.ant.util.SourceFileScanner.restrictAsFiles(SourceFileScanner.java:174) > at org.apache.tools.ant.taskdefs.Javac.scanDir(Javac.java:488) > at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:434) > at org.apache.tools.ant.Target.execute(Target.java:153) > at org.apache.tools.ant.Project.runTarget(Project.java:902) > at org.apache.tools.ant.Project.executeTarget(Project.java:540) > at org.apache.tools.ant.Project.executeTargets(Project.java:514) > at org.apache.tools.ant.Main.runBuild(Main.java:421) > at org.apache.tools.ant.Main.main(Main.java:149) > > Total time: 27 seconds > -- > > I looked for the cause. Maybe following code has problem. > > [libraries/javalib/java/lang/StringBuffer.java] What's the value of newLength passed by org.apache.tools.ant.util.SourceFileScanner.restrict() ? > New buffer should be created when StringBuffer has real string already > (isStringized is true) I agree > and new buffer length (newLength) is larger > than obsoleted buffer length (buffer.length). No, _OR_ new buffer length ... But this case is handle by ensureCapacity(x, false) so: boolean newBuf = ensureCapacity(newLength, isStringized); Could you test that with Ant ? -- Edouard G. Parmelan http://egp.free.fr
Re: Runtime Error
Steve Fernandez wrote: >I obtained Kaffe version 1.0.5 (Java version 1.1) and Guavac >version 1.2 from the Potato distribution of Debian (one which I am >currently running). I installed them both. Normal applications in Java >compile and run fine, Applets compile, but fail to run, displaying the >following error message :- Kaffe-1.0.5 is an _old_ release, you should upgrade to 1.0.6 or better use the CVS Tree. You can fetch kaffe-1.0.6-1.1 from unstable http://packages.debian.org/unstable/interpreters/kaffe.html but you need to download new version of kjc from http://egp.free.fr/kaffe >steve@AMD~/Java#kaffe ButtonTest.java > >java.lang.NoClassDefFoundError: ButtonTest/ java >at java.lang.Throwable.(Throwable.java:38) >at java.lang.Error >at java.lang.LinkageError >at java.lang.NoClassDefFoundError > >need I install any additional packages? Please do help. To run an applet, you must create an html file with tag. Then, run appletviewer foobar.html. -- Edouard G. Parmelan http://egp.free.fr
Re: COMPARE_AND_EXCHANGE for linux-powerpc
Carlos Valiente wrote: > and everything seems to work OK. All the regression > tests run ok, except a float test in TestNative: > > Following test results should be 133.3 > a = -1.20 > b = 0.20 > c = 3.30 > d = 4.50 > e = 5.60 > f = 6.00 > g = 7.00 > h = 8.00 Passing 8 first floats (in register) works. > i = 2.53 > j = 0.00 > k = 2.56 > l = 0.00 > m = 2.59 > n = 0.00 > o = 2.62 > p = 0.00 > test16float returned 43.712502...FAILURE But stack passed float don't. Is test16double in TestNative pass or also fail ? You can compile libraries/clib/native/TestNative.c with -S to see where float parameters i to p must be and look into config/powerpc/callmethod_ppc.h to see what's wrong with stack parameters. -- Edouard G. Parmelan http://egp.free.fr
Re: COMPARE_AND_EXCHANGE for linux-powerpc
Carlos Valiente wrote: > The assembler included in my linuxppc distro doesn like the opcode 'stwcx` > (Store Word Conditional Exchange). The error message is "Error: Unrecognized > opcode: `stwcx'". I have tried with the latest binutils (2.10.1) but it > doesn't help either. I will keep investigating, though Oops, its 'stwcx.' (note the dot) :-( -- Edouard G. Parmelan http://egp.free.fr
Re: COMPARE_AND_EXCHANGE for linux-powerpc
Carlos Valiente wrote: > On Friday 23 February 2001 10:32, Edouard G. Parmelan wrote: > > > > I've copied and pasted the C version of COMPARE_AND_EXCHANGE from > > > config/mips/common.h and everything seems to work OK. > > > > Be careful, this C version will only work with unix-jthread subsystem. > > Oops, I hadn't thought about it :-( What would be a cleaner solution? Perhaps > an implementation in PowerPC assembler? Yep. Could you test this: /* * Do an atomic compare and exchange. The address 'A' is checked against * value 'O' and if they match it's exchanged with value 'N'. * We return '1' if the exchange is sucessful, otherwise 0. */ #define COMPARE_AND_EXCHANGE(A,O,N) \ ({ \ int tmp, ret = 0; \ \ asm volatile( \ "1: lwarx %0,0,%3\n" \ " cmpw0,%0,%4\n" \ " bne 2f\n" \ " stwcx %5,0,%3\n" \ " bne-1b\n" \ " sync\n" \ " li %1,1\n" \ "2:\n" \ : "=&r"(tmp), "=&r"(ret), "=m"(*(A)) \ : "r"(A), "r"(O), "r"(N), "m"(*(A)) \ : "cc", "memory"); \ \ ret;\ }) -- Edouard G. Parmelan http://egp.free.fr
Re: COMPARE_AND_EXCHANGE for linux-powerpc
Carlos Valiente wrote: > I've copied and pasted the C version of COMPARE_AND_EXCHANGE from > config/mips/common.h and everything seems to work OK. Be careful, this C version will only work with unix-jthread subsystem. > All the regression tests run ok, except a float test in TestNative: Could you try with this configure option --with-libffi -- you must install libffi first. libffi can be downloaded from http://sourceware.cygnus.com/libffi/ -- Edouard G. Parmelan http://egp.free.fr
Fwd: [Java Virtual Machine Research & Technology Symposium]
Java (TM) Virtual Machine Research and Technology Symposium (JVM '01) April 23-24, 2001 Monterey, Calif., USA http://www.usenix.org/events/jvm01 == REGISTER BY March 19, 2001, and Save $100! == Do you want a place to talk technical about Java virtual machines? Please join us for two days of outstanding technical presentations by researchers, innovators, and implementers of Java virtual machines from around the world. Sponsored by USENIX, the Advanced Computing Systems Association * Hear presentations on hot issues, such as building efficient compilers and garbage collectors, implementing faster thread models, and more * Network with experts and peers in both industry and academia * Get a glimpse of the future in the Work-in-Progress session. Do you want to share your new or ongoing work with the JVM audience, and receive valuable feedback? The Program Committee invites your submission for the Work-in-Progress session by March 1, 2001. Please visit http://www.usenix.org/events/jvm01 for complete program details, submission guidelines, and registration information. Remember, register by March 19th for early bird rates for registration and hotel rooms. We look forward to seeing you in Monterey! = Java Virtual Machine Research and Technology Symposium is sponsored by USENIX, the Advanced Computing Systems Association, USENIX is an international membership society. === -- Edouard G. Parmelan http://egp.free.fr
Re: Problems with BigDecimal
Sergey Voitseh wrote: > The results on JDK are > > bd befor = 0 > bd+10 = 10 > bd*10 = 100 > bd-11 = 89 > bd/10 = 8 > > The results on Kaffe are > > bd befor = 0 > bd+10 = > >0.00041655801798404285768013137759788350539262707304543507630776310404900973869738459858768736254360829937318372449872837461709555186899251809854663064321974132625278579327762026893497093072124442702104753231701657908336972120671850130432016665702645671803049463305139787315279428437570044378858627898028886678805881760452010092053748347212777556221795060564772977647097020148230760162451554270655183497056526193119373791926341249767815235923411391160825048305755026376692907906271544734775979010821050147017036901176543355921022886577490531475902208158340237889632207099381390340712069365067214501772473709440760049111929484202151523627928938679861001439920833984166232003! 870425974526902931836499096 > 324675715794686247654587988003458945772425 > bd*10 = > >0.04061802509884334022345072578876711882371411629430191869759980790282152954148650188388627948079369686292349326967765643698460515551040755654802548583602114602581030268028917077257498671097771966322330853797065966325218577946843938761879320228524382563468118523614645928475706348136484545956478351346598777393907089849641521119375937619930358284298815197888096! 159486173806285959161808189 Very strange :-( Did you test with _same_ compiled class ? Or did you compile with Sun javac for JDK test and Kaffe javac (aka kjc) for Kaffe test. Could you test Sun compiled Test.java with Kaffe ? What's the result of System.out.println (new BigDecimal ((double)10)) and so one. If you use kjc I suggest you to retreive my patched version at http://egp.free.fr/kaffe and also include in CVS Tree of kaffe: $ kjc --version version number: 1.4F-cvs2716-egp1 -- Edouard G. Parmelan http://egp.free.fr
Re: Problems with BigDecimal
Sergey Voitseh wrote: > I wrote a simple test class which uses BigDecimal.class but it didn't work > properly under kaffe but worked properly with jdk. My test class is following: > When I run it I don't see any correct result. Has anyone ideas why it > didn't work? What's your results with Kaffe ? What is your version of Kaffe ? With the following one, your test case give me the same result as Solaris_JDK_1.2.1_02. $ kaffe -fullversion Kaffe Virtual Machine Copyright (c) 1996-2000 Transvirtual Technologies, Inc. All rights reserved Engine: Just-in-time v3 Version: 1.0.6 Java Version: 1.1 Configuration/Compilation options: Compile date : Tue Dec 26 13:37:34 CET 2000 Compile host : mrbean Install prefix: /usr/local Thread system : unix-jthreads CC: gcc CFLAGS: -g -O2 -Wall -Wstrict-prototypes LDFLAGS : -export-dynamic ChangeLog head: 2000-12-21 Edouard G. Parmelan <[EMAIL PROTECTED]> -- Edouard G. Parmelan http://egp.free.fr
Re: MIPS deadlock bug fix
Slegers, Walter wrote: > I known my MIPS manual by hart. Unfortunately, an original R3000 > processor core has no instructions to provide an atomic exchange or > an atomic compare and exchange. I there were, I definitely would have > used that as that seemed to be the proper action. Maybe an R4000 > (which has a store conditional instruction) might be able to do this, > but on an R3000 you are really out of luck. If I hadn't used the > "jthread_suspendall" call then I would have to switch to kernel mode > to disable interrupts Could you review my COMPARE_AND_EXCHANGE for MIPS II before I commit it, I'm learning MIPS assembly :-) /* * Do an atomic compare and exchange. The address 'A' is checked against * value 'O' and if they match it's exchanged with value 'N'. * We return '1' if the exchange is sucessful, otherwise 0. */ /* Note that this version use MIPS II ll/sc instructions */ #define COMPARE_AND_EXCHANGE(A,O,N) \ ({ \ unsigned int tmp, ret; \ \ asm volatile( \ " .setnoreorder\n"\ " .setmips2\n"\ " li %1, 0\n"\ "1: ll %0, %3\n" \ " bne %0, %4, 2f\n" \ " move%0, %5\n" \ " sc %0, %2\n" \ " beqz%0, 1b\n" \ " li %1, 1\n"\ "2: .setmips0\n"\ " .setreorder\n" \ : "=&r" (tmp), "=r" (ret), "=m" (*(A)) \ : "m" (*(A)), "r" (O), "r" (N) \ : "memory");\ ret;\ }) -- Edouard G. Parmelan http://egp.free.fr
Alpha INTRP working
Hi, I found why INTRP engine fail on Alpha: thread stack was too small. I dump it to 128K (64k was not enough). -- Edouard G. Parmelan http://egp.free.fr
Alpha JIT on OSF/1 is working
Hi everybody, I just commit a JIT version for Alpha on OSF/1 in kaffe.org CVS Tree. It's only work for OSF/1 as exception handling need stack speculation provides by libexc. Only two tests fails, it's due to ArithemticException. I can't figure why it fail with JIT. -- Edouard G. Parmelan http://egp.free.fr
Re: Kaffe 1.0.6 on ARM
Godmar Back wrote: > Oops, my fault. > > I had even put that comment on top: > // > // Notes: 0xE1AF = mov ip, pc > //0xE59FF000 = ldr pc, [pc, #0] > // NB:0xE59FF004 = ldr pc, [pc, #4] > > Btw, which CVSROOT do you use to get to "kaffe_all"? It's kaffe-tvt for PocketLinux. CVSROOT ":pserver:[EMAIL PROTECTED]:/var/cvs", checkout modules "fgl", "ipl" and "kaffe-all". > I'm using ":pserver:[EMAIL PROTECTED]:/cvs/kaffe", but > I don't see a kaffe_all tag. -- Edouard G. Parmelan http://egp.free.fr
Re: slowLockMutex / putHeavyLock
Maxim Kizub wrote: > >> I have sometimes assertion erros > >> from putHeavyLock method in > >> assert(*lkp == LOCKINPROGRESS); > >> > >> So, the question is - how lkp is > >> supposed to be protected in current thread > >> from being modified from others threads? > >> > > GB> Which COMPARE_AND_EXCHANGE macro does it use? > As it run under Windows, it should be _compareAndExchange from config/i386/win32/win32-md.asm. But _this_ is not SMP safe as GCC inlined version. You should use `lock' prefix with `cmpxchg' instruction near line 88 but as I don't remember the correct syntax, I can't send you a diff. Could you try that and send me the correct line ? -- Edouard G. Parmelan http://egp.free.fr
Re: some regression test of kaffe 1.0.6 failed on linux
Steven D. Shanklin wrote: > > I have patch KJC and commit in Kaffe CVS Tree. `kjc --version' now > > reports `version number: 1.4F-cvs2716-egp1'. > > > > > > You can get it from my Kaffe download page http://egp.free.fr/kaffe or > > directly at http://egp.free.fr/kaffe/kjc-1.4F-egp1.jar. > > but I've found that the > listed jar file apparently is not the one patched on 2716...!? You right, I have upload a wrong version :-( I have now upload the good one. kjc-1.4F-egp1.jar 04-Dec-2000 11:18 723k with md5sum 3d717992667be7091e2d370713d0f786 -- Edouard G. Parmelan http://egp.free.fr
Re: Patch for kaffe on NetBSD/sparc and some problems
Adrian Bunk wrote: > My problem is: When doing a "make check", the following tests fail: > > FAIL: ttest.java > FAIL: ThreadInterrupt.java > FAIL: ThreadState.java > FAIL: UncaughtException.java > FAIL: Preempt.java > FAIL: PropertiesTest.java > FAIL: CLTestConc.java > FAIL: CLTestJLock.java > FAIL: CLTestFindLoaded.java > FAIL: ClassDeadLock.java > FAIL: ClassGC.java > FAIL: GCTest.java > FAIL: ThreadLocalTest.java > FAIL: ProcessClassTest.java > FAIL: ProcessClassInst.java > FAIL: ProcessClassStop.java > FAIL: ProcessClassLockTest.java > FAIL: TestUnlock.java > FAIL: CatchDeath.java > FAIL: DosTimeVerify.java > > Any hints where I should start looking for the problem? Few hints: . In directory test/regression for each failed test, you have some files: .out is expected output and .fail is failed output. You may also have a .core file if kaffe dump core. . If you have configure with --enable-debug, export KAFFE_DEBUG=gdb before rerun a failed test. Source developers/gdbinit and go debug. Good luck :-) -- Edouard G. Parmelan http://egp.free.fr
Re: kaffe wont' recognize that gmp is installed
[EMAIL PROTECTED] wrote: > Hers' waht I get > [root@rootdown jokes]# grep mpz_get_d /usr/local/include/gmp.h > #define mpz_get_d __gmpz_get_d Well, thanks for that, GMP 3 rename function mpz_get_d to __gmpz_get_d. If you have autoconf 2.13, apply this patch: diff -u -r1.147 configure.in --- configure.in2000/07/24 19:58:35 1.147 +++ configure.in2000/11/07 11:51:23 @@ -597,6 +597,10 @@ dnl Check for libraries for math library. AC_CHECK_LIBRARY(gmp,mpz_get_d,MATH_LIBS) +if test $ac_cv_lib_gmp_mpz_get_d = no; then + dnl with gmp3 it's a #define, use real function name + AC_CHECK_LIBRARY(gmp,__gmpz_get_d,MATH_LIBS) +fi MATH_LIBS="$CTLIBS $MATH_LIBS" AC_SUBST(MATH_LIBS) And run autoconf. $ autoconf Hope this helps -- this will be in CVS Tree in a near futur. -- Edouard G. Parmelan http://egp.free.fr
Re: kaffe wont' recognize that gmp is installed
sipher wrote: > Well i dont' see anything in config.log that indicates success or failure on > finding components let alone why it did or didn't put I'll paste the 4 lines > i found with reference to gmp anyway because maybe I'm reading it wrong. I > see alot of "undefined reference to mpz_get_d" i don't know if that has any > relevance. > > configure:4036: checking for mpz_get_d in -lgmp > configure:4055: gcc -o conftest -g -O2 -Wall -Wstrict-prototypes > -I/usr/local/include conftest.c -lgmp-L/usr/local/lib 1>&5 > > configure:5527: checking for gmp.h > configure:5537: gcc -E -I/usr/local/include conftest.c >/dev/null > 2>conftest.out These are the correct lines to check presence of libgmp and gmp.h. I guest you have a Debian GNU/Linux slink where package gpm2-dev does not provide libgmp.so but libgmp2.so and include files are in a non-standard place /usr/include/gmp2 :-( This was fixed in potato with package libgmp2-dev. If you have slink and package gmp2-dev, you can create some symbolic link: /usr/lib/libgmp.so -> /usr/lib/libgmp2.so /usr/include/gmp.h -> /usr/include/gmp2/gmp.h Then, after removing config.cache and run configure, you should have the following result: $ grep gmp config.cache ac_cv_header_gmp_h=${ac_cv_header_gmp_h=yes} ac_cv_lib_gmp_mpz_get_d=${ac_cv_lib_gmp_mpz_get_d=yes} Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: CharToByteEUC_JP.java instead of CharToByteEUC_JP.ser
Daniel Veillard wrote: > And I avoided implementing those in libxml by reusing iconv > I would suggest to plus iconv support than trying to roll you own > set of converters (if not done already !) > > http://www.opennc.org/onlinepubs/7908799/xsh/iconv.html > http://clisp.cons.org/~haible/packages-libiconv.html > ftp://ftp.ilog.fr/pub/Users/haible/gnu/ This is a good idea, and glibc 2.1.3 also provide it. -- Edouard G. Parmelan http://egp.free.fr
Re: CharToByteEUC_JP.java instead of CharToByteEUC_JP.ser
Hello Ito, Ito Kazumitsu wrote: > I am afraid kaffe/io/CharToByteEUC_JP.ser does not work > properly, so I have made kaffe/io/CharToByteEUC_JP.java > myself. It can be found at > >http://www.maczuka.gcd.org/programs/CharToByteEUC_JP.tar.gz > > I must say that JIS0212-related parts of the program has not > been tested. Where I can find documents about EUC and EUC-JP ? Have you plan to write ByteToCharEUC_JP class ? I ask you that to understand your code and possibly improve it before commit in into CVS Tree. -- Edouard G. Parmelan http://egp.free.fr
Re: SPARC problems
Nic Ferrier wrote: > Edouard fixed one pthreads compilation problem but I get another now > > ../kaffevm/.libs/libkaffevm.so: undefined reference to > `jthread_stackcheck' Oops, I test my previous build on i386 with jit3 but sparc use jit. I have commit two new fixes for that in CVS Tree. Update kaffe/kaffevm/systems/unix-pthreads/thread-impl.h and kaffe/kaffevm/exception.c. Hope it work now on Sparc GNU/Linux ;-) -- Edouard G. Parmelan http://egp.free.fr
Re: SPARC problems
Nic Ferrier wrote: > I tried compiling Kaffe on the SPARC (same SPARC as before) with > pthreads. > > I thought, since pthreads is supplied with glibc, that it might work. > No such luck. It's a stupid bug :-( I just commit a fix for that in CVS Tree. If you don't use the CVS Tree, change the line #include "jthread.h" in kaffe/kaffevm/locks.h by #include "thread-impl.h". Thanks for your report. -- Edouard G. Parmelan http://egp.free.fr
Re: KOPI contacts
Nic Ferrier wrote: > Anyone know how to get in touch with anybody from the Kopi project? > > I have some fixes for them and they're not answering my mails. I had contacts in the past but no news since July :-( I have already made some patches and I manages `egp' versions of KJC. Forward me your fixes, I will create a new kjc external release. -- Edouard G. Parmelan http://egp.free.fr
Re: some regression test of kaffe 1.0.6 failed on linux
Fang Wei Jian wrote: > After I successfully compiled kaffe 1.0.6 on linux, I tried "make > check". To my surprise, some of the regression test failed, including > Preempt.java. That means kaffe 1.0.6 doesn't support thread preemptive > scheduling, which is an important problem. While kaffe 1.0.5 support it. > I tried on both linux 2.0.36 and linux 2.2.1. How could this happened? The Java compiler KJC include in kaffe-1.0.6 baddly compile Preempt.java and some other test-cases :-( Just few days before kaffe-1.0.6 was released, I mail an alarm about that on kaffe-core but my mail was received two days latters :-( With kjc-1.4F compiling Preempt.java will enter in an infinite loop. More, if you had these two methods foo(char) and foo(int), calling foo((byte)bar) foo((short)bar) will be compiled as call to foo(char). That wrong, it must be compile as call to foo(int). A concret example is methods print() and println() of class java.lang.PrintWriter (see System.out). I have patch KJC and commit in Kaffe CVS Tree. `kjc --version' now reports `version number: 1.4F-cvs2716-egp1'. You can get it from my Kaffe download page http://egp.free.fr/kaffe or directly at http://egp.free.fr/kaffe/kjc-1.4F-egp1.jar. Replace your libraries/javalib/kjc.jar with it and all regressions tests will the work. -- Edouard G. Parmelan http://egp.free.fr
Re: emjava
Roy Wilson wrote: > I wonder if anyone has an opinion about whether PocketLinux is more > likely to provide an easier/quicker path than the LinuxVR project to > getting Kaffe running on my old (but upgraded to 32MB RAM plus a 96MB > SANDISK FlashCard!) MIPS machine. I didn't know enough to intelligently > follow the LinuxVR documentation for setting up a REDHAT to MIPSEL > cross-compilation environment. Doh! In fact, PocketLinux use Linux kernel from linux-vr :-) You can find mailing-list archives of PocketLinux on there web site. -- Edouard G. Parmelan http://egp.free.fr
Re: emjava
Ìì³Î wrote: > First,I want to ask the following question: > 1.Have kaffe been ported to embeded system? > 2.If been,then Can It display graphics in the embeded envirment? Yes, see PocketLinux http://pocketlinux.com. It's a Linux kernel and Kaffe for PDA. -- Edouard G. Parmelan http://egp.free.fr
Re: Problems with kaffe-1.0.6 on alpha
Patrick Tullmann wrote: > > Ah. I had rather blithely assumed Alpha's were supported... Can anyone > > clarify this? If it's a portability issue, I'd be prepared to put some > > effort into getting it working, though time (and ability :-) may be a > > limiting factor. > > Well, if you want to try tracking this down further, you might avoid > the JIT entirely. Re-configure with '--with-engine=intrp'. See if > that builds and passes the checks. Hopefully someone can chime in > with actual experience with Kaffe on an Alpha... Currently JIT is disable for Alpha, file config/alpha/osf/jit-md.h contains the /* Needs update, do not use */ marker. > Hmm... looking through the logs in config/alpha I messages like: > Follow ``Calling Standard for Alpha Systems'' and add exceptions > handling for > Dec OSF/1 with libexc. > @@@ Be careful, it's not yet working. @@@ > > Hopefully, "working" isn't too far off. I made that last year but I was not able to make it working :-( Your initial problem look like a 64 bug. I already does same fixes last year for Alpha on Dec OSF/1. Correct my if I'm wrong, on the Alpha the expression (void*)-1 produces 0x as the cast will not propagate bit sign and -1 is an int aka a 32 bits value. Could you test that with the following C test case ? #include int main() { printf ("(void*)-1 = %p\n", (void*)-1); return 0; } Also size_t should be 64 bits, but I'm not sure, so I have change gc_heap_base and gc_block_base to uintp. Could you test the following patch before I commit it in the CVS Tree ? -- Edouard G. Parmelan http://egp.free.fr Only in kaffe-cvs-orig/kaffe/kaffevm/mem: .#gc-mem.h diff -ru -xTAGS -xID kaffe-cvs-orig/kaffe/kaffevm/mem/gc-incremental.c kaffe-cvs/kaffe/kaffevm/mem/gc-incremental.c --- kaffe-cvs-orig/kaffe/kaffevm/mem/gc-incremental.c Wed Jun 14 09:16:48 2000 +++ kaffe-cvs/kaffe/kaffevm/mem/gc-incremental.cFri Sep 8 00:20:33 2000 @@ -27,7 +27,7 @@ #include "classMethod.h" /* Avoid recursively allocating OutOfMemoryError */ -#define OOM_ALLOCATING ((void *) -1) +#define OOM_ALLOCATING ((void *) ((uintp)0 - 1)) #define GCSTACKSIZE16384 #define FINALIZERSTACKSIZE THREADSTACKSIZE diff -ru -xTAGS -xID kaffe-cvs-orig/kaffe/kaffevm/mem/gc-incremental.h kaffe-cvs/kaffe/kaffevm/mem/gc-incremental.h --- kaffe-cvs-orig/kaffe/kaffevm/mem/gc-incremental.h Sun Aug 27 15:53:35 2000 +++ kaffe-cvs/kaffe/kaffevm/mem/gc-incremental.hFri Sep 8 00:34:51 2000 @@ -20,8 +20,8 @@ #defineMAX_HEAPSIZE(64*1024*1024) #defineALLOC_HEAPSIZE (1024*1024) -extern size_t gc_heap_base; -extern size_t gc_block_base; +extern uintp gc_heap_base; +extern uintp gc_block_base; extern uintp gc_heap_range;/* last gc-able address - gc_heap_base */ /* */ diff -ru -xTAGS -xID kaffe-cvs-orig/kaffe/kaffevm/mem/gc-mem.c kaffe-cvs/kaffe/kaffevm/mem/gc-mem.c --- kaffe-cvs-orig/kaffe/kaffevm/mem/gc-mem.c Tue Mar 21 11:05:17 2000 +++ kaffe-cvs/kaffe/kaffevm/mem/gc-mem.cFri Sep 8 01:42:09 2000 @@ -40,8 +40,8 @@ void gc_primitive_free(gc_block*); static void* gc_system_alloc(size_t); -size_t gc_heap_base; -size_t gc_block_base; +uintp gc_heap_base; +uintp gc_block_base; uintp gc_heap_range; typedef struct { @@ -72,7 +72,7 @@ S(1000), S(2016), S(4040), - { (gc_block *)((char*)0 - 1), 0 } + { (gc_block *)((uintp)0 - 1), 0 } } #endif /* PREDEFINED_NUMBER_OF_TILES */ ; @@ -127,7 +127,7 @@ for (i = 0; i < NR_FREELISTS; i++) { gc_block* blk = freelist[i].list; - if (blk == 0 || blk == (gc_block*)((char*)0 - 1)) { + if (blk == 0 || blk == (gc_block*)((uintp)0 - 1)) { continue; } else { gc_freeobj* mem = blk->free; @@ -762,7 +762,7 @@ gc_primitive_reserve(void) { gc_block *r = 0; - int size = 4 * gc_pgsize; + size_t size = 4 * gc_pgsize; while (size >= gc_pgsize && !(r = gc_primitive_alloc(size))) { if (size == gc_pgsize) { @@ -794,7 +794,7 @@ for (;;) { int missed; ptr = sbrk(size); - if (ptr == (void*)-1) { + if (ptr == (void*)((uintp)0 - 1)) { ptr = 0; break; } @@ -943,7 +943,7 @@ R(gc_prim_freelist); - for (i = 0; freelist[i].list != (void *) -1; i++) + for (i = 0; freelist[i].list != (void*)((uintp)0 - 1); i++) R(freelist[i].list); #undef R
Re: Compile Kaffe in win32; _lrotl and h_errno undefined (link errors)
olivier wrote: > Help ! :-0 > > I am trying to compile Kaffe under Windows 2000. > - Kaffe version is 1.0.5. > - gcc version is 2.95.2 > > Here are the errors I get: > > sha-1.c: In function `SHA1Update': > sha-1.c:163: warning: implicit declaration of function `_lrotl' I thinks this is a MSVC specific function. Simply changes in file sha-1.h near lines 114 and 121 #if defined(WIN32) by #if defined(WIN32) && !defined(__GNUC__). > ../kaffevm/.libs/libkaffevm.a(syscalls.o): In function `jthreadedGetHostByName': > /cygdrive/c/kaffe/kaffe/kaffevm/systems/unix-jthreads/syscalls.c:253: undefined >reference to `h_errno' h_errno is a define in winsock2.h, try add #include "config-hack.h" in file syscalls.c just after #include "config.h". Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: where to get kaffe snapshot
Rizsanyi Zsolt wrote: > In the readme there is a reference to > ftp://ftp.kaffe.org/pub/kaffe/kaffe-snap.tar.gz > > but that was last updated in November 1999. This is a known issue :( New handmade snapshot http://egp.free.fr/kaffe/kaffe-snap-2621.tar.bz2 -- Edouard G. Parmelan http://egp.free.fr
Re: java.lang.UnsatisfiedLinkError
Euisung Kang wrote: > java.lang.UnsatisfiedLinkError problem was solved. Thanks for your help!! > And I tried to build kaffe with --with-debug but I had the error message > as seen below. > > mem/gc-mem.c: In function `gc_block_add': > mem/gc-mem.c:611: warning: implicit declaration of function `mprotect' > mem/gc-mem.c:611: `PROT_READ' undeclared (first use in this function) > > Is there any patch to solve this problem? I hope you could add in config/arm/linux/config.frag ac_cv_func_mmap_fixed_mapped={$ac_cv_func_mmap_fixed_mapped=yes} Said me if it solve your problem. -- Edouard G. Parmelan http://egp.free.fr
Re: Another reflection bug; compatibility results
Stuart Ballard wrote: > > To my knowledge, even though static final constants are part of the > > public API, their values are not given by Sun and so they have to be > > determined experimentally. > > Exactly why I want to report them as part of Japize... to make it > possible to automate testing that Kaffe (and GNU Classpath) has gotten > all the values right. Could you add value of serialVersionUID in Japize ? The following code will retreive/compute this value: ObjectStreamClass stream = ObjectStreamClass.lookup(clz); if (stream != null) { // this class is Serializable, register serialVersionUID emitSerialVersionUID(stream.getSerialVersionUID()); } Thanks. -- Edouard G. Parmelan http://egp.free.fr
Re: java.lang.UnsatisfiedLinkError
Euisung Kang wrote: > I cross-compiled kaffe on to arm-linux. Now, I am verifying whether > kaffe was successfully built or not. It works nicely when I compile > hello.java and execute hello.class. However, it seems that kaffe has > trouble with jar program. How can I fix the following error? > > # jar cf t1.jar *.class > java.lang.UnsatisfiedLinkError: Failed to locate native > function:java/util/zip/Deflater.init(Z)V I guest configure was unable to detect libz :( Check in config.cache these values ac_cv_header_zlib_h ac_cv_lib_z_deflate If they does not set to `yes', cross-compile libz. Also, read FAQ/FAQ.requirelibraries for others missing libraries. If configure have find libz, it could be nother problem. I hope you have enable debuging (configure --enable-debug). If so, you could run: $ kaffe -vmdebug NATIVELIB kaffe.tools.jar.Jar cf t1.jar *.class to trace native methods lookup. -- Edouard G. Parmelan http://egp.free.fr
Re: Another reflection bug; compatibility results
Stuart Ballard wrote: > The issue of calling came up when Edouard suggested using a > Classloader to make it possible to load libraries of other > implementations (eg load the JDK1.0 classes from Kaffe so that I could > print the API of 1.0, even though it doesn't have reflection). The > problem with doing this would be that the act of asking for a public > static final field's value would cause to load, which would > cause nasty native code conflicts. I have implement my idea, and this is my final report. 1. It's not possible to load java.lang.Object With Sun JDK 1.2.1, even with his own java.lang.Object, we got: java.lang.ClassFormatError: java/lang/Object With Kaffe it's Kaffe: /home/gnu/kaffe-cvs/kaffe/kaffevm/classMethod.c:269: processClass: Assertion `(class == ObjectClass) || (class->superclass != ((void *)0))' failed. this could be fixed by changing all use of ObjectClass. 2. It's not possible to load java.lang.Throwable with JDK1.2 java.lang.LinkageError: non-standard Throwable class loaded Kaffe does not check that. -- Edouard G. Parmelan http://egp.free.fr
Re: Another reflection bug; compatibility results
Stuart Ballard wrote: > > Raw idea: Did you think it's possible to use a ClassLoader to load > > jdk1.1 classes and an other to load Kaffe (or GNU Classpath) classes ? > > Yes, but URLClassLoader is 1.2 only and I'm using 1.1 primarily. I could > write a ClassLoader from scratch, but that sounds hard! Also, I'm not > sure that I want to know what would happen if I tried to load > java.lang.Object from a classloader, and there are issues with native > code; I can only imagine what would happen if I tried to load Kaffe's > java.lang.Object onto the JDK with its native code intact... For now, Japize does not extrate final values (or I missing something) so with method Class.forName(String name, boolean initialize, ClassLoader loader) [yes it's 1.2] is never called, so no native code :-) > > If so, you could have a one pass comparison framework. > > Originally it bothered me that I couldn't provide that, but now I'm > beginning to think that this way is better. After all, I can distribute > a ~1Mb jdk11.japi file and save all my users downloading the full ~8Mb > of JDK1.1 (the gains for 1.2 and 1.3 are presumably bigger still); it > also makes it possible to run testing on a machine containing only free > software, so long as you have a copy of the japi file generated by > JDK1.1. You'r right, ~1Mb is better. > I do have a slight twinge of regret that as things stand now I can't > ever produce a jdk10.japi... I will try to write a small ClassLoader to use with Kaffe to generate jdk10.japi. -- Edouard G. Parmelan http://egp.free.fr
Re: Another reflection bug; compatibility results
Stuart Ballard wrote: > Well, I've made some changes to the class since I "announced" it here a > while back and put up a homepage at http://stuart.wuffies.net/japi/ . > The reason I mention this is (1) I'd like feedback, and (2) I have the > results of running japicompat between jdk11 and kaffe, and there are 425 > reported errors, although most of them are duplicated several times > because they are errors in java.awt.Component or java.awt.event.AWTEvent > and they get reported for every subclass (I'd like to eliminate these > duplicates but I can't think of an easy way to do it). I think you can use c.getDeclaredXXX() in place of c.getXXX() to get ride of inherited fields/methods. Raw idea: Did you think it's possible to use a ClassLoader to load jdk1.1 classes and an other to load Kaffe (or GNU Classpath) classes ? If so, you could have a one pass comparison framework. An other solution could be to use a classes manipulations packages as at.dms.classfile or gnu.bytecode. Both use GPL Licences. -- Edouard G. Parmelan http://egp.free.fr
Re: patches to slove an OutputStreamWriter problem
[EMAIL PROTECTED] wrote: > I made another patch to OutputStreamWriter.java without > introducing such a new method. Thanks, committed. -- Edouard G. Parmelan http://egp.free.fr
Re: patches to slove an InputStreamReader problem
[EMAIL PROTECTED] wrote: > > I made patches that may solve the problem: > URL: http://rufus.w3.org/tools/Kaffe/messages/5936.html > Subject: ByteToCharUTF8.java cannot handle long strings > From: [EMAIL PROTECTED] > Date: Fri Mar 03 2000 - 06:16:19 EST Thanks, committed. -- Edouard G. Parmelan http://egp.free.fr
Re: Kaffe's HttpURLConnection implementation is broken
Nic Ferrier wrote: > The current HttpURLConnection does not handle headers properly... or > anything like Sun's implementation. [...] > I have redeveloped the class, my version is attached. [...] > Could someone put this into Kaffe please? or fix the problem? Thanks, I have rewrite some part and include a fix for PR#613. It's commited now. -- Edouard G. Parmelan http://egp.free.fr
Re: CVS admin
Nic Ferrier wrote: > I notice that JAR files are not set up as binaries within the Kaffe > repository. Which one ? The following command reports Sticky Options: -kb for all JAR files $ cvs status $(find -name \*.jar) -- Edouard G. Parmelan http://egp.free.fr
Re: Kaffe and scimark 2.0
Mark Christiaens wrote: > We're considering to use Kaffe for a research project. So I thought I'd > give it a little testrun. I downloaded the rpm on the Kaffe website and > ran scimark 2.0 (http://math.nist.gov/scimark/) on a Celeron 500 MHz. > For some reason, it ran several hours without ever producing a result. > On my Linux box at home (an old PII 233 MHz) using the IBM JDK 1.1.8, this > benchmark runs in half a minute. > > What's wrong? I know Kaffe isn't as fast as the commercial distributions > but this seems a bit strange to me. Could someone run scimark 2.0 on > their machine and try it out? With your report, I discover a bug with double and float on ix86 in Kaffe. Thanks. I have not yet commit my fix in CVS Tree, but this is the current result on my PII 350 MHz: Composite Score: 8.3283354340737521 FFT (1024): 5.3105534220703872 SOR (100x100): 19.456330676365077 Monte Carlo : 1.8220261224138588 Sparse matmult (N=1000, nz=5000): 8.4418796405815346 LU (100x100): 6.6108873089378983 java.vendor: Transvirtual Technologies, Inc. java.version: 1.0.5 os.arch: i686 os.name: Linux os.version: 2.2.16 -- Edouard G. Parmelan http://egp.free.fr
Kaffe snapshots at http://egp.free.fr/kaffe (Was: softcall_lookupmethod missing in intrp)
Godmar Back wrote: > Mikael, > > I bet you did not download yesterday's snapshot, as they snapshot > mechanism is broken since Nov and Transvirtual still hasn't fixed it. > You probably downloaded a snapshot from Nov 2 that had this problem > which I since fixed. Check the beginning of the ChangeLog file. > > Please try using the current CVS. I manage ``manually snapshot'' at http://egp.free.fr/kaffe. I will create a new snapshot today (last is 09-Mar-2000). Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: JMF with Kaffe?
Ganesh Sivaraman wrote: > I have been posting and reposting the same Q... > > Can Kaffe support JMF1.0 or JMF2.0? It seems there is some implementation > of JMF in Kaffe. Is it? If so what does it support and is it functional? Humm, what's JMF ... [search the web]... JavaTM Media Framework http://java.sun.com/products/java-media/jmf/ I don't think someone working on a rewrite of javax.media, but you could download version 2.0 FCS from http://java.sun.com/products/java-media/jmf/2.0/download.html and select Cross-platform Java. I have not test it but Sun claims: Three versions of the reference implementation are available: JavaTM Media Framework 2.0: A cross-platform implementation written entirely in the Java programming language for use on Java CompatibleTM clients. Java Media Framework 2.0 with SolarisTM Performance Pack: Adds optimizations for increased performance and functionality on the Solaris platform. Java Media Framework 2.0 with Windows Performance Pack: Adds optimizations for increased performance and functionality on Windows platforms. Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: kaffe 1.05 and compiling mutually-dependent java files
System Administrator wrote: > Can kaffe 1.05 compile mutually-dependent java files? > > If class A depends on class B, and class B depends on class A, I can't > get either to compile without compiling the other. > > Is this a known problem? Yes, it's a ``feature'' of kopi :-( You should compile both classes at the same time. I CC this mail to Kopi Team. > > -- > Bruce Momjian| http://www.op.net/~candle > [EMAIL PROTECTED]| (610) 853-3000 > + If your life is a hard drive, | 830 Blythe Avenue > + Christ can be your backup. | Drexel Hill, Pennsylvania > 19026 -- Edouard G. Parmelan http://egp.free.fr
Re: compile error on solaris with unix-pthreads
Ren-Song Ko wrote: > I got an error when I tried to compile kaffe 1.0.5 on solaris sparc > with unix-pthreads. > > thread-impl.c:60: bits/local_lim.h: No such file or directory > > I am sorry if this question has been asked, but I appreciate your help. Include file could be replaced by (if some magic _POSIX_SOURCE macros are defined/undefined). You should also read FAQ/FAQ.pthread. Currently this pthread implementation is GNU/Linux specific :( -- Edouard G. Parmelan http://egp.free.fr
Re: Abt appletviewer?
Ganesh Sivaraman wrote: > But then TicTacToe demo which plays audio gives errors. This is what I > get.. whever i click the mouse. Any idea. > > [root@fobar TicTacToe]# /usr/local/bin/appletviewer example1.html > java.lang.NullPointerException > at kaffe/applet/AudioPlayer.play(AudioPlayer.java:32) > at java/applet/Applet.play(Applet.java:151) > at java/applet/Applet.play(Applet.java:156) > at TicTacToe.mouseReleased(TicTacToe.java:301) > at java/awt/Component.processMouseEvent(Component.java:1210) > at java/awt/Component.processEvent(Component.java:1077) > at java/awt/Component.processMouse(Component.java:1196) > at java/awt/MouseEvt.dispatch(MouseEvt.java:224) > at java/awt/EventDispatchThread.run(EventDispatchThread.java:39) Could you give us Kaffe version (snapshot or CVS Tree with date), os release... With current CVS Tree, on GNU/Linux kernel 2.2.14, I have this backtrace: java.io.IOException: Operation not supported by device at kaffe.applet.AudioPlayer.play(AudioPlayer.java:32) at java.applet.Applet.play(Applet.java:122) at java.applet.Applet.play(Applet.java:128) at TicTacToe.mouseReleased(TicTacToe.java:278) at java.awt.Component.processMouseEvent(Component.java:1210) at java.awt.Component.processEvent(Component.java:1077) at java.awt.Component.processMouse(Component.java:1196) at java.awt.MouseEvt.dispatch(MouseEvt.java:224) at java.awt.EventDispatchThread.run(EventDispatchThread.java:39) But I does not have sound card ;-P -- Edouard G. Parmelan http://egp.free.fr
Re: More files to ignore
Hi Pavel, > Could anybody please create file include/.cvsignore with the following > contents: > > java_*.h > kaffe_*.h > jtypes.h > > This will slightly decrease the noise from "cvs update". You can do it locally . option A build outside source tree kaffe-bin$ /path-to-kaffe-cvs/configure --my-options . option B edit $HOME/.cvsignore and add them. Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: More files to ignore
Ganesh Sivaraman wrote: > C:\WINDOWS\Desktop>cvs -d :pserver:[EMAIL PROTECTED]:/cvs/kaffe login > (Logging in to [EMAIL PROTECTED]) > CVS.EXE [login aborted]: could not find out home directory CVS save pserver password in file .cvspass in your home directory. Under Un*x it's variable $HOME, Under Win* it' variable %HOME% or variables %HOMEDRIVE% and %HOMEPATH%. Quotting from cvs sources: /* NT has two evironment variables, HOMEPATH and HOMEDRIVE, which, when combined as ${HOMEDRIVE}${HOMEPATH}, give the unix equivalent of HOME. Some NT users are just too unixy, though, and set the HOME variable themselves. Therefore, we check for HOME first, and then try to combine the other two if that fails. Looking for HOME strikes me as bogus, particularly if the only reason is to cater to "unixy users". On the other hand, if the reasoning is there should be a single variable, rather than requiring people to set both HOMEDRIVE and HOMEPATH, then it starts to make a little more sense. Win95: The system doesn't set HOME, HOMEDRIVE, or HOMEPATH (at least if you set it up as the "all users under one user ID" or whatever the name of that option is). Based on thing overheard on the net, it seems that users of the pserver client have gotten in the habit of setting HOME (if you don't use pserver, you can probably get away without having a reasonable return from get_homedir. Of course you lose .cvsrc and .cvsignore, but many users won't notice). So it would seem that we should be somewhat careful if we try to change the current behavior. NT 3.51 or NT 4.0: I haven't checked this myself, but I am told that HOME gets set, but not to the user's home directory. It is said to be set to c:\users\default by default. */ Hope this helps. -- Edouard G. Parmelan http://egp.free.fr
Re: Cross compiling Kafee for ARM SA1100 (Brutus board)
Nandana wrote: > "Edouard G. Parmelan" wrote: > > > Humm, I just read config/arm/linux/config.frag and if $cross_compile == > > yes, sizeof are setup. I don't know why configure don't detect that > > you're in a cross-compiling environment :-( > > > > Could you remove line ``ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no}'' > > in config.cache and re-run configure ? > > no I changed the following values > ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0} > ac_cv_sizeof_int=${ac_cv_sizeof_int=4} > ac_cv_sizeof_long=${ac_cv_sizeof_long=4} > ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} > ac_cv_sizeof_short=${ac_cv_sizeof_short=2} > ac_cv_sizeof_voidp=${ac_cv_sizeof_voidp=4} > > and re-ran the configure, it seems working. > Thanks for the direction. > > But now it gives following errors: > __ > > arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../../config -I../../../include > -I../../../kaffe/kaffevm/systems/unix-jthreads -I.. -I./.. -DTRANSLATOR -DJIT3 > -DKVER=\"1.0.5\" -I/opt/ARM/lab/kaffe-1.0.5/./kaffe/kaffevm > -I/opt/ARM/lab/kaffe-1.0.5/./kaffe/kaffevm/systems/unix-jthreads > -I../../../config -I../../../include > -I/usr/local/arm/glibc/arm-linux-glibc/include -g -O2 -Wall -Wstrict-prototypes > -c machine.c -fPIC -DPIC -Wp,-MD,.deps/machine.TPlo -o .libs/machine.lo > /tmp/ccAE0hLI.s: Assembler messages: > /tmp/ccAE0hLI.s:11934: Error: bad instruction `call soft_fixup_trampoline' > /tmp/ccAE0hLI.s:11936: Error: bad instruction `popl %ecx' > /tmp/ccAE0hLI.s:11938: Error: bad instruction `jmp *%eax' This is i386 assembler, not ARM's :-( Try option --host of configure as in $ CC=arm-linux-gnu ./configure --host=arm-linux You should remove config.cache before :-( -- Edouard G. Parmelan http://egp.free.fr
Re: Cross compiling Kafee for ARM SA1100 (Brutus board)
Nandana wrote: > > > I am trying to cross compile kafee on to StrongArm development > > With cross-compiling, configure can't guest sizeof(), you should provide > > a config.frag file as for OSKit in config/i386/oskit/config.frag > > > > How do I provide config.frag file. Humm, I just read config/arm/linux/config.frag and if $cross_compile == yes, sizeof are setup. I don't know why configure don't detect that you're in a cross-compiling environment :-( Could you remove line ``ac_cv_prog_cc_cross=${ac_cv_prog_cc_cross=no}'' in config.cache and re-run configure ? I think you should send config.log and config.cache so that others that use cross-compiling can help you. I have never try cross-compiling yet, but I hope does it for GNU/Hurd, it's in my TODO list for a while... -- Edouard G. Parmelan http://egp.free.fr
Re: Cross compiling Kafee for ARM SA1100 (Brutus board)
Hi Nandana, > I am trying to cross compile kafee on to StrongArm development > ../../../include/jtypes.h:36: #error "sizeof(int) or sizeof(long) must > be 4" > ../../../include/jtypes.h:46: #error "sizeof(long long) or > sizeof(__int64) must be 8" > In file included from ../../../kaffe/kaffevm/classMethod.h:15, > from ObjectStreamClassImpl.c:15: > ../../../kaffe/kaffevm/gtypes.h:44: #error "sizeof(short) must be 2" > ../../../kaffe/kaffevm/gtypes.h:65: #error "sizeof(int) or sizeof(long) > must be 4" > ../../../kaffe/kaffevm/gtypes.h:93: #error "sizeof(long) or sizeof(long > long) or sizeof(__int64) must be 8" > ../../../kaffe/kaffevm/gtypes.h:101: #error "sizeof(void*) must be 4 or With cross-compiling, configure can't guest sizeof(), you should provide a config.frag file as for OSKit in config/i386/oskit/config.frag You may also prefers build a config.cache file with same values. Hope this help. -- Edouard G. Parmelan http://egp.free.fr
Re: [Kaffe] Small patch for ArrayForName.java
Mo DeJong wrote: > Could someone apply this patch? Done, thanks. -- Edouard G. Parmelan http://egp.free.fr
Re: kjc update
Patrick Tullmann wrote: > I don't know which broken version is better. :) Hopefully the KJC > folks will have another official release soon. Yes KJC folks have new version but only in there CVS Tree, I have miss that :( I have compile it and update kaffe to KJC 1.4D released on 13/02/2000 I have validate it with . make Klasses . make check [only one test fail: ArrayForName] . DoWhileCompilerBug.java from Patrick Tullmann . InheritOverideException.java from Mo DeJong Hope this help -- Edouard G. Parmelan http://egp.free.fr
Re: java.io.OutputStreamWriter: too small buffer
[EMAIL PROTECTED] wrote: > The output buffer of java.io.OutputStreamWriter is too small to > safely run XT, the XSLT processor. The following error occurs > when processing a XML document containing Japanese characters: > > And enlarging the buffer, that is, applying the following > patch to OutputStreamWriter.java helps solve this problem > although this is nothing but a workaround. Could you try the following more general patch ? -- Edouard G. Parmelan http://egp.free.fr Index: libraries/javalib/kaffe/io/CharToByteUTF8.java === RCS file: /cvs/kaffe/kaffe/libraries/javalib/kaffe/io/CharToByteUTF8.java,v retrieving revision 1.1 diff -u -r1.1 CharToByteUTF8.java --- libraries/javalib/kaffe/io/CharToByteUTF8.java 1999/10/09 20:10:10 1.1 +++ libraries/javalib/kaffe/io/CharToByteUTF8.java 2000/03/01 10:38:42 @@ -21,16 +21,25 @@ int i = fpos; int ie = fpos + flen; - for (; i < ie && o < oe; i++) { + for (; i < ie; i++) { char chr = from[i]; if (chr >= '\u0001' && chr <= '\u007F') { + if (o >= oe) { + break; + } to[o++] = (byte)chr; } else if (chr <= '\u07FF') { + if (o + 1 >= oe) { + break; + } to[o++] = (byte)(0xC0 | (0x3F & (chr >> 6))); to[o++] = (byte)(0x80 | (0x3F & chr)); } else { + if (o + 2 >= oe) { + break; + } to[o++] = (byte)(0xE0 | (0x0F & (chr >> 12))); to[o++] = (byte)(0x80 | (0x3F & (chr >> 6))); to[o++] = (byte)(0x80 | (0x3F & chr));
Re: [Kaffe] patch for Jar program
I wrote: > Note that I have not rebuild Klasses.jar. Done now. -- Edouard G. Parmelan http://egp.free.fr
Re: [Kaffe] patch for Jar program
Moses DeJong wrote: > Attached in a patch for > libraries/extensions/tools/javalib/kaffe/tools/jar/Jar.java > Here is a patch that should speed up the ZipInputStream implementation. > Here are a couple of huge patches to the ZipInputStream.java and > ZipOutputStream.java classes. I have also included the regression > test I used to create these patches. > Here is nice little patch that fixes a problem with the "dos time" > field written out by a ZipOutputStream. I have also attached > a regression test that shows how kaffe is broken. Thanks, commited. Note that I have not rebuild Klasses.jar. -- Edouard G. Parmelan http://egp.free.fr
Re: linux-threads?
Pavel Roskin wrote: > I'm trying to port unix-pthreads on LinuxPCC and I have just found the > following code in config/i386/linux/config.frag: > > if test x"$with_threads" = x"linux-threads" ; then > CPPFLAGS="$CPPFLAGS -D_REENTRANT" > VM_LIBS="$VM_LIBS -lpthread" > fi > > Shouldn't linux-threads be replaced with unix-pthreads? > If this didn't work but nobody noticed it, are those flags necessary? Well, Tim renames linux-treads to unix-pthreads some time ago. I don't know about -D_REENTRANT flag but -lpthread is checked and added to VM_LIBS in configure.in line 579. -- Edouard G. Parmelan http://egp.free.fr
Re: Enabling debug without profiler
Pavel Roskin wrote: > This patch makes it possible to use --enable-debug on platforms without > profiler support. Thanks, apply. -- Edouard G. Parmelan http://egp.free.fr
Re: kjc question
Chester Kustarz 2 wrote: > i hope this is the right list. It could be. I Cc to Kopi team ([EMAIL PROTECTED]). > one difference is that javac and kjc understand line breaks > differently. javac is like Tcl in that it will take mac, pc, unix, > or even a mix in the same file and be ok. kjc barfs on my > source files unless i filter them first. Humm, I can't reproduce that. Which version of kjc did you use ? Could you send me sample class ? > another difference that i cannot find a work around to is trying > to compile some source that are in packages. i have the following > directory tree: > > [servlets].java (in no package) > smart/module/[module].java (in smart.module package) > smart/db/[db].java (in smart.db.package > > where [something].java are a bunch of java source files. > > with javac, i can go to the servlets directory and go: > javac -d . smart/db/*.java > javac -d . smart/module/*.java > javac -d . *.java > > and it all goes well. but when i use kjc, it says it cant find some > classes i am using: > smart/db/CONTAINER_TYPE.java:56: Can''t find class "RowData" '8 Did RowData class is in package smart.module ? If so, you should (for the moment) compile with: kjc -d . smart/db/*.java smart/module/*.java *.java SUN javac transparently load not found classes from java source file. Currently kjc don't compile a source file when it is not specified on command line. -- Edouard G. Parmelan http://egp.free.fr
Re: Bug in kjc
I wrote: > It's trivial patch in kjc/JDoStatement.java (attached). I also attach > compiled class at/dms/kjc/JDoStatement.class for kjc-1.4B (version used > Kaffe CVS tree), let me now if you use another version of kjc. I just commit kjc-1.4B-egp1 in kaffe CVS Tree. This version of kjc is also mirrored at http://egp.free.fr/kaffe. -- Edouard G. Parmelan http://egp.free.fr
Re: Bug in kjc
Patrick Tullmann wrote: > I sent this in to the KOPI folks, but I haven't heard a peep from > them. They work on GNU Kopi 1.5. Yes, it's now part of GNU Project ! > As an FYI to other Kaffer's, I present the do-while bug in kjc. > I haven't tried upgrading to the latest KJC. kjc-1.4C have the same bug :( It's trivial patch in kjc/JDoStatement.java (attached). I also attach compiled class at/dms/kjc/JDoStatement.class for kjc-1.4B (version used Kaffe CVS tree), let me now if you use another version of kjc. -- Edouard G. Parmelan http://egp.free.fr --- kjc/JDoStatement.java.orig Mon Dec 13 14:11:58 1999 +++ kjc/JDoStatement.java Fri Feb 11 11:24:28 2000 @@ -110,12 +110,14 @@ */ public void genCode(CodeSequence code) { code.setLineNumber(getTokenReference().getLine()); +CodeLabel begin = new CodeLabel(); code.pushContext(this); -code.plantLabel(getContinue());// cont: +code.plantLabel(begin);// begin: body.genCode(code);// BODY CODE -cond.genBranch(true, code, getContinue()); // EXPR +code.plantLabel(getContinue());// cont: +cond.genBranch(true, code, begin); // EXPR code.plantLabel(getEnd()); // end:... code.popContext(this); JDoStatement.class
Re: compiler bug?
John Hayward wrote: > java.lang.NoClassDefFoundError: antlr/collections/AST > at at.dms.kjc.Main.beautifyParseError(Main.java:692) > at at.dms.kjc.Main.parseFile(Main.java:488) > at at.dms.kjc.Main.run(Main.java:119) > at at.dms.kjc.Main.compile(Main.java:449) > at at.dms.kjc.Main.main(Main.java:432) This was corrected in kjc (www.dms.at/kopi) and in CVS Tree. Currently Kaffe support kjc-1.4B (1.4C have small bug with line numbers). -- Edouard G. Parmelan http://egp.free.fr
Re: Dumb Question
Aaron M. Renn wrote: > I'm trying to build a Kaffe snapshot shapshot from http://www.kaffe.org/ftp/pub/kaffe/kaffe-snap.tar.gz or ftp://ftp.kaffe.org/pub/kaffe/kaffe-snap.tar.gz is broken since November 1999 (when CVS repository was changed). I manually build snapshot. You can download it from http://egp.free.fr/kaffe. Last one was build on 14 January 2000. > and am getting a compile error in > BigInteger.c: > > /usr/local/src/kaffe-snap/libraries/clib/math/BigInteger.c:468: > undefined reference to `mpz_get_d' > > This looks like a GMP function. However, I've got that library installed, > version 2.0. You're right, this function was new in gmp-2.0.1 and Kaffe use it. We should check `mpz_get_d' in place of `mpz_add' in configure. > There's a point release 2.0.2, but I'm sick of downloading stuff > right now. Any pointers? ftp://ftp.gnu.org/pub/gnu/gmp/gmp-2.0.2.tar.gz or any GNU mirror near you. -- Edouard G. Parmelan http://egp.free.fr
Re: File.getAbsolutePath() bugfix
Alexandre Oliva wrote: > > I see, pid is not saved after fork. > > Fixed now, thanks. > > BTW, waitpid doesn't load pid either :-( Okay, I will fix that too, but I have to check KWAITPID() also. For exemple in unix-jthread(), it loop on error (with a comment) but on BeOS, it return the error :( I will look that this WE. -- Edouard G. Parmelan http://egp.free.fr
Re: how do I get off this list ?
Bekkelund, Morten wrote: > Can anyone tell me how to get OFF this list? If you ever want to remove yourself from this mailing list, you can send mail to <[EMAIL PROTECTED]> with the following command in the body of your email message: unsubscribe kaffe or from another account, besides [EMAIL PROTECTED]: unsubscribe kaffe [EMAIL PROTECTED] If you ever need to get in contact with the owner of the list, (if you have trouble unsubscribing, or have questions about the list itself) send email to <[EMAIL PROTECTED]> . This is the general rule for most mailing lists when you need to contact a human. -- Edouard G. Parmelan http://egp.free.fr
Re: File.getAbsolutePath() bugfix
Mike Linksvayer wrote: > 3. I had assumed that cvs diff would give me differences between > the head revision and my file, but apparently it gives the differences > between the revision I have checked out and my file ... I haven't > used cvs in two years. :( Yes, ``cvs diff foo'' report diff between checkout version (aka -rBASE) and local file. You can use special tag HEAD that match the most recent version available in the repository (may not work with branch). To see differences between last checkout version and most recent version, use ``cvs diff -rBASE -rHEAD foo''. > Now I've encountered another problem: Process.destroy() causes > kaffe to exit without a stack trace and without a core file. Program received signal SIGTERM, Terminated. 0x401ea601 in kill () (gdb) where #0 0x401ea601 in kill () #1 0x401b99a4 in jthreadedKill (pid=0, sig=15) I see, pid is not saved after fork. Fixed now, thanks. You can update libraries/clib/native/UNIXProcess.c. > Another question: Is it safe to use gcc 2.95? I use gcc-2.95.2 on Debian GNU/Linux 2.1 (slink) and RedHat 5.0 without problems with Kaffe. -- Edouard G. Parmelan http://egp.free.fr
Re: The JIT Icode Insn Set (200K HTML)
Samuel Sanseri wrote: > I am working with my advisor on porting the Kaffe JIT to IA-64 and have > written a tabular summary of the icode instruction set in order to help > myself understand the workings of Kaffe. This document is chapter 1, > called "The JIT icode instruction set" and is attached in HTML format. > > As we proceed in development, further chapters will likely be written and > posted to this list. Any comments or corrections to this document will be > useful to us in our development, and thus appreciated. > > For best reading of this document, you will require a large screen, with > your browser stretched to maximum width. This document can also be found > at my homepage at http://www.cs.pdx.edu/~sanseri It's a great job, thanks! But could you avoid send a so big file in a mailing-list? Simply send a mail notification that you have made changes and that new version could be downloaded from your homepage. You clame table is based on Kaffe pre-release 1.0b4 it's quite old, current release is 1.0.5. Could you check your table with current CVS Tree ? Please that move_float_const() and move_double_const() should check for +0.0 and -0.0, it's a fix for bug PR#122. In C, +0.0 == -0.0 so you need check 0.0 and then bit sign (1 << 63). Again, thanks for your document. -- Edouard G. Parmelan http://egp.free.fr