<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile.modpost</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>e8639b7e - modpost: Allow extended modversions without basic MODVERSIONS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#e8639b7e</link>
        <description>modpost: Allow extended modversions without basic MODVERSIONSIf you know that your kernel modules will only ever be loaded by a newerkernel, you can disable BASIC_MODVERSIONS to save space. This alsoallows easy creation of test modules to see how tooling will respond tomodules that only have the new format.Signed-off-by: Matthew Maurer &lt;mmaurer@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Fri, 03 Jan 2025 17:37:03 +0000</pubDate>
        <dc:creator>Matthew Maurer &lt;mmaurer@google.com&gt;</dc:creator>
    </item>
<item>
        <title>fc7d5e32 - modpost: Produce extended MODVERSIONS information</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#fc7d5e32</link>
        <description>modpost: Produce extended MODVERSIONS informationGenerate both the existing modversions format and the new extended onewhen running modpost. Presence of this metadata in the final .ko isguarded by CONFIG_EXTENDED_MODVERSIONS.We no longer generate an error on long symbols in modpost ifCONFIG_EXTENDED_MODVERSIONS is set, as they can now be appropriatelyencoded in the extended section. These symbols will be skipped in theprevious encoding. An error will still be generated ifCONFIG_EXTENDED_MODVERSIONS is not set.Reviewed-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Signed-off-by: Matthew Maurer &lt;mmaurer@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Fri, 03 Jan 2025 17:37:02 +0000</pubDate>
        <dc:creator>Matthew Maurer &lt;mmaurer@google.com&gt;</dc:creator>
    </item>
<item>
        <title>bad6beb2 - kbuild: remove extmod_prefix, MODORDER, MODULES_NSDEPS variables</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#bad6beb2</link>
        <description>kbuild: remove extmod_prefix, MODORDER, MODULES_NSDEPS variablesWith the previous changes, $(extmod_prefix), $(MODORDER), and$(MODULES_NSDEPS) are constant. (empty, modules.order, andmodules.nsdeps, respectively).Remove these variables and hard-code their values.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 10 Nov 2024 01:34:34 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>13b25489 - kbuild: change working directory to external module directory with M=</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#13b25489</link>
        <description>kbuild: change working directory to external module directory with M=Currently, Kbuild always operates in the output directory of the kernel,even when building external modules. This increases the risk of externalmodule Makefiles attempting to write to the kernel directory.This commit switches the working directory to the external moduledirectory, allowing the removal of the $(KBUILD_EXTMOD)/ prefix fromsome build artifacts.The command for building external modules maintains backwardcompatibility, but Makefiles that rely on working in the kerneldirectory may break. In such cases, $(objtree) and $(srctree) shouldbe used to refer to the output and source directories of the kernel.The appearance of the build log will change as follows:[Before]  $ make -C /path/to/my/linux M=/path/to/my/externel/module  make: Entering directory &apos;/path/to/my/linux&apos;    CC [M]  /path/to/my/externel/module/helloworld.o    MODPOST /path/to/my/externel/module/Module.symvers    CC [M]  /path/to/my/externel/module/helloworld.mod.o    CC [M]  /path/to/my/externel/module/.module-common.o    LD [M]  /path/to/my/externel/module/helloworld.ko  make: Leaving directory &apos;/path/to/my/linux&apos;[After]  $ make -C /path/to/my/linux M=/path/to/my/externel/module  make: Entering directory &apos;/path/to/my/linux&apos;  make[1]: Entering directory &apos;/path/to/my/externel/module&apos;    CC [M]  helloworld.o    MODPOST Module.symvers    CC [M]  helloworld.mod.o    CC [M]  .module-common.o    LD [M]  helloworld.ko  make[1]: Leaving directory &apos;/path/to/my/externel/module&apos;  make: Leaving directory &apos;/path/to/my/linux&apos;Printing &quot;Entering directory&quot; twice is cumbersome. This will beaddressed later.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;n.schier@avm.de&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 10 Nov 2024 01:34:33 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>214c0eea - kbuild: add $(objtree)/ prefix to some in-kernel build artifacts</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#214c0eea</link>
        <description>kbuild: add $(objtree)/ prefix to some in-kernel build artifacts$(objtree) refers to the top of the output directory of kernel builds.This commit adds the explicit $(objtree)/ prefix to build artifactsneeded for building external modules.This change has no immediate impact, as the top-level Makefilecurrently defines:  objtree         := .This commit prepares for supporting the building of external modulesin a different directory.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 10 Nov 2024 01:34:30 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>8d0b7288 - module: allow UNUSED_KSYMS_WHITELIST to be relative against objtree.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#8d0b7288</link>
        <description>module: allow UNUSED_KSYMS_WHITELIST to be relative against objtree.If UNUSED_KSYMS_WHITELIST is a file generatedbefore Kbuild runs, and the source tree is ina read-only filesystem, the developer must putthe file somewhere and specify an absolutepath to UNUSED_KSYMS_WHITELIST. This worked,but if IKCONFIG=y, an absolute path is embeddedinto .config and eventually into vmlinux, causingthe build to be less reproducible when buildingon a different machine.This patch makes the handling ofUNUSED_KSYMS_WHITELIST to be similar toMODULE_SIG_KEY.First, check if UNUSED_KSYMS_WHITELIST is anabsolute path, just as before this patch. If so,use the path as is.If it is a relative path, use wildcard to checkthe existence of the file below objtree first.If it does not exist, fall back to the originalbehavior of adding $(srctree)/ before the value.After this patch, the developer can put the generatedfile in objtree, then use a relative path againstobjtree in .config, eradicating any absolute pathsthat may be evaluated differently on different machines.Signed-off-by: Yifan Hong &lt;elsk@google.com&gt;Reviewed-by: Elliot Berman &lt;quic_eberman@quicinc.com&gt;Signed-off-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Wed, 10 Apr 2024 19:48:02 +0000</pubDate>
        <dc:creator>Yifan Hong &lt;elsk@google.com&gt;</dc:creator>
    </item>
<item>
        <title>b1992c37 - kbuild: use $(src) instead of $(srctree)/$(src) for source directory</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#b1992c37</link>
        <description>kbuild: use $(src) instead of $(srctree)/$(src) for source directoryKbuild conventionally uses $(obj)/ for generated files, and $(src)/ forchecked-in source files. It is merely a convention without any functionaldifference. In fact, $(obj) and $(src) are exactly the same, as definedin scripts/Makefile.build:    src := $(obj)When the kernel is built in a separate output directory, $(src) doesnot accurately reflect the source directory location. While Kbuildresolves this discrepancy by specifying VPATH=$(srctree) to search forsource files, it does not cover all cases. For example, when adding aheader search path for local headers, -I$(srctree)/$(src) is typicallypassed to the compiler.This introduces inconsistency between upstream and downstream Makefilesbecause $(src) is used instead of $(srctree)/$(src) for the latter.To address this inconsistency, this commit changes the semantics of$(src) so that it always points to the directory in the source tree.Going forward, the variables used in Makefiles will have the followingmeanings:  $(obj)     - directory in the object tree  $(src)     - directory in the source tree  (changed by this commit)  $(objtree) - the top of the kernel object tree  $(srctree) - the top of the kernel source treeConsequently, $(srctree)/$(src) in upstream Makefiles need to be replacedwith $(src).Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sat, 27 Apr 2024 14:55:02 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>481461f5 - linux/export.h: make &lt;linux/export.h&gt; independent of CONFIG_MODULES</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#481461f5</link>
        <description>linux/export.h: make &lt;linux/export.h&gt; independent of CONFIG_MODULESCurrently, all files with EXPORT_SYMBOL() are rebuilt when CONFIG_MODULESis flipped due to &lt;linux/export.h&gt; depending on CONFIG_MODULES.Now that modpost can make a final decision about export symbols,&lt;linux/export.h&gt; does not need to make EXPORT_SYMBOL() no-op.Instead, modpost can skip emitting KSYMTAB when CONFIG_MODULES is unset.This commit will reduce the number of recompilation when CONFIG_MODULESis toggled.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 16 Jul 2023 10:15:54 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>5e9e95cc - kbuild: implement CONFIG_TRIM_UNUSED_KSYMS without recursion</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#5e9e95cc</link>
        <description>kbuild: implement CONFIG_TRIM_UNUSED_KSYMS without recursionWhen CONFIG_TRIM_UNUSED_KSYMS is enabled, Kbuild recursively traversesthe directory tree to determine which EXPORT_SYMBOL to trim. If anEXPORT_SYMBOL turns out to be unused by anyone, Kbuild begins thesecond traverse, where some source files are recompiled with theirEXPORT_SYMBOL() tuned into a no-op.Linus stated negative opinions about this slowness in commits: - 5cf0fd591f2e (&quot;Kbuild: disable TRIM_UNUSED_KSYMS option&quot;) - a555bdd0c58c (&quot;Kbuild: enable TRIM_UNUSED_KSYMS again, with some guarding&quot;)We can do this better now. The final data structures of EXPORT_SYMBOLare generated by the modpost stage, so modpost can selectively emitKSYMTAB entries that are really used by modules.Commit f73edc8951b2 (&quot;kbuild: unify two modpost invocations&quot;) is anotherground-work to do this in a one-pass algorithm. With the list of modules,modpost sets sym-&gt;used if it is used by a module. modpost emits KSYMTABonly for symbols with sym-&gt;used==true.BTW, Nicolas explained why the trimming was implemented with recursion:  https://lore.kernel.org/all/2o2rpn97-79nq-p7s2-nq5-8p83391473r@syhkavp.arg/Actually, we never achieved that level of optimization where the chainreaction of trimming comes into play because: - CONFIG_LTO_CLANG cannot remove any unused symbols - CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is enabled only for vmlinux,   but not modulesIf deeper trimming is required, we need to revisit this, but I guessthat is unlikely to happen.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 11 Jun 2023 15:50:57 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>20ff3685 - modpost: propagate W=1 build option to modpost</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#20ff3685</link>
        <description>modpost: propagate W=1 build option to modpost&quot;No build warning&quot; is a strong requirement these days, so you must fixall issues before enabling a new warning flag.We often add a new warning to W=1 first so that the kbuild test robotblocks new breakages.This commit allows modpost to show extra warnings only when W=1(or KBUILD_EXTRA_WARN=1) is given.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Tue, 06 Jun 2023 09:41:59 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>5573b4da - kbuild: do not automatically add -w option to modpost</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#5573b4da</link>
        <description>kbuild: do not automatically add -w option to modpostWhen there is a missing input file (vmlinux.o or Module.symvers), youare likely to get a ton of unresolved symbols.Currently, Kbuild automatically adds the -w option to allow module buildsto continue with warnings instead of errors.This may not be what the user expects because it is generally more usefulto catch all possible issues at build time instead of at run time.Let&apos;s not do what the user did not ask.If you still want to build modules anyway, you can proceed by explicitlysetting KBUILD_MODPOST_WARN=1. Since you may miss a real issue, you needto be aware of what you are doing.Suggested-by: William McVicker &lt;willmcvicker@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Tested-by: Will McVicker &lt;willmcvicker@google.com&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Thu, 26 Jan 2023 02:26:43 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>735aec59 - kbuild: readd -w option when vmlinux.o or Module.symver is missing</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#735aec59</link>
        <description>kbuild: readd -w option when vmlinux.o or Module.symver is missingCommit 63ffe00d8c93 (&quot;kbuild: Fix running modpost with musl libc&quot;)accidentally turned the unresolved symbol warnings into errors whenvmlinux.o (for in-tree builds) or Module.symver (for external modulebuilds) is missing.In those cases, unresolved symbols are expected, but the -w optionis not set because &apos;missing-input&apos; is referenced before set.Move $(missing-input) back to the original place. This should be finefor musl libc because vmlinux.o and -w are not added at the same time.With this change, -w may be passed twice, but it is not a big deal.Link: https://lore.kernel.org/all/b56a03b8-2a2a-f833-a5d2-cdc50a7ca2bb@cschramm.eu/Fixes: 63ffe00d8c93 (&quot;kbuild: Fix running modpost with musl libc&quot;)Reported-by: Christopher Schramm &lt;debian@cschramm.eu&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Tested-by: Samuel Holland &lt;samuel@sholland.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Wed, 04 Jan 2023 14:04:59 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>63ffe00d - kbuild: Fix running modpost with musl libc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#63ffe00d</link>
        <description>kbuild: Fix running modpost with musl libccommit 3d57e1b7b1d4 (&quot;kbuild: refactor the prerequisites of the modpostrule&quot;) moved &apos;vmlinux.o&apos; inside modpost-args, possibly before some ofthe other options. However, getopt() in musl libc follows POSIX andstops looking for options upon reaching the first non-option argument.As a result, the &apos;-T&apos; option is misinterpreted as a positional argument,and the build fails:  make -f ./scripts/Makefile.modpost     scripts/mod/modpost   -E   -o Module.symvers vmlinux.o -T modules.order  -T: No such file or directory  make[1]: *** [scripts/Makefile.modpost:137: Module.symvers] Error 1  make: *** [Makefile:1960: modpost] Error 2The fix is to move all options before &apos;vmlinux.o&apos; in modpost-args.Fixes: 3d57e1b7b1d4 (&quot;kbuild: refactor the prerequisites of the modpost rule&quot;)Signed-off-by: Samuel Holland &lt;samuel@sholland.org&gt;Reviewed-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Tue, 27 Dec 2022 21:48:21 +0000</pubDate>
        <dc:creator>Samuel Holland &lt;samuel@sholland.org&gt;</dc:creator>
    </item>
<item>
        <title>3d57e1b7 - kbuild: refactor the prerequisites of the modpost rule</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#3d57e1b7</link>
        <description>kbuild: refactor the prerequisites of the modpost ruleThe prerequisites of modpost are cluttered. The variables *-if-presentand *-if-needed are unreadable.It is cleaner to append them into modpost-deps.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 11 Dec 2022 13:04:08 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>f65a4868 - kbuild: change module.order to list *.o instead of *.ko</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#f65a4868</link>
        <description>kbuild: change module.order to list *.o instead of *.koscripts/Makefile.build replaces the suffix .o with .ko, thenscripts/Makefile.modpost calls the sed command to change .ko backto the original .o suffix.Instead of converting the suffixes back-and-forth, store the .o pathsin modules.order, and replace it with .ko in &apos;make modules_install&apos;.This avoids the unneeded sed command.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sun, 11 Dec 2022 13:04:07 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a2430b25 - kbuild: add kbuild-file macro</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#a2430b25</link>
        <description>kbuild: add kbuild-file macroWhile building, installing, cleaning, Kbuild visits sub-directoriesand includes &apos;Kbuild&apos; or &apos;Makefile&apos; that exists there.Add &apos;kbuild-file&apos; macro, and reuse it from scripts/Makefie.*Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;Reviewed-by: Alexander Lobakin &lt;alobakin@pm.me&gt;Tested-by: Alexander Lobakin &lt;alobakin@pm.me&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Fri, 18 Nov 2022 19:15:50 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>3b1e0dd2 - kbuild: fix typo in modpost</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#3b1e0dd2</link>
        <description>kbuild: fix typo in modpostCommit f73edc8951b2 (&quot;kbuild: unify two modpost invocations&quot;) introduceda typo (moudle.symvers-if-present) which results in the kernel&apos;sModule.symvers to not be included as a prerequisite for$(KBUILD_EXTMOD)/Module.symvers. Fix the typo to restore the intendedfunctionality.Fixes: f73edc8951b2 (&quot;kbuild: unify two modpost invocations&quot;)Signed-off-by: Will McVicker &lt;willmcvicker@google.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Tue, 25 Oct 2022 20:17:44 +0000</pubDate>
        <dc:creator>Will McVicker &lt;willmcvicker@google.com&gt;</dc:creator>
    </item>
<item>
        <title>11df33c3 - modpost: put modpost options before argument</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#11df33c3</link>
        <description>modpost: put modpost options before argumentThe musl implementation of getopt stops looking for options after thefirst non-option argument. Put the options before the non-optionargument so environments using musl can still build the kernel andmodules.Fixes: f73edc8951b2 (&quot;kbuild: unify two modpost invocations&quot;)Link: https://git.musl-libc.org/cgit/musl/tree/src/misc/getopt.c?h=dc9285ad1dc19349c407072cc48ba70dab86de45#n44Signed-off-by: Richard Acayan &lt;mailingradian@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Tue, 11 Oct 2022 01:38:28 +0000</pubDate>
        <dc:creator>Richard Acayan &lt;mailingradian@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>32164845 - kbuild: use obj-y instead extra-y for objects placed at the head</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#32164845</link>
        <description>kbuild: use obj-y instead extra-y for objects placed at the headThe 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 unconditionallylinked to vmlinux. The objects listed in head-y are moved to the headof vmlinux.a by using &apos;ar m&apos;.With this, arch/$(SRCARCH)/kernel/Makefile can consistently use obj-yfor builtin objects.There is no *.o that is directly linked to vmlinux. Drop unneeded codein scripts/clang-tools/gen_compile_commands.py.$(AR) mPi needs &apos;T&apos; to workaround the llvm-ar bug. The fix was suggestedby Nathan Chancellor [1].[1]: https://lore.kernel.org/llvm/YyjjT5gQ2hGMH0ni@dev-arch.thelio-3990X/Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Tested-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Sat, 24 Sep 2022 18:19:14 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>42593738 - kbuild: re-run modpost when it is updated</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/Makefile.modpost#42593738</link>
        <description>kbuild: re-run modpost when it is updatedModpost generates .vmlinux.export.c and *.mod.c, which are prerequisitesof vmlinux and modules, respectively.The modpost stage should be re-run when the modpost code is updated.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/scripts/Makefile.modpost</description>
        <pubDate>Thu, 15 Sep 2022 06:26:23 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
