[esnacc-bugs] [esnacc-dev] ABI-change proposal

Bálint Réczey balint at balintreczey.hu
Tue Nov 22 16:32:28 UTC 2016


Hi,

2016-11-22 15:36 GMT+01:00 Aaron Conole <aconole at bytheb.org>:
> Sagara Wickramasekara <sagaraw at gmail.com> writes:
>
>> Given we're making some other ABI changes, did you want to put this into 1.9 as well?
>
> So far, we haven't made any ABI changes to 1.9;  I'm okay with doing
> that if we also make it clear for downstream maintainers that we will be
> breaking the ABI in the 1.9 release (which isn't scheduled currently,
> but I'm hoping to get a few features tested and integrated by Jul 2017
> for that release).

I have no problem with ABI breakages, just please maintain the SO versions
according to:
https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

Cheers,
Balint

PS: I'm on dev@ now.

>
>> On Thu, Nov 3, 2016 at 4:01 PM, Aaron Conole <aconole at bytheb.org> wrote:
>>
>>  So, for 1.10, I want to propose making a change to the esnacc lists ABI
>>  for the C library.
>>
>>  Currently, the AsnListNode structure uses a data field as an extension
>>  point of the structure.  This is used throughout the code as follows:
>>
>>    foo = (Foo **)AsnListAppend();
>>    *foo = Malloc(sizeof Foo)
>>    Foo *RealFoo = *foo;
>>    ...
>>
>>  My guess is that the original authors ran into alignment issues, and
>>  rather than figure out how to tell each compiler that the structure
>>  needed to be aligned, they hacked it up and converted over to using
>>  pointer-to-pointer and avoid the alignment problems completely.
>>
>>  Since this makes for unintuitive code, I think it best to make this ABI
>>  incompatible change in the 1.10 release (so, basically, let folks know
>>  that it will be deprecated, and make 1.10 a new ABI).
>>
>>  Any opposition?  Any support?  Thoughts?
>>
>>  -Aaron
>>  _______________________________________________
>>  dev mailing list
>>  dev at lists.esnacc.org
>>  http://mail.esnacc.org/mailman/listinfo/dev


More information about the bugs mailing list