Re: Change to DSO-linking semantics of the compiler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 13 January 2010, Adam Williamson wrote:
> On Tue, 2010-01-12 at 01:59 +0100, Milos Jakubicek wrote:
> > Also I have really doubts what concerns upstreamability of the necessary
> > changes in packages. Especially if other distributions will (???)
> > continue shipping ld with the traditional semantics, this means hours of
> > headache discussions with upstream not willing to accept the patch.
> 
> I may be misunderstanding, but I believe this is the same thing Mandriva
> refers to as underlinking:
> 
> http://wiki.mandriva.com/en/Underlinking

No, it's not the same thing: Consider an executable a, a library libb.so and a 
library libc.so, and a is linked against -lb:
* underlinking is if libb.so uses symbols from libc.so, but does not link 
against -lc. Then you have to link a explicitly against -lb -lc even if it 
only uses symbols from libb.so. This is a bug in libb.so.
* what is being discussed here is if libb.so DOES link libc.so, but now 
executable a uses symbols from libc.so without also using -lc. If libb shipped 
a libb.la file which did -lb -lc (which .la files tend to do), then a will link 
file everywhere else, just not on Fedora because we delete .la files. The old 
semantics made this case work without the .la file, the new semantics lead to 
programs failing to link in Fedora, making Fedora incompatible with upstream 
(unless we start to ship .la files again).

        Kevin Kofler

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux