ARM64 ILP32 是具有 32 位 ABI 而不是 64 位 ABI 的 Armv8 体系结构,类似于从未在 Linux 上真正起飞的“x32”x86 工作。ARM64 ILP32 支持从未最终进入主线 Linux 内核或 GNU C 库,但确实出现在 GNU 编译器集合中。但多年后,由于很少使用,GCC 开发人员正在考虑在最终删除 ILP32 之前弃用它。
Arm 的 Wilco Dijkstra 本周提出了在 GCC 编译器中弃用 ARM64 ILP32 支持的提案,以便可以在将来的发行版中删除它。这种 32 位 ARM64 ABI 在几年前很少使用,如今大多数软件都是 64 位友好的,现在它的用途甚至更少,尤其是在从未有主线 Linux 内核支持运行 ILP32 模式的情况下。
关于 GCC 弃用 ILP32 模式的讨论在此 gcc-patches 邮件列表主题中。
对于弃用 ILP32 支持,而不是 Linux,而是 macOS/Darwin,可能存在一些担忧。带有 watchOS 的 Apple Watch 使用 ILP32 模式,并且有一位开发人员一直在探索 Apple Watch 的 GCC 支持。然而,这只是一个低优先级的激情项目,目前尚不清楚它是否/何时最终会实现。目前还不清楚有多少现有的 GCC ILP32 代码将被重新用于 Darwin/watchOS 目标。
由于一些 ARM64 ILP32 用户没有发声地宣布自己,看起来对此 ARM64 32 位 ABI 的 GCC 支持最终将被弃用,并最终在未来从 GCC 编译器中删除。
转自 GCC Developers Consider Deprecating ARM64 ILP32 Support – Phoronix
IT男特点:烟瘾大,喜欢熬夜……
准时回家?不加班的吗?!领导吧?