我正在阅读 Zircon 内核(Fuchsia OS)的 start.S 汇编代码:
https://fuchsia.googlesource.com/fuchsia/+/master/zircon/kernel/arch/arm64/start.S
有这样一行:
.text
FUNCTION(_start)
我认为这是在内核上执行的第一件事。然而,为了它是真实的,_start
应该是全球性的。我无法确定是不是。
还有另外一行:
// This symbol is used by image.S
.global IMAGE_ELF_ENTRY
IMAGE_ELF_ENTRY = _start
这暗示了类似的事情。
什么在FUNCTION
上FUNCTION(_start)
?我尝试搜索“程序集功能宏”,但没有找到与此相关的内容。
看起来这是第一次运行代码,但我无法确定它在哪里分支到真正的内核代码(C++ 代码),所以我很怀疑。