|
| 1 | +GCC RUNTIME LIBRARY EXCEPTION |
| 2 | + |
| 3 | +Version 3.1, 31 March 2009 |
| 4 | + |
| 5 | +Copyright (c) 2009 Free Software Foundation, Inc. <http://fsf.org/> |
| 6 | + |
| 7 | +Everyone is permitted to copy and distribute verbatim copies of this license |
| 8 | +document, but changing it is not allowed. |
| 9 | + |
| 10 | +This GCC Runtime Library Exception ("Exception") is an additional permission |
| 11 | +under section 7 of the GNU General Public License, version 3 ("GPLv3"). It |
| 12 | +applies to a given file (the "Runtime Library") that bears a notice placed |
| 13 | +by the copyright holder of the file stating that the file is governed by |
| 14 | +GPLv3 along with this Exception. |
| 15 | + |
| 16 | +When you use GCC to compile a program, GCC may combine portions of certain |
| 17 | +GCC header files and runtime libraries with the compiled program. The |
| 18 | +purpose of this Exception is to allow compilation of non-GPL (including |
| 19 | +proprietary) programs to use, in this way, the header files and runtime |
| 20 | +libraries covered by this Exception. |
| 21 | + |
| 22 | +0. Definitions. |
| 23 | + |
| 24 | +A file is an "Independent Module" if it either requires the Runtime Library |
| 25 | +for execution after a Compilation Process, or makes use of an interface |
| 26 | +provided by the Runtime Library, but is not otherwise based on the Runtime |
| 27 | +Library. |
| 28 | + |
| 29 | +"GCC" means a version of the GNU Compiler Collection, with or without |
| 30 | +modifications, governed by version 3 (or a specified later version) of the |
| 31 | +GNU General Public License (GPL) with the option of using any subsequent |
| 32 | +versions published by the FSF. |
| 33 | + |
| 34 | +"GPL-compatible Software" is software whose conditions of propagation, |
| 35 | +modification and use would permit combination with GCC in accord with the |
| 36 | +license of GCC. |
| 37 | + |
| 38 | +"Target Code" refers to output from any compiler for a real or virtual |
| 39 | +target processor architecture, in executable form or suitable for input to |
| 40 | +an assembler, loader, linker and/or execution phase. Notwithstanding that, |
| 41 | +Target Code does not include data in any format that is used as a compiler |
| 42 | +intermediate representation, or used for producing a compiler intermediate |
| 43 | +representation. |
| 44 | + |
| 45 | +The "Compilation Process" transforms code entirely represented in |
| 46 | +non-intermediate languages designed for human-written code, and/or in Java |
| 47 | +Virtual Machine byte code, into Target Code. Thus, for example, use of |
| 48 | +source code generators and preprocessors need not be considered part of the |
| 49 | +Compilation Process, since the Compilation Process can be understood as |
| 50 | +starting with the output of the generators or preprocessors. |
| 51 | + |
| 52 | +A Compilation Process is "Eligible" if it is done using GCC, alone or with |
| 53 | +other GPL-compatible software, or if it is done without using any work based |
| 54 | +on GCC. For example, using non-GPL-compatible Software to optimize any GCC |
| 55 | +intermediate representations would not qualify as an Eligible Compilation |
| 56 | +Process. |
| 57 | + |
| 58 | +1. Grant of Additional Permission. |
| 59 | + |
| 60 | +You have permission to propagate a work of Target Code formed by combining |
| 61 | +the Runtime Library with Independent Modules, even if such propagation would |
| 62 | +otherwise violate the terms of GPLv3, provided that all Target Code was |
| 63 | +generated by Eligible Compilation Processes. You may then convey such a |
| 64 | +combination under terms of your choice, consistent with the licensing of the |
| 65 | +Independent Modules. |
| 66 | + |
| 67 | +2. No Weakening of GCC Copyleft. |
| 68 | + |
| 69 | +The availability of this Exception does not imply any general presumption |
| 70 | +that third-party software is unaffected by the copyleft requirements of the |
| 71 | +license of GCC. |
0 commit comments