Simplescalar在Ubuntu12.04 64位上的安装流程

楼主不才,一小时学会了安装Ubuntu,却用了俩个月来装simplescalar模拟器和其他相配套的模拟器,希望借此机会,写下最快速的安装过程,帮助你们节约大量时间来学习。

  请备好装好Ubuntu12.04 64位的电脑。

   1,首先装一下gcc-multilib (这个软件可以把软件编译成32位和64位的,意思就是如果直接复制别人编译好的,装了这个软件才可以运行,否则会出错)

sudo apt-get install gcc-multilib flex-old bison

2,安装gcc 4.4

sudo apt-get install g++-4.4      gcc-4.4

3,建个文件夹,用来放程序文件,在哪建应该无所谓的
cd /home/你的用户名/ ##这个可别照抄了,以及之后涉及到安装地址的都要替换成你的安装地址
mkdir simplescalar
把下下来的安装包就放在这个新建的文件夹里,然后
tar xvfz simplescalar.tgz

4,设几个环境变量

  为了防止环境出错直接编译 用户名下的文件  .bashrc文件(sudo gedit .bashrc)在文件末尾添加

  • export HOST=i686-unknown-linux
  • export TARGET=sslittle-na-sstrix
  • export IDIR=/home/用户名/simplescalar
  • export CC=”gcc-4.4″

 添加完source .bashrc 使你的环境得到配置

5,解压simpletools
cd /home/你的用户名/simplescalar
tar xvfz simpletools-2v0.tgz
rm -rf gcc-2.6.3
 

6,装simpleutils 
tar xvfz simpleutils-990811.tar.gz
cd /home/wuzeyou/simplescalar/ simpleutils-990811

然后修改ld目录下的ldlex.l文件,把此文件中的“yy_current_buffer”替换成YY_CURRENT_BUFFER”.

然后回到simpleutils-990811目录,执行下面的命令:

./configure –host=$HOST –target=$TARGET –with-gnu-as –with-gnu-ld –prefix=$IDIR
(要是提示出错,就修改CC环境变量,即export CC=”gcc”)
make

make install

这步完成后,记得进入 sslittle-na-sstrix目录下,执行完这些命令后,在$IDIR目录下会有bin、lib、include、man、share等文件夹(其实还有f2c-1994.09.27和glibc-1.09两个文件夹),另外,看看有没有个bin文件夹,要是有,就继续,没有就悲剧了,重来一遍吧

7, 装simplesim
cd ../
tar xvfz simplesim-3v0d.tgz
cd ./simplesim-3.0/

make config-pisa

make
要是看到“My work is done here”,那就继续
8, 装gcc
cd /home/用户名/simplescalar
tar xzvf gcc-2.7.2.3.ss.tar.gz
cd ./gcc-2.7.2.3 
export PATH=$PATH:$IDIR/sslittle-na-sstrix/bin

./configure –host=$HOST –target=$TARGET –with-gnu-as –with-gnu-ld –prefix=$IDIR 

make LANGUAGES=c

这时有错误提示

 sudo  gedit insn-output.c
弹出记事本,把记事本的行数计数打开,在第675行,第750行,第823行末尾加上一个””。也就是,将 FIXMEn改成FIXMEn

  1>chmod -R +w .  (不要忘记了后面的那个小点 ” . “)

2> 修改Makefile文件,在130行的行末添加“-I/usr/include”

3> 修改protoize.c文件,把60行处的<varargs.h>改为<stdarg.h>

4> 修改obstack.h文件,在341行处,把*((void **)__o->next_free)++ 改为 *((void **)__o->next_free++)

5> 运行下面的命令(注意现在还是处于$IDIR/gcc-2.7.2.3目录下)

cp ./patched/sys/cdefs.h ../sslittle-na-sstrix/include/sys/cdefs.h 
cp ../sslittle-na-sstrix/lib/libc.a ../lib/
cp ../sslittle-na-sstrix/lib/crt0.o ../lib/

保存离开,再运行make

make LANGUAGES=c
最后一步:
make install LANGUAGES=c
要是还没有报错,那应该就是成功了
9,验证一下:
cd $IDIR/simplesim-3.0
./sim-outorder tests-pisa/bin.little/test-math
要是出来一大篇东西,那就恭喜你成功了
10,还没完,打开 sslittle-na-sstrix/include/stdio.h sslittle-na-sstrix/include/setjmp.h,用查找替换 
去掉所有的 __NORETURN
然后个c程序验证:test.c
#include <stdio.h>
main()
{
printf(“Hello World!n”);
}
在安装目录下建个dev文件夹:
cd $IDIR
mkdir dev
cd dev
把test.c拷到dev文件夹下
cd $IDIR
bin/sslittle-na-sstrix-gcc -o hello dev/test.c

simplesim-3.0/sim-outorder hello还是出来一大篇东西,彻底成功。。。

  9、运行自己程序的时候如果显示没有objdump4pisa文件,,,执行下面的语句把root权限登录添加到登录界面

         sudo gedit /etc/lightdm/lightdm.conf 

下面的语句添加到文件最下面
greeter-show-manual-login=true
allow-guest=false 

 保存离开  init 6(重启才生效)

  重启完使用root登录  在root的/home/   下新建一个bin目录  

    在刚才你的home即你的用户名下的simplescalar的目录下搜索objdump文件,复制一份到刚才新建的bin目录下 重命名为 objdump4pisa 

再试试 看看。。O(∩_∩)O哈哈~ 完美破解

来源:卜小卜

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月19日
下一篇 2019年8月19日

相关推荐