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