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