gpt4 book ai didi

llvm - 使用 LLVM 编译 Linux 内核

转载 作者:行者123 更新时间:2023-12-01 12:28:04 36 4
gpt4 key购买 nike

我们想在 FPGA 上为单核 RISCV 处理器移植 Linux。同时,Linux 内核将通过 LLVM pass 进行检测。

我的疑惑是:1. riscv-llvm工具链是否可以用来编译Linux内核?2. riscv-llvm工具链是否支持添加自定义pass?

最佳答案

选择的 Linux 版本 2.6.33 有两个问题。

第一个问题是 RISC-V 团队从未将此版本移植到 RISC-V。他们在 https://github.com/riscv/riscv-linux 中有 3.14 和 4.1 .因此,要在 RISC-V 处理器中启动它,您应该重复架构相关部分(内核的 arch/ 目录)的所有移植。这是非常复杂的任务,即使 objective-c PU 有一些移植版本。您可以从 3.14 向后移植某些部分,但 2.6.33 和 3.14 不同,它们之间有几年的演变。 (PORTING不仅仅是COMPILING,它是写30个文件没有任何错误的任务,或者调试很长时间。)

第二个问题是 LLVM 只能完全构建具有补丁的现代 Linux 内核版本 http://llvm.linuxfoundation.org/项目。在内核的某些部分使用了不受支持(并且在 clang/llvm 中永远不会支持)的 GCC 扩展。部分构建是可能的,但旧 Linux 的两三个组件不能用 clang 构建。

所以,我真的建议你使用 RISCV 团队的 linux 内核版本,并且更新 (4.1) 更好。

关于llvm - 使用 LLVM 编译 Linux 内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639308/

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