This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New GCC Runtime Library Exception: not fit for purpose


Quoting Ian Lance Taylor <iant@google.com>:
I'm not sure what your point is here.  newlib is not under the GPL in
any case.  It is not affected by the gcc runtime library license.

The old runtime library exception allowed you to distribute binaries that both include pieces of the gcc runtime and arbitrary pieces of newlib, without requiring the distribution to be under the terms of the GPL. I.e. your could link non-GPL code against both the gcc runtime and newlib and distribute it. The new license does not allow this unless all parts included from newlib are written in a high level language AND use the gcc runtime.


Note that there is also code which is not written in a high level language
which uses gcc runtime library interfaces.  For example, look at
libgloss/m68k/crt0.S , which uses __do_global_dtors .
That the license of libgloss is GPL-compatible does not help here,
since we want to allow people to link programs containing non-GPL-compatible
code simultanously against libgloss and libgcc.

I don't see anything which prohibits them from doing so.

That would be the Berne Copyright convention. I don't see anything which allows them distributing the resulting binaries.

They could distribute binaries that use the gcc runtime and parts of
libgloss under the terms of the GPL, or they could distribute binaries
that use the gcc runtime and proprietary code which uses the gcc runtime
under the terms of the GCC library exception, but there is no provision
that allows them to distribute a binary which combines all three.

The runtime library license says that you can link libgcc with
proprietary code, whether that proprietary code was compiled with gcc
or whether it was compiled with some non-gcc proprietary compiler.

No, it says that you can only do that if every file of the proprietary code is written or generated in a high level language, and uses the GCC runtime.

What the runtime library license restricts is linking libgcc with
proprietary code which was compiled by a mix of gcc and proprietary
code to produce some program, and then distributing the program
without distributing source code.

I suppose you know that, but let's state here clearly for the benefit of any third parties reading this that just distributing source is not sufficient to satisfy the GPL. The program could be licensed with a GPL-incompatible open source / free software license, source code distributed, and you still wouldn't be allowed to distribute binaries linked against the gcc runtime if you don't fulfill the prerequisites of the gcc runtime library exception.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]