问题标签 [lld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linker - `-rpath-link` 和 `-L` 有什么区别?
男人的gold
状态:
bfd 的 manld
听起来有点像-rpath-link
用于递归包含的 sos。
ld.lld
甚至没有将其列为论点。
有人可以为我澄清这种情况吗?
clang++ - 检查用于在 Mac OS 上创建可执行文件的“链接器”的命令(由 clang++ 使用)
我在 mac os 上使用“clang++”编译器(使用 mac os 10.9 sdk)创建了一个可执行文件。
我的查询是如何确认(检查命令)我的可执行文件是使用 ld.lld 链接器还是 ld.gold/其他链接器创建的?mac os 上的默认链接器“clang++”使用(交叉检查命令)是什么?
问候, 维奈
linker-scripts - 使用 MEMORY 时忽略节地址
我有一个链接器脚本:
如果我使用它链接一个(非常简单的)文件,它会给出我所期望的:
并且aligned_dot
是:
但是,我想使用这样的MEMORY
命令:
当我使用此脚本链接时,该部分的地址似乎.data
被忽略了!
即使仍然aligned_dot
是:
这很奇怪吧?到底是怎么回事?这是使用 Clang 的 LLD。
git - 具有通用克隆目录的 Git 子模块
我正在开发一个使用LLVM和LLD的项目,它们存储在单独的远程存储库(https://git.llvm.org/git/llvm,https://git.llvm.org/git/lld)中。要构建 LLD,必须将其克隆到 LLVM 内部,LLVM 构建系统将检测它的存在并为其生成构建目标(文档)。恰恰:
LLD_CLONE_DIR = LLVM_CLONE_DIR/tools/lld
我想使用 git 子模块,并调用git submodule update --init --recursive
(在 CMake 配置期间)。
我发现 git 无法处理将一个子模块放入另一个子模块的问题,例如:
我想过让我的构建脚本构造一个符号链接,但它在某些平台(Windows)上是不可靠的。如何构建目录以使 LLVM 构建系统满意,但我可以使用 git 子模块来克隆两个存储库?
更新:我已成功使用 CMake 的文件命令将 lld 源复制到正确的位置。不过,我仍然对更好的解决方案感兴趣。
clang - 有没有办法禁用特定的 llvm lld 警告?
我从 llvm 6.0.0 收到以下警告,lld
同时链接到libiomp5.so
我从 llvm 6.0.0 ubuntu 14.04 下载(此处)预构建的警告
据我所知,这对我来说是一个可忽略的问题(无论如何一切仍然有效)。我不想禁用所有警告,或者禁用将警告视为错误。我怎样才能告诉链接器忽略这个警告?
c++ - 如何为 LLVM lld 提供共享库路径?
我正在尝试使用 LLVM lld 链接器而不是我之前使用的 GNU ld 链接器。
LLD 8.0.0(与 GNU 链接器兼容)
我有一些共享库放置在/usr/local/lib
. 我为 GNU ld 链接器设置了路径ld.so.conf
来查找库。但是, lld 忽略ld.so.conf
. 我也尝试设置LD_LIBRARY_PATH
/usr/local/lib
但 lld 似乎也忽略了这一点。如何添加/usr/local/lib
到 lld 链接器搜索路径?
llvm - 与 LLD 链接时禁用重定位
是否有一个选项lld
会告诉它不要执行重定位。我不想要 PIC 代码,我只想不执行重定位。(是的,我知道这会导致可执行文件不起作用。)
clang - Clang Windows LD 设置库路径不起作用?
在 6.0.0 或 6.0.1 的 windows 上编译
ld.lld 在指定路径中找不到库。
这不起作用:
ld.lld Source.o -o Executable.exe -L"C:/Users/Username/Documents/" libcode.a
但这确实:
ld.lld Source.o -o Executable.exe C:/Users/Username/Documents/libcode.a
我在这里做错了吗?它适用于 gnu ld 就好了。
clang - ld.lld 链接器是否在 Windows 上正常工作?
起初 ld.lld 似乎链接成功,但执行调用指令时可执行文件崩溃。
我正在使用 clang 6.0.1
我的程序使用 gcc ld 链接并执行得很好。
有人告诉我驱动程序不完整,这是真的吗?
有没有人使用 ld.lld 成功链接并在 Windows 上运行?
c++ - -O2 函数作用域静态 TLS 上的 LLD 错误不能用于使用 -fPIC 重新编译符号
我正在使用 LLVM 的 LLD8 来替换 GNU-LD 以提高链接速度。但是当我制作.so文件时,发布模式出现了一个奇怪的错误。精简后,我用一个简单的例子重现了这个问题
测试.h:
测试.cpp
主文件
在我的项目中从 make V=1 stdout 复制的 cmds 之后,我将这些 cmds 保存到脚本中并编译我的示例文件
编译库:
链接库
编译文件
链接所以
最后我得到了这个错误
如您所见,我已经在我的 cmds 中传递了 -fPIC,所以我将 -znotext 传递给 lld 但我又遇到了另一个错误
此错误仅在我以发布模式编译项目时报告,当我删除 -O2 时,它链接良好。但是当我使用在调试模式下链接的 so/bin 来运行测试用例时,我在使用函数作用域静态 tls 的代码周围得到了很多无异常的核心转储。