gnu - `.note.gnu.property' 在被丢弃的 `.note.gnu.property' 部分中定义的 `.text' 部分中引用
问题描述
我有文件port.cpp
和port.h
.
该代码与此问题无关。我相信,问题在于链接描述文件。
链接描述文件包含以下代码:
ENTRY(loader)
OUTPUT_FORMAT(elf32-i386)
OUTPUT_ARCH(i386:i386)
SECTIONS
{
. = 0x0100000;
.text :
{
*(.multiboot)
*(.text*)
*(.rodata)
}
.data :
{
start_ctors = .;
KEEP(*( .init_array ));
KEEP(*(SORT_BY_INIT_PRIORITY( .init_array.* )));
end_ctors = .;
*(.data)
}
.bss :
{
*(.bss)
}
/DISCARD/ :
{
*(.fini_array*)
*(.comment)
}
}
当我ld
使用唯一的标志运行时,-melf_i386
我得到了这个错误:
`.note.gnu.property' referenced in section `.text' of port.o: defined in discarded section `.note.gnu.property' of port.o
我相信问题出在链接器上,但即使在阅读ld
文档之后,查看正在生成的汇编代码并添加KEEP(*( .note.gnu.property ));
我也无法修复它。
解决方案
推荐阅读
- python-3.x - 决定机器人是否在聊天室或 PM 中响应
- google-cloud-platform - 如何将默认 gcp 服务帐户设置为云作曲家
- laravel-5 - 如何仅在刀片中为空、零或空时隐藏表格部分,
- swift - 如何创建一个提取来总结属性之间的差异
- jquery - 如何在我的输入字段中将数字限制为 3?
- javascript - 尽管 observables 没有改变,但 MobX 在读取时完全重新计算?
- ruby - 如何使用 Ruby 将值填充到现有 PDF 中存在的输入元素?
- java - Java - 何时使用 JSR223 脚本执行基于 Java 的语言
- sql - 如何做结果和当前值的对角线减法
- wso2 - WSO2 身份服务器密钥管理器中的辅助 JDBC 用户存储的登录/角色/权限问题