Hi everyone, I have a question about GCC licensing related to libgcc.
I asked Nick Clifton who did a license change in the past (Thu Apr 9 15:00:19 2009 UTC - r145841) about how he did that commit, changing GPLv2 licenses to GPLv3 with GCC Runtime Exception. And he suggested me to ask the GCC steering committee about any kind of licensing issue. I am wondering on this change now, because we would like to use libgcc with GPLv3 with GCC Runtime Exception. Theoretically libgcc should has the GPLv3 with Runtime Exception license, but the evidences say something else. My research shows that libgcc uses different licenses, for example: GPLv2, LGPLv2.1 and GPLv3 *without* Runtime Exception. I did the following in my research: 1) list which object files are included in libgcc.a 2) repeat all the compilation commands related to the previous list in the proper environment. The only thing which I have added to the compilation command is an extra "-E" option to preprocess every sources. 3) create a unique list of all source and header files from the preprocessed files. 4) at final all source, header and generated files are checked for their licenses. So, at the end I found several files do not have the GPLv3 with Runtime Exception license. For example: 1) fixed-bit.c is used in several objects creation. - this file includes tm.h - tm.h includes options.h - and options.h includes flag-types.h which has GPLv3 license *without* Runtime Exceptions 2) from fixed-bit.c again - tm.h includes newlib-stdint.h which has GPLv3 license *without* Runtime Exceptions as well. 3) from fixed-bit.c - tconfig.h includes ansidecl.h with GPLv2 license. I saw similar issues for filenames.h, longlong.h files as well. It looks like all the files contain meaningful information for libgcc. So, they cannot be skipped from the build process. In additional this issue can be confirmed on different targets. I tried x86, ARM and PPC with different environment. So, I assume this should be more or less a general issue, independent from configs, libraries and environment. BTW, there are several target specific files which has the same issue (do not have GPLv3 w RE). For example: some parts of the arm.h file are included in almost all object files for libgcc.a, and arm.h has GPLv3 *without* RE. I suppose all of the header files should have the GPLv3 with GCC Runtime Exception license, because libgcc should have GPLv3 w RE. Am I right? If so, how this change should be done? I know changing licenses is not an easy task. The copyright/license holders should agree to this change, shouldn't they? So, what is your opinion about this? Is it possible to have such a libgcc.a which has only the GPLv3 with GCC Runtime Exception license? Thanks for any help you can give me on this topic! Regards, --Gabor -- Gábor Lóki research assistant Department of Software Engineering, University of Szeged Dugonics tér 13., H-6720 Szeged, Hungary Phone: +36-62-546726 Fax: +36-62-546723 l...@inf.u-szeged.hu