This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Possible ld.so modifications


Is there any way to do this automatically when compiling a lib? If so,
is there any good reason why most distros don't seem to do it?

I'm just reading that PDF Ulrich pointed me too (thanks btw! very
helpful). <looks uncomfortable> I can see that ideally every lib would
version symbols that had changed, but actually that doesn't happen,
partially though ignorance and partially because it's a lot more effort.
Also of course although gtk could have only versioned symbols that had
changed, in reality the internals of GTK changed massively in the
transition from 1 to 2 (ie GObject was pulled out into glib). They
relied on libtool versioning to make this easy for them and their users.

So... although versioning every symbol in a lib isn't ideal, that would
go some way towards helping solve the issue. Then all we have to do is
convince distro organisations to ship every lib with symbol versioning
switched on (if it can be done automatically). Still a huge job, but I
get the impression that eliminating static lib semantics from the linker
would be like trying to run up a brick wall.

thanks -mike

On Tue, 2002-12-17 at 21:29, Jakub Jelinek wrote:
> On Tue, Dec 17, 2002 at 09:00:25PM +0000, Mike Hearn wrote:
> > I don't understand why symbol versioning is the solution here... it'd be
> > quite hard to make gtk2 abi compatable with gtk1 for instance, even
> 
> Well, if both gtk1 and gtk2 libs use symbol versioning, one marks all
> its symbols with @@GTK_1.0 and the other one with @@GTK_2.0, then they can
> happily coexist, as long as they have different sonames.
> 
> 	Jakub
-- 
Mike Hearn <mike@theoretic.com>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]