<?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 .gitignore</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>2df8220c - kbuild: build init/built-in.a just once</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/init/.gitignore#2df8220c</link>
        <description>kbuild: build init/built-in.a just onceKbuild builds init/built-in.a twice; first during the ordinarydirectory descending, second from scripts/link-vmlinux.sh.We do this because UTS_VERSION contains the build version and thetimestamp. We cannot update it during the normal directory traversalsince we do not yet know if we need to update vmlinux. UTS_VERSION istemporarily calculated, but omitted from the update check. Otherwise,vmlinux would be rebuilt every time.When Kbuild results in running link-vmlinux.sh, it increments theversion number in the .version file and takes the timestamp at thattime to really fix UTS_VERSION.However, updating the same file twice is a footgun. To avoid nastytimestamp issues, all build artifacts that depend on init/built-in.aare atomically generated in link-vmlinux.sh, where some of them do notneed rebuilding.To fix this issue, this commit changes as follows:[1] Split UTS_VERSION out to include/generated/utsversion.h from    include/generated/compile.h    include/generated/utsversion.h is generated just before the    vmlinux link. It is generated under include/generated/ because    some decompressors (s390, x86) use UTS_VERSION.[2] Split init_uts_ns and linux_banner out to init/version-timestamp.c    from init/version.c    init_uts_ns and linux_banner contain UTS_VERSION. During the ordinary    directory descending, they are compiled with __weak and used to    determine if vmlinux needs relinking. Just before the vmlinux link,    they are compiled without __weak to embed the real version and    timestamp.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/init/.gitignore</description>
        <pubDate>Sun, 28 Aug 2022 02:39:53 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
