On 5/31/08, Luca Barbato <lu_zero@g.o> wrote:
> Peter Volkov wrote:
>
> > В Птн, 30/05/2008 в 20:28 -0700, Brian Harring пишет:
> >
> > > Either way, basically it's coming down to if gentoo wants to follow the
> definition of 'academic' right, or 'pragmatic' right. Exempting ciaran, vote
> seems to be pragmatic.
> > >
> >
> > Well, although I've asked about problems with having --as-needed by
> > default, I'd better go with academic. C++ is quite common language to
> > ignore its design problems and in the end it's not hard to define
> > LDFLAGS in make.conf.
> >
> >
>
Just to jump in quickly; this thread is about adding --as-needed to
the default CFLAGS. To get this accomplished you need to:
A. Convince the portage developers to put it in make.conf/make.defaults.
B. Convince the profile maintainers to put it in their profile.
C. Do A or B yourself and hope no one gets pissed.
D. Convince the council at the next meeting that either A or B is a good idea.
Personally I think D is the best choice here. Your point should not
to be to convince random people such at Ciaran. I'm pretty sure his
mind is made up and I kind of agree on his position. The point being
regardless of what the 'tehcnically correct' decision with regards to
the standard is, the Gentoo community needs to make its own choice as
to whether the risks of breaking code is worth the gains of making
--as-needed the default.
Presently community decisions regarding technical issues are made via
the council; so maybe you should start convincing them.
-Alec
> To clarify:
>
> - static initializers (as in __attribute__((constructor), so no, it isn't a
> C++ only feature) have nothing wrong with --as-needed.
>
> - ugly code that refers to undefined symbols that are resolved to ones from
> the main binary and written in the constructor is broken already in systems
> not allowing undefined refs.
>
> - you don't have guarantees about the order in witch the .init sections are
> parsed and constructor function are called, they can be called in parallel
> and you have no means to have a predictable behavior, all you know is that
> everything will be called right before main() or as the first thing in
> dlopen().
>
> - doing such stuff is uncommon since it isn't the simplest thing to do,
> doesn't work in every place, you have to be particular perverse and
> convoluted even to think about this.
>
> - making such thing go away is good for security, maintainability and
> sanity.
>
> lu
>
> --
>
> Luca Barbato
> Gentoo Council Member
> Gentoo/linux Gentoo/PPC
> http://dev.gentoo.org/~lu_zero
>
> --
>
> gentoo-dev@g.o mailing list
>
>
|