Home | History | Annotate | Download | only in aarch64-linux-android-4.9
      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 
     74