导航

Cross compile Jikes RVM for PowerPC on X86 Linux

Posted on 2004-06-22 15:45  姜伟华  阅读(608)  评论(0编辑  收藏  举报

My steps to cross compile Jikes RVM for PowerPC on X86:


1. create directory $HOME/cross-ppc/

 

# build cross-tools

2. download crosstools 0.28rc25 from http://www.kegel.com/crosstool/ and un-tar it under the above directory

3. cd $HOME/cross-ppc/

4. modify crosstool-0.28-rc25/demo-ppc750.sh, set RESULT_TOP=$HOME/cross-ppc/result

5. sh crosstool-0.28-rc25/demo-ppc750.sh

 

#setup DSS

6. download dss from http://www-ali.cs.umass.edu/DSS/download.htm and untar it

7. set environment variable DSS_ROOT and DSS_BUILD

8. build dss

 

# build Jikes RVM

9. download Jikes RVM 2.3.2 and classpath 0.08 and untar them according the convention

10. set environment variable RVM_ROOT, RVM_BUILD PATH according to convention

11. set environment variable RVM_HOST_CONFIG=$RVM_ROOT/rvm/config/i686-pc-linux-gnu

                             RVM_TARGET_CONFIG=$RVM_ROOT/rvm/config/powerpc-unknown-linux-gnu

                             PPCPATH=$HOME/cross-ppc/result/powerpc-750-linux-gnu/gcc-3.3.1-glibc-2.3.2/powerpc-750-linux-gnu/bin

 

12. modify $RVM_ROOT/rvm/config/powerpc-unknown-linux-gnu, set variable CC and CPLUS point to cross compiler.

    export CC="$PPCPATH/gcc -w -g -O -Wa,-mppc"

    export CPLUS="$PPCPATH/g++ -w -g -O"

13. modify $RVM_ROOT/rvm/src/tools/configuring/printf_handles_percent_z.sh to disable the execution of testing to check printf.

14. modify $RVM_ROOT/rvm/bin/jBuildClasspathJar:152, modify the configure line to

     CC=$PPCPATH/gcc   $original line$  --host=powerpc-unknown-linux-gnu

15. modify $RVM_ROOT/classpath/classpath/config.guess to make it to be only

        echo powerpc-unknown-linux-gnu

16. modify $RVM_ROOT/rvm/bin/jconfigure to disable machine checking at line 3078 to 3082.

17. jconfigure prototype

18. cd $RVM_BUILD

19. ./jbuild

 

comment:

1. I don't know step 15 is necessary or not. My one try must modify it to succeed while another needn't.

2. When running DSS, I map /etc /lib /usr/lib all to $HOME/cross-ppc/result/powerpc-750-linux-gnu/gcc-3.3.1-glibc-2.3.2/powerpc-750-linux-gnu/lib/