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:
No, this is not how Copyright works.  In the absence of a license you may
not distribute the resulting work.

By my reading, you do have permission. It's right there in the license.

You are arguing that the license must grant explicit permission for
combining with other code which is not covered in any way by the
license.  I don't see why that is required.  You already have
permission to do anything you like.


Static linking is usually done in a single step, i.e. a derived work
is produced which incorporates pieces of the GCC runtime library,
Independent Modules, and other code.  You need a license of that,
which is not provided.

You seem to be saying that I could do incremental linking, first
linking libgcc against the Independent Modules, slapping my own
license on the partially linked work of Target Code (provided all
used pieces of libgcc are target code - that is hardly ever the
case, but lets just assume for the sake of the argument that you
have such a case).
Then a can link this partially linked work of Target Code against
anything I like.  This is quite tedious, since you now need to
identify all your Independent Modules first, and do a partial link.
Once you have motivated people to do that, it is only a simple
step (maybe even the simplest implementation of the aforesaid)
to exploit a loophole so big you can drive a truck through:
the source code is translated into Target Code that references
each used symbol that is needed by the Independent Modules.
All you need to have for that for that is a shell
or AWK script to massage nm output for which you could grant
a GPL license if you ever cared to distribute it.
Now you can incrementally link this dead piece of Target Code
with libgcc.  You can even put it into its special section so that
you can remove it later from the final link.
Now you are free to link this partially linked work of Target Code
against any kind of code - including Independent Modules compiled
with a non-eligible compilation process.

However, that said, I think it would be reasonable to ask the SFLC if
the definition of "Independent Module" could be clarified to make
clear that code which neither requires the runtime library, nor uses
an interface provided by the runtime library, is an independent
module.  I think that is the intent of the definition of "Independent
Module", but I agree that it is not clear from the wording.

Yes, that would be useful. But we also have to address the issue of files which are neither written nor generated in a high level language.


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