我想使用objdump来查看二进制m32c文件。当我输入:objdump -i
时,返回的架构列表是基于i386的。看一下binutils的源代码,似乎支持m32c架构,默认情况下不会编译。
我还看到arm-none-eabi-objdump
用于嵌入式ARM市场。我想要创建的是m32c架构的objdump的编译版本。有没有人做过类似的事情?
答案 0 :(得分:2)
为特定目标构建binutils非常简单。如果要在Windows上托管binutils,则需要安装MinGW / GCC和Msys shell环境。然后从Linux bash shell或Windows上的msys:
../binutils-<version>/configure --target m32c-elf --prefix <installdir>
在Windows中,您还可以添加到配置命令行--enable-win32-registry=gnu_m32c
以允许通过注册表进行路径查找。工具链名称gnu_m32c
是任意的 - 您可以根据自己的喜好调用它。
make
以构建工具。make install-strip
以安装工具。注意:强>
如果您在Windows上安装并使用--enable-win32-registry
选项但随后选择移动安装,或者在新主机上安装预构建工具,则需要修改注册表以匹配;这可以通过regedit编辑密钥HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\gnu_m32c
来完成,添加/修改项目:"BINUTILS"="<installdir>"
如果您已经安装了GCC,那么还有相关的密钥:
"GCC"="<gccinstalldir>"
"G++"="<gppinstalldir>"