Sim 模模模模模模模模模 2008.4.14
Sim 模拟器文件依赖关系2008.4.14
Makefile 的目标• All• 包括 sim-fast , sim-safe , sim-
eio , sim-bpred , sim-profile , sim-cheetah , sim-cache , sim-outorder 。
Gcc -M sim-fast.csim-fast.o: sim-fast.c /usr/include/stdio.h /usr/include/features.h \ /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \ /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \ /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h \ /usr/include/bits/types.h /usr/include/bits/typesizes.h \ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stdarg.h \ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \ /usr/include/endian.h /usr/include/bits/endian.h \ /usr/include/sys/select.h /usr/include/bits/select.h \ /usr/include/bits/sigset.h /usr/include/bits/time.h \ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h host.h misc.h \ /usr/include/string.h machine.h config.h endian.h machine.def regs.h \ memory.h options.h stats.h eval.h loader.h syscall.h \ /usr/include/sys/time.h dlite.h sim.h /usr/include/setjmp.h \ /usr/include/bits/setjmp.h
Gcc -MM sim-fast.c
[Hunterash@Hunter simplesim-3.0]$ gcc -MM sim-fast.cgcc -MM sim-fast.csim-fast.o: sim-fast.c host.h misc.h machine.h config.h endian.h \ machine.def regs.h memory.h options.h stats.h eval.h loader.h syscall.h \ dlite.h sim.h
Sim-fast 的编译步骤• 先编译 sysprobe 标签• 再编译 sim-fast.o 和其他文件• 添加 libexo 目录下的
libexo.a 库• 最后添加上 `./sysprobe -
libs` -lm (数学库)
• main.o • syscall.o• memory.o • regs.o• loader.o • endian.o • dlite.o • symbol.o • eval.o • options.o • stats.o • eio.o • range.o • misc.o • Machine.o• Sim-fast.o
Sim-cache 的编译步骤• 先编译 sysprobe 标签• 再编译 sim-fast.o 和其他文件• 添加 libexo 目录下的 libexo.a库• 最后添加上 `./sysprobe -libs`
-lm (数学库)• 和 sim-fast 流程基本相同,多了一个编译 cache.o 的步骤
• main.o • syscall.o• memory.o • regs.o• loader.o • endian.o • dlite.o • symbol.o • eval.o • options.o • stats.o • eio.o • range.o • misc.o • Cache.o• Machine.o• Sim-cache.o
Sim-outorder 的编译步骤• 先编译 sysprobe 标签• 再编译 sim-fast.o 和其他文件• 添加 libexo 目录下的 libexo.a库• 最后添加上 `./sysprobe -libs`
-lm (数学库)• 需要对
cache.o , bpred.o , resourceo , ptrace.o 进行编译
• main.o • syscall.o• memory.o • regs.o• loader.o • endian.o • dlite.o • symbol.o • eval.o • options.o • stats.o • eio.o • range.o • misc.o • Cache.o• Bpred.o• Resource.o• Ptrace.o• Machine.o• Sim-outorder.o
Sysprobe 和 libexo.a 的编译• sysprobe 用来测试目标机的 endian• Libexo.a 不知道是干什么的