gpt4 book ai didi

assembly - Linux内核添加S文件时的链接问题

转载 作者:行者123 更新时间:2023-12-02 18:54:06 27 4
gpt4 key购买 nike

上一个问题得到解答后:Adding a .S file to the linux kernel code我能够将 .S 文件添加到 Linux 内核 make 文件中。但是,我的 .S 文件包含几个替换用 C 编写的函数的部分。我注释掉了这些函数,并将替换函数声明为全局函数,但是当我尝试链接内核(使用 make)时,出现以下错误:

arch/x86/kernel/vmlinux.lds:XXX: non constant or forward reference address expression for section .YYY

我替换的原始函数是使用以下方式声明的:__attribute__ ((unused, __section__("YYY"))) notrace

asm 部分使用以下方式声明:

.text
.globl YYY

我还尝试添加:

.type YYY,@function

我可能在某个地方错过了一些声明,但我不知道该在哪里查看。

有什么想法吗?

最佳答案

如果要将汇编函数放入 YYY 部分,而不是 .text,则需要替换

.text

.section YYY,"ax"

关于assembly - Linux内核添加S文件时的链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4286429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com