在尝试构建内核时,遇到了一个未定义的bug,尤其是在从susfs-main分支中获取代码时(即使我完全禁用了SUSFS)。这个错误也可能发生在tmp-branch上。为什么我没有之前报告这个错误呢?因为我懒得去报告,而且我实际上并不需要在内核中使用SUSFS。我只是想探索我的选项。以下是我在构建时遇到的错误信息:

`/home/???/K-Build/A037F/out/../fs/exec.c:1998:(.text+0x2730): undefined reference to ksu_handle_execve_sucompat' /home/???/K-Build/A037F/out/../fs/exec.c:1998:(.text+0x2730): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol ksu_handle_execve_sucompat'
`aarch64-linux-gnu-ld: fs/exec.o: in function __do_compat_sys_execve': /home/???/K-Build/A037F/out/../fs/exec.c:2022:(.text+0x2840): undefined reference to ksu_handle_execve_sucompat'
/home/???/K-Build/A037F/out/../fs/exec.c:2022:(.text+0x2840): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol ksu_handle_execve_sucompat'
`make[1]: * [/home/???/K-Build/A037F/Makefile:1167: vmlinux] Error 1

为了复现这个问题,你需要从三星开源固件中获取A037F内核,获取工具链,并遵循指示。使用bash脚本使用MANUAL_HOOK并定义它在你的.config文件中。正常构建内核,直到它几乎完成时,你将得到构建错误。

预期行为是内核应该成功构建而不出现任何问题。但是,由于遇到了未定义的符号错误,导致构建失败。这个问题只发生在susfs-main分支上。操作系统是Arch Linux x86_64,工具链是aarch64-linux-gnu和clang-r383902。这个问题在'事件'发生前我的bash脚本可以正常工作,但现在仍然可以工作。