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