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: GPLv3 clarification - what constitutes IR


On Mon, Mar 6, 2017 at 9:12 AM,  <laguest@mail.com> wrote:
>
> I'm looking into the possibility of adding a SPIR-V
> (https://www.khronos.org/registry/spir-v) backend to GCC or as a
> plug-in. The output of which would be binary from the compiler, not
> binutils, with an option to extract a textual representation using an -f
> flag. The positive of this would be that any language that GCC supports
> could be used for GPGPU and graphics shading.
>
> But would the GCC IR exception (mentioned in
> https://www.gnu.org/licenses/gcc-exception-3.1-faq.html) cause any
> SPIR-V output from GCC become GPLv3 licenced?
>
> I have also posted this to the GCC ML for discussion as I don't think
> it's clear whether or not something like SPIR-V would fall under Target
> Code or IR.

I am not a lawyer and this is not legal advice.

Generating SPIR-V output would not cause that output to become GPLv3
licensed.  However, linking the result against the GCC support
libraries, as is normally required for any program generated by GCC,
and then distributing the resulting executable to other people, would
require you to use an eligible compilation process (as defined by the
GCC Runtime Library Exception license that you cite).  What this means
in practice is that you can not take SPIR-V, do further processing it
using a proprietary compiler, link the result with the GCC runtime
libraries, and then distribute the resulting program to anybody else.

I don't think it is necessary to determine whether SPIR-V is "target
code" or "intermediate representation" to draw that conclusion.

Ian


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