> On 13 Jan 2025, at 18:51, Richard Sandiford <richard.sandif...@arm.com> wrote: > > Iain Sandoe <idsan...@googlemail.com> writes: >> Hi Folks, >> >>> On 10 Jan 2025, at 18:30, Wilco Dijkstra <wilco.dijks...@arm.com> wrote: >>> >>> Hi Andrew, >>> >>>> Personally I would like this deprecated even for bare-metal. Yes the >>>> iwatch ABI is an ILP32 ABI but I don't see GCC implementing that any >>>> time soon and I suspect it would not be hard to resurrect the code at >>>> that point. >>> >>> My patch deprecates it in all cases currently. It will be a good warning for >>> people that it will go away in the future (even if we don't yet agree on >>> when >>> exactly). >> >> Andrew is correct (at least in so far as I am the active person supporting >> Darwin >> on GCC). It is not likely to happen any time soon - there are higher >> priorities. >> >> However, the existence of watchOS with a very wide deployment does mean >> that there is at least one significant use of ILP32 in the wild. >> >> I guess if a miracle occurs and somehow watchOS becomes relevant, I’d imagine >> we’d have ABI work to do anyway - so having to restore old code would be part >> of that. > > OK, thanks! > > In that case, I'm coming round to the idea of deprecating ILP32. > I think it was already common ground that the GNU/Linux support is dead. > watchOS would use Mach objects rather than ELF. As you say, it isn't > clear how much of the current ILP32 support would be relevant for it. > And there is no specific evidence that anyone is using the baremetal > support. Deprecating ILP32 is probably the only way of finding out > whether there are baremetal users. > > (Note that I don't think the argument about libatomic & long really > shifts the balance, since baremetal doesn't use libatomic, and I assume > watchOS wouldn't either. PR118142 has been closed as WONTFIX, which I > agree is the right resolution whatever happens with the deprecation > decision.) > > Kyrill, what do you think?
I don’t know of any embedded users of ILP32 but the nature of such embedded use cases is that they are not very publicly visible so can’t know for sure. We can’t prove a negative (that there are no more users of it) so I’m okay with declaring it deprecated in GCC 15 to see if anyone protests. It would need a note in the Caveats section at the top of https://gcc.gnu.org/gcc-15/changes.html Thanks, Kyrill > > Richard