LWN.net Logo

sparse

sparse

Posted Oct 25, 2006 23:00 UTC (Wed) by nix (subscriber, #2304)
In reply to: sparse by viro
Parent article: FSF should separate GPLv3 changes (Linux.com)

The Stanford Checker is, as I understand it, no longer based on GCC.

And, yes, it *is* easier to hack on a project that contains a frontend for
the parsing part of (most of) one language than it is to hack on a
frontend for a multi-platform optimizing compiler. Of course it is. sparse
doesn't even *have* a middle end to speak of, let alone a back end, so
naturally the constraints are less extreme. (Also, it has many years' less
accumulated cruft.)

But there aren't any `games' being played in the GCC source to make it
harder to separate the front and back ends: on the contrary, the
separation is finally becoming vaguely complete, and the pushback against
RMS's stand against explicit .so-based frontend/backend separation has not
stopped for a long time (and won a recent victory, no less: RMS is
shifting on this). Even then, the age of the ports is a problem: there are
many backends for which nobody is quite sure why particular architectural
decisions were done anymore, nor whether they'd break if changed.

(The largest remaining barrier is all the implicit assumptions inside
reload about how the incoming RTL will be shaped, and the implicit
assumptions in all the ports about how to generate that RTL. It's unclear
which of those assumptions are critical, and which are accidents of
history.)

(Joe, feel free to correct me if I'm talking rubbish: I'm merely an
interested observer of the GCC development scene, really. I mean I've got
plenty of local patches to the tree but I've never dared submit them
because they're awful.)


(Log in to post comments)

sparse

Posted Oct 26, 2006 0:08 UTC (Thu) by viro (subscriber, #7872) [Link]

OK, now you've got me curious; I was refering to aforementioned
"RMS's stand", but my impression was that it had been blocking
cleanup efforts (== lead to increased and harder to fix mess)
and that its rationale had been at least related to such scenarios
of abuse...

As for sparse... There is a kinda-sorta-not-really attempt at
backend, but no, I wouldn't expect it to really work unless somebody
puts serious effort into resurrecting it. Jeff Garzik is making
threatening noises of that sort once in a while, but that's about
it. There is linearizer and it does get more attention than
backend, but I hadn't looked at it lately.

Of course the lack of ancient cruft helps; no arguments here.
However, it had been my impression that RMS did at least slow
the cleanup, so IMO the point still stands. And if the Stanford
has moved away from gcc, well... then we have nothing gcc-derived
(and used) in that area at all...

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds