使用 armv4 目标时 binutils ld 发出 ARM BLX 指令
我希望为运行Linux 2.6.32.2内核的Samsung S3C2440 SoC(基于ARM920T内核)编译C程序。我已经在 ARM926EJS 上运行了现有的 Gentoo Linux。 我使用以下…
有 llvm 的 binutils 吗?
LLVM编译器工具链有一个与普通gcc兼容的gcc。使用 llvm-gcc 的优点是它可以到达任意目标,这意味着当您尝试编译为随机架构(例如 mips-apple-darwin)…
编译静态库时设置较早的最低内核版本
我的发行版(Arch Linux)最近增加了其工具链支持的最低 Linux 内核版本。我正在编译一个静态链接的 Web 应用程序,然后上传到 Web 服务器,而 Web 服…
如何在不使用gcc的情况下将使用C标准库的气体汇编程序与ld链接?
作为更准确地了解 C 程序如何工作以及程序能够使用 libc 必须存在的最低内容级别的练习,我自己尝试主要使用 Gas 和 ld 在 x86 汇编中进行编程。 作为…
gdb\bfd:获取子变量地址或大小或偏移量
我正在使用 gdb 和 libbfd 从 elf 文件中检索全局变量信息并显示它。 我可以从 libbfd 获取以下数据:全局变量名称、地址和大小。 我使用 gdb 和 gdb\…
Mac / iPhone 的 objcopy 等效项?
我想使用 Mac 上相当于 binutils 的 objcopy --redefine-syms 工具的东西来重命名对象文件 (.o) 内的符号。 我没有找到arm-apple-darwin10-objcopy。…
objdump ELF 和 Windows
我对这个主题相当陌生,即 ELF 和任何与 Linux 相关的东西。我正在尝试编写 ELF 文件,并且更喜欢在 WinXP 上执行此操作。 我的问题是,这可以用 MS V…
使用 dlopen() 动态加载共享对象
我正在开发一个普通的 X11 应用程序。 默认情况下,我的应用程序仅需要 libX11.so 和标准 gcc C 和数学库。 该应用程序可以通过 Xfixes、Xrender 和 A…
C 编译器在尝试构建 Binutils 时无法创建可执行文件
我正在尝试从头开始构建 Linux,现在我位于 第 5.4 章,告诉我如何构建 Binutils。我有 binutils 2.20 的源代码,但是当我尝试构建它时: time { ./bi…
给定一个由 C++ 构建的 ELF 二进制文件;使用gcc,我如何确定其中某种类型的大小?
有什么方法可以使用 binutils 工具来实现这一点吗?例如: // x.cc typedef long long MyInt; int main(int argc, char* argv[]) { // blah blah blah…
如何从 objdump 获取信息
我在读取 Linux 中的可执行文件中转储的信息时遇到问题。 信息如下: 804a0ea: 04 08 add $0x8, %al ... 804a0f4: a6 cmpsb %es:(%edi),%ds:(%esi) 我…
如何使用 only-keep-debug 反转 objcopy 的条带?
在现代 Linux 中,几乎所有对象都被剥离并分成两部分(两个文件)。第一个是可执行文件本身,第二个是从原始 ELF 中剥离出来的调试符号。此类文件是通…