首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复"/usr/bin/ld:警告: trap.o:缺失.Note.GNU-堆栈“部分意味着可执行堆栈”?

如何修复"/usr/bin/ld:警告: trap.o:缺失.Note.GNU-堆栈“部分意味着可执行堆栈”?
EN

Stack Overflow用户
提问于 2022-08-21 15:08:45
回答 1查看 932关注 0票数 0

我在wsl中的ubuntu20.04和我主要使用的操作系统archLinux上分别编译了相同的项目。在wsl上,一切都正常,而在archlinux上,错误消息如下所示:

代码语言:javascript
运行
复制
/usr/bin/ld: warning: trap.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

它似乎是由链接器ld引起的错误,它在我的linux操作系统上的版本消息是:

代码语言:javascript
运行
复制
GNU ld (GNU Binutils) 2.39
Copyright (C) 2022 Free Software Foundation, Inc.

在我的wsl上是:

代码语言:javascript
运行
复制
GNU ld (GNU Binutils for Ubuntu) 2.34
Copyright (C) 2020 Free Software Foundation, Inc.

在arch上,gcc的版本是12.1.1,而wsl的版本是gcc 9.3.0

是因为新旧版本的不同吗?我怎么才能修好它?

EN

回答 1

Stack Overflow用户

发布于 2022-08-24 06:16:09

使用ld选项-z noexecstack调用。

归功于https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ffcf9c5700e49c0aee42dcba9a12ba21338e8136

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73435637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档