<?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</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>c59026c0 - rust: kbuild: Don&apos;t export __pfx symbols</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#c59026c0</link>
        <description>rust: kbuild: Don&apos;t export __pfx symbolsWith CONFIG_PREFIX_SYMBOLS, objtool adds __pfx prefix symbolsto claim the compiler emitted call padding bytes. WhenCONFIG_X86_KERNEL_IBT is not selected, the symbols are added toindividual object files and for Rust objects, they end up beingexported, resulting in warnings with CONFIG_GENDWARFKSYMS as thesymbols have no debugging information:warning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_put_task_structwarning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_task_euidwarning: gendwarfksyms: symbol_print_versions: no information for symbol __pfx_rust_helper_readq_relaxed...Filter out the __pfx prefix from exported symbols similarly tothe existing __cfi and __odr_asan prefixes.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Cc: stable@vger.kernel.orgFixes: ac61506bf2d1 (&quot;rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONS&quot;)Link: https://lore.kernel.org/r/20250318231815.917621-2-samitolvanen@google.comSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Tue, 18 Mar 2025 23:18:16 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>13c23cb4 - rust: Fix enabling Rust and building with GCC for LoongArch</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#13c23cb4</link>
        <description>rust: Fix enabling Rust and building with GCC for LoongArchThis patch fixes a build issue on LoongArch when Rust is enabled andcompiled with GCC by explicitly setting the bindgen target and skippingC flags that Clang doesn&apos;t support.Cc: stable@vger.kernel.orgAcked-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Signed-off-by: WANG Rui &lt;wangrui@loongson.cn&gt;Signed-off-by: Huacai Chen &lt;chenhuacai@loongson.cn&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sun, 30 Mar 2025 08:30:20 +0000</pubDate>
        <dc:creator>WANG Rui &lt;wangrui@loongson.cn&gt;</dc:creator>
    </item>
<item>
        <title>ccb8ce52 - ARM: 9441/1: rust: Enable Rust support for ARMv7</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#ccb8ce52</link>
        <description>ARM: 9441/1: rust: Enable Rust support for ARMv7This commit allows building ARMv7 kernels with Rust support.The rust core library expects some __eabi_... functionsthat are not implemented in the kernel.Those functions are some float operations and __aeabi_uldivmod.For now those are implemented with define_panicking_intrinsics!.This is based on the code by Sven Van Asbroeck from the originalrust branch and inspired by the AArch version by Jamie Cunliffe.I have tested the rust samples and a custom simple MMIO moduleon hardware (De1SoC FPGA + Arm A9 CPU).Tested-by: Rudraksha Gupta &lt;guptarud@gmail.com&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Acked-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Tested-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Acked-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Signed-off-by: Christian Schrefl &lt;chrisi.schrefl@gmail.com&gt;Signed-off-by: Russell King (Oracle) &lt;rmk+kernel@armlinux.org.uk&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Thu, 30 Jan 2025 23:03:45 +0000</pubDate>
        <dc:creator>Christian Schrrefl &lt;chrisi.schrefl@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2c8725c1 - rust: kbuild: skip `--remap-path-prefix` for `rustdoc`</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#2c8725c1</link>
        <description>rust: kbuild: skip `--remap-path-prefix` for `rustdoc``rustdoc` only recognizes `--remap-path-prefix` starting withRust 1.81.0, which is later than on minimum, so we cannot pass itunconditionally. Otherwise, we get:    error: Unrecognized option: &apos;remap-path-prefix&apos;Note that `rustc` (the compiler) does recognize the flag since a longtime ago (1.26.0).Moreover, `rustdoc` since Rust 1.82.0 ICEs in out-of-tree builds whenusing `--remap-path-prefix`. The issue has been reduced and reportedupstream [1].Thus workaround both issues by simply skipping the flag when generatingthe docs -- it is not critical there anyway.The ICE does not reproduce under `--test`, but we still need to skipthe flag as well for `RUSTDOC TK` since it is not recognized.Fixes: dbdffaf50ff9 (&quot;kbuild, rust: use -fremap-path-prefix to make paths relative&quot;)Link: https://github.com/rust-lang/rust/issues/138520 [1]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Reviewed-by: Tamir Duberstein &lt;tamird@gmail.com&gt;Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 15 Mar 2025 19:40:45 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>6b2dab17 - rust: pass correct target to bindgen on Usermode Linux</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#6b2dab17</link>
        <description>rust: pass correct target to bindgen on Usermode LinuxUsermode Linux uses &quot;um&quot; as primary architecture name and the underlyingphysical architecture is provided in &quot;SUBARCH&quot;.Resolve the target architecture flags through that underlyingarchitecture.This is the same pattern as used by scripts/Makefile.clang from whichthe bindgen flags are derived.[ David says:      (...) this is enough to get Rust-for-Linux working with gcc under      64-bit UML on my system.    - Miguel ]Signed-off-by: Thomas Wei&#223;schuh &lt;linux@weissschuh.net&gt;Reviewed-by: David Gow &lt;davidgow@googl.ecom&gt;Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;Link: https://lore.kernel.org/r/20250208-rust-kunit-v1-1-94a026be6d72@weissschuh.netSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 08 Feb 2025 13:31:14 +0000</pubDate>
        <dc:creator>Thomas Wei&#223;schuh &lt;linux@weissschuh.net&gt;</dc:creator>
    </item>
<item>
        <title>9b2299af - rust: pin-init: add `std` and `alloc` support from the user-space version</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#9b2299af</link>
        <description>rust: pin-init: add `std` and `alloc` support from the user-space versionTo synchronize the kernel&apos;s version of pin-init with the user-spaceversion, introduce support for `std` and `alloc`. While the kernel usesneither, the user-space version has to support both. Thus include therequired `#[cfg]`s and additional code.Signed-off-by: Benno Lossin &lt;benno.lossin@proton.me&gt;Reviewed-by: Fiona Behrens &lt;me@kloenk.dev&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Link: https://lore.kernel.org/r/20250308110339.2997091-17-benno.lossin@proton.me[ Undo the temporary `--extern force:alloc` since now we have contents  for `alloc` here. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 08 Mar 2025 11:05:12 +0000</pubDate>
        <dc:creator>Benno Lossin &lt;benno.lossin@proton.me&gt;</dc:creator>
    </item>
<item>
        <title>dbd5058b - rust: make pin-init its own crate</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#dbd5058b</link>
        <description>rust: make pin-init its own crateRename relative paths inside of the crate to still refer to the sameitems, also rename paths inside of the kernel crate and adjust the buildsystem to build the crate.[ Remove the `expect` (and thus the `lint_reasons` feature) since  the tree now uses `quote!` from `rust/macros/export.rs`. Remove the  `TokenStream` import removal, since it is now used as well.  In addition, temporarily (i.e. just for this commit) use an `--extern  force:alloc` to prevent an unknown `new_uninit` error in the `rustdoc`  target. For context, please see a similar case in:      https://lore.kernel.org/lkml/20240422090644.525520-1-ojeda@kernel.org/  And adjusted the message above. - Miguel ]Signed-off-by: Benno Lossin &lt;benno.lossin@proton.me&gt;Reviewed-by: Fiona Behrens &lt;me@kloenk.dev&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Link: https://lore.kernel.org/r/20250308110339.2997091-16-benno.lossin@proton.meSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 08 Mar 2025 11:05:09 +0000</pubDate>
        <dc:creator>Benno Lossin &lt;benno.lossin@proton.me&gt;</dc:creator>
    </item>
<item>
        <title>d7659acc - rust: add pin-init crate build infrastructure</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#d7659acc</link>
        <description>rust: add pin-init crate build infrastructureAdd infrastructure for moving the initialization API to its own crate.Covers all make targets such as `rust-analyzer` and `rustdoc`. The testsof pin-init are not added to `rusttest`, as they are already tested inthe user-space repository [1].Link: https://github.com/Rust-for-Linux/pin-init [1]Co-developed-by: Benno Lossin &lt;benno.lossin@proton.me&gt;Signed-off-by: Benno Lossin &lt;benno.lossin@proton.me&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Link: https://lore.kernel.org/r/20250308110339.2997091-15-benno.lossin@proton.meSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 08 Mar 2025 11:05:01 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0e446e31 - rust: kbuild: do not export generated KASAN ODR symbols</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#0e446e31</link>
        <description>rust: kbuild: do not export generated KASAN ODR symbolsASAN generates special synthetic symbols to help check for ODRviolations. These synthetic symbols lack debug information, sogendwarfksyms emits warnings when processing them. No code should everhave a dependency on these symbols, so we should not be exporting them,just like the __cfi symbols.Signed-off-by: Matthew Maurer &lt;mmaurer@google.com&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Link: https://lore.kernel.org/r/20250122-gendwarfksyms-kasan-rust-v1-1-5ee5658f4fb6@google.com[ Fixed typo in commit message. Slightly reworded title. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Wed, 22 Jan 2025 00:14:43 +0000</pubDate>
        <dc:creator>Matthew Maurer &lt;mmaurer@google.com&gt;</dc:creator>
    </item>
<item>
        <title>a9c621a2 - rust: kbuild: add -fzero-init-padding-bits to bindgen_skip_cflags</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#a9c621a2</link>
        <description>rust: kbuild: add -fzero-init-padding-bits to bindgen_skip_cflagsThis seems to break the build when building with gcc15:    Unable to generate bindings: ClangDiagnostic(&quot;error: unknown    argument: &apos;-fzero-init-padding-bits=all&apos;\n&quot;)Thus skip that flag.Signed-off-by: Justin M. Forbes &lt;jforbes@fedoraproject.org&gt;Fixes: dce4aab8441d (&quot;kbuild: Use -fzero-init-padding-bits=all&quot;)Reviewed-by: Kees Cook &lt;kees@kernel.org&gt;Link: https://lore.kernel.org/r/20250129215003.1736127-1-jforbes@fedoraproject.org[ Slightly reworded commit. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Wed, 29 Jan 2025 21:50:02 +0000</pubDate>
        <dc:creator>Justin M. Forbes &lt;jforbes@fedoraproject.org&gt;</dc:creator>
    </item>
<item>
        <title>b1749432 - rust: kbuild: use host dylib naming in rusttestlib-kernel</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#b1749432</link>
        <description>rust: kbuild: use host dylib naming in rusttestlib-kernelThere seems to have been merge skew between commit b2c261fa8629 (&quot;rust:kbuild: expand rusttest target for macros&quot;) and commit 0730422bced5(&quot;rust: use host dylib naming convention to support macOS&quot;) ; the latterreplaced `libmacros.so` with `$(libmacros_name)` and the former added aninstance of `libmacros.so`. The former was not yet applied when thelatter was sent, resulting in a stray `libmacros.so`. Replace the straywith `$(libmacros_name)` to allow `rusttest` to build on macOS.Fixes: 0730422bced5 (&quot;rust: use host dylib naming convention to support macOS&quot;)Signed-off-by: Tamir Duberstein &lt;tamird@gmail.com&gt;Link: https://lore.kernel.org/r/20250201-fix-mac-build-again-v1-1-ca665f5d7de7@gmail.com[ Slightly reworded title. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 01 Feb 2025 17:40:38 +0000</pubDate>
        <dc:creator>Tamir Duberstein &lt;tamird@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ac61506b - rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#ac61506b</link>
        <description>rust: Use gendwarfksyms + extended modversions for CONFIG_MODVERSIONSPreviously, two things stopped Rust from using MODVERSIONS:1. Rust symbols are occasionally too long to be represented in the   original versions table2. Rust types cannot be properly hashed by the existing genksyms   approach because:	* Looking up type definitions in Rust is more complex than C	* Type layout is potentially dependent on the compiler in Rust,	  not just the source type declaration.CONFIG_EXTENDED_MODVERSIONS addresses the first point, andCONFIG_GENDWARFKSYMS the second. If Rust wants to use MODVERSIONS, allowit to do so by selecting both features.Signed-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Co-developed-by: Matthew Maurer &lt;mmaurer@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/rust/Makefile</description>
        <pubDate>Fri, 03 Jan 2025 17:37:05 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ceff0757 - kbuild: rust: add PROCMACROLDFLAGS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#ceff0757</link>
        <description>kbuild: rust: add PROCMACROLDFLAGSThese are flags to be passed when linking proc macros for the Rusttoolchain. If unset, it defaults to $(KBUILD_HOSTLDFLAGS).This is needed because the list of flags to link hostprogs is notnecessarily the same as the list of flags used to link libmacros.so.When we build proc macros, we need the latter, not the former (e.g. whenusing a Rust compiler binary linked to a different C library than hostprograms).To distinguish between the two, introduce this new variable to standout from KBUILD_HOSTLDFLAGS used to link other host progs.Signed-off-by: HONG Yifan &lt;elsk@google.com&gt;Link: https://lore.kernel.org/r/20241017210430.2401398-2-elsk@google.com[ v3:  - `export`ed the variable. Otherwise it would not be visible in    `rust/Makefile`.  - Removed &quot;additional&quot; from the documentation and commit message,    since this actually replaces the other flags, unlike other cases.  - Added example of use case to documentation and commit message.    Thanks Alice for the details on what Google needs!  - Instead of `HOSTLDFLAGS`, used `KBUILD_HOSTLDFLAGS` as the fallback    to preserve the previous behavior as much as possible, as discussed    with Alice/Yifan. Thus moved the variable down too (currently we    do not modify `KBUILD_HOSTLDFLAGS` elsewhere) and avoided    mentioning `HOSTLDFLAGS` directly in the documentation.  - Fixed documentation header formatting.  - Reworded slightly.         - Miguel ]Tested-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Reviewed-by: HONG Yifan &lt;elsk@google.com&gt;Acked-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Link: https://lore.kernel.org/r/20241112184455.855133-1-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Tue, 12 Nov 2024 18:44:55 +0000</pubDate>
        <dc:creator>HONG Yifan &lt;elsk@google.com&gt;</dc:creator>
    </item>
<item>
        <title>0730422b - rust: use host dylib naming convention to support macOS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#0730422b</link>
        <description>rust: use host dylib naming convention to support macOSBecause the `macros` crate exposes procedural macros, it must becompiled as a dynamic library (so it can be loaded by the compiler atcompile-time).Before this change the resulting artifact was always named`libmacros.so`, which works on hosts where this matches the namingconvention for dynamic libraries. However the proper name on macOS wouldbe `libmacros.dylib`.This turns out to matter even when the dependency is passed with a path(`--extern macros=path/to/libmacros.so` rather than `--extern macros`)because rustc uses the file name to infer the type of the library (seelink). This is because there&apos;s no way to specify both the path to andthe type of the external library via CLI flags. The compiler couldspeculatively parse the file to determine its type, but it does not doso today.This means that libraries that match neither rustc&apos;s naming conventionfor static libraries nor the platform&apos;s naming convention for dynamiclibraries are *rejected*.The only solution I&apos;ve found is to follow the host platform&apos;s namingconvention. This patch does that by querying the compiler to determinethe appropriate name for the artifact. This allows the kernel to buildwith CONFIG_RUST=y on macOS.Link: https://github.com/rust-lang/rust/blob/d829780/compiler/rustc_metadata/src/locator.rs#L728-L752Tested-by: Daniel Gomez &lt;da.gomez@samsung.com&gt;Co-developed-by: Fiona Behrens &lt;me@kloenk.dev&gt;Signed-off-by: Fiona Behrens &lt;me@kloenk.dev&gt;Signed-off-by: Tamir Duberstein &lt;tamird@gmail.com&gt;Tested-by: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Link: https://lore.kernel.org/r/20241216-b4-dylib-host-macos-v7-1-cfc507681447@gmail.com[ Added `MAKEFLAGS=`s to avoid jobserver warnings. Removed space.  Reworded title. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Mon, 16 Dec 2024 15:54:22 +0000</pubDate>
        <dc:creator>Tamir Duberstein &lt;tamird@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2a87f8b0 - rust: kbuild: run Clippy for `rusttest` code</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#2a87f8b0</link>
        <description>rust: kbuild: run Clippy for `rusttest` codeRunning Clippy for `rusttest` code is useful to catch issues there too,even if the code is not as critical. In the future, this code may alsorun in kernelspace and could be copy-pasted. Thus it is useful to keepit under the same standards. For instance, it will now make us add`// SAFETY` comments.It also makes everything more consistent.Thus clean the few issues spotted by Clippy and start running it.Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Link: https://lore.kernel.org/r/20241123180639.260191-1-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 23 Nov 2024 18:06:38 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>7a5f93ea - rust: kbuild: set `bindgen`&apos;s Rust target version</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#7a5f93ea</link>
        <description>rust: kbuild: set `bindgen`&apos;s Rust target versionEach `bindgen` release may upgrade the list of Rust targets. For instance,currently, in their master branch [1], the latest ones are:    Nightly =&gt; {        vectorcall_abi: #124485,        ptr_metadata: #81513,        layout_for_ptr: #69835,    },    Stable_1_77(77) =&gt; { offset_of: #106655 },    Stable_1_73(73) =&gt; { thiscall_abi: #42202 },    Stable_1_71(71) =&gt; { c_unwind_abi: #106075 },    Stable_1_68(68) =&gt; { abi_efiapi: #105795 },By default, the highest stable release in their list is used, and usersare expected to set one if they need to support older Rust versions(e.g. see [2]).Thus, over time, new Rust features are used by default, and at somepoint, it is likely that `bindgen` will emit Rust code that requires aRust version higher than our minimum (or perhaps enabling an unstablefeature). Currently, there is no problem because the maximum they have,as seen above, is Rust 1.77.0, and our current minimum is Rust 1.78.0.Therefore, set a Rust target explicitly now to prevent going forward intime too much and thus getting potential build failures at some point.Since we also support a minimum `bindgen` version, and since `bindgen`does not support passing unknown Rust target versions, we need to usethe list of our minimum `bindgen` version, rather than the latest. So,since `bindgen` 0.65.1 had this list [3], we need to use Rust 1.68.0:    /// Rust stable 1.64    ///  * `core_ffi_c` ([Tracking issue](https://github.com/rust-lang/rust/issues/94501))    =&gt; Stable_1_64 =&gt; 1.64;    /// Rust stable 1.68    ///  * `abi_efiapi` calling convention ([Tracking issue](https://github.com/rust-lang/rust/issues/65815))    =&gt; Stable_1_68 =&gt; 1.68;    /// Nightly rust    ///  * `thiscall` calling convention ([Tracking issue](https://github.com/rust-lang/rust/issues/42202))    ///  * `vectorcall` calling convention (no tracking issue)    ///  * `c_unwind` calling convention ([Tracking issue](https://github.com/rust-lang/rust/issues/74990))    =&gt; Nightly =&gt; nightly;    ...    /// Latest stable release of Rust    pub const LATEST_STABLE_RUST: RustTarget = RustTarget::Stable_1_68;Thus add the `--rust-target 1.68` parameter. Add a comment as wellexplaining this.An alternative would be to use the currently running (i.e. actual) `rustc`and `bindgen` versions to pick a &quot;better&quot; Rust target version. However,that would introduce more moving parts depending on the user setup andis also more complex to implement.Starting with `bindgen` 0.71.0 [4], we will be able to set any futureRust version instead, i.e. we will be able to set here our minimumsupported Rust version. Christian implemented it [5] after seeing thispatch. Thanks!Cc: Christian Poveda &lt;git@pvdrz.com&gt;Cc: Emilio Cobos &#193;lvarez &lt;emilio@crisal.io&gt;Cc: stable@vger.kernel.org # needed for 6.12.y; unneeded for 6.6.y; do not apply to 6.1.yFixes: c844fa64a2d4 (&quot;rust: start supporting several `bindgen` versions&quot;)Link: https://github.com/rust-lang/rust-bindgen/blob/21c60f473f4e824d4aa9b2b508056320d474b110/bindgen/features.rs#L97-L105 [1]Link: https://github.com/rust-lang/rust-bindgen/issues/2960 [2]Link: https://github.com/rust-lang/rust-bindgen/blob/7d243056d335fdc4537f7bca73c06d01aae24ddc/bindgen/features.rs#L131-L150 [3]Link: https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md#0710-2024-12-06 [4]Link: https://github.com/rust-lang/rust-bindgen/pull/2993 [5]Reviewed-by: Alice Ryhl &lt;aliceryhl@google.com&gt;Link: https://lore.kernel.org/r/20241123180323.255997-1-ojeda@kernel.orgSigned-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Sat, 23 Nov 2024 18:03:23 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@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/rust/Makefile#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/rust/Makefile</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>8af7a501 - rust: jump_label: skip formatting generated file</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#8af7a501</link>
        <description>rust: jump_label: skip formatting generated fileAfter a source tree build of the kernel, and having used the `RSCPP`rule, running `rustfmt` fails with:    error: macros that expand to items must be delimited with braces or followed by a semicolon     --&gt; rust/kernel/arch_static_branch_asm.rs:1:27      |    1 | ...ls!(&quot;1: jmp &quot; ... &quot;.popsection \n\t&quot;)      |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      |    help: change the delimiters to curly braces      |    1 | ::kernel::concat_literals!{&quot;1: jmp &quot; ... &quot;.popsection \n\t&quot;}      |                           ~                                ~    help: add a semicolon      |    1 | ::kernel::concat_literals!(&quot;1: jmp &quot; ... &quot;.popsection \n\t&quot;);      |                                                             +This file is not meant to be formatted nor works on its own since it ismeant to be textually included.Thus skip formatting it by prefixing its name with `generated_`.Cc: Masami Hiramatsu &lt;mhiramat@kernel.org&gt;Cc: Alex Gaynor &lt;alex.gaynor@gmail.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Cc: Boqun Feng &lt;boqun.feng@gmail.com&gt;Cc: Gary Guo &lt;gary@garyguo.net&gt;Cc: Bj&#246;rn Roy Baron &lt;bjorn3_gh@protonmail.com&gt;Cc: Benno Lossin &lt;benno.lossin@proton.me&gt;Cc: Andreas Hindborg &lt;a.hindborg@kernel.org&gt;Cc: Alice Ryhl &lt;aliceryhl@google.com&gt;Cc: Trevor Gross &lt;tmgross@umich.edu&gt;Link: https://lore.kernel.org/20241120175916.58860-1-ojeda@kernel.orgFixes: 169484ab6677 (&quot;rust: add arch_static_branch&quot;)Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Wed, 20 Nov 2024 17:59:16 +0000</pubDate>
        <dc:creator>Miguel Ojeda &lt;ojeda@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d072acda - rust: use custom FFI integer types</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#d072acda</link>
        <description>rust: use custom FFI integer typesCurrently FFI integer types are defined in libcore. This commit createsthe `ffi` crate and asks bindgen to use that crate for FFI integer typesinstead of `core::ffi`.This commit is preparatory and no type changes are made in this commityet.Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://lore.kernel.org/r/20240913213041.395655-4-gary@garyguo.net[ Added `rustdoc`, `rusttest` and KUnit tests support. Rebased on top of  `rust-next` (e.g. migrated more `core::ffi` cases). Reworded crate  docs slightly and formatted. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Fri, 13 Sep 2024 21:29:23 +0000</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
<item>
        <title>75c1fd41 - rust: fix size_t in bindgen prototypes of C builtins</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/rust/Makefile#75c1fd41</link>
        <description>rust: fix size_t in bindgen prototypes of C builtinsWithout `-fno-builtin`, for functions like memcpy/memmove (and manyothers), bindgen seems to be using the clang-provided prototype. Thisprototype is ABI-wise compatible, but the issue is that it does not havethe same information as the source code w.r.t. typedefs.For example, bindgen generates the following:    extern &quot;C&quot; {        pub fn strlen(s: *const core::ffi::c_char) -&gt; core::ffi::c_ulong;    }note that the return type is `c_ulong` (i.e. unsigned long), despite thesize_t-is-usize behavior (this is default, and we have not opted outfrom it using --no-size_t-is-usize).Similarly, memchr&apos;s size argument should be of type `__kernel_size_t`,but bindgen generates `c_ulong` directly.We want to ensure any `size_t` is translated to Rust `usize` so that wecan avoid having them be different type on 32-bit and 64-bitarchitectures, and hence would require a lot of excessive type castswhen calling FFI functions.I found that this bindgen behavior (which probably is caused bylibclang) can be disabled by `-fno-builtin`. Using the flag for compiledcode can result in less optimisation because compiler cannot assumeabout their properties anymore, but this should not affect bindgen.[ Trevor asked: &quot;I wonder how reliable this behavior is. Maybe bindgen  could do a better job controlling this, is there an open issue?&quot;.  Gary replied: ...&quot;apparently this is indeed the suggested approach in  https://github.com/rust-lang/rust-bindgen/issues/1770&quot;. - Miguel ]Signed-off-by: Gary Guo &lt;gary@garyguo.net&gt;Link: https://lore.kernel.org/r/20240913213041.395655-2-gary@garyguo.net[ Formatted comment. - Miguel ]Signed-off-by: Miguel Ojeda &lt;ojeda@kernel.org&gt;

            List of files:
            /linux-6.15/rust/Makefile</description>
        <pubDate>Fri, 13 Sep 2024 21:29:21 +0000</pubDate>
        <dc:creator>Gary Guo &lt;gary@garyguo.net&gt;</dc:creator>
    </item>
</channel>
</rss>
