如何为m32c架构编译objdump

时间:2015-03-20 20:44:08

标签: embedded disassembly objdump

我想使用objdump来查看二进制m32c文件。当我输入:objdump -i时,返回的架构列表是基于i386的。看一下binutils的源代码,似乎支持m32c架构,默认情况下不会编译。

我还看到arm-none-eabi-objdump用于嵌入式ARM市场。我想要创建的是m32c架构的objdump的编译版本。有没有人做过类似的事情?

1 个答案:

答案 0 :(得分:2)

为特定目标构建binutils非常简单。如果要在Windows上托管binutils,则需要安装MinGW / GCC和Msys shell环境。然后从Linux bash shell或Windows上的msys:

  1. 创建一个目录来构建工具()
  2. 创建要安装工具()
  3. 的目录
  4. 将binutils包解压缩,此后指的是您正在构建的binutils版本,并在包名称中指明(binutils-.tar.bz2)
  5. 使用,配置适当目标和主机的包:
  6. ../binutils-<version>/configure --target m32c-elf --prefix <installdir>

    在Windows中,您还可以添加到配置命令行--enable-win32-registry=gnu_m32c以允许通过注册表进行路径查找。工具链名称gnu_m32c是任意的 - 您可以根据自己的喜好调用它。

    1. 运行make以构建工具。
    2. 运行make install-strip以安装工具。

    3. 注意:

      如果您在Windows上安装并使用--enable-win32-registry选项但随后选择移动安装,或者在新主机上安装预构建工具,则需要修改注册表以匹配;这可以通过regedit编辑密钥HKEY_LOCAL_MACHINE\SOFTWARE\Free Software Foundation\gnu_m32c来完成,添加/修改项目:"BINUTILS"="<installdir>"如果您已经安装了GCC,那么还有相关的密钥:

      "GCC"="<gccinstalldir>"
      "G++"="<gppinstalldir>"