Th nm source.o给出未知符号: 我想知道 $d 和 $t 符号的含义。 那是什么? 解释这些的参考是什么? 这是从 eclipse 编译的 C 源码(STM32cubeIDE on Windows 10 64-bit)。 从 eclipse 控制台复制的可能重要的构建命令: 这是来源: ...
Th nm source.o给出未知符号: 我想知道 $d 和 $t 符号的含义。 那是什么? 解释这些的参考是什么? 这是从 eclipse 编译的 C 源码(STM32cubeIDE on Windows 10 64-bit)。 从 eclipse 控制台复制的可能重要的构建命令: 这是来源: ...
当 linker LD 进行动态链接时,它会检查 SO 文件并进行动态链接。 但是,链接中使用的 SO 文件可能不会在运行时使用。 这在交叉编译中经常发生,例如,当我使用 Ubuntu X86_64 作为主机交叉编译 Raspberry PI 4B 的 Hello World 应用程序(使用 aa ...
这是我得到的错误: 我用了 和 是否是配置问题,我必须添加 $CC 之类的变量吗? 我的交叉编译器(/usr/bin/powerpc-linux-gnu-gcc)是 9.1.0 版本并且我正在编译旧版本(不能 go 更高或者我还需要编译gnu glibc ....)。 当我安装交叉编译器时,我也遇到 ...
我想反汇编 C 中的 Wii 游戏可执行二进制文件,它使用百老汇微处理器,不幸的是,我知道我可以使用的唯一反汇编程序是 libopcodes。 关于这个库的文档很少,我正在使用本教程https://blog.yossarian.net/2019/05/18/Basic-disassembly-wit ...
我正在尝试在我的 x86-64 Pc 上为 PowerPc 编译 GNU binutils。 我不是试图交叉编译它们(从 AUR 获得交叉编译器版本),我试图在我的电脑上编译它们以在另一台电脑上使用它们(它没有网络等,只有一个 SD 卡)。 无论如何,我已经下载了 tar 文件并尝试运行。/conf ...
我已经成功使用 Ada 多年了; 但我正在尝试创建“hello world”,但出现以下错误: ...
我正在使用以下设置在 x86_64 linux 上为 armv7l linux 进行交叉编译: 工具链.cmake: CMakeLists.txt: 主.c: #include <stdio.h> #include <archive.h> int main(int ...
我有一个 C++ 源mycpp.cpp和一个 C 源myc.c 。 C 源代码包含一个从 C++ 调用的函数myCFunc() : extern "C" { #include "my_c.h" } void aCppFunction() { myCFunc(stuff, and, thi ...
我需要 Amazon Linux 上的更新版本的 binutils 来编译所需的软件。 这是由于版本 2.29 中的一个错误,这是他们 repo 中的最新版本。 添加另一个存储库的最佳方法是什么,这会在我添加和删除未批准的存储库时弄乱 yum 命令的未来使用吗? 我可以只添加类似 CentOS 的 ...
背景我正在从事一些针对具有最新 GNU 工具链的旧嵌入式设备的项目。 由于 memory 非常有限,代码被分成一个主要部分和一些叠加层,其中叠加层被压缩以节省空间并且只在需要时从 ROM 映像加载。 主二进制和覆盖都是 static 对象,这意味着它们总是被加载到某个固定地址。 困难为了处理主二进制 ...
我正在尝试使用 Monterey 12.2.1 和 XCOde 13.2.1(使用适用于 13.2.1 的命令行工具)在我的 MacOS 上构建 binutils。 我通过克隆存储库下载了 binutils 源代码 我独立下载了 GMP 的源代码(binutils 的依赖项)并类似地构建和安装了它 ...
我想使用 GNU binutils 检查 MacOS 12.1 上的可执行文件。 我做了一个 似乎 go 没问题。 首先我试了一个 但给出了: 然后我尝试检查 binutils 本身: 这给了我 我尝试同时添加 和 到我的 $PATH 并重新启动 zsh。 文件路径在我的 $PATH 中,自制程序已 ...
可以将--export-dynamic传递给ld ,这将导出程序中的符号(以便它们可用于在运行时加载的任何共享库): ...没有什么。 现在: ...作品。 这记录在https://sourceware.org/binutils/docs-2.34/ld/Options.html#Option ...
我有一个简单的汇编代码(aarch64)如下, 我想把它转换成shellcode。 我做了什么: 之后,我检查了与 xxd 的内容 但是,值 1 和 2 似乎不是结果二进制文件。 我错误地使用了objcopy吗? ...
我需要从共享库 (.so) 文件中更改某些符号,如下例所示:我需要将 .so 文件中的符号abc<\/code>重命名为符号xyz<\/code> 。 我有一个工具可以在头文件中替换它,这只是我在 .so 共享库中更改所面临的挑战。 对于共享库,是否有任何工具或命令可以帮助我 ...
我已经在 debian 的/root/tools/中安装了一个新的 glibc,它已经预装了 glibc。 为了测试新的 glibc,我输入: 产生a.out ,然后输入: 表明 但是输入ls -l /root/tools/lib/ld-linux-x86-64.so.2 ,它显示/ro ...
我目前正在调查我们的工具读取和解释 ELF 文件的问题,该问题在读取特定的 elf 文件时出现问题。 带有选项“-h”的 unix 工具“readelf”为参数“节标题数量”输出 2 个值。 在初始编号之后还有一个。 有效文件的示例: 不起作用的文件示例: 括号里的数字是什么意思? 我想这可能是我 ...
我正在尝试将程序集文件转换为 C++ 用作另一个库的小型且易于插入的“蹦床”加载程序。 它在运行时注入另一个程序,然后加载一个库,在其中运行 function,然后释放它。 这只是为了避免需要对WriteProccessMemory进行多次冗长的调用,并在需要时允许某些运行时检查。 最初,我在汇编 ...
我从这里(主分支)在 linux 机器(Ubuntu)上克隆了binutils-gdb存储库,我想为 Windows 编译它(使用x86_64_w64_mingw32工具链)。 首先,我使用以下选项运行./configure来指定交叉编译工具链。 然后我运行make并得到以下错误(我省略了大部分 o ...
考虑以下程序和相应的 linker 脚本:// file: foo.c int foo = 42; /* file: link.x */ SECTIONS { .data : { *(.data) } /DISCARD/ : { *(*) } } 现在我构建和链接如下:$ ...