xref: /dflybsd-src/contrib/gcc-8.0/COPYING.RUNTIME (revision 38fd149817dfbff97799f62fcb70be98c4e32523)
1*38fd1498SzrjGCC RUNTIME LIBRARY EXCEPTION
2*38fd1498Szrj
3*38fd1498SzrjVersion 3.1, 31 March 2009
4*38fd1498Szrj
5*38fd1498SzrjCopyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
6*38fd1498Szrj
7*38fd1498SzrjEveryone is permitted to copy and distribute verbatim copies of this
8*38fd1498Szrjlicense document, but changing it is not allowed.
9*38fd1498Szrj
10*38fd1498SzrjThis GCC Runtime Library Exception ("Exception") is an additional
11*38fd1498Szrjpermission under section 7 of the GNU General Public License, version
12*38fd1498Szrj3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
13*38fd1498Szrjbears a notice placed by the copyright holder of the file stating that
14*38fd1498Szrjthe file is governed by GPLv3 along with this Exception.
15*38fd1498Szrj
16*38fd1498SzrjWhen you use GCC to compile a program, GCC may combine portions of
17*38fd1498Szrjcertain GCC header files and runtime libraries with the compiled
18*38fd1498Szrjprogram. The purpose of this Exception is to allow compilation of
19*38fd1498Szrjnon-GPL (including proprietary) programs to use, in this way, the
20*38fd1498Szrjheader files and runtime libraries covered by this Exception.
21*38fd1498Szrj
22*38fd1498Szrj0. Definitions.
23*38fd1498Szrj
24*38fd1498SzrjA file is an "Independent Module" if it either requires the Runtime
25*38fd1498SzrjLibrary for execution after a Compilation Process, or makes use of an
26*38fd1498Szrjinterface provided by the Runtime Library, but is not otherwise based
27*38fd1498Szrjon the Runtime Library.
28*38fd1498Szrj
29*38fd1498Szrj"GCC" means a version of the GNU Compiler Collection, with or without
30*38fd1498Szrjmodifications, governed by version 3 (or a specified later version) of
31*38fd1498Szrjthe GNU General Public License (GPL) with the option of using any
32*38fd1498Szrjsubsequent versions published by the FSF.
33*38fd1498Szrj
34*38fd1498Szrj"GPL-compatible Software" is software whose conditions of propagation,
35*38fd1498Szrjmodification and use would permit combination with GCC in accord with
36*38fd1498Szrjthe license of GCC.
37*38fd1498Szrj
38*38fd1498Szrj"Target Code" refers to output from any compiler for a real or virtual
39*38fd1498Szrjtarget processor architecture, in executable form or suitable for
40*38fd1498Szrjinput to an assembler, loader, linker and/or execution
41*38fd1498Szrjphase. Notwithstanding that, Target Code does not include data in any
42*38fd1498Szrjformat that is used as a compiler intermediate representation, or used
43*38fd1498Szrjfor producing a compiler intermediate representation.
44*38fd1498Szrj
45*38fd1498SzrjThe "Compilation Process" transforms code entirely represented in
46*38fd1498Szrjnon-intermediate languages designed for human-written code, and/or in
47*38fd1498SzrjJava Virtual Machine byte code, into Target Code. Thus, for example,
48*38fd1498Szrjuse of source code generators and preprocessors need not be considered
49*38fd1498Szrjpart of the Compilation Process, since the Compilation Process can be
50*38fd1498Szrjunderstood as starting with the output of the generators or
51*38fd1498Szrjpreprocessors.
52*38fd1498Szrj
53*38fd1498SzrjA Compilation Process is "Eligible" if it is done using GCC, alone or
54*38fd1498Szrjwith other GPL-compatible software, or if it is done without using any
55*38fd1498Szrjwork based on GCC. For example, using non-GPL-compatible Software to
56*38fd1498Szrjoptimize any GCC intermediate representations would not qualify as an
57*38fd1498SzrjEligible Compilation Process.
58*38fd1498Szrj
59*38fd1498Szrj1. Grant of Additional Permission.
60*38fd1498Szrj
61*38fd1498SzrjYou have permission to propagate a work of Target Code formed by
62*38fd1498Szrjcombining the Runtime Library with Independent Modules, even if such
63*38fd1498Szrjpropagation would otherwise violate the terms of GPLv3, provided that
64*38fd1498Szrjall Target Code was generated by Eligible Compilation Processes. You
65*38fd1498Szrjmay then convey such a combination under terms of your choice,
66*38fd1498Szrjconsistent with the licensing of the Independent Modules.
67*38fd1498Szrj
68*38fd1498Szrj2. No Weakening of GCC Copyleft.
69*38fd1498Szrj
70*38fd1498SzrjThe availability of this Exception does not imply any general
71*38fd1498Szrjpresumption that third-party software is unaffected by the copyleft
72*38fd1498Szrjrequirements of the license of GCC.
73*38fd1498Szrj
74