On 04.07.2023 18:10, Roger Pau Monné wrote: > On Tue, Jul 04, 2023 at 06:04:36PM +0200, Jan Beulich wrote: >> On 04.07.2023 17:55, Roger Pau Monné wrote: >>> On Tue, Jul 04, 2023 at 05:42:33PM +0200, Jan Beulich wrote: >>>> Plus is the mentioned >>>> "potential ABI change" safe to take on a stable branch? There's not going >>>> to >>>> be any SONAME change ... >>> >>> Is there any ABI change in practice? Both fields will still have a 1bit >>> size. >> >> But what a consumer of the interface reads out of such a field would change >> in case their compiler settings arrange for signed bitfields when signedness >> isn't explicit. We don't dictate, after all, what compiler settings to use >> with our interfaces (which generally is good, but which bites us here). > > Hm, I see. I would argue that sign doesn't matter here, as those are > intended to be booleans, so anything different than 0 would map to > `true`. But implementation might have hard coded TRUE to -1, and the > change would then break them?
That's a possible scenario I'm wary of here, yes. > I'm failing to see that, because those implementations would still use > the old struct declarations they have been built with, and hence would > still threat it as signed? Until they rebuild against the updated header, without any change to their code. Anthony - do you have any thoughts here? Jan
