arm-trusted-firmware
rustc_codegen_gcc
arm-trusted-firmware | rustc_codegen_gcc | |
---|---|---|
9 | 49 | |
1,823 | 874 | |
1.6% | 1.5% | |
9.9 | 9.7 | |
1 day ago | 6 days ago | |
C | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
arm-trusted-firmware
- A Close Look at a Spinlock
-
This happens more than I'd like to admit.
I have a PinePhone Pro, and I'm trying to figure out a reasonable way to get more than one half of ten minutes of battery life out of it, while still receiving notifications. I figure the best route to go will be to create a service that holds ports open, while the CPU is completely asleep, and either run it on the modem's processor or, as an possibility for the PinePhone Pro, but not the original Pinephone, run it on the m0 core used for power management.
-
Booting Modern Intel CPUs
Arm v7 was a Wild West, but with v8, Arm tried to standardize a lot. The Arm Trusted Firmware is the reference boot firmware implementation for v8+ CPUs: https://github.com/ARM-software/arm-trusted-firmware.
I'd think most of the referece documents can be discovered from that code base.
Relatedly, from the perspective of hands-on programming, the System Programmer's guide is the manual to start with.
-
โRust is safeโ is not some kind of absolute guarantee of code safety
I assure you that there is no lack of skill; that is just what happens over the course of ten years in a 300,000 line code-base and multiple hundreds of contributors: https://github.com/ARM-software/arm-trusted-firmware/blob/master/Makefile
-
The PocketReform is a made-in-Berlin Linux handheld
The ARM Trusted Firmware is what typically runs in the secure world, and it is indeed open source: https://github.com/ARM-software/arm-trusted-firmware
ROM code generally speaking is not open source, but has been dumped on occasion.
- Unpaid social media moderators perform labor worth at least $3.4 million a year on Reddit alone
-
Will we ever get any coreboot / libreboot support or any PSP source code releases??
The reference Trustzone implementation for ARM is open source https://github.com/ARM-software/arm-trusted-firmware , so I really can't think of some reason the ARM license would have to do with it.
-
SMP support for aarch64
SMP support (at least as far as CPU suspend and hotplug goes) is usually handled by TrustZone firmware on aarch64, not by the kernel (see PSCI). If you write your own OS on a bare-metal platform you can of course do what you want, but if you're looking for existing sources that's where you'd have to look. https://github.com/ARM-software/arm-trusted-firmware is a common reference implementation that supports a bunch of platforms, but many others (e.g. all Samsung and Qualcomm phones) also use their own proprietary stuff which is not publicly available.
-
Dissecting the Apple M1 GPU, part III -- Prototype Mesa compiler can now spin a cube
Come again? https://github.com/ARM-software/arm-trusted-firmware
rustc_codegen_gcc
-
How hard would it be to port the Rust toolchain to a new non-POSIX OS written in Rust and get it to host its own development? What would that process entail?
Alternatively, there's another initiative called codegen_gcc which is about using GCC as a backend for the rustc compiler. It's (much) more advanced in Rust support, but I am not sure how easy it would be to use a modified libgccjit from there.
-
"Rust makes me never want to touch C again" -- Matthew Ahrens
In addition to what others have said about platform support, Rust is also on its way to gaining more platform support through rustc_codegen_gcc, the GCC codegen backend for rustc, as an alternative to the LLVM backend. That means many of the platforms GCC supports will suddenly become available with Rust.
-
Rust contributions for Linux 6.4 are finally merged upstream!
Yeah, rustc_codegen_gcc is a GCC backend for rustc, and its making a lot of good regular progress.
-
GCC 13 and the State of Gccrs
gcc-rs is one of two projects for bringing Rust to gcc. gcc-rs is the more ambitious of the two, with an entirely new frontend. There is also rustc_codegen_gcc (https://github.com/rust-lang/rustc_codegen_gcc) that keeps the rustc frontend, and only swaps out LLVM for GCC at the codegen stage.
-
rustc_codegen_gcc: Progress Report #22
Fixing unwinding in release mode is still ungoing. I could use some help here, so anyone with some understanding of unwinding, landing pads or GCC, please come on this issue to discuss this.
-
Any alternate Rust compilers?
Additionally, there is gcc codegen for rustc (https://github.com/rust-lang/rustc_codegen_gcc), which is not a compiler per se, but an alternative code generator, with more architectures supported and other nice things. It's also coming along, but there's still a lot of work to do there too. There's also Cranelift codegen (https://github.com/bjorn3/rustc_codegen_cranelift), which is designed to make debug builds faster, but this is not as exciting/useful as the other 2.
-
rustc_codegen_gcc: Progress Report #21
Good idea. I added the tag "help wanted" to the issue.
-
Challenges writing a compiler frontend targeting both LLVM and GCC?
Also, there are indeed ABI issues, e.g. for 128-bit integers and NaN.
-
A brave new world: building glibc with LLVM
I'm excited about both the backend & the frontend.
-
Rust front-end merged in GCC trunk
There is also a project for rustc to use GCC instead of LLVM for codegen.
https://github.com/rust-lang/rustc_codegen_gcc
What are some alternatives?
lru-rs - An implementation of a LRU cache
gccrs - GCC Front-End for Rust
c2rust - Migrate C code to Rust
gcc-rust - a (WIP) Rust frontend for gcc / a gcc backend for rustc
too-many-lists - Learn Rust by writing Entirely Too Many linked lists
min-sized-rust - ๐ฆ How to minimize Rust binary size ๐ฆ
darwin-xnu - Legacy mirror of Darwin Kernel. Replaced by https://github.com/apple-oss-distributions/xnu
databend - ๐๐ฎ๐๐ฎ, ๐๐ป๐ฎ๐น๐๐๐ถ๐ฐ๐ & ๐๐. Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. https://databend.com
docs - Hardware and software docs / wiki
compiler-explorer - Run compilers interactively from your web browser and interact with the assembly
pinephone_modem_sdk - Pinephone Modem SDK: Tools to build your own bootloader, kernel and rootfs
libgccjit-patches - Patches awaiting review for libgccjit