| 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 | 
  |