This is an incomplete list of things you could work on if you want to help develop GCC:
Remember to keep other developers informed of any substantial projects you intend to work on.
$(libsubdir)
be owned by root rather than the user who
did the build.i686-pc-linux-gnu-gcc
and
i686-pc-linux-gnu-gcc-3.4.1
. Any program embedding
architecture or version dependencies may need such links.--enable-cc-links
or similar
which causes links to the compiler driver or shell scripts to be
installed under names cc
(the traditional Unix compiler
name and a legacy utility in Unix98, accepting an unspecified C
language variant), c89
(POSIX; a script running gcc
-std=c89 -pedantic
) and c99
(the Austin Group
revision of POSIX; a script running gcc -std=c99
-pedantic
) for systems such as GNU/Linux where GCC is the
system compiler.Right now, describing the target machine's instructions is done cleanly, but describing its addressing mode is done with several ad-hoc macro definitions. Porting would be much easier if there were an RTL description for addressing modes like that for instructions. Tools analogous to genflags and genrecog would generate macros from this description.
There would be one pattern in the address-description file for each kind of addressing, and this pattern would have:
Some new compiler features may be needed to do a good job on machines where static data needs to be addressed using base registers.
Some machines have two stacks in different areas of memory, one used for scalars and another for large objects. The compiler does not now have a way to understand this.
Copyright (C) Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
These pages are maintained by the GCC team. Last modified 2022-10-26.