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

Re: DSO linking changes for wheezy

On Sun, Nov 14, 2010 at 01:51:49PM +0100, Kurt Roeckx wrote:
> On Sun, Nov 07, 2010 at 04:19:10PM +0000, Roger Leigh wrote:
> > On Fri, Oct 29, 2010 at 03:43:57PM +0200, Matthias Klose wrote:
> > > For wheezy I'm planning to change the linking behaviour for DSOs (turning 
> > > on --as-needed and --no-copy-dt-needed-entries. The rationale is 
> > > summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like 
> > > to know about issues with these changes on some of the Debian ports, and 
> > > if we need to disable one of these changes on some port.
> > 
> > While I understand the rationale for --no-copy-dt-needed-entries for
> > preventing encapsulation violations via indirect linking, I don't agree
> > with the use of --as-needed *at all*.  If a library has been explicitly
> > linked in, it shouldn't be removed.  This is an issue for fixing in
> > individual packages, not in the toolchain.
> > 
> > I can understand on using it on a per-package basis, but not in the
> > actual toolchain defaults.  The compiler and linker *should not be
> > second-guessing the user*.  This can break perfectly legitimate code
> > making use of ELF constructors and other features which won't be
> > picked out just by looking at symbol usage.
> People have been claiming that constructors or init section are a
> possible problem.  I have yet to see an example where it breaks.

It's not a very widely used feature.  I'm sure it's trivial to make
such a test case.  Portable software tends not to make use of ELF-
specific features like this, but that's not an excuse for breaking
perfectly legitimate code.

But whether or not there are real life examples, --as-needed is
*fundamentally wrong*.  It's deliberately *not doing what the user
requested*, and to make that misfeature the system-wide default
would be entirely inappropriate.  If a package wishes to make use
of such a feature after understanding the implications, then they
are free to do so.  But to make it the default--I don't think that's
a technically sound decision.


  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

Attachment: signature.asc
Description: Digital signature

Reply to: