libobjc - start reorganization of headers/API
Nicola Pero
nicola.pero@meta-innovation.com
Thu Sep 9 09:29:00 GMT 2010
> Perhaps you could have a look at
>
> Defining a libobjc.so.2 ABI
> http://gcc.gnu.org/ml/gcc/2010-02/msg00340.html
That sounds like an excellent idea :-)
If you wait a few weeks, I'll complete my reorganization of the
headers and the API, and then
you can review the (new) list of symbols and we can decide what to do.
> while doing this. We may need to change the libobjc.so version
> depending on your changes and perhaps define an ABI only for the new
> version.
Yes
We'll likely have to define a new ABI.
The problem is that in the traditional GNU libobjc API there are no
private headers;
anything that needed to be declared in a header was put in the public
headers by
the original authors (this seems horrific today, but I'd consider it a
sign of the times and
of different sensibilities - but we'll obviously need to redo all the
headers with a contemporary
approach). ;-)
So, it's hard to not remove symbols or not to break things as any
change in the internals
will immediately reflect on the public symbols/API/ABI. (eg, the
internal thread layer reorganization
I already committed has already caused _objc_mutex_lock() and similar
private functions to disappear
from the public headers!).
If we have to break things, we may as well make a complete reorganized
putting in all
the possible required changes for the foreseeable future in this
release so that users
only have the upgrade shock once ;-)
But that is a lot of work.
Thanks
More information about the Gcc-patches
mailing list