How to add a new target in BFD?

Jim Wilson wilson@tuliptree.org
Fri May 9 00:11:00 GMT 2003


Nick Clifton wrote:
> You will also need to create files in the opcodes/ directory, but you
> may want to use the CGEN tool in order to do this:

Or you might not want to use CGEN.  It is a fairly nice tool for 
assisting binutils/simulator ports, but there are serious political 
problems with it.

The tool is proprietary to Red Hat.  Red Hat has shown no inclination to 
donate it to the FSF, and Red Hat has an uncertain long term commitment 
to maintaining it.  Red Hat hasn't been demanding copyright assignments 
for cgen contributions.  And since it isn't an FSF tool, you can't give 
the FSF copyright assignments for it.  This means that the current 
practice of putting FSF copyrights into cgen output is suspect.  The FSF 
doesn't own the cgen output since it doesn't own the cgen input.  Only 
the people who own the copyrights to the cgen input can contribute the 
cgen output to the FSF.  Also, the GPL requires that you distribute the 
"preferred form of the work for making modifications".  For cgen 
generated binutils ports, that means the cgen *.cpu input file.  If you 
are distributing binutils sources, and you are not distributing cgen 
sources, one could argue that you are violating the GPL.

This issue was ignored for a long time because most binutils maintainers 
worked for Red Hat (formerly Cygnus).  However, now that most binutils 
maintainers are outside Red Hat, I think it is something we should be 
concerned about.  I think it would be reasonable for binutils to refuse 
to accept any more cgen generated ports until such time that Red Hat 
agrees to donate cgen to the FSF to solve this problems.  If people 
aren't willing to go that far, then at the minimum I think we need to 
move all *.cpu input files from cgen to binutils, so that there are no 
copyright problems for these files.

Jim



More information about the Binutils mailing list