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


* Ian Lance Taylor:

> Florian Weimer <fw@deneb.enyo.de> writes:
>
>> The difference is that the front end does not work on source code, but
>> Java bytecode, which seems closer to intermediate representation than
>> to a "high-level, non-intermediate language".
>
> I think it is clear that Java bytecode, which can even be executed
> directly by some microprocessors, is not a "compiler intermediate
> representation."

It is often used as some form of portable IR, to implement additional
functionality on the Java platform.

> I'm not super familiar with Java tools, but I think the rest of your
> argument hinges on that.

jc1 uses Java bytecode to produce GCC intermediate representation, so
Java bytecode is not Target Code according to the definition.

However, I don't think this matters for my argument, which is based on
the fact that a GCJ compilation uses the Eclipse Compiler for Java,
which is not under a GPLv3-compatible license, combined with GCC.
This compilation process does not qualify for the exception, AFAICT.

>> Other cases are rather unclear, too.  A hypothetical QPL-licensend
>> compiler which links against libgcc (Objective Caml apparently
>> doesn't) cannot produce an Eligible Compilation Process because it is
>> a work based on GCC (thanks to libgcc), and not everything is
>> GPL-licensed.  Interpreters capable of producing ELF binaries might
>> also be affected by a similar issue.
>
> Your argument here seems to be that linking against libgcc makes a
> program be covered by the definition of "GCC" in the runtime library
> license.

Right.  Why do you think this would not be the case?  libgcc is part
of GCC, so a program linking to libgcc is a derivative work of libgcc,
and therefore GCC.  That's precisely why we need an exception in the
first place because this outcome is not desired (a free operating
system could not distribute compiled binaries of C++ programs using
OpenSSL, for instance--in contrast to proprietary operating systems,
the system library exception cannot be used).


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