this post was submitted on 18 Jul 2026
17 points (100.0% liked)

technology

24418 readers
175 users here now

On the road to fully automated luxury gay space communism.

Spreading Linux propaganda since 2020

Rules:

founded 6 years ago
MODERATORS
 

I'm trying to work on writing an OS in Rust just for funsies, but the compiler is among the most uncooperative software I've dealt with. I've got it set to build core for my specified target, but I'm getting arcane errors. The top of the error output says no lowering implemented for i686 and towards the bottom I get

#0 [fn_abi_of_instance_no_deduced_attrs] computing unadjusted call ABI of 'ffi::va_list::_::c'
#1 [eval_to_allocation_raw] const-evaluating + checking 'ffi::va_list::_'

I have scoured the internet for any information regarding this error, and the only things actually addressing the error and not musing about how Rust has an unstable ABI is the AI overview which completely changes it's answer every time I slightly alter the search terms, and none of its answers are remotely helpful. Hell, I even tried typing at Gemini, and it could not conjure up anything vaguely helpful.

top 3 comments
sorted by: hot top controversial new old
[–] zongor@hexbear.net 3 points 2 days ago* (last edited 2 days ago) (1 children)

I can’t say specifically about this error, but long ago when I was trying out Rust I found this blog about how to write a x86_64 OS in Rust. Possibly you could take the config info and apply it to i686 instead: https://os.phil-opp.com/freestanding-rust-binary/

There’s also a “bare bones” Rust guide on the osdev wiki: https://wiki.osdev.org/Rust_Bare_Bones_(UEFI)

[–] CupcakeOfSpice@hexbear.net 3 points 2 days ago

I've used that blog in the past. Maybe I should just use x86_64. I thought the blog would be outdated by now, but it seems they've kept up with it as I see things that weren't there before. Still couldn't get i686 to work, though.

[–] CupcakeOfSpice@hexbear.net 2 points 1 day ago

Or maybe I should focus on a Rust implementation of the Reticulum network stack. It's currently written in Python, which is great, but something lower level might work even better. I have a lot of research to do, so it's possible it wouldn't be any better anyway.