All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Kanavin <alex.kanavin@gmail.com>
To: alex.kanavin@gmail.com
Cc: Khem Raj <raj.khem@gmail.com>, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] rust: Disable 64bit atomics on crossbeam on riscv32
Date: Tue, 25 Oct 2022 18:15:27 +0200	[thread overview]
Message-ID: <CANNYZj8d9b-se+mjFJwcm_TuyNY74np-=hi+QjGjt8zgh874Dw@mail.gmail.com> (raw)
In-Reply-To: <17207C5BC457528C.2993@lists.openembedded.org>

Ok, I have looked into this properly now. So:

- the fail started to occur in 1.64 because crossbeam-utils is now a
dependency of rust core (hard fail) and not just rustfmt (soft fail)
- the correct way to address it is indeed to map oe arch (riscv32) to
rust arch (riscv32gc) via meta/lib/oe/rust.py, which works globally
across all recipes where this may occur.
- however doing that exposed confusion about how we map arches, as
there is actually a *third* arch involved (the internal llvm one
listed in custom target definition), which too needs to be correctly
mapped from oe arch so I fixed that as well.

None of the three arch sets match each other exactly, unfortunately.

Patches are coming shortly.

Alex

On Sat, 22 Oct 2022 at 21:56, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> Ok, I'd like to understand where the failure is exactly. I just ran
> 'bitbake rust' with poky master (rust 1.63) for qemuriscv32 machine,
> and it succeeded. How can I see the fail? Did this become broken with
> a 1.64.0 upgrade in your branch? (which I believe hasn't yet been
> through the autobuilder, and so might show similar fails for other
> targets without atomic_64 support)
>
> Alex
>
> On Fri, 21 Oct 2022 at 00:30, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > riscv32 builds fail since AtomicI64 is not available in sync::atomic for
> > this architecture. Therefore it needs to be opted out and the way out is
> > to pass it by RUSTFLAGS, however rust target recipe overrides RUSTFLAGS
> > before exporting it so its better to piggy back on the variable its
> > using which is RUST_DEBUG_REMAP
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  meta/recipes-devtools/rust/rust_1.64.0.bb | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/recipes-devtools/rust/rust_1.64.0.bb b/meta/recipes-devtools/rust/rust_1.64.0.bb
> > index 1f9dbd3cce..b05f188d9c 100644
> > --- a/meta/recipes-devtools/rust/rust_1.64.0.bb
> > +++ b/meta/recipes-devtools/rust/rust_1.64.0.bb
> > @@ -9,6 +9,7 @@ FILES:${PN}-dev = ""
> >
> >  # Used by crossbeam_atomic.patch
> >  export TARGET_VENDOR
> > +RUST_DEBUG_REMAP:append:riscv32 = " --cfg crossbeam_no_atomic_64"
> >
> >  do_compile () {
> >      rust_runx build --stage 2
> > --
> > 2.38.1
> >
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#172064): https://lists.openembedded.org/g/openembedded-core/message/172064
> Mute This Topic: https://lists.openembedded.org/mt/94464934/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>


  parent reply	other threads:[~2022-10-25 16:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 22:30 [PATCH] rust: Disable 64bit atomics on crossbeam on riscv32 Khem Raj
2022-10-21  6:03 ` [OE-core] " Alexander Kanavin
2022-10-21 14:05   ` Khem Raj
2022-10-21 15:41     ` Alexander Kanavin
2022-10-21 16:06       ` Khem Raj
2022-10-21 16:18         ` Alexander Kanavin
2022-10-21 16:59           ` Khem Raj
2022-10-21 17:12             ` Alexander Kanavin
2022-10-21 17:16               ` Khem Raj
2022-10-21 17:28                 ` Alexander Kanavin
2022-10-21 20:10                   ` Khem Raj
2022-10-22 19:56 ` Alexander Kanavin
     [not found] ` <17207C5BC457528C.2993@lists.openembedded.org>
2022-10-25 16:15   ` Alexander Kanavin [this message]
2022-10-26  0:45     ` Khem Raj
2022-10-26  7:58       ` Alexander Kanavin
2022-10-26 13:12         ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANNYZj8d9b-se+mjFJwcm_TuyNY74np-=hi+QjGjt8zgh874Dw@mail.gmail.com' \
    --to=alex.kanavin@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.