我们正在向客户分发四种不同的 static 库: 库 A:包含一些常用函数,但也包含来自 linux 的一些嵌入式通用库,这些库不打算公开给客户,而是公开给我们的其他库(因此我们需要导出符号) 库 B:有一些未解析的符号,可以在库 A 中找到库 C:有一些未解析的符号,可在库 A 中找到库 D:有 ...
我们正在向客户分发四种不同的 static 库: 库 A:包含一些常用函数,但也包含来自 linux 的一些嵌入式通用库,这些库不打算公开给客户,而是公开给我们的其他库(因此我们需要导出符号) 库 B:有一些未解析的符号,可以在库 A 中找到库 C:有一些未解析的符号,可在库 A 中找到库 D:有 ...
我试图将两个 risc-v elf 文件与ld.lld链接在一起,但ld.lld给我以下错误: 我想我需要将我的文件与一些辅助函数链接起来,但是在我的 clang lib 文件夹 ( /usr/local/Cellar/llvm/15.0.6/lib/clang/15.0.6/lib ) 中查找它 ...
我们的项目所用语言的构建工具会并行编译和链接,用于许多不同的二进制文件等。 在 CI 中,我们有一个单独的线程来查找这些已编译的二进制文件,因为它们可用并启动其他进程。 问题是似乎仅仅等待文件存在并变成chmod a+x是不够的,有时我们最终会上传损坏的二进制文件。 有什么方法可以仅通过查看文件来 ...
我在终端上的 Simu5g make 中收到以下错误。 最后未构建libsimu5g.so文件。 创建共享库:../out/clang-release/src/libsimu5g.so ld.lld: 错误: 无法找到库 -l.NET clang:错误:linker 命令失败,退出代码为 1( ...
是否可以向 llvmlite(python 库)添加新目标? 对于新硬件(例如 ASIC),我需要一个新的自定义 LLVM 目标。 这从文档中不是很清楚。 如果无法在 llvmlite 中添加新目标,我可以在 llvmlite 中生成 IR 并使用其他方法执行 rest 吗? ...
我正在构建一个 cpp 项目,但链接失败,因为.debug_info段太大,超过2^32-1 。 是否有工具可以定位代码的哪一部分具有较大的.debug_info段,或者是否有办法消除此限制? 编译器版本: 错误: ...
我已经成功地从源代码构建了 clang和lld ,现在两者都可以在我的.../llvm-project/build/bin目录下使用。 在lld 文档之后,我现在尝试将 -fuse -ld=lld命令行指令传递给clang以强制它使用lld而不是系统默认的 linker (如果我没记错的话,这是G ...
我最近一直在尝试将 cpp 文件转换为没有 emscripten 的 wasm,并且我一直在运行时遇到一些错误,例如,当我运行这些命令时: 它给了我这个错误: 以下是我目前拥有的 clang 和 lld 版本: 另外,我在 repli 上运行代码 谢谢 ...
我正在使用 zabbix 6.0.4 并创建了一个返回此 json 的自定义 python 脚本: 现在,当我使用代理在本地主机上运行时,要测试的命令: 它没有给我任何错误,我可以看到 json 响应,但是当我从服务器运行测试时出现错误 该错误与我在 get_status.py 脚本中运 ...
使用 macOS 的内置ld时,出现以下错误: 但是,该符号是在同一个目标文件中定义的函数。 在目标文件上使用objdump ,我可以确认该函数确实存在: 为了确保我没有发疯,我决定亲眼看看 Ghidra(请参阅附图)。 所以我的问题是,是什么让 macOS 的ld找不到这个符号? 使用 ...
我有一个包含多个子项目的 CMake 项目,这些子项目创建了使用-flto=thin构建的静态库。 该项目有很多与上述库相关联的测试。 使用 LTO 需要花费大量时间来构建测试,因此我使用-fno-lto禁用了 LTO 进行测试。 不过,我注意到的是,即使使用-fno-lto , lld也会在测 ...
我正在开发一个迁移引擎,将数据从旧系统迁移到新系统。 它分为3个步骤。 首先从旧表中获取数据。 准备请求主体以通过 API 插入到新表中后处理步骤。 这里使用哪种设计模式? 我正在考虑使用构建器模式在我执行多个 API 调用以将数据插入新表的第二步中。 这有一些顺序。 如果 API 调用失败,则需要 ...
我一直在 linux 上编写一些 x64 程序集——确切地说它是不相关的——我遇到了一个奇怪的问题。 In my assembly code, I've declared printf as an external label, and call it using the x64 Linux C ...
好消息是,我能够从 Windows / Cygwin 下的分支 llvmorg-12.0.1 编译和安装 Clang 和 lld。 它可以很好地编译我的代码,但 linker 说: 我想知道,因为我认为 lld 采用与 ld 相同的 cli 参数。 我正在开发一个包含 gtest 并使用 cmak ...
我一直在尝试在我的 Windows 10 机器上设置 LLVM 工具链。 我放弃了从源代码构建并安装了 MSYS2 mingw-w64-clang-x86_64-toolchain package(clang 版本 13.0.0)。 我可以编译使用 C++ 标准库的简单代码。 我使用 clang 编 ...
我正在尝试将 Cortex-M4 固件与 clang + lld 链接起来。 gcc 构建工作正常。 我使用的是库存 CMSIS linker 脚本,仅调整了 RAM 和 ROM 大小(基础相同)。 脚本开头(无注释): 脚本末尾的断言ASSERT(__StackLimit >= __Hea ...
我想解析 lld 映射文件。 有解释或文档吗? 我检查了clang 文档和lld 文档,但没有找到有用的信息。 这是我的地图文件的示例 ...
我正在尝试使用 clang 为 Cortex-M0 构建固件。 gcc 构建当然可以正常工作。 链接期间构建失败 linker 脚本非常标准(CMSIS 提供的脚本中也有违规行)。 相关部分: 我的 LLD 版本 如何修复链接? ...
想要遵循本文中所做的工作: https : //surma.dev/things/c-to-webassembly/但使用 Rust 并编写自定义分配器。 为此,我需要访问__heap_base变量,该变量被 llvm 添加为堆在线性内存中起始位置的指针。 有没有办法在 Rust 中实现这一点? ...
我正在使用 Clang 和 LLD 在 C 中编写 WebAssembly 应用程序。 我如何编写一个将externref作为参数的 C function,以及如何从 JavaScript 调用这个 function? 如何使用 C 中的externref值调用 JavaScript 中定义的导入 ...