On Thu, Jun 04, 2020 at 06:06:39PM -0500, Segher Boessenkool wrote: > On Thu, Jun 04, 2020 at 11:55:11PM +0200, Phil Blundell wrote: > > 1a. Define your own subset of ELFv2 which is interworkable with the full > > ABI at the function call interface but doesn't make all the same > > guarantees about binary compatibility. That would mean that a binary > > built with your toolchain and conforming to the subset ABI would run on > > any system that implements the full ELFv2 ABI, but the opposite is not > > necessarily true. > > And you can only use shared objects also built for that subset ABI. If > you use some binary distribution, then it will also have to be built for > that subset, practically anyway.
Right, absolutely. Any place that I wrote "binary", I meant to include both DSOs and executables. > This is very similar to soft-float targets. Yes, agreed. > There is more process involved than most open source people are > comfortable with :-/ Yes, that's unfortunate but it goes with the territory. I think we have to accept that any attempt to define a single ABI where there are multiple interests involved will be a significant effort involving thousands of person-hours of work, much discussion, and a certain amount of politics and compromise. Inevitably, some people/organisations at the margins will decide that the game isn't worth the candle. If they don't participate in the general ABI effort then they can hardly complain about the results, but equally there is nothing to stop these folks from defining their own ABIs. If they can attain a critical mass to support such a variant ABI then, as far as I'm concerned, that's a fine thing and all power to them. p.