Re: Heads up: libpng bumped to 1.5.x in rawhide

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

 



On Mon, 2011-11-07 at 10:50 -0500, Tom Callaway wrote:
> On 11/07/2011 10:35 AM, Ville Skyttä wrote:
> > On 11/07/2011 01:57 PM, Michael Schwendt wrote:
> > 
> >>  * The %configure macro (at least since F-16) does
> >>      LDFLAGS="${LDFLAGS:--Wl,-z,relro }"; export LDFLAGS; 
> >>    so one cannot simply export a customized $LDFLAGS in the spec file
> >>    without disturbing the macro.
> > 
> > That's what I meant by "(in addition to RPM_LD_FLAGS)" in my first mail
> > to this thread.  It should be done for example like this:
> > 
> >     %build
> >     export LDFLAGS="$RPM_LD_FLAGS -Wl,--as-needed"
> >     %configure [...]
> 
> On my F-16 box. %configure is running:
> 
> LDFLAGS="${LDFLAGS:--Wl,-z,relro }"; export LDFLAGS;
> 
> If we really want -Wl,--as-needed, it should be simple enough to add to
> the %configure definition. Playing with nacl in chromium has reminded me
> that I'm definitely not a toolchain guru, but what would the downside be
> of making that macro change system-wide (in rawhide) ?

We went over this (in passing) when we changed to
--no-copy-dt-needed-entries by default.  In both cases the issue is that
ELF symbols are globally visible, and that changing the default
effectively prohibits you from doing things that are perfectly within
the letter of the law.  In the --as-needed case, imagine having a binary
that dlopen's a bunch of plugins; the binary wants to make the API of
some DSOs available to plugins, but doesn't call those APIs itself.  In
this case adding --as-needed would break things: nothing in the
executable would directly call to (say) libpng, so it wouldn't be loaded
at exec time, so plugins would fail to load.

Obviously, there are workarounds for cases like this, and it's a pretty
unlikely scenario to begin with.  But it _is_ a semantic change, and the
consensus at the time was to absorb one change at a time.  We could
probably stand to revisit that.

- ajax

Attachment: signature.asc
Description: This is a digitally signed message part

-- 
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