在Ubuntu 10.10下安装SimpleScalar

字体大小: 中小 标准 ->行高大小: 标准

环境:Ubuntu 10.10 ; gcc 4.4.5;

体系结构实验需要用到。装起来有够麻烦的。主要是东西都太老了,需要用到的交叉编译器gcc的版本都是2.7.2啊,SimpleScalar上写的居然是"newer version"(相对与自带的2.6版本的)。基本上每次make都是一个错。。。照着老师的指导书一步步装还是有错误,要不就是我那一步出现了错误。费了九牛二虎之力才装好。最后靠的是国外大学的资源来安装的,网站上有一个安装脚本,在我的Ubuntu10.10上成功执行。

先把网址晒一下:http://www.ann.ece.ufl.edu/courses/eel5764_10fal/project/

貌似是佛罗里达大学一位助理教授授课时用到的资料,里面有一些安装SimpleScalar和一个安装的脚本buildSS。安装说明基本跟我的实验指导书上的差不多,最受用的还是那个安装脚本。多谢这位老师啊!

直接贴上脚本代码以备后用:

  1. NAME=Simplescalar   PACKAGE=simplescalar  
  2. TOOL=simpletools-2v0   UTIL=simpleutils  
  3. SIM=simplesim     
  4. # Update Ubuntu Software Package     
  5. sudo apt-get update     
  6. # Getting required applications     
  7. sudo apt-get install flex-old bison build-essential     
  8. # Create Simplescalar Directory     
  9. cd   mkdir $NAME  
  10. cd $NAME     
  11. # Getting simplescalar tar file     
  12. wget http://csrl.unt.edu/downloads/$PACKAGE.tgz     
  13. # Extraction     
  14. tar xvfz $PACKAGE.tgz     
  15. export CC="gcc"     
  16. # Setting up installation     
  17. export HOST=i686-unknown-linux   export TARGET=sslittle-na-sstrix  
  18. export IDIR=~/$NAME     
  19. # Build Simplescalar tools     
  20. cd ~/$NAME   tar xvfz $TOOL.tgz  
  21. rm -rf gcc-2.6.3     
  22. # Build Simplescalar utils     
  23. cd ~/$NAME   tar xvfz $UTIL-990811.tar.gz  
  24. cd $UTIL-990811   ./configure --host=$HOST --target=$TARGET --with-gnu-as --with-gnu-ld --prefix=$IDIR  
  25. make CC=gcc   sudo make install CC=gcc  
  26.    # Build Simplescalar  
  27.    cd ~/$NAME  
  28. tar xvfz $SIM-3v0d.tgz   cd $SIM-3.0  
  29. make config-pisa   make CC=gcc  
  30.    # Build Compiler  
  31.    cd ~/$NAME  
  32. tar xvfz gcc-2.7.2.3.ss.tar.gz   cd ~/$NAME/gcc-2.7.2.3  
  33. export PATH=$PATH:$IDIR/simpleutils-990811/sslittle-na-sstrix/bin   ./configure --host=$HOST --target=$TARGET --with-gnu-as --with-gnu-ld --prefix=$IDIR  
  34.      
  35. # Fix file errors     
  36. make LANGUAGES="c c++" CFLASS=-O3 CC="gcc"   sed -i 's/return \"FIXME\\n/return \"FIXME\\n\\/g' ~/$NAME/gcc-2.7.2.3/insn-output.c  
  37. make LANGUAGES="c c++" CFLASS=-O3 CC="gcc"   wget http://www.ict.kth.se/courses/IS2202/ar  
  38. wget  http://www.ict.kth.se/courses/IS2202/ranlib   chmod 700 ar  
  39. chmod 700 ranlib   sudo cp ar $IDIR/sslittle-na-sstrix/bin/ar  
  40. sudo cp ranlib $IDIR/sslittle-na-sstrix/bin/ranlib   rm ar  
  41. rm ranlib   chmod +w ~/$NAME/gcc-2.7.2.3/obstack.h  
  42. sed -i 's/next_free)++/next_free++)/g' ~/$NAME/gcc-2.7.2.3/obstack.h   make LANGUAGES="c c++" CFLASS=-O3 CC="gcc"  
  43. sed -i '98i\   #define BITS_PER_UNIT 8  
  44. ' ~/$NAME/gcc-2.7.2.3/libgcc2.c   #make LANGUAGES="c c++" CFLASS=-O3 CC="gcc"  
  45. cp $IDIR/gcc-2.7.2.3/patched/sys/cdefs.h $IDIR/sslittle-na-sstrix/include/sys/cdefs.h     
  46. make LANGUAGES="c c++" CFLASS=-O3 CC="gcc"   make enquire CC=gcc  
  47. sudo make install LANGUAGES="c c++" CFLASS=-O3 CC="gcc" PATH=$PATH:~/$NAME/bin     
  48. # Done!     
  49. exit 0  

如果已经下载了所需要的tar包,可以把

  1. wget http://csrl.unt.edu/downloads/$PACKAGE.tgz  

这一行去掉。也可以直接下载,就是速度可能有点慢。这个包里面已经包含了所有需要的工具。使用simscalar-cheetath相应该一下脚本即可。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/57221.html