1. 02 10月, 2022 2 次提交
    • M
      kbuild: remove head-y syntax · ce697cce
      Masahiro Yamada 提交于
      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: NMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: NNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: NNicolas Schier <nicolas@fjasle.eu>
      ce697cce
    • M
      kbuild: use obj-y instead extra-y for objects placed at the head · 32164845
      Masahiro Yamada 提交于
      The objects placed at the head of vmlinux need special treatments:
      
       - arch/$(SRCARCH)/Makefile adds them to head-y in order to place
         them before other archives in the linker command line.
      
       - arch/$(SRCARCH)/kernel/Makefile adds them to extra-y instead of
         obj-y to avoid them going into built-in.a.
      
      This commit gets rid of the latter.
      
      Create vmlinux.a to collect all the objects that are unconditionally
      linked to vmlinux. The objects listed in head-y are moved to the head
      of vmlinux.a by using 'ar m'.
      
      With this, arch/$(SRCARCH)/kernel/Makefile can consistently use obj-y
      for builtin objects.
      
      There is no *.o that is directly linked to vmlinux. Drop unneeded code
      in scripts/clang-tools/gen_compile_commands.py.
      
      $(AR) mPi needs 'T' to workaround the llvm-ar bug. The fix was suggested
      by Nathan Chancellor [1].
      
      [1]: https://lore.kernel.org/llvm/YyjjT5gQ2hGMH0ni@dev-arch.thelio-3990X/Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: NNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: NNicolas Schier <nicolas@fjasle.eu>
      32164845
  2. 29 9月, 2022 15 次提交
  3. 26 9月, 2022 1 次提交
  4. 19 9月, 2022 1 次提交
  5. 12 9月, 2022 1 次提交
  6. 05 9月, 2022 1 次提交
  7. 01 9月, 2022 1 次提交
  8. 29 8月, 2022 1 次提交
  9. 22 8月, 2022 1 次提交
  10. 21 8月, 2022 1 次提交
    • M
      kbuild: fix the modules order between drivers and libs · 11314751
      Masahiro Yamada 提交于
      Commit b2c88554 ("kbuild: update modules.order only when contained
      modules are updated") accidentally changed the modules order.
      
      Prior to that commit, the modules order was determined based on
      vmlinux-dirs, which lists core-y/m, drivers-y/m, libs-y/m, in this order.
      
      Now, subdir-modorder lists them in a different order: core-y/m, libs-y/m,
      drivers-y/m.
      
      Presumably, there was no practical issue because the modules in drivers
      and libs are orthogonal, but there is no reason to have this distortion.
      
      Get back to the original order.
      
      Fixes: b2c88554 ("kbuild: update modules.order only when contained modules are updated")
      Signed-off-by: NMasahiro Yamada <masahiroy@kernel.org>
      11314751
  11. 15 8月, 2022 1 次提交
  12. 11 8月, 2022 1 次提交
  13. 01 8月, 2022 1 次提交
  14. 31 7月, 2022 1 次提交
  15. 27 7月, 2022 3 次提交
  16. 25 7月, 2022 2 次提交
  17. 18 7月, 2022 1 次提交
  18. 12 7月, 2022 1 次提交
  19. 11 7月, 2022 1 次提交
  20. 04 7月, 2022 1 次提交
  21. 27 6月, 2022 1 次提交
  22. 26 6月, 2022 1 次提交