Comments on Patching GCC

Scott Robert Ladd coyote@coyotegulch.com
Wed Sep 22 18:45:00 GMT 2004


Hello.

I've been working on patches for GCC, both inside the general community 
and for specific users.

None of what follows is a criticism; rather, I hope this will be 
accepted as an honest commentary on the challenges posed to "GCC patch" 
newbies.

Some people find the "contributing" process intimidating, starting with 
the requirements for copyright assignments. Many people have unsettled 
feelings about legal paperwork, especially when it appears rather 
mysterious. I'm not certain how this necessary process could be made 
friendlier, especially for those who want to submit one or two patches 
specific to their domain.

Once paperwork is in order (mine is), it's difficult to know where to 
start. I've picked a few simple code generation bugs, and started 
patching those; the choices were semi-random, based on self-interest, 
available hardware, and (in one case) a request from a Linux x86_64 
distribution maintainer.

It's often difficult to know where to begin work on GCC, especially 
after reading comments in bugzilla. Many bugs are in what appears to be 
a "dangling" state, where a conversation has ended with an unanswered 
question or statement that "this is complicated." Some comment streams 
leave me wondering if a bug is actually patched, and in what version.

Many projects, private or free, have a clear process; in the realm of 
GCC, it's a sink-or-swim process, where its possible to step on toes you 
didn't even know were there... ;) I've chosen the "better to beg 
forgiveness than ask permission" approach in some cases.

Once a patch is created and posted to gcc-patches, there comes The Long 
Wait. The submitter asks: Was my patch accepted or not? Was it even noticed?

Perhaps we need a way of queuing patches, letting submitters know that 
their work is at least being acknowledged. Otherwise, new developers get 
disillusioned, and feel like they're lost in the wilderness or forgotten.

I think many people look at the size of the GCC codebase, and run away 
before realizing that it really isn't *that* arcane. Documentation for 
GCC's internals is imperfect, but is certainly better than what I've 
seen for other projects. I'm not a compiler hacker by nature, but have 
had little trouble gleaning the basics of GCC's architecture.

Perhaps we need a "patch newbies" mailing list?

Anything we can do to improve the process is likely to be a Good 
Thing(tm) for GCC.

..Scott

-- 
Scott Robert Ladd
site: http://www.coyotegulch.com
blog: http://chaoticcoyote.blogspot.com



More information about the Gcc mailing list