Premature removal of aarch64 ilp32
Joel Sherrill <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <CAF9ehCWecyr2x8K_Q4A5AFcfF75fKN0sH8QRJQQy_nxpPGWVTA@mail.gmail.com> |
Hi A recent commit broke aarch64 ilp32. While I agree that it has been deprecated in GCC, it is not scheduled for removal until GCC 16 which has not been released yet. It is deprecated in GCC 15 but there it is still possible to build a tool chain with current released versions. The commit was: commit de479a54e22e8fcb6262639a8e67fe8b00a27c37 Author: Radek Bartoň <[email protected]> Date: Thu Jun 5 11:32:08 2025 +0200 The full commit message is below my signature. Newlib has never been aggressive about removing support for architectures. I point to the nios2 as a recent example. It is last supported by GCC 14 and that requires enabling obsolete. RTEMS is planning on a release with GCC 15 as the primary compiler. nios2 will be locked onto gcc 14. Both ilp32 and nios2 will have to be removed as we move past GCC 15. Why was ilp32 support removed while still supported in the current gcc release? What was special about this particular case that breaks a few decades of newlib being OK with leaving old targets in the tree? --joel commit de479a54e22e8fcb6262639a8e67fe8b00a27c37 Author: Radek Bartoň <[email protected]> Date: Thu Jun 5 11:32:08 2025 +0200 newlib: libc: update asmdefs.h compatible with Cygwin AArch64 This patch synchronizes newlib/libc/machine/aarch64/asmdefs.h header with version from https://github.com/ARM-software/optimized-routines/commit/4352245388a55a836f3ac9ac5907022c24ab8e4c commit that added support for AArch64 Cygwin. This version of the header removed PTR_ARG and SIZE_ARG macros as ILP32 was deprecated which introduced changes in many .S files so the patch contains removal of usages of those macros. On top of that, setjmp.S and rawmemchr.S were refactored to use ENTRY/ENTRY_ALIGN and END macros. ` Signed-off-by: Radek Bartoň <[email protected]>