CloudABI removal?

Fangrui Song i@maskray.me
Wed Aug 20 07:25:47 GMT 2025


On Tue, Aug 19, 2025 at 9:00 PM Alan Modra <amodra@gmail.com> wrote:
>
> On Tue, Aug 19, 2025 at 11:51:51PM +0100, Sam James wrote:
> > Sam James <sam@gentoo.org> writes:
> >
> > > Hi,
> > >
> > > https://github.com/NuxiNL/cloudlibc#note-this-project-is-unmaintained
> > > says:
> > >> CloudABI is no longer being maintained. It was an awesome experiment,
> > >> but it never got enough traction to be sustainable.
> > >> If you like the idea behind CloudABI, please consider looking into the
> > >> WebAssembly System Interface (WASI). WASI's design has been inspired by CloudABI.
> > >>
> > >> The author of CloudABI (Ed Schouten) would like to thank all of the
> > >> people who contributed to this project. Let's hope CloudABI lives on
> > >> in spirit and influences the way software is designed in the future!
> > >
> > > We recently removed NaCl. Should we remove CloudABI?
> >
> > I should note the "support" is pretty trivial/small, but it also never
> > took off, so I don't think there's much value in keeping it.
>
> Yes, the cloudabi support branded object files with ELFOSABI_CLOUDABI
> but other than that didn't do much.  Committed.
>
> [...]

Thanks for raising this topic, and thanks to Alan for removing CloudABI.

FTR FreeBSD dropped CloudABI in 2021
https://reviews.freebsd.org/D31923 and clang followed suit in 2023
(https://reviews.llvm.org/D158920).

It seems that many people expressed regret over the discontinuation of
CloudABI. https://val.packett.cool/blog/use-openat/ ("path.join
Considered Harmful, or openat() All The Things") says:

> Anyway, thankfully, what’s fulfilling the need for an ABI is WASI, the WebAssembly System Interface, which is… basically kinda sorta just a wasm32-cloudabi target if you look at it! (Well, with the whole Component Model thing that’s only going to be one aspect of it but still.) The WASI overview explicitly references CloudABI and Capsicum. And even the aforementioned research into Capsicumizing existing software in the form of libpreopen. In a way, we have won after all! :) The industry-hyped, Wasm-workgroup-blessed, by-all-compilers-supported ABI for POSIX-y applications is based on exactly these ideas.

Side note: it seems that Android ndk is exploring alternatives to
WebAssembly for sandboxing, such as Lightweight Fault Isolation (LFI).
The performance of WebAssembly is bad.
LFI might need assembly-level shenanigans like NativeClient.


More information about the Binutils mailing list