如何为 m32c 架构编译 objdump
How to compile objdump for the m32c architecture
我想使用 objdump 查看二进制 m32c 文件。当我输入:objdump -i
返回的体系结构列表是基于 i386 的。查看 binutils 的源代码,似乎支持 m32c 体系结构,只是默认情况下未编译。
我还看到了针对嵌入式 ARM 市场的 arm-none-eabi-objdump
。我想创建的是用于 m32c 架构的编译版本的 objdump。有人做过类似的事情吗?
为特定的 target 构建 binutils 非常简单。如果要在 Windows 上托管 binutils,您将需要安装 MinGW/GCC 和 Msys shell 环境。然后从 Linux bash shell 或 Windows 上的 msys:
- 创建用于构建工具的目录()
- 创建用于安装工具的目录 ()
- 将binutils包解压到,以下是指您正在构建的binutils版本,在包名中注明(binutils-.tar.bz2)
- 从 开始,为适当的 target 和主机配置包:
../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
、adding/modifying 项目来完成:"BINUTILS"="<installdir>"
如果您还安装了 GCC,那么还有相关的密钥:
"GCC"="<gccinstalldir>"
"G++"="<gppinstalldir>"
我想使用 objdump 查看二进制 m32c 文件。当我输入:objdump -i
返回的体系结构列表是基于 i386 的。查看 binutils 的源代码,似乎支持 m32c 体系结构,只是默认情况下未编译。
我还看到了针对嵌入式 ARM 市场的 arm-none-eabi-objdump
。我想创建的是用于 m32c 架构的编译版本的 objdump。有人做过类似的事情吗?
为特定的 target 构建 binutils 非常简单。如果要在 Windows 上托管 binutils,您将需要安装 MinGW/GCC 和 Msys shell 环境。然后从 Linux bash shell 或 Windows 上的 msys:
- 创建用于构建工具的目录()
- 创建用于安装工具的目录 ()
- 将binutils包解压到,以下是指您正在构建的binutils版本,在包名中注明(binutils-.tar.bz2)
- 从 开始,为适当的 target 和主机配置包:
../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
、adding/modifying 项目来完成:"BINUTILS"="<installdir>"
如果您还安装了 GCC,那么还有相关的密钥:
"GCC"="<gccinstalldir>"
"G++"="<gppinstalldir>"