[PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen

Paolo Bonzini posted 23 patches 4 weeks ago
docs/about/build-platforms.rst                |  12 +
meson.build                                   | 102 +++--
.gitattributes                                |   2 +
.gitlab-ci.d/buildtest.yml                    |   6 +-
meson_options.txt                             |   2 +
rust/{hw/char/pl011 => }/Cargo.lock           |   4 +
rust/Cargo.toml                               |   7 +
rust/hw/char/pl011/Cargo.toml                 |   3 -
rust/hw/char/pl011/src/device.rs              | 158 ++++++--
rust/hw/char/pl011/src/device_class.rs        |  71 +++-
rust/hw/char/pl011/src/lib.rs                 |   5 +-
rust/hw/char/pl011/src/memory_ops.rs          |  14 +-
rust/qemu-api-macros/Cargo.lock               |  47 ---
rust/qemu-api-macros/Cargo.toml               |   5 +-
rust/qemu-api-macros/src/lib.rs               |  81 +++-
rust/qemu-api/Cargo.lock                      |   7 -
rust/qemu-api/Cargo.toml                      |  10 +-
rust/qemu-api/build.rs                        |   9 +
rust/qemu-api/meson.build                     |  17 +-
rust/qemu-api/src/c_str.rs                    |  53 +++
rust/qemu-api/src/definitions.rs              |   2 +-
rust/qemu-api/src/device_class.rs             |  43 +--
rust/qemu-api/src/lib.rs                      |  19 +-
rust/qemu-api/src/offset_of.rs                | 161 ++++++++
rust/qemu-api/src/vmstate.rs                  | 358 ++++++++++++++++++
rust/qemu-api/src/zeroable.rs                 |  91 ++++-
rust/qemu-api/tests/tests.rs                  |  29 +-
scripts/meson-buildoptions.sh                 |   4 +
subprojects/bilge-impl-0.2-rs.wrap            |   1 +
.../packagefiles/bilge-impl-1.63.0.patch      |  45 +++
.../packagefiles/proc-macro2-1-rs/meson.build |   4 +-
subprojects/packagefiles/syn-2-rs/meson.build |   1 +
tests/docker/dockerfiles/ubuntu2204.docker    |   5 +
tests/lcitool/mappings.yml                    |   4 +
tests/lcitool/refresh                         |  11 +-
35 files changed, 1166 insertions(+), 227 deletions(-)
rename rust/{hw/char/pl011 => }/Cargo.lock (98%)
create mode 100644 rust/Cargo.toml
delete mode 100644 rust/qemu-api-macros/Cargo.lock
delete mode 100644 rust/qemu-api/Cargo.lock
create mode 100644 rust/qemu-api/src/c_str.rs
create mode 100644 rust/qemu-api/src/offset_of.rs
create mode 100644 rust/qemu-api/src/vmstate.rs
create mode 100644 subprojects/packagefiles/bilge-impl-1.63.0.patch
[PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 4 weeks ago
Since Manos helpfully posted his vmstate patches, this series is all that
is needed in order to enable Rust for at least the Debian, Fedora and
Ubuntu jobs.  I took his patches and isolated them from the procedural
macro experiment.

There are quite a few changes from the previous posting:

- new patches to bring pl011 mostly up to date with the C code (1-7)

- remove unnecessary .gitattributes file (8)

- apply rustfmt throughout

- add "rust: create a cargo workspace" to ensure a single version of the
  dependencies is used for all cargo commands (14, based on a suggestion by
  Junjie)

- add Junjie's syntax checks to the offset_of! macro.  I added a small
  struct with a From<> implementation, to make compile errors even easier
  to report (15).

- add final patch to enable rust in the Debian and Ubuntu system build
  jobs (23)

Note that this requires "meson subprojects update --reset" in order to do
an incremental build if you have already downloaded the Rust subprojects.
While I have a solution for that (modeled after scripts/git-submodule.sh),
I first need to check with the Meson folks whether my script is using only
stable interfaces.

This series can be found at branch rust-next of my git repository
(https://gitlab.com/bonzini/qemu.git), which also helps with the
problems in applying patch 8.  Everything up to commit f6a46d2a4eb
("rust: do not use TYPE_CHARDEV unnecessarily", 2024-10-25) will be
my next pull request, which I will send early next week (to give
people some more days to complain).

Paolo

Supersedes: <20241022100956.196657-1-pbonzini@redhat.com>

CI: https://gitlab.com/bonzini/qemu/-/pipelines/1512732399


Manos Pitsidianakis (6):
  rust: add definitions for vmstate
  rust/pl011: add support for migration
  rust/pl011: move CLK_NAME static to function scope
  rust/pl011: add TYPE_PL011_LUMINARY device
  rust/pl011: remove commented out C code
  rust/pl011: Use correct masks for IBRD and FBRD

Paolo Bonzini (17):
  rust/pl011: fix default value for migrate-clock
  rust: patch bilge-impl to allow compilation with 1.63.0
  rust: fix cfgs of proc-macro2 for 1.63.0
  rust: use std::os::raw instead of core::ffi
  rust: introduce a c_str macro
  rust: silence unknown warnings for the sake of old compilers
  rust: synchronize dependencies between subprojects and Cargo.lock
  rust: create a cargo workspace
  rust: introduce alternative implementation of offset_of!
  rust: do not use MaybeUninit::zeroed()
  rust: clean up detection of the language
  rust: allow version 1.63.0 of rustc
  rust: do not use --generate-cstr
  rust: allow older version of bindgen
  rust: make rustfmt optional
  dockerfiles: install bindgen from cargo on Ubuntu 22.04
  ci: enable rust in the Debian and Ubuntu system build job

 docs/about/build-platforms.rst                |  12 +
 meson.build                                   | 102 +++--
 .gitattributes                                |   2 +
 .gitlab-ci.d/buildtest.yml                    |   6 +-
 meson_options.txt                             |   2 +
 rust/{hw/char/pl011 => }/Cargo.lock           |   4 +
 rust/Cargo.toml                               |   7 +
 rust/hw/char/pl011/Cargo.toml                 |   3 -
 rust/hw/char/pl011/src/device.rs              | 158 ++++++--
 rust/hw/char/pl011/src/device_class.rs        |  71 +++-
 rust/hw/char/pl011/src/lib.rs                 |   5 +-
 rust/hw/char/pl011/src/memory_ops.rs          |  14 +-
 rust/qemu-api-macros/Cargo.lock               |  47 ---
 rust/qemu-api-macros/Cargo.toml               |   5 +-
 rust/qemu-api-macros/src/lib.rs               |  81 +++-
 rust/qemu-api/Cargo.lock                      |   7 -
 rust/qemu-api/Cargo.toml                      |  10 +-
 rust/qemu-api/build.rs                        |   9 +
 rust/qemu-api/meson.build                     |  17 +-
 rust/qemu-api/src/c_str.rs                    |  53 +++
 rust/qemu-api/src/definitions.rs              |   2 +-
 rust/qemu-api/src/device_class.rs             |  43 +--
 rust/qemu-api/src/lib.rs                      |  19 +-
 rust/qemu-api/src/offset_of.rs                | 161 ++++++++
 rust/qemu-api/src/vmstate.rs                  | 358 ++++++++++++++++++
 rust/qemu-api/src/zeroable.rs                 |  91 ++++-
 rust/qemu-api/tests/tests.rs                  |  29 +-
 scripts/meson-buildoptions.sh                 |   4 +
 subprojects/bilge-impl-0.2-rs.wrap            |   1 +
 .../packagefiles/bilge-impl-1.63.0.patch      |  45 +++
 .../packagefiles/proc-macro2-1-rs/meson.build |   4 +-
 subprojects/packagefiles/syn-2-rs/meson.build |   1 +
 tests/docker/dockerfiles/ubuntu2204.docker    |   5 +
 tests/lcitool/mappings.yml                    |   4 +
 tests/lcitool/refresh                         |  11 +-
 35 files changed, 1166 insertions(+), 227 deletions(-)
 rename rust/{hw/char/pl011 => }/Cargo.lock (98%)
 create mode 100644 rust/Cargo.toml
 delete mode 100644 rust/qemu-api-macros/Cargo.lock
 delete mode 100644 rust/qemu-api/Cargo.lock
 create mode 100644 rust/qemu-api/src/c_str.rs
 create mode 100644 rust/qemu-api/src/offset_of.rs
 create mode 100644 rust/qemu-api/src/vmstate.rs
 create mode 100644 subprojects/packagefiles/bilge-impl-1.63.0.patch

-- 
2.47.0
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Zhao Liu 3 weeks, 1 day ago
> This series can be found at branch rust-next of my git repository
> (https://gitlab.com/bonzini/qemu.git), which also helps with the
> problems in applying patch 8.  Everything up to commit f6a46d2a4eb
> ("rust: do not use TYPE_CHARDEV unnecessarily", 2024-10-25) will be
> my next pull request, which I will send early next week (to give
> people some more days to complain).
> 
> Paolo
> 
> Supersedes: <20241022100956.196657-1-pbonzini@redhat.com>
> 
> CI: https://gitlab.com/bonzini/qemu/-/pipelines/1512732399

Compiled with v1.63 and ran "make check" on my x86 platform.

Everything looks good!

Tested-by: Zhao Liu <zhao1.liu@intel.com>
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 3 weeks, 2 days ago
Ping for missing reviews; particularly patches 11, 13 and 14.

    https://lore.kernel.org/qemu-devel/20241025160209.194307-12-pbonzini@redhat.com/
    https://lore.kernel.org/qemu-devel/20241025160209.194307-14-pbonzini@redhat.com/
    https://lore.kernel.org/qemu-devel/20241025160209.194307-15-pbonzini@redhat.com/

As to patch 19, which is the ugly --generate-cstr workaround for
old bindgen, I've played a bit with refactoring the QOM bindings and
adding a new trait even for types defined by C code.  Such approach
would make the workaround considerably less ugly, since you need
some kind of

pub impl ObjectType for bindings::DeviceState {
    type Class = bindings::DeviceClass;
    const TYPE_NAME: &CStr = bindings::TYPE_DEVICE;
}

anyway; then the only difference introduced by old bindgen would be

 pub impl ObjectType for bindings::DeviceState {
     type Class = bindings::DeviceClass;
-    const TYPE_NAME: &CStr = bindings::TYPE_DEVICE;
+    const TYPE_NAME: &CStr =
+        unsafe { CStr::from_bytes_with_nul_unchecked(bindings::TYPE_DEVICE) };
 }

which is considerably better than having a random TYPE_DEVICE global
somewhere.

Paolo

On Fri, Oct 25, 2024 at 6:02 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Since Manos helpfully posted his vmstate patches, this series is all that
> is needed in order to enable Rust for at least the Debian, Fedora and
> Ubuntu jobs.  I took his patches and isolated them from the procedural
> macro experiment.
>
> There are quite a few changes from the previous posting:
>
> - new patches to bring pl011 mostly up to date with the C code (1-7)
>
> - remove unnecessary .gitattributes file (8)
>
> - apply rustfmt throughout
>
> - add "rust: create a cargo workspace" to ensure a single version of the
>   dependencies is used for all cargo commands (14, based on a suggestion by
>   Junjie)
>
> - add Junjie's syntax checks to the offset_of! macro.  I added a small
>   struct with a From<> implementation, to make compile errors even easier
>   to report (15).
>
> - add final patch to enable rust in the Debian and Ubuntu system build
>   jobs (23)
>
> Note that this requires "meson subprojects update --reset" in order to do
> an incremental build if you have already downloaded the Rust subprojects.
> While I have a solution for that (modeled after scripts/git-submodule.sh),
> I first need to check with the Meson folks whether my script is using only
> stable interfaces.
>
> This series can be found at branch rust-next of my git repository
> (https://gitlab.com/bonzini/qemu.git), which also helps with the
> problems in applying patch 8.  Everything up to commit f6a46d2a4eb
> ("rust: do not use TYPE_CHARDEV unnecessarily", 2024-10-25) will be
> my next pull request, which I will send early next week (to give
> people some more days to complain).
>
> Paolo
>
> Supersedes: <20241022100956.196657-1-pbonzini@redhat.com>
>
> CI: https://gitlab.com/bonzini/qemu/-/pipelines/1512732399
>
>
> Manos Pitsidianakis (6):
>   rust: add definitions for vmstate
>   rust/pl011: add support for migration
>   rust/pl011: move CLK_NAME static to function scope
>   rust/pl011: add TYPE_PL011_LUMINARY device
>   rust/pl011: remove commented out C code
>   rust/pl011: Use correct masks for IBRD and FBRD
>
> Paolo Bonzini (17):
>   rust/pl011: fix default value for migrate-clock
>   rust: patch bilge-impl to allow compilation with 1.63.0
>   rust: fix cfgs of proc-macro2 for 1.63.0
>   rust: use std::os::raw instead of core::ffi
>   rust: introduce a c_str macro
>   rust: silence unknown warnings for the sake of old compilers
>   rust: synchronize dependencies between subprojects and Cargo.lock
>   rust: create a cargo workspace
>   rust: introduce alternative implementation of offset_of!
>   rust: do not use MaybeUninit::zeroed()
>   rust: clean up detection of the language
>   rust: allow version 1.63.0 of rustc
>   rust: do not use --generate-cstr
>   rust: allow older version of bindgen
>   rust: make rustfmt optional
>   dockerfiles: install bindgen from cargo on Ubuntu 22.04
>   ci: enable rust in the Debian and Ubuntu system build job
>
>  docs/about/build-platforms.rst                |  12 +
>  meson.build                                   | 102 +++--
>  .gitattributes                                |   2 +
>  .gitlab-ci.d/buildtest.yml                    |   6 +-
>  meson_options.txt                             |   2 +
>  rust/{hw/char/pl011 => }/Cargo.lock           |   4 +
>  rust/Cargo.toml                               |   7 +
>  rust/hw/char/pl011/Cargo.toml                 |   3 -
>  rust/hw/char/pl011/src/device.rs              | 158 ++++++--
>  rust/hw/char/pl011/src/device_class.rs        |  71 +++-
>  rust/hw/char/pl011/src/lib.rs                 |   5 +-
>  rust/hw/char/pl011/src/memory_ops.rs          |  14 +-
>  rust/qemu-api-macros/Cargo.lock               |  47 ---
>  rust/qemu-api-macros/Cargo.toml               |   5 +-
>  rust/qemu-api-macros/src/lib.rs               |  81 +++-
>  rust/qemu-api/Cargo.lock                      |   7 -
>  rust/qemu-api/Cargo.toml                      |  10 +-
>  rust/qemu-api/build.rs                        |   9 +
>  rust/qemu-api/meson.build                     |  17 +-
>  rust/qemu-api/src/c_str.rs                    |  53 +++
>  rust/qemu-api/src/definitions.rs              |   2 +-
>  rust/qemu-api/src/device_class.rs             |  43 +--
>  rust/qemu-api/src/lib.rs                      |  19 +-
>  rust/qemu-api/src/offset_of.rs                | 161 ++++++++
>  rust/qemu-api/src/vmstate.rs                  | 358 ++++++++++++++++++
>  rust/qemu-api/src/zeroable.rs                 |  91 ++++-
>  rust/qemu-api/tests/tests.rs                  |  29 +-
>  scripts/meson-buildoptions.sh                 |   4 +
>  subprojects/bilge-impl-0.2-rs.wrap            |   1 +
>  .../packagefiles/bilge-impl-1.63.0.patch      |  45 +++
>  .../packagefiles/proc-macro2-1-rs/meson.build |   4 +-
>  subprojects/packagefiles/syn-2-rs/meson.build |   1 +
>  tests/docker/dockerfiles/ubuntu2204.docker    |   5 +
>  tests/lcitool/mappings.yml                    |   4 +
>  tests/lcitool/refresh                         |  11 +-
>  35 files changed, 1166 insertions(+), 227 deletions(-)
>  rename rust/{hw/char/pl011 => }/Cargo.lock (98%)
>  create mode 100644 rust/Cargo.toml
>  delete mode 100644 rust/qemu-api-macros/Cargo.lock
>  delete mode 100644 rust/qemu-api/Cargo.lock
>  create mode 100644 rust/qemu-api/src/c_str.rs
>  create mode 100644 rust/qemu-api/src/offset_of.rs
>  create mode 100644 rust/qemu-api/src/vmstate.rs
>  create mode 100644 subprojects/packagefiles/bilge-impl-1.63.0.patch
>
> --
> 2.47.0
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Michael Tokarev 3 weeks, 6 days ago
I think this is the wrong direction (ie, backwards).

Sacrificing current code to be compatible with old stuff feels wrong.
Especially for really old, like rustc in debian bookworm.

bookworm has rustc-web (and a few related packages) which is regular
rustc version 1.78, just renamed.  It is regular bookworm, not backports.
It has some packages disabled (compared to regular rust) and is a hack,
but it exists and can be used for now (dunno if it is sufficient for
qemu though).

Also debian has backports mechanism, which also can be used for qemu -
I can try back-porting regular rust (and llvm) to bookworm.

I think this is a better way (at least a way forward) than trying to
move backwards.

But generally, what is the reason to support debian stable?  I understand
the CI thing, - we need a way to test stuff.  For this, I'd say a better
alternative would be to target debian testing (currently trixie), not
debian stable.

Thanks,

/mjt
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Daniel P. Berrangé 3 weeks, 5 days ago
On Sun, Oct 27, 2024 at 10:01:26AM +0300, Michael Tokarev wrote:
> I think this is the wrong direction (ie, backwards).
> 
> Sacrificing current code to be compatible with old stuff feels wrong.
> Especially for really old, like rustc in debian bookworm.
> 
> bookworm has rustc-web (and a few related packages) which is regular
> rustc version 1.78, just renamed.  It is regular bookworm, not backports.
> It has some packages disabled (compared to regular rust) and is a hack,
> but it exists and can be used for now (dunno if it is sufficient for
> qemu though).
> 
> Also debian has backports mechanism, which also can be used for qemu -
> I can try back-porting regular rust (and llvm) to bookworm.
> 
> I think this is a better way (at least a way forward) than trying to
> move backwards.
> 
> But generally, what is the reason to support debian stable?  I understand
> the CI thing, - we need a way to test stuff.  For this, I'd say a better
> alternative would be to target debian testing (currently trixie), not
> debian stable.

The stable distros are what our community of contributors are usually
using, as few people want non-released bleeding edge distros as their
primary development platform.

Custom installing latest upstream pieces is not a user friendly position
to take. Occassionally it is unavoidable, but it is something to be
avoided wherever practical.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Alex Bennée 3 weeks, 5 days ago
Daniel P. Berrangé <berrange@redhat.com> writes:

> On Sun, Oct 27, 2024 at 10:01:26AM +0300, Michael Tokarev wrote:
>> I think this is the wrong direction (ie, backwards).
>> 
>> Sacrificing current code to be compatible with old stuff feels wrong.
>> Especially for really old, like rustc in debian bookworm.
>> 
>> bookworm has rustc-web (and a few related packages) which is regular
>> rustc version 1.78, just renamed.  It is regular bookworm, not backports.
>> It has some packages disabled (compared to regular rust) and is a hack,
>> but it exists and can be used for now (dunno if it is sufficient for
>> qemu though).
>> 
>> Also debian has backports mechanism, which also can be used for qemu -
>> I can try back-porting regular rust (and llvm) to bookworm.
>> 
>> I think this is a better way (at least a way forward) than trying to
>> move backwards.
>> 
>> But generally, what is the reason to support debian stable?  I understand
>> the CI thing, - we need a way to test stuff.  For this, I'd say a better
>> alternative would be to target debian testing (currently trixie), not
>> debian stable.
>
> The stable distros are what our community of contributors are usually
> using, as few people want non-released bleeding edge distros as their
> primary development platform.
>
> Custom installing latest upstream pieces is not a user friendly position
> to take. Occassionally it is unavoidable, but it is something to be
> avoided wherever practical.

At least rustup makes this reasonably easy for the rust bits. We do rely
on the excellent Debian backports for getting QEMU quickly into testing
images but I was assuming we would have trixie before --enable-rust
became mandatory so I'm not too worried if bookworm is the outlier for
old versions.

>
> With regards,
> Daniel

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 3 weeks, 5 days ago
On 10/28/24 13:26, Alex Bennée wrote:
> At least rustup makes this reasonably easy for the rust bits. We do rely
> on the excellent Debian backports for getting QEMU quickly into testing
> images but I was assuming we would have trixie before --enable-rust
> became mandatory so I'm not too worried if bookworm is the outlier for
> old versions.

I agree that we can delay making Rust mandatory only after Bookworm has 
gone away.  However, if we can make --enable-rust default as soon as 
possible, even in 10.0, then it would be easier if the same code (which 
is the Rust one) runs on all supported platforms.

All in all, the point of this series is to show that the workarounds for 
old rustc and bindgen are self-contained and easy to revert later when 
we can.  If we agree about that, it seems worse to me if a couple 
releases single out Bookworm as the only non-Rust supported platform.

Paolo


Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 3 weeks, 6 days ago
On Sun, Oct 27, 2024 at 8:02 AM Michael Tokarev <mjt@tls.msk.ru> wrote:
>i
> I think this is the wrong direction (ie, backwards).
>
> Sacrificing current code to be compatible with old stuff feels wrong.
> Especially for really old, like rustc in debian bookworm.
>
> bookworm has rustc-web (and a few related packages) which is regular
> rustc version 1.78, just renamed.  It is regular bookworm, not backports.
> It has some packages disabled (compared to regular rust) and is a hack,
> but it exists and can be used for now (dunno if it is sufficient for
> qemu though).

Thanks for pointing it out! It is indeed better, however it does not
support mipsel.

> Also debian has backports mechanism, which also can be used for qemu -
> I can try back-porting regular rust (and llvm) to bookworm.
> I think this is a better way (at least a way forward) than trying to
> move backwards.
>
> But generally, what is the reason to support debian stable?  I understand
> the CI thing, - we need a way to test stuff.  For this, I'd say a better
> alternative would be to target debian testing (currently trixie), not
> debian stable.

Basically: it is not too hard and it can be reverted without much
hassle once we stop supporting Debian 12 in general. Also, the
next-lowest version (in Ubuntu 22.04, which has 1.75.0) would still
have some relatively invasive changes, for example patch 11. We'll
always need some workarounds until all supported distros have rustc
1.77.0.

Paolo
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Michael Tokarev 3 weeks, 6 days ago
27.10.2024 11:00, Paolo Bonzini wrpte:

[rustc-web]

> Thanks for pointing it out! It is indeed better, however it does not
> support mipsel.

mipsel?  do you mean mips64el?

/mjt
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Michael Tokarev 3 weeks, 6 days ago
27.10.2024 12:38, Michael Tokarev wrote:
> 27.10.2024 11:00, Paolo Bonzini wrpte:
> 
> [rustc-web]
> 
>> Thanks for pointing it out! It is indeed better, however it does not
>> support mipsel.
> 
> mipsel?  do you mean mips64el?

Ah. I see what you mean.
https://buildd.debian.org/status/package.php?p=rustc-web&suite=bookworm

FWIW, mipsel has been removed for the next debian, it isn't supported
anymore in sid or testing (trixie).

/mjt

Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 3 weeks, 6 days ago
Il dom 27 ott 2024, 10:43 Michael Tokarev <mjt@tls.msk.ru> ha scritto:

> 27.10.2024 12:38, Michael Tokarev wrote:
> > 27.10.2024 11:00, Paolo Bonzini wrpte:
> >
> > [rustc-web]
> >
> >> Thanks for pointing it out! It is indeed better, however it does not
> >> support mipsel.
> >
> > mipsel?  do you mean mips64el?
>
> Ah. I see what you mean.
> https://buildd.debian.org/status/package.php?p=rustc-web&suite=bookworm
>
> FWIW, mipsel has been removed for the next debian, it isn't supported
> anymore in sid or testing (trixie).
>

Oh, then we need to deprecate it! But for now we're a bit stuck with it.

Paolo


> /mjt
>
>
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Michael Tokarev 3 weeks, 6 days ago
27.10.2024 12:42, Michael Tokarev пишет:
> 27.10.2024 12:38, Michael Tokarev wrote:
>> 27.10.2024 11:00, Paolo Bonzini wrpte:
>>
>> [rustc-web]
>>
>>> Thanks for pointing it out! It is indeed better, however it does not
>>> support mipsel.
>>
>> mipsel?  do you mean mips64el?

Please note upstream rust does not provide rustup binaries for mipsel.
So there's really no way to bootstrap mipsel rust currently.

And mipsel is gone in debian.

It looks like we should not expect rust to work on mipsel.

/mjt

Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Manos Pitsidianakis 4 weeks ago
Paolo, you picked up my patches without us first talking about it.
This is not how things should work.
Re: [PATCH v3 00/23] rust: fix CI + allow older versions of rustc and bindgen
Posted by Paolo Bonzini 3 weeks, 1 day ago
Manos,

I apologize for extracting these parts of your code without making my
intention fully clear with you first. My intention was to move the CI
integration forward while you focused on the procedural macros,
because right now the partial CI is limiting other potential
contributors.

In order to fix this in the 9.2 release, I would like to include the
extracted patches in a pull request before soft freeze. They implement
the core functionality required by the tests, and they have been
tested already.

During the freeze we can evaluate how to best structure the remaining
changes, including improved QOM bindings and your procedural macro
work.

Thanks,

Paolo


On Fri, Oct 25, 2024 at 6:24 PM Manos Pitsidianakis
<manos.pitsidianakis@linaro.org> wrote:
>
> Paolo, you picked up my patches without us first talking about it.
> This is not how things should work.
>