GCJ Porting for RTEMS Status Report

Andrew Haley aph@redhat.com
Mon Jun 13 09:14:00 GMT 2011


On 12/06/11 18:15, Jie Liu wrote:
> Hi,
> 
> First, let us look at an HelloWorld example with exception and thread,
> the HelloWorld.java is:
> public class HelloWorld{
>    public static void main(String args[]){
>       ThreadTest t=new ThreadTest();
>       Thread t1=new Thread(t);
>       System.out.println("GCJ For RTEMS in Java!---in HelloWorld.java");
>       try{
>         System.out.println(args[100]+"for raise an exception");
>       }catch(Exception e){
>         System.out.println(e.getMessage()+"---in an Exception");
>       }
>       t1.start();
>     }
> }
> class ThreadTest extends Thread{
>   public void run(){
>     System.out.println("ThreadTest from HelloWorld!---in a new thread");
>   }
> }
> 
> Compiling it using cross gcj and linking with rtems system, we get a
> HelloWorld.exe. And then, run it on qemu as:
> qemu -m 512 -boot a -cpu 486 -fda /home/rtems/qemu/pc386_fda -hda
> fat:/home/rtems/qemu/hd -monitor null -nographic -serial stdio
> --no-reboot
> 
> The output is:
> Initialized console on port COM1 9600-8-N-1
> GCJ For RTEMS in Java!---in HelloWorld.java
> 100---in an Exception
> ThreadTest from HelloWorld!---in a new thread
> EXECUTIVE SHUTDOWN! Any key to reboot...
> 
> Is this interesting?
> 
> In the last few months, I have
> --Porting bdwgc to RTEMS/I386
> --Use RTEMSÂ’s pthread for GCJ Porting
> --Fix many many problems in compiling, linking and running
> --Have a cross gdb environment for source code level debug
> and next step I will
> -- Start focusing on running the testsuite and fix encountered problem
> -- Move to other architectures and repeat this progress
> --Submitting patches to related community
> 
> If you are interested in, welcome! Do not hesitate to contact me. :)

All good stuff.

Thanks,
Andrew.



More information about the Java mailing list