1139749SimpGCC RUNTIME LIBRARY EXCEPTION
2113205Smdodd
3113205SmdoddVersion 3.1, 31 March 2009
4113205Smdodd
5113205SmdoddCopyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
6113205Smdodd
7113205SmdoddEveryone is permitted to copy and distribute verbatim copies of this
8113205Smdoddlicense document, but changing it is not allowed.
9113205Smdodd
10113205SmdoddThis GCC Runtime Library Exception ("Exception") is an additional
11113205Smdoddpermission under section 7 of the GNU General Public License, version
12113205Smdodd3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
13113205Smdoddbears a notice placed by the copyright holder of the file stating that
14113205Smdoddthe file is governed by GPLv3 along with this Exception.
15113205Smdodd
16113205SmdoddWhen you use GCC to compile a program, GCC may combine portions of
17113205Smdoddcertain GCC header files and runtime libraries with the compiled
18113205Smdoddprogram. The purpose of this Exception is to allow compilation of
19113205Smdoddnon-GPL (including proprietary) programs to use, in this way, the
20113205Smdoddheader files and runtime libraries covered by this Exception.
21113205Smdodd
22113205Smdodd0. Definitions.
23113205Smdodd
24113205SmdoddA file is an "Independent Module" if it either requires the Runtime
25113205SmdoddLibrary for execution after a Compilation Process, or makes use of an
26113205Smdoddinterface provided by the Runtime Library, but is not otherwise based
27113205Smdoddon the Runtime Library.
28113205Smdodd
29113205Smdodd"GCC" means a version of the GNU Compiler Collection, with or without
30113205Smdoddmodifications, governed by version 3 (or a specified later version) of
31113205Smdoddthe GNU General Public License (GPL) with the option of using any
32113205Smdoddsubsequent versions published by the FSF.
33113205Smdodd
34113205Smdodd"GPL-compatible Software" is software whose conditions of propagation,
35113205Smdoddmodification and use would permit combination with GCC in accord with
36113205Smdoddthe license of GCC.
37113205Smdodd
38113205Smdodd"Target Code" refers to output from any compiler for a real or virtual
39119420Sobrientarget processor architecture, in executable form or suitable for
40119420Sobrieninput to an assembler, loader, linker and/or execution
41119420Sobrienphase. Notwithstanding that, Target Code does not include data in any
42113205Smdoddformat that is used as a compiler intermediate representation, or used
43113205Smdoddfor producing a compiler intermediate representation.
44113205Smdodd
45113205SmdoddThe "Compilation Process" transforms code entirely represented in
46113205Smdoddnon-intermediate languages designed for human-written code, and/or in
47113205SmdoddJava Virtual Machine byte code, into Target Code. Thus, for example,
48113205Smdodduse of source code generators and preprocessors need not be considered
49113205Smdoddpart of the Compilation Process, since the Compilation Process can be
50113205Smdoddunderstood as starting with the output of the generators or
51113205Smdoddpreprocessors.
52113205Smdodd
53113205SmdoddA Compilation Process is "Eligible" if it is done using GCC, alone or
54113205Smdoddwith other GPL-compatible software, or if it is done without using any
55113205Smdoddwork based on GCC. For example, using non-GPL-compatible Software to
56113205Smdoddoptimize any GCC intermediate representations would not qualify as an
57113205SmdoddEligible Compilation Process.
58113205Smdodd
59113205Smdodd1. Grant of Additional Permission.
60113205Smdodd
61113205SmdoddYou have permission to propagate a work of Target Code formed by
62113205Smdoddcombining the Runtime Library with Independent Modules, even if such
63113205Smdoddpropagation would otherwise violate the terms of GPLv3, provided that
64113205Smdoddall Target Code was generated by Eligible Compilation Processes. You
65113205Smdoddmay then convey such a combination under terms of your choice,
66113205Smdoddconsistent with the licensing of the Independent Modules.
67113205Smdodd
68113205Smdodd2. No Weakening of GCC Copyleft.
69113205Smdodd
70113205SmdoddThe availability of this Exception does not imply any general
71113205Smdoddpresumption that third-party software is unaffected by the copyleft
72127135Snjlrequirements of the license of GCC.
73127135Snjl
74113205Smdodd