# git gc Expanding reachable commits in commit graph: 54707 Expanding reachable commits in commit graph: 112600 Expanding reachable commits in commit graph: 171186 Expanding reachable commits in commit graph: 231008 Expanding reachable commits in commit graph: 290327 Expanding reachable commits in commit graph: 351316 Expanding reachable commits in commit graph: 412523 Expanding reachable commits in commit graph: 473876 Expanding reachable commits in commit graph: 531843 Expanding reachable commits in commit graph: 593381 Expanding reachable commits in commit graph: 654769 Expanding reachable commits in commit graph: 715556 Expanding reachable commits in commit graph: 764807 Expanding reachable commits in commit graph: 792779 Expanding reachable commits in commit graph: 821293 Expanding reachable commits in commit graph: 845825 Expanding reachable commits in commit graph: 869034 Expanding reachable commits in commit graph: 891724 Expanding reachable commits in commit graph: 918089 Expanding reachable commits in commit graph: 943836 Expanding reachable commits in commit graph: 969888 Expanding reachable commits in commit graph: 1001399 Expanding reachable commits in commit graph: 1027568 Expanding reachable commits in commit graph: 1053792 Expanding reachable commits in commit graph: 1079500 Expanding reachable commits in commit graph: 1107007 Expanding reachable commits in commit graph: 1133329 Expanding reachable commits in commit graph: 1159781 Expanding reachable commits in commit graph: 1195398 Expanding reachable commits in commit graph: 1240854 Expanding reachable commits in commit graph: 1273466 Expanding reachable commits in commit graph: 1303714 Expanding reachable commits in commit graph: 1321975, done. Finding extra edges in commit graph: 93% (1235394/1321975) Finding extra edges in commit graph: 94% (1242657/1321975) Finding extra edges in commit graph: 95% (1255877/1321975) Finding extra edges in commit graph: 96% (1269096/1321975) Finding extra edges in commit graph: 97% (1282316/1321975) Finding extra edges in commit graph: 98% (1295536/1321975) Finding extra edges in commit graph: 99% (1308756/1321975) Finding extra edges in commit graph: 100% (1321975/1321975) Finding extra edges in commit graph: 100% (1321975/1321975), done. Writing out commit graph in 4 passes: 52% (2767826/5287900) Writing out commit graph in 4 passes: 53% (2802587/5287900) Writing out commit graph in 4 passes: 54% (2855466/5287900) Writing out commit graph in 4 passes: 55% (2908345/5287900) Writing out commit graph in 4 passes: 56% (2961224/5287900) Writing out commit graph in 4 passes: 56% (3012475/5287900) Writing out commit graph in 4 passes: 57% (3014103/5287900) Writing out commit graph in 4 passes: 58% (3066982/5287900) Writing out commit graph in 4 passes: 59% (3119861/5287900) Writing out commit graph in 4 passes: 60% (3172740/5287900) Writing out commit graph in 4 passes: 60% (3218502/5287900) Writing out commit graph in 4 passes: 61% (3225619/5287900) Writing out commit graph in 4 passes: 62% (3278498/5287900) Writing out commit graph in 4 passes: 63% (3331377/5287900) Writing out commit graph in 4 passes: 63% (3363901/5287900) Writing out commit graph in 4 passes: 64% (3384256/5287900) Writing out commit graph in 4 passes: 65% (3437135/5287900) Writing out commit graph in 4 passes: 66% (3490014/5287900) Writing out commit graph in 4 passes: 66% (3501200/5287900) Writing out commit graph in 4 passes: 67% (3542893/5287900) Writing out commit graph in 4 passes: 68% (3595772/5287900) Writing out commit graph in 4 passes: 68% (3613035/5287900) Writing out commit graph in 4 passes: 69% (3648651/5287900) Writing out commit graph in 4 passes: 70% (3701530/5287900) Writing out commit graph in 4 passes: 70% (3737713/5287900) Writing out commit graph in 4 passes: 71% (3754409/5287900) Writing out commit graph in 4 passes: 72% (3807288/5287900) Writing out commit graph in 4 passes: 72% (3856839/5287900) Writing out commit graph in 4 passes: 73% (3860167/5287900) Writing out commit graph in 4 passes: 74% (3913046/5287900) Writing out commit graph in 4 passes: 75% (3965925/5287900) Writing out commit graph in 4 passes: 76% (4018804/5287900) Writing out commit graph in 4 passes: 77% (4071683/5287900) Writing out commit graph in 4 passes: 78% (4124562/5287900) Writing out commit graph in 4 passes: 78% (4150841/5287900) Writing out commit graph in 4 passes: 79% (4177441/5287900) Writing out commit graph in 4 passes: 80% (4230320/5287900) Writing out commit graph in 4 passes: 81% (4283199/5287900) Writing out commit graph in 4 passes: 82% (4336078/5287900) Writing out commit graph in 4 passes: 83% (4388957/5287900) Writing out commit graph in 4 passes: 84% (4441836/5287900) Writing out commit graph in 4 passes: 85% (4494715/5287900) Writing out commit graph in 4 passes: 86% (4547594/5287900) Writing out commit graph in 4 passes: 87% (4600473/5287900) Writing out commit graph in 4 passes: 88% (4653352/5287900) Writing out commit graph in 4 passes: 89% (4706231/5287900) Writing out commit graph in 4 passes: 90% (4759110/5287900) Writing out commit graph in 4 passes: 91% (4811989/5287900) Writing out commit graph in 4 passes: 92% (4864868/5287900) Writing out commit graph in 4 passes: 93% (4917747/5287900) Writing out commit graph in 4 passes: 94% (4970626/5287900) Writing out commit graph in 4 passes: 95% (5023505/5287900) Writing out commit graph in 4 passes: 96% (5076384/5287900) Writing out commit graph in 4 passes: 97% (5129263/5287900) Writing out commit graph in 4 passes: 98% (5182142/5287900) Writing out commit graph in 4 passes: 99% (5235021/5287900) Writing out commit graph in 4 passes: 100% (5287900/5287900) Writing out commit graph in 4 passes: 100% (5287900/5287900), done. # git rev-parse -q --verify 06513ddaf77b8f49ef8540c92d92c9ef0ad49426^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/mirror/linux-kbuild.git for-next remote: warning: multi-pack bitmap is missing required reverse index # git rev-parse -q --verify 06513ddaf77b8f49ef8540c92d92c9ef0ad49426^{commit} 06513ddaf77b8f49ef8540c92d92c9ef0ad49426 # git checkout -q -f -B kisskb 06513ddaf77b8f49ef8540c92d92c9ef0ad49426 # git clean -qxdf # < git log -1 # commit 06513ddaf77b8f49ef8540c92d92c9ef0ad49426 # Author: Masahiro Yamada # Date: Sun Nov 10 10:34:39 2024 +0900 # # kbuild: allow to start building external modules in any directory # # Unless an explicit O= option is provided, external module builds must # start from the kernel directory. # # This can be achieved by using the -C option: # # $ make -C /path/to/kernel M=/path/to/external/module # # This commit allows starting external module builds from any directory, # so you can also do the following: # # $ make -f /path/to/kernel/Makefile M=/path/to/external/module # # The key difference is that the -C option changes the working directory # and parses the Makefile located there, while the -f option only # specifies the Makefile to use. # # As shown in the examples in Documentation/kbuild/modules.rst, external # modules usually have a wrapper Makefile that allows you to build them # without specifying any make arguments. The Makefile typically contains # a rule as follows: # # KDIR ?= /path/to/kernel # default: # $(MAKE) -C $(KDIR) M=$(CURDIR) $(MAKECMDGOALS) # # The log will appear as follows: # # $ make # make -C /path/to/kernel M=/path/to/external/module # make[1]: Entering directory '/path/to/kernel' # make[2]: Entering directory '/path/to/external/module' # CC [M] helloworld.o # MODPOST Module.symvers # CC [M] helloworld.mod.o # CC [M] .module-common.o # LD [M] helloworld.ko # make[2]: Leaving directory '/path/to/external/module' # make[1]: Leaving directory '/path/to/kernel' # # This changes the working directory twice because the -C option first # switches to the kernel directory, and then Kbuild internally recurses # back to the external module directory. # # With this commit, the wrapper Makefile can directly include the kernel # Makefile: # # KDIR ?= /path/to/kernel # export KBUILD_EXTMOD := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) # include $(KDIR)/Makefile # # This avoids unnecessary sub-make invocations: # # $ make # CC [M] helloworld.o # MODPOST Module.symvers # CC [M] helloworld.mod.o # CC [M] .module-common.o # LD [M] helloworld.ko # # Signed-off-by: Masahiro Yamada # Reviewed-by: Nicolas Schier # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 06513ddaf77b8f49ef8540c92d92c9ef0ad49426 # make -s -j 160 ARCH=m68k O=/kisskb/build/kbuild_defconfig_m68k-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux- defconfig # < make -s -j 160 ARCH=m68k O=/kisskb/build/kbuild_defconfig_m68k-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 160 ARCH=m68k O=/kisskb/build/kbuild_defconfig_m68k-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 160 ARCH=m68k O=/kisskb/build/kbuild_defconfig_m68k-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.3.0-nolibc/m68k-linux/bin/m68k-linux- Completed OK # rm -rf /kisskb/build/kbuild_defconfig_m68k-gcc11 # Build took: 0:14:03.223025