| 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
 | 
|---|
| 8 | license document, but changing it is not allowed.
 | 
|---|
| 9 | 
 | 
|---|
| 10 | This GCC Runtime Library Exception ("Exception") is an additional
 | 
|---|
| 11 | permission under section 7 of the GNU General Public License, version
 | 
|---|
| 12 | 3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
 | 
|---|
| 13 | bears a notice placed by the copyright holder of the file stating that
 | 
|---|
| 14 | the file is governed by GPLv3 along with this Exception.
 | 
|---|
| 15 | 
 | 
|---|
| 16 | When you use GCC to compile a program, GCC may combine portions of
 | 
|---|
| 17 | certain GCC header files and runtime libraries with the compiled
 | 
|---|
| 18 | program. The purpose of this Exception is to allow compilation of
 | 
|---|
| 19 | non-GPL (including proprietary) programs to use, in this way, the
 | 
|---|
| 20 | header files and runtime libraries covered by this Exception.
 | 
|---|
| 21 | 
 | 
|---|
| 22 | 0. Definitions.
 | 
|---|
| 23 | 
 | 
|---|
| 24 | A file is an "Independent Module" if it either requires the Runtime
 | 
|---|
| 25 | Library for execution after a Compilation Process, or makes use of an
 | 
|---|
| 26 | interface provided by the Runtime Library, but is not otherwise based
 | 
|---|
| 27 | on the Runtime 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
 | 
|---|
| 31 | the GNU General Public License (GPL) with the option of using any
 | 
|---|
| 32 | subsequent 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
 | 
|---|
| 36 | the 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
 | 
|---|
| 40 | input to an assembler, loader, linker and/or execution
 | 
|---|
| 41 | phase. Notwithstanding that, Target Code does not include data in any
 | 
|---|
| 42 | format that is used as a compiler intermediate representation, or used
 | 
|---|
| 43 | for producing a compiler intermediate representation.
 | 
|---|
| 44 | 
 | 
|---|
| 45 | The "Compilation Process" transforms code entirely represented in
 | 
|---|
| 46 | non-intermediate languages designed for human-written code, and/or in
 | 
|---|
| 47 | Java Virtual Machine byte code, into Target Code. Thus, for example,
 | 
|---|
| 48 | use of source code generators and preprocessors need not be considered
 | 
|---|
| 49 | part of the Compilation Process, since the Compilation Process can be
 | 
|---|
| 50 | understood as starting with the output of the generators or
 | 
|---|
| 51 | preprocessors.
 | 
|---|
| 52 | 
 | 
|---|
| 53 | A Compilation Process is "Eligible" if it is done using GCC, alone or
 | 
|---|
| 54 | with other GPL-compatible software, or if it is done without using any
 | 
|---|
| 55 | work based on GCC. For example, using non-GPL-compatible Software to
 | 
|---|
| 56 | optimize any GCC intermediate representations would not qualify as an
 | 
|---|
| 57 | Eligible Compilation Process.
 | 
|---|
| 58 | 
 | 
|---|
| 59 | 1. Grant of Additional Permission.
 | 
|---|
| 60 | 
 | 
|---|
| 61 | You have permission to propagate a work of Target Code formed by
 | 
|---|
| 62 | combining the Runtime Library with Independent Modules, even if such
 | 
|---|
| 63 | propagation would otherwise violate the terms of GPLv3, provided that
 | 
|---|
| 64 | all Target Code was generated by Eligible Compilation Processes. You
 | 
|---|
| 65 | may then convey such a combination under terms of your choice,
 | 
|---|
| 66 | consistent with the licensing of the Independent Modules.
 | 
|---|
| 67 | 
 | 
|---|
| 68 | 2. No Weakening of GCC Copyleft.
 | 
|---|
| 69 | 
 | 
|---|
| 70 | The availability of this Exception does not imply any general
 | 
|---|
| 71 | presumption that third-party software is unaffected by the copyleft
 | 
|---|
| 72 | requirements of the license of GCC.
 | 
|---|
| 73 | 
 | 
|---|