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行末尾加上一个”\”。也就是,将 FIXME\n改成FIXME\n\

  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哈哈~ 完美破解

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值