xref: /aosp_15_r20/external/elfutils/COPYING-LGPLV3 (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker                   GNU LESSER GENERAL PUBLIC LICENSE
2*7304104dSAndroid Build Coastguard Worker                       Version 3, 29 June 2007
3*7304104dSAndroid Build Coastguard Worker
4*7304104dSAndroid Build Coastguard Worker Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5*7304104dSAndroid Build Coastguard Worker Everyone is permitted to copy and distribute verbatim copies
6*7304104dSAndroid Build Coastguard Worker of this license document, but changing it is not allowed.
7*7304104dSAndroid Build Coastguard Worker
8*7304104dSAndroid Build Coastguard Worker
9*7304104dSAndroid Build Coastguard Worker  This version of the GNU Lesser General Public License incorporates
10*7304104dSAndroid Build Coastguard Workerthe terms and conditions of version 3 of the GNU General Public
11*7304104dSAndroid Build Coastguard WorkerLicense, supplemented by the additional permissions listed below.
12*7304104dSAndroid Build Coastguard Worker
13*7304104dSAndroid Build Coastguard Worker  0. Additional Definitions.
14*7304104dSAndroid Build Coastguard Worker
15*7304104dSAndroid Build Coastguard Worker  As used herein, "this License" refers to version 3 of the GNU Lesser
16*7304104dSAndroid Build Coastguard WorkerGeneral Public License, and the "GNU GPL" refers to version 3 of the GNU
17*7304104dSAndroid Build Coastguard WorkerGeneral Public License.
18*7304104dSAndroid Build Coastguard Worker
19*7304104dSAndroid Build Coastguard Worker  "The Library" refers to a covered work governed by this License,
20*7304104dSAndroid Build Coastguard Workerother than an Application or a Combined Work as defined below.
21*7304104dSAndroid Build Coastguard Worker
22*7304104dSAndroid Build Coastguard Worker  An "Application" is any work that makes use of an interface provided
23*7304104dSAndroid Build Coastguard Workerby the Library, but which is not otherwise based on the Library.
24*7304104dSAndroid Build Coastguard WorkerDefining a subclass of a class defined by the Library is deemed a mode
25*7304104dSAndroid Build Coastguard Workerof using an interface provided by the Library.
26*7304104dSAndroid Build Coastguard Worker
27*7304104dSAndroid Build Coastguard Worker  A "Combined Work" is a work produced by combining or linking an
28*7304104dSAndroid Build Coastguard WorkerApplication with the Library.  The particular version of the Library
29*7304104dSAndroid Build Coastguard Workerwith which the Combined Work was made is also called the "Linked
30*7304104dSAndroid Build Coastguard WorkerVersion".
31*7304104dSAndroid Build Coastguard Worker
32*7304104dSAndroid Build Coastguard Worker  The "Minimal Corresponding Source" for a Combined Work means the
33*7304104dSAndroid Build Coastguard WorkerCorresponding Source for the Combined Work, excluding any source code
34*7304104dSAndroid Build Coastguard Workerfor portions of the Combined Work that, considered in isolation, are
35*7304104dSAndroid Build Coastguard Workerbased on the Application, and not on the Linked Version.
36*7304104dSAndroid Build Coastguard Worker
37*7304104dSAndroid Build Coastguard Worker  The "Corresponding Application Code" for a Combined Work means the
38*7304104dSAndroid Build Coastguard Workerobject code and/or source code for the Application, including any data
39*7304104dSAndroid Build Coastguard Workerand utility programs needed for reproducing the Combined Work from the
40*7304104dSAndroid Build Coastguard WorkerApplication, but excluding the System Libraries of the Combined Work.
41*7304104dSAndroid Build Coastguard Worker
42*7304104dSAndroid Build Coastguard Worker  1. Exception to Section 3 of the GNU GPL.
43*7304104dSAndroid Build Coastguard Worker
44*7304104dSAndroid Build Coastguard Worker  You may convey a covered work under sections 3 and 4 of this License
45*7304104dSAndroid Build Coastguard Workerwithout being bound by section 3 of the GNU GPL.
46*7304104dSAndroid Build Coastguard Worker
47*7304104dSAndroid Build Coastguard Worker  2. Conveying Modified Versions.
48*7304104dSAndroid Build Coastguard Worker
49*7304104dSAndroid Build Coastguard Worker  If you modify a copy of the Library, and, in your modifications, a
50*7304104dSAndroid Build Coastguard Workerfacility refers to a function or data to be supplied by an Application
51*7304104dSAndroid Build Coastguard Workerthat uses the facility (other than as an argument passed when the
52*7304104dSAndroid Build Coastguard Workerfacility is invoked), then you may convey a copy of the modified
53*7304104dSAndroid Build Coastguard Workerversion:
54*7304104dSAndroid Build Coastguard Worker
55*7304104dSAndroid Build Coastguard Worker   a) under this License, provided that you make a good faith effort to
56*7304104dSAndroid Build Coastguard Worker   ensure that, in the event an Application does not supply the
57*7304104dSAndroid Build Coastguard Worker   function or data, the facility still operates, and performs
58*7304104dSAndroid Build Coastguard Worker   whatever part of its purpose remains meaningful, or
59*7304104dSAndroid Build Coastguard Worker
60*7304104dSAndroid Build Coastguard Worker   b) under the GNU GPL, with none of the additional permissions of
61*7304104dSAndroid Build Coastguard Worker   this License applicable to that copy.
62*7304104dSAndroid Build Coastguard Worker
63*7304104dSAndroid Build Coastguard Worker  3. Object Code Incorporating Material from Library Header Files.
64*7304104dSAndroid Build Coastguard Worker
65*7304104dSAndroid Build Coastguard Worker  The object code form of an Application may incorporate material from
66*7304104dSAndroid Build Coastguard Workera header file that is part of the Library.  You may convey such object
67*7304104dSAndroid Build Coastguard Workercode under terms of your choice, provided that, if the incorporated
68*7304104dSAndroid Build Coastguard Workermaterial is not limited to numerical parameters, data structure
69*7304104dSAndroid Build Coastguard Workerlayouts and accessors, or small macros, inline functions and templates
70*7304104dSAndroid Build Coastguard Worker(ten or fewer lines in length), you do both of the following:
71*7304104dSAndroid Build Coastguard Worker
72*7304104dSAndroid Build Coastguard Worker   a) Give prominent notice with each copy of the object code that the
73*7304104dSAndroid Build Coastguard Worker   Library is used in it and that the Library and its use are
74*7304104dSAndroid Build Coastguard Worker   covered by this License.
75*7304104dSAndroid Build Coastguard Worker
76*7304104dSAndroid Build Coastguard Worker   b) Accompany the object code with a copy of the GNU GPL and this license
77*7304104dSAndroid Build Coastguard Worker   document.
78*7304104dSAndroid Build Coastguard Worker
79*7304104dSAndroid Build Coastguard Worker  4. Combined Works.
80*7304104dSAndroid Build Coastguard Worker
81*7304104dSAndroid Build Coastguard Worker  You may convey a Combined Work under terms of your choice that,
82*7304104dSAndroid Build Coastguard Workertaken together, effectively do not restrict modification of the
83*7304104dSAndroid Build Coastguard Workerportions of the Library contained in the Combined Work and reverse
84*7304104dSAndroid Build Coastguard Workerengineering for debugging such modifications, if you also do each of
85*7304104dSAndroid Build Coastguard Workerthe following:
86*7304104dSAndroid Build Coastguard Worker
87*7304104dSAndroid Build Coastguard Worker   a) Give prominent notice with each copy of the Combined Work that
88*7304104dSAndroid Build Coastguard Worker   the Library is used in it and that the Library and its use are
89*7304104dSAndroid Build Coastguard Worker   covered by this License.
90*7304104dSAndroid Build Coastguard Worker
91*7304104dSAndroid Build Coastguard Worker   b) Accompany the Combined Work with a copy of the GNU GPL and this license
92*7304104dSAndroid Build Coastguard Worker   document.
93*7304104dSAndroid Build Coastguard Worker
94*7304104dSAndroid Build Coastguard Worker   c) For a Combined Work that displays copyright notices during
95*7304104dSAndroid Build Coastguard Worker   execution, include the copyright notice for the Library among
96*7304104dSAndroid Build Coastguard Worker   these notices, as well as a reference directing the user to the
97*7304104dSAndroid Build Coastguard Worker   copies of the GNU GPL and this license document.
98*7304104dSAndroid Build Coastguard Worker
99*7304104dSAndroid Build Coastguard Worker   d) Do one of the following:
100*7304104dSAndroid Build Coastguard Worker
101*7304104dSAndroid Build Coastguard Worker       0) Convey the Minimal Corresponding Source under the terms of this
102*7304104dSAndroid Build Coastguard Worker       License, and the Corresponding Application Code in a form
103*7304104dSAndroid Build Coastguard Worker       suitable for, and under terms that permit, the user to
104*7304104dSAndroid Build Coastguard Worker       recombine or relink the Application with a modified version of
105*7304104dSAndroid Build Coastguard Worker       the Linked Version to produce a modified Combined Work, in the
106*7304104dSAndroid Build Coastguard Worker       manner specified by section 6 of the GNU GPL for conveying
107*7304104dSAndroid Build Coastguard Worker       Corresponding Source.
108*7304104dSAndroid Build Coastguard Worker
109*7304104dSAndroid Build Coastguard Worker       1) Use a suitable shared library mechanism for linking with the
110*7304104dSAndroid Build Coastguard Worker       Library.  A suitable mechanism is one that (a) uses at run time
111*7304104dSAndroid Build Coastguard Worker       a copy of the Library already present on the user's computer
112*7304104dSAndroid Build Coastguard Worker       system, and (b) will operate properly with a modified version
113*7304104dSAndroid Build Coastguard Worker       of the Library that is interface-compatible with the Linked
114*7304104dSAndroid Build Coastguard Worker       Version.
115*7304104dSAndroid Build Coastguard Worker
116*7304104dSAndroid Build Coastguard Worker   e) Provide Installation Information, but only if you would otherwise
117*7304104dSAndroid Build Coastguard Worker   be required to provide such information under section 6 of the
118*7304104dSAndroid Build Coastguard Worker   GNU GPL, and only to the extent that such information is
119*7304104dSAndroid Build Coastguard Worker   necessary to install and execute a modified version of the
120*7304104dSAndroid Build Coastguard Worker   Combined Work produced by recombining or relinking the
121*7304104dSAndroid Build Coastguard Worker   Application with a modified version of the Linked Version. (If
122*7304104dSAndroid Build Coastguard Worker   you use option 4d0, the Installation Information must accompany
123*7304104dSAndroid Build Coastguard Worker   the Minimal Corresponding Source and Corresponding Application
124*7304104dSAndroid Build Coastguard Worker   Code. If you use option 4d1, you must provide the Installation
125*7304104dSAndroid Build Coastguard Worker   Information in the manner specified by section 6 of the GNU GPL
126*7304104dSAndroid Build Coastguard Worker   for conveying Corresponding Source.)
127*7304104dSAndroid Build Coastguard Worker
128*7304104dSAndroid Build Coastguard Worker  5. Combined Libraries.
129*7304104dSAndroid Build Coastguard Worker
130*7304104dSAndroid Build Coastguard Worker  You may place library facilities that are a work based on the
131*7304104dSAndroid Build Coastguard WorkerLibrary side by side in a single library together with other library
132*7304104dSAndroid Build Coastguard Workerfacilities that are not Applications and are not covered by this
133*7304104dSAndroid Build Coastguard WorkerLicense, and convey such a combined library under terms of your
134*7304104dSAndroid Build Coastguard Workerchoice, if you do both of the following:
135*7304104dSAndroid Build Coastguard Worker
136*7304104dSAndroid Build Coastguard Worker   a) Accompany the combined library with a copy of the same work based
137*7304104dSAndroid Build Coastguard Worker   on the Library, uncombined with any other library facilities,
138*7304104dSAndroid Build Coastguard Worker   conveyed under the terms of this License.
139*7304104dSAndroid Build Coastguard Worker
140*7304104dSAndroid Build Coastguard Worker   b) Give prominent notice with the combined library that part of it
141*7304104dSAndroid Build Coastguard Worker   is a work based on the Library, and explaining where to find the
142*7304104dSAndroid Build Coastguard Worker   accompanying uncombined form of the same work.
143*7304104dSAndroid Build Coastguard Worker
144*7304104dSAndroid Build Coastguard Worker  6. Revised Versions of the GNU Lesser General Public License.
145*7304104dSAndroid Build Coastguard Worker
146*7304104dSAndroid Build Coastguard Worker  The Free Software Foundation may publish revised and/or new versions
147*7304104dSAndroid Build Coastguard Workerof the GNU Lesser General Public License from time to time. Such new
148*7304104dSAndroid Build Coastguard Workerversions will be similar in spirit to the present version, but may
149*7304104dSAndroid Build Coastguard Workerdiffer in detail to address new problems or concerns.
150*7304104dSAndroid Build Coastguard Worker
151*7304104dSAndroid Build Coastguard Worker  Each version is given a distinguishing version number. If the
152*7304104dSAndroid Build Coastguard WorkerLibrary as you received it specifies that a certain numbered version
153*7304104dSAndroid Build Coastguard Workerof the GNU Lesser General Public License "or any later version"
154*7304104dSAndroid Build Coastguard Workerapplies to it, you have the option of following the terms and
155*7304104dSAndroid Build Coastguard Workerconditions either of that published version or of any later version
156*7304104dSAndroid Build Coastguard Workerpublished by the Free Software Foundation. If the Library as you
157*7304104dSAndroid Build Coastguard Workerreceived it does not specify a version number of the GNU Lesser
158*7304104dSAndroid Build Coastguard WorkerGeneral Public License, you may choose any version of the GNU Lesser
159*7304104dSAndroid Build Coastguard WorkerGeneral Public License ever published by the Free Software Foundation.
160*7304104dSAndroid Build Coastguard Worker
161*7304104dSAndroid Build Coastguard Worker  If the Library as you received it specifies that a proxy can decide
162*7304104dSAndroid Build Coastguard Workerwhether future versions of the GNU Lesser General Public License shall
163*7304104dSAndroid Build Coastguard Workerapply, that proxy's public statement of acceptance of any version is
164*7304104dSAndroid Build Coastguard Workerpermanent authorization for you to choose that version for the
165*7304104dSAndroid Build Coastguard WorkerLibrary.
166