binutils是如何支持新的架构的?
粗略看了gcc的internals, 支持新的arch时,需要根据ABI来写对应的{arch}.h和machine description,这样好像就可以了
但是binutils是如何支持新的架构呢?有很多平台相关文件阿,比如m68k就有下面这些文件。那么每增加一个架构,就需要增加这么多文件?太吓人了吧
./include/elf/m68k.h
./include/opcode/m68k.h
./include/coff/m68k.h
./opcodes/m68k-opc.c
./opcodes/m68k-dis.c
./bfd/coff-svm68k.c
./bfd/m68knetbsd.c
./bfd/m68klinux.c
./bfd/cpu-m68k.c
./bfd/m68k4knetbsd.c
./bfd/hosts/m68kaux.h
./bfd/hosts/m68klinux.h
./bfd/coff-m68k.c
./bfd/elf32-m68k.c
./config/mh-m68kpic
./gas/doc/c-m68k.texi
./gas/config/m68k-parse.h
./gas/config/tc-m68k.c
./gas/config/m68k-parse.y
./gas/config/tc-m68k.h
./gas/testsuite/gas/cfi/cfi-m68k.s
./gas/testsuite/gas/cfi/cfi-m68k.d
./gas/testsuite/gas/m68k
./gas/testsuite/gas/m68k-coff
./ld/scripttempl/m68kcoff.sc
./ld/scripttempl/m68klynx.sc
./ld/scripttempl/m68kaux.sc
./ld/emultempl/m68kcoff.em
./ld/emultempl/m68kelf.em
./ld/emulparams/m68kelfnbsd.sh
./ld/emulparams/m68knbsd.sh
./ld/emulparams/m68k4knbsd.sh
./ld/emulparams/m68kpsos.sh
./ld/emulparams/m68kaux.sh
./ld/emulparams/m68kelf.sh
./ld/emulparams/m68kcoff.sh
./ld/emulparams/m68kaout.sh
./ld/emulparams/m68klinux.sh
./ld/testsuite/ld-m68k
./ld/testsuite/ld-m68k/m68k.exp
./ld/testsuite/ld-m68k/m68k-got.exp
./binutils/testsuite/binutils-all/m68k
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
诚招Linux系统工程师,简历请发guoyanhong@ceopen.cn
m68k这种历史悠久的东西不适合入门,你可以找一个相对新一点的,代码量少一点的。
可以参考 openrisc 的。
68k,路由,弄不好和你们公司有关系。
这么说还真的只有看代码了?openrisc确实文件少一些,可以看看。不过要是能找到一些guide或者手册就好了,现在有点懒惰