• 1 Post
  • 11 Comments
Joined 3 months ago
cake
Cake day: June 13th, 2024

help-circle



  • Chimera Linux (not to be confused with ChimeraOS, a variant of SteamOS). It introduces itself like this:

    Chimera is an independent, general-purpose, rolling-release Linux distribution developed from scratch. It utilizes a FreeBSD-based userland, musl C library and the LLVM toolchain, along with the dinit service manager. Its primary focus is correctness, consistency and simplicity, but not at the expense of feature set; its primary desktop environment is GNOME

    It’s worth mentioning that it’s a Linux without GNU (though not for the sake of being that). In general I think projects like this one has a value from a ecosystem diversity perspective too, which also has become immediately apparent when Chimera Linux wasn’t hit by the two last security issues I learned about (the recent SSH regression and the xz debacle).

    I’m particularly impressed with their relatively lean setup, but I haven’t had opportunity to use it yet. It’s a bit too immature for my desktop use and I’m already happy with the server I have so it makes no sense to switch.


  • The only part of a JIT compiler I don’t understand how it works is the part that swaps in compiled routines during interpretation. That’s the point I’m unsure of how to write in Rust because it seems like it would require very custom control flow. It might be that you can handle this by storing your compiled instructions somewhere using the C calling convention and then having Rust call your compiled function like a C function.

    In essence, what you have is a Rust program that has to produce machine code (easy!), store it somewhere in RAM (also easy, I think), and then somehow call it (how???). The final part seems like the difficult one since passing execution into arbitrary memory they just wrote is just the sort of thing programs aren’t normally supposed to do.