cargo-bisect-rustc
live-bootstrap
cargo-bisect-rustc | live-bootstrap | |
---|---|---|
4 | 28 | |
173 | 271 | |
1.7% | - | |
7.8 | 9.4 | |
8 days ago | 10 days ago | |
Rust | Shell | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cargo-bisect-rustc
-
Goodbye to the C++ Implementation of Zig
> One big downside is losing the ability to build any commit from source without meta-complexity creeping in. For example, let’s say that you are trying to do git bisect. At some point, git checks out an older commit, but the script fails to build from source because the binary that is being used to build the compiler is now the wrong version. Sure, this can be addressed, but this introduces unwanted complexity that contributors would rather not deal with.
If it's the main concern of using a prior build of the compiler, an alternative solution is to develop a tool for contributors to automate and ease the process. For example, Rust has this: https://github.com/rust-lang/cargo-bisect-rustc
-
Cross v0.2.2 Released
Added support for tools like cargo-bisect-rustc.
- Why does my code compile faster on nightly?
-
1.56 Compile time is through the roof!?
Finally, https://github.com/rust-lang/cargo-bisect-rustc/blob/master/TUTORIAL.md can bisect Nightlies or (if recent enough, I think CI artifacts are kept 3 months) PRs to tell you one introduced a problem.
live-bootstrap
- Bored? How about trying a Linux speedrun? (2020)
-
SectorC: A C Compiler in 512 bytes
Not using this, but tangentially related is (full disclosure, i am a maintainer of this project) live-bootstrap, which uses about a KB of binary to do a full "Linux from scratch" style thing - read https://github.com/fosslinux/live-bootstrap/blob/master/part... for all 143 steps you have to go through to get there.
-
Saving Knowledge Post-Collapse
Actually you can skip a file system entirely if you do something like stage0 or live-bootstrap https://github.com/fosslinux/live-bootstrap
-
Every night
See https://github.com/fosslinux/live-bootstrap, and https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst has all the steps we take.
- Goodbye to the C++ Implementation of Zig
-
what is the smallest linux system capable of building itself?
live-bootstrap builds a variety of intermediate systems, starting from a <1KB binary seed (kernel excluded). Check parts.rst for a description, it's kinda wild just how many C and C subset compilers get compiled... but the end result is a system with musl and GCC 4.7, from which building the latest GCC is 2 steps away.
-
Ken Thompson: Reflections on Trusting Trust (Turing Award Lecture)
There is also live-bootstrap which uses a similar bootstrap chain to Guix (stage0 -> Mes -> tcc -> gcc), but without needing Guile/guix-daemon binaries etc. The whole thing starts with just a 357-byte binary seed (source)!
- Collapsing Internet
- Zig is now self–hosted by default
-
GHC blog: Migrating from Make to Hadrian (for packagers)
There's some cool stuff being done in this area. For example, live-bootstrap goes from a tiny, auditable binary seed to a full GNU userland using only source code (and a Linux kernel).
What are some alternatives?
zvm - zvm (Zig Version Manager) lets you easily install/upgrade between different versions of Zig.
nix-ld - Run unpatched dynamic binaries on NixOS
cargo-llvm-lines - Count lines of LLVM IR per generic function
guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
mescc-tools-seed - A place for public review of the posix port of stage0
nix-zig-stdenv - cross-compile nixpkgs with zig
brainfuck-x86-64 - A brainfuck interpreter written in x86-64 assembly
cross - “Zero setup” cross compilation and “cross testing” of Rust crates
M2-Planet - The PLAtform NEutral Transpiler
rust - Empowering everyone to build reliable and efficient software.
rizin - UNIX-like reverse engineering framework and command-line toolset.