gpt4 book ai didi

linux - 构建 Linux Kernel 4.18 时出现编译时错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:59:46 24 4
gpt4 key购买 nike

我试图在编译 Linux 内核 4.18 时禁用内联。

为此,我根据以下内容更新了 Makefile:https://elinux.org/Kernel_dynamic_memory_analysis#Obtaining_accurate_call_sites_.28or_The_painstaking_task_of_wrestling_against_gcc.29

但是在编译时出现以下错误:

error: call to ‘__compiletime_assert_1094’ declared with attribute error: BUILD_BUG_ON failed: p4d_large(*p4d)

如何在内核构建期间禁用内联时消除错误?

最佳答案

BUILD_BUG_ON() 需要常量表达式。有时对内联函数的调用会传递给它。 GCC 能够将一些内联函数优化为常量表达式,使其工作。禁用内联将阻止这种情况,破坏构建。 (在某些情况下,这也是 Clang 的一个问题,它在内联之前进行语义分析。)

您可能必须更改相当多的代码才能构建禁用内联的内核。您引用的页面相当旧;想必这在当时不是问题。

关于linux - 构建 Linux Kernel 4.18 时出现编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52976300/

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