cvs commit: src/include string.h src/lib/libc/string
Makefile.inc memchr.3 memrchr.c src/sys/sys param.h
deischen at freebsd.org
Thu May 29 15:33:55 UTC 2008
On Thu, 29 May 2008, Robert Watson wrote:
> On Thu, 29 May 2008, Andre Oppermann wrote:
>> These symbol versioning discussion come up from time to time and actually
>> as a developer who is not often confronted with it I have a hard time
>> figuring out what exactly I'm supposed to do here.
>> Hence my pretty-please request to the guru(s) in residence to write up a
>> section for the FreeBSD developers handbook explaining the concept of
>> symbol versioning, its concrete implementation in FreeBSD and the rules we
>> apply to versioning (including example cases like this and some earlier
>> ones that came up).
> Daniel has a nice summary here:
> However, I agree that this is something I'd like to see moved into the
> developers handbook, and as we get more experience, fleshed out. For
> example, fts is one of the worked examples there, but I think the text could
> talk a bit more about how a change in the layout of a structure, even though
> function signatures remain the same, leads to an ABI change, and what other
> implications there are.
I tried to do that with FILE, although it turns out it's not a good
example. I think we're basically screwed with structures unless we
add versioning inside them. An application can create a structure
using the new format from a recent libc, then pass it to a 3rd
party library that hasn't been rebuilt, and the 3rd party library
passes it back to libc using a compat function.
More information about the cvs-src