LD Changes To Implicit DSO Linking Update
kevin.kofler at chello.at
Thu Feb 11 05:23:33 UTC 2010
Ryan Rix wrote:
> On Wed 10 February 2010 7:00:42 pm Kevin Kofler wrote:
>> It's not in the interest of the GNU project (which GCC is supposed to be
>> a part of) to make it easy to compile code with other compilers!
> If that is the case it is extremely short sighted of them.
That was a statement of fact, not of policy.
The GCC project's policies used to be based on that when it was controlled
more directly by the FSF, but since the EGCS merge, the "follow standards"
camp has basically taken over, which is IMHO quite counterproductive.
A compiler should accept as much code as possible. As long as it UNDERSTANDS
standards-compliant code (real-world standards-compliant code, not some
obscure corner-case designed especially to detect the absence of some
extension which nobody would actually write in a real program), there's no
need to ENFORCE standards compliance. All such enforcement does is:
* make it easy to migrate to a proprietary compiler,
* make it harder to migrate away from a proprietary compiler, as some of
them do accept things like lvalue casts (M$VC supports them, for example),
* gratuitously break backwards compatibility,
* make real programmers (who get errors for obscure standardese reasons they
don't understand when it should be clear what their code is intended to
mean) angry just to make pedantic language lawyers happy.
As a general rule, it's in a compiler's best interest to accept as much code
as possible so it's easy to migrate TO that compiler and hard to migrate
AWAY FROM that compiler. And what's good for GCC is good for Free Software.
More information about the devel