Kbuild puts the objects listed in head-y at the head of vmlinux. Conventionally, we do this for head*.S, which contains the kernel entry point. A counter approach is to control the section order by the linker script. Actually, the code marked as __HEAD goes into the ".head.text" section, which is placed before the normal ".text" section. I do not know if both of them are needed. From the build system perspective, head-y is not mandatory. If you can achieve the proper code placement by the linker script only, it would be cleaner. I collected the current head-y objects into head-object-list.txt. It is a whitelist. My hope is it will be reduced in the long run. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Tested-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> |
||
|---|---|---|
| .. | ||
| gcc-plugins.rst | ||
| headers_install.rst | ||
| index.rst | ||
| issues.rst | ||
| kbuild.rst | ||
| kconfig-language.rst | ||
| kconfig-macro-language.rst | ||
| Kconfig.recursion-issue-01 | ||
| Kconfig.recursion-issue-02 | ||
| kconfig.rst | ||
| Kconfig.select-break | ||
| llvm.rst | ||
| makefiles.rst | ||
| modules.rst | ||
| reproducible-builds.rst | ||