On Fri, 30 May 2008 18:29:49 +0200 [EMAIL PROTECTED] (Diego 'Flameeyes' Pettenò) wrote: > David Leverton <[EMAIL PROTECTED]> writes: > > It's not just the order, it also breaks things that rely on > > the .init section being called at all to register themselves with > > the core application (with --as-needed, the .so doesn't get loaded > > in the first place, so it doesn't get a chance to run anything). > > This really is backward, solution-wise: you expect the "core > application" to know enough of the plugins to link them together, but > not enough to call their init functions...
Actually, no. The core application doesn't have to be doing the linking. The linking can be done by an intermediate library. > And still, it breaks not only with --as-needed but also with the Sun > linker, with the PE file format and other non-ELF file formats. So > it's really not a problem _limited_ to --as-needed. It works with any standard-compliant C++ setup. > Beside, you can _force_ a link by using --no-as-needed before a given > library, that's what it's supposed to happen if you don't want to be > helped by the linker. And next you'll be saying "and you can force a compile using --no-broken-behaviour-that-goes-against-the-standard". > To a very minimum this can be said to be a _clash_ between two > designs. Saying that --as-needed is _broken_ because it breaks this > case is _quite_ an exaggeration... Saying it's broken because it goes against an international standard isn't... -- Ciaran McCreesh
signature.asc
Description: PGP signature