1/31/2026 at 7:43:19 PM
They made C memory safe? This is a big thing to gloss over in a single paragraph. Does anyone have extra details on this?> On devices with iOS 14 and iPadOS 14 or later, Apple modified the C compiler toolchain used to build the iBoot bootloader to improve its security. The modified toolchain implements code designed to prevent memory- and type-safety issues that are typically encountered in C programs. For example, it helps prevent most vulnerabilities in the following classes:
> • Buffer overflows, by ensuring that all pointers carry bounds information that’s verified when accessing memory
> • Heap exploitation, by separating heap data from its metadata and accurately detecting error conditions such as double free errors
> • Type confusion, by ensuring that all pointers carry runtime type information that’s verified during pointer cast operations
> • Type confusion caused by use after free errors, by segregating all dynamic memory allocations by static type
by promiseofbeans
1/31/2026 at 8:59:47 PM
>They made C memory safe?They made a dialect of C with bounds safety, see:
by 1over137
1/31/2026 at 8:47:48 PM
Many years ago. It’s called Firebloom. I think it’s similar in theory and lineage to Fil-C.by bri3d
1/31/2026 at 7:55:26 PM
Sort of. From my understanding they’ve been heavily using clang with fbounds checks to insert checks into functions. I think there was work done to try to insert them into existing code as well. They memory tagging in new processors help avoid overflow exploitation. Maybe someone can jump in and add more detailsby vsgherzi
2/1/2026 at 7:45:50 AM
Yes, that is however a dialect, and one of the goals to Swift Embedded roadmap is to replace it.by pjmlp
2/1/2026 at 12:18:12 PM
So they were not joking when they say they want Swift to replace from Assembly to Javascript.I dont think this will end well.
by ksec
2/3/2026 at 7:22:44 PM
Why? There's no particular reason why a language can't span low-level to high-level. C# is a good example of that: normally you deal with garbage collected objects and references, but if you need to drop down to explicit stack allocations, raw pointers, unions etc, you can - though of course the resulting code looks very different from idiomatic high-level code.by int_19h
2/1/2026 at 2:55:41 PM
It has been on Swift and Apple's official documentation since the early days.People keep forgetting that Objective-C also had a full stack role on NeXTSTEP.
And the same full stack approach was also a thing on Xerox PARC systems, which mostly failed due to mismanagement.
Usually ends well for closed source platform vendors when developers aren't allowed to come up with alternatives like on FOSS operating systems.
At least, as long as the platform stays market relevant.
by pjmlp
2/1/2026 at 4:03:32 PM
>People keep forgetting that Objective-C also had a full stack role on NeXTSTEP.In terms of Apps and Low Level Stack Objective-C doesn't seems wrong in my book. The problem is Swift begin as a much larger language and evolve into a gigantic pile of a little of everything.
by ksec
2/1/2026 at 4:09:29 PM
Doesn't seem to hinder C++, which modern C compilers are written with nowadays.Despite all its complexity, LLVM and GCC aren't getting rewritten any time soon, or the OSes that rather use C++ subsets instead of being stuck with C.
by pjmlp