ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
Comstar has joined #rust-embedded
Comstar has quit [Ping timeout: 260 seconds]
Comstar has joined #rust-embedded
Comstar has quit [Changing host]
Comstar has joined #rust-embedded
jcroisant has joined #rust-embedded
Comstar has quit [Quit: Leaving]
ska has quit [Ping timeout: 276 seconds]
_whitelogger has joined #rust-embedded
sroemer has joined #rust-embedded
sroemer has quit [Changing host]
sroemer has joined #rust-embedded
phycrax[m] has joined #rust-embedded
<wassasin[m]> <phycrax[m]> What is the best approach for having painless rust-analyzer experience where one:...
<wassasin[m]> If someone has a good approach, also very interested
<wassasin[m]> For now I have consigned myself to multiple VS code instances, each on a separate i3 workspace, but this does not scale very well on my laptop which does not have enough RAM for all the rust-analyzer instances simultaneously :')
atom_skillz[m] has joined #rust-embedded
<atom_skillz[m]> maybe emacs or neovim can do that
Daniel[m] has quit [Quit: Idle timeout reached: 172800s]
cyrozap has quit [Server closed connection]
cyrozap has joined #rust-embedded
<dngrs[m]> iirc r-a is working on deduplicating memory use or something
danielb[m] has quit [Quit: Idle timeout reached: 172800s]
<JamesMunns[m]> I do think we are in need of "someone writes a blog post that clearly explains where cargo/workspaces/rust-analyzer fail for embedded projects", particularly:... (full message at <https://catircservices.org/_irc/v1/media/download/AQKK9-C2IL1hoWOW2Fu5jriPNqvkFuW0CMjjrVIanrab7QLLflaLT6st6be3qkCYUub1VIdx673eFB_bksvtn0i_8AAAAAAAAGNhdGlyY3NlcnZpY2VzLm9yZy9WQkJMR3hVTEx1VnRWcE5aTnFZalVPYmo>)
<JamesMunns[m]> I think to make it all nice, you're going to have to make it very clear what the *problem* is, but also what we *want* to be able to work.
<JamesMunns[m]> I'm happy to put it in front of the right people if someone will write it up
ska has joined #rust-embedded
<dirbaio[m]> IME there really is no better way than opening N vscode windows
<JamesMunns[m]> I wrote this up a while back, if anyone wants to use it as a starting point: https://github.com/jamesmunns/bad-workspace
<dirbaio[m]> at work we have multiple blah.code-workspace files each with its own r-a linkedProjects and cargo features
<dirbaio[m]> so you just open the right one depending on what you want to work on
<dirbaio[m]> even if r-a allowed specifying target/features for each linkedProject, I don't think this'd solve the problem
<dirbaio[m]> because different target/features means r-a has to load+compile deps N times, blowing up RAM
<dirbaio[m]> so you'd open the one unified vscode workspace and then blow up your computer
<dirbaio[m]> with separate vscode workspaces you can choose what to open. so if you have little ram you open only 1 or 2 and not blow up your computer
<dngrs[m]> <dirbaio[m]> IME there really is no better way than opening N vscode windows
<dngrs[m]> You could open multiple lapce windows...
<dngrs[m]> Jokes aside that doesn't solve the memory ballooning either (but lapce language server stuff can indeed be much more responsive than vscode with large projects)
KevinPFleming[m] has joined #rust-embedded
<KevinPFleming[m]> and here we go... Rust 1.89.0
<KevinPFleming[m]> Binary of my project got a little smaller, but not as dramatic as the last two compiler releases.
<Ralph[m]> ok, i'm in a bit of a pickle right now... i have a workflow which automatically flashes an RP Pico using UF2 (no debugger attached). it reboots the pico to bootloader mode (using a `postcard-rpc` endpoint... (full message at <https://catircservices.org/_irc/v1/media/download/Aa8-CE4BHKLY6Mw5S3EeScWh24ddXCz5ZrGkMR-GuFZ1PqKCk_T03m9Sv53nSnr3mgM46aNRyfkmazrF8i6pzIu_8AAAAAAAAGNhdGlyY3NlcnZpY2VzLm9yZy9ibU9XZE5wR0F1dlpoZWd0YmRhaUd4eEQ>)
<JamesMunns[m]> I'd strongly recommend just using `picotool`
<JamesMunns[m]> I though I'd only seen the "unrecognized abi" stuff when using it with the RP2350, but afaik `elf2uf2-rs` isn't maintained, and the official `picotool` has gotten better.
<Ralph[m]> this is in a docker image; installing `elf2uf2-rs` with `binstall` is a lot faster & easier than trying to install the picotool from the SDK or even compile it from source. so i'd like to avoid that.
<Ralph[m]> i'm aware that it's bordering on being unmaintained now, which is really sad 😞
<Ralph[m]> this is for RP2040, not RP2350 - which is why i didn't expect this error
<JamesMunns[m]> https://github.com/JoNil/elf2uf2-rs/issues/40 seems to match what you're reporting
<JamesMunns[m]> Ralph[m]: you can `curl | tar` from the gh releases (this is also what binstall does basically): https://github.com/raspberrypi/picotool/releases/tag/2.2.0
<JamesMunns[m]> <KevinPFleming[m]> Binary of my project got a little smaller, but not as dramatic as the last two compiler releases.
<JamesMunns[m]> chekhov's gun
<JamesMunns[m]> Ralph[m]: > i'm aware that it's bordering on being unmaintained now, which is really sad
<JamesMunns[m]> forking and maintaining the fork is always an option, or talking to the original author to take over!
<JamesMunns[m]> The full explanation of why it fails is in the issue I linked, btw: https://github.com/JoNil/elf2uf2-rs/issues/40
<JamesMunns[m]> > the "OS/ABI" has changed from "UNIX - System V" to "UNIX - GNU".
<Ralph[m]> aaah, i missed that it's the same error because the issue was older. but the author was using nightly and thus already had that change. thanks for spotting that!
<Ralph[m]> well, crap. isn't that a breaking change of rust? 🤔
<JamesMunns[m]> I don't know if Rust particularly guarantees anything about "elf metadata fields"
<JamesMunns[m]> not all visible changes are breaking changes.
<JamesMunns[m]> and in this case, it's probably actually elf2uf2-rs being *too* strict in checking, because the two different abi codes are (mostly?) interchangable.
corecode[m] has joined #rust-embedded
<corecode[m]> on this project that requires libc, weirdness. why is libc_nano compiled with reentrant support for stdin/stdout/stderr? 400 bytes of ram just squandered
<corecode[m]> and it seems to come from a crt0.o that references exit() that references __stdio_exit_handler
dinkelhacker has quit [Server closed connection]
dinkelhacker has joined #rust-embedded
<firefrommoonligh> <KevinPFleming[m]> and here we go... Rust 1.89.0
<firefrommoonligh> AVX-512 SIMD!
<firefrommoonligh> twice the bits
diondokter[m] has joined #rust-embedded
<diondokter[m]> The one from this release I like most is that Result::flatten is finally stabilized!
glitchy has joined #rust-embedded
flx has quit [Server closed connection]
fsinger has joined #rust-embedded
jfsimon has quit [Remote host closed the connection]
jfsimon has joined #rust-embedded
jfsimon has quit [Remote host closed the connection]
jfsimon has joined #rust-embedded
jfsimon has quit [Client Quit]
jfsimon has joined #rust-embedded
jannic[m] has quit [Quit: Idle timeout reached: 172800s]
therealprof[m] has quit [Quit: Idle timeout reached: 172800s]
bartmassey[m] has quit [Quit: Idle timeout reached: 172800s]
AndyTAbergavenny has joined #rust-embedded
AndyTAbergavenny has quit [Remote host closed the connection]
AndyTAbergavenny has joined #rust-embedded
AndyTAbergavenny has quit [Remote host closed the connection]