Questions re Symbol versioning
davecb at sun.com
Mon May 26 12:05:24 GMT 2008
Then that's one of the easy cases: think of it as a relational database (;-))
where you ca add columns to the end, but to get rid of a column you
need to have all it's elements NULL (ie, all callers can accept a NULL
return code) and to change one you need to add and then delete.
Stefan (metze) Metzmacher wrote:
> David Collier-Brown schrieb:
>>Stefan (metze) Metzmacher wrote:
>>>>>It doesn't help everywhere, but it doesn't harm where it's supported.
>>>>>So far the build-farm looks ok.
>>>Gerald (Jerry) Carter schrieb:
>>>>But it doesn't help us with versioning on platforms that
>>>>don't use GNU ld right? So we have to go through all the hoops
>>>>of maintaining backwards compatibility (compatible DSO files).
>>>>So what I'm missing is that this seems to make those platforms
>>>>the corner cases which means they are guaranteed to break.
>>>>My have to support two solutions at all ?
>>>A logical next question is how does it fail when the linker
>>>doesn't honor the versioning? Doe you get
>>>- the first one found in the file?
>>>- the last one?
>>>- both if it's called more than once?
>>>Another might be, can you implement it with, for example,
>>>name mangling for linkers which don't support it?
>> D'oh! I forgot the most basic question: what are the interfaces
>>you're planning to change? Several forms of mutation can be
>>done cleanly without signature changes...
> We don't want to change a functions yet, but we want to add new
> functions to the interface which older versions of the library won't have.
David Collier-Brown | Always do right. This will gratify
Sun Microsystems, Toronto | some people and astonish the rest
davecb at sun.com | -- Mark Twain
(905) 943-1983, cell: (647) 833-9377, (800) 555-9786 x56583
bridge: (877) 385-4099 code: 506 9191#
More information about the samba-technical