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>:

Joern Rennecke <amylaar@spamcop.net> writes:

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.

The license says that you have permission to propagate works when certain conditions apply. It does not say that you do not have permission if certain other conditions apply. Therefore, if certain conditions apply, you have permission. It is not necessary for the license to say "oh, and if you stand on your head, you still have permission.'

The permission is specific to a work of Target Code. Assembly source files are not Target Code, hence the permission does not apply.

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.

The word "only" is your interpolation. It does not appear in the runtime license.

It is a necessary condition for all the conditions of the exception to apply that all of the proprietary code is written or generated in a high level language, and uses the GCC runtime. Only the one exception is granted. Hence, "only" is not an interpolation, it is a corollary.


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