Drop the K&R requirement from binutils?

Jim Wilson wilson@redhat.com
Tue Aug 20 12:15:00 GMT 2002

>Does this mean gcc 3.3 will not be able to bootstrap itself, or simply
>that their are specific language constructions within K&R which will
>become invalid?

When we say that gcc and binutils are written in K&R C, what we really mean
is that they are written in a common subset of K&R C and ISO C, and thus can
be compiled by either a K&R C compiler or an ISO C compiler.  So there are
no gcc bootstrapping issues if gcc stops supporting K&R C, which it already
did on the development tree 6 months ago.

Disregarding the preprocessor, there is very little if any syntax that is valid
K&R C but not valid ISO C.  There are however some subtle semantic differences,
and it is a pain to maintain these differences, particularly when you can't
get good K&R C documentation anymore.  For instance, an unsigned short promotes
to unsigned int in K&R C and signed int in ISO C.

>As for the general binutils argument, are there any environments where
>gcc will not work with the native build tools even though these tools
>are adequate enough for gcc to be built in the first place?

Yes.  For instance, some modern compilers emit object files directly instead
of emitting assembly code.  On these systems, it is often the case that
the native assembler isn't good enough to support gcc, in which case you
need a gas to get gcc working.


More information about the Binutils mailing list