News: 0001519361

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GCC Goes Ahead With The ARM64 ILP32 Deprecation

([GNU] 6 Hours Ago 32-bit ARM64 ABI Deprecated)


As a follow-up to the recent news around [1]GCC considering deprecating ARM64 ILP32 support , the free software developers have indeed decided to move ahead in deprecating this 32-bit ABI for ARM64.

As summed up in the prior article, ARM64 ILP32 is a 32-bit ABI for Armv8 akin to the x32 efforts in the x86_64 world from a number of years ago. But the mainline Linux kernel and GNU C Library never ended up seeing mainline ILP32 support and the GCC compiler support for this 32-bit ABI has been of very limited use.

One of the rare areas where ARM64 ILP32 is known to be used is with the Apple Watch on watchOS, but GCC currently doesn't have mainline support there. A developer has expressed interest in pursuing that support but it's not even clear this Linux-focused ILP32 support would be of much re-use there. Plus the code via Git can be easily restored later if such work actually materializes.

So as such with the newest GCC Git code, ARM64 ILP32 via the "-mabi=ilp32" option is now [2]deprecated :

"ILP32 was originally intended to make porting to AArch64 easier. Support was never merged in the Linux kernel or GLIBC, so it has been unsupported for many years. There isn't a benefit in keeping unsupported features forever, so deprecate it now (and it could be removed in a future release)."

This deprecation is happening with the GCC 15 compiler due out this year. It's then possible next year with GCC 16 that the deprecated support could be removed from the compiler.



[1] https://www.phoronix.com/news/GCC-May-Deprecate-ARM64-ILP32

[2] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=625ea3c6ea1811388d030eddff57cd46c209d49a



phoronix

Brief History Of Linux (#10)
The AnyQuack Computer

One electronic machine, Colossus, was used by the British in World War II
to decode Nazi transmissions. The code-breakers were quite successful in
their mission, except for the tiny detail that nobody knew how to read
German. They had decoded unreadable messages into... unreadable messages.

Two years later in 1945, a group of professors and students at the Univ.
of Pennsylvania were discussing computing theory. An argument ensued, in
which one professor yelled, "Any quack can build an electronic computer!
The real challenge is building one that doesn't crash every five minutes."

One graduate student, J. Presper Eckert, Jr., responded, "I'm any quack!
I'll take you up on that challenge. I'll build a device that can calculate
1,000 digits of pi in one hour... without crashing!" Several professors
laughed; "Such high-speed calculations are beyond our level of technology."

Eckert and his friends did build such a device. As a joke, he called the
machine "AnyQuack", which eventually became ENIAC -- ENIAC's Not Intended
As Crashware, the first known example of a self-referential acronym.