Libgcc and its license
Joseph S. Myers
joseph@codesourcery.com
Wed Oct 10 14:48:00 GMT 2012
On Wed, 10 Oct 2012, Gabor Loki wrote:
> 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.
The fact that a header is read by the compiler at some point in generating
a .o file does not necessarily mean that object file is a work based on
that header; that is a legal question depending on how the object code
relates to that header. Where the objects do use information from
host-side tm.h, that information is generally factual (e.g. information
about the sizes of types for that architecture) rather than copyrightable
expression. And there is probably no legal difference between getting
such information via #include of a header shared with the host-side
compiler, and getting it from predefined macros that the host-side
compiler defines based on headers included when the host-side compiler is
built.
Similarly, just because a userspace program for GNU/Linux ends up
including headers from the Linux kernel does not make that userspace
program GPLv2.
> 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?
The libgcc build should move towards working entirely in the toplevel
libgcc/ directory, with configuration information coming from headers in
libgcc/config rather than from headers shared with the host. Please see
<http://gcc.gnu.org/wiki/Top-Level_Libgcc_Migration> for information that
may be out of date (it doesn't seem to reflect how various of Rainer's
patches went in for 4.7), but includes an indicative list of relevant
target macros and how they might be addressed.
Once the libgcc build is cleanly separated from that of the compiler, any
residual uses of the Runtime Exception in the host-side gcc/ headers, that
may have been put there in attempts to address conceptions such as you
describe about licenses of headers, should be removed.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc
mailing list