On March 6, 2017 6:29:49 PM GMT+01:00, Ian Lance Taylor via gcc <gcc@gcc.gnu.org> wrote: >On Mon, Mar 6, 2017 at 9:12 AM, <lagu...@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.
Note we already have the HSAIL and PTX backends which have the very same (non-)problem. Both invoke a proprietary compiler for final compilation. Richard. >Ian