GNU二进制实用程序。用于操作目标文件的工具集合。最值得注意的是它们包括GNU汇编器和链接器。它们通常与GNU编译器集合(GCC)一起使用。
我最近将系统上的 Ubuntu 升级到版本 22.04.3 LTS (Jammy Jellyfish),这破坏了我的交叉编译器工具链,该工具链由为 i686 架构配置的 binutils 和 gcc 组成。 茹...
是否可以使用 GNU 工具(gcc、binutils 等)将所有出现的汇编指令修改为无操作?具体来说,带有 -pg 选项的 gcc 生成以下程序集 (ARM): ...
是否可以生成一个在静态链接时具有未定义符号的可执行文件,但在将 LD_PRELOAD 与实现它的库一起使用时可以正确运行? 例如: /* 二进制....
elftutils 在 Mac 上构建错误:配置:错误:需要 __thread 支持
重现说明: $ git clone --深度=1 git://sourceware.org/git/elftils.git $ cd elfutils $ autoreconf -i -f $ ./配置 错误日志: ... 检查编译器是否生成 build-ids....
在 cygwin 中构建 binutils 时出现“make”命令错误
我使用 cygwin 为我的平台构建 binutils。我遵循 GCC 交叉编译器文章并堆栈了“make”命令。我使用的命令: 导出 PREFIX="$HOME/opt/cross" ../比努...
作为尝试构建 gcc 8.2 交叉编译器(针对 ia64-hp-hpux11.31)的一部分,我在构建 binutils 2.31.1 时遇到了问题。构建实际上似乎完成得很好。我以 b 结尾...
我正在开发一个简单的操作系统。 安装 gcc 和 binutils 时出现错误: 缺少 32 位库 有些文章说不支持32位库...
我有C语言,gcc工具链,elf32格式的目标文件。 假设我有函数 a(),其中包含对函数 b() 的调用。如果它们位于单个 .c 文件中,则生成的 .o 文件包含 .te...
我正在将 GCC 和 Binutils 移植到一个独特的(非常简单的)8 位 RISC 软处理器。 我希望能够执行 16 位和 32 位算术。目前的 ISA 可能还不够......
我想知道 MIPS binutils 工具链是否有现有的 NixOS 软件包?换句话说,在 Ubuntu 上我会运行: sudo apt install binutils-mips-linux-gnu,但是如何获得像 mip 这样的工具...
链接描述文件中自定义 .rawdata 部分的数据完整性问题
我正在使用 ARM Cortex-M4 处理器(特别是 STM32F4 微控制器)开发一个嵌入式项目,并且遇到了与链接器中定义的内存部分相关的特殊问题...
Binutils objdump 报告 COFF 对象中的节大小不正确
Linux 上的 objdump 工具(GNU Binutils 的一部分)似乎错误地显示了 COFF 目标文件的部分大小。例如,.bss 部分的大小应该是 0x130,但是 objd...
GNU链接器:ELF有一个具有RWX权限的LOAD段。嵌入式ARM项目
我已经更新了我的arm-none-eabi GCC和相关工具,并重建了我开发的嵌入式项目。 $arm-none-eabi-ld --版本 GNU ld(GNU Binutils)2.39 突然,我收到警告 /你...
MacOS 12.1 找不到我安装的 GNU binutils
我想使用 GNU binutils 检查 MacOS 12.1 上的可执行文件。我做了一个 %brew 安装 binutils 一切似乎都很顺利。首先我尝试了一个 % 阅读 但被给予: 兹什:
使用 objcopy 从原始二进制文件创建对象时如何指定符号名称?
如本答案所述,GNU objcopy 可用于从任意文件内容创建目标文件。该方法可用于将资源嵌入到程序中。然而,符号名称是通用的...
ARM汇编指令,add x14, x14, #1 和 add x14, x14, 1 的区别
我正在尝试编写一些arm程序集,并且我的代码中有一个恼人的错误,我使用add x14,x14,#1来迭代一个,使用gdb单步执行代码的结果是:
我正在关注一个网站(http://wiki.osdev.org/GCC_Cross-Compiler)来学习如何交叉编译不同架构的一些代码。因此,第一步是下载并编译 Binutils
在程序集中写入共享对象时如何处理“针对受保护符号的重定位 R_X86_64_PC32”?
我正在用汇编语言编写一个目标文件以包含在共享对象中。我正在使用 GNU 工具链,我的目标是 x86_64-pc-linux-gnu。请考虑以下(示例)sou...
我在 ARM64 (aarch64) 架构的 Ubuntu 中遇到了这个错误,其中 Objdump 不想运行。 以下命令“objdump -d 文件名”的错误消息: 文件名:文件格式 e...
如果 objdump 是使用 -g -O0 构建的,那么为什么 gdb 在 objdump.exe 中找不到调试符号?
我将 binutils 构建为: $ mkdir 调试 $ 光盘调试 $ ../configure --prefix=/dbg CPPFLAGS=-DDEBUG CFLAGS="-g -O0" CXXFLAGS="-g -O0" --disable-gdb --disable-ld $制作-j8 我调试 objd...