Florian Weimer <f...@deneb.enyo.de> writes: > * Ian Lance Taylor: > >> Florian Weimer <f...@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.
An IR is not the same as a "compiler intermediate representation." >>> 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). That is the cycle which the runtime library license is intended to break, so now I'm just confused. Ian