1 ========= Binutils Maintainers =========
3 This is the list of individuals responsible for maintenance and update
4 of the GNU Binary Utilities project. This includes the linker (ld),
5 the assembler (gas), the profiler (gprof), a whole suite of other
6 programs (binutils) and the libraries that they use (bfd and
7 opcodes). This project shares a common set of header files with the
8 GCC and GDB projects (include), so maintainership of those files is
9 shared amoungst the projects.
11 The home page for binutils is:
13 http://www.gnu.org/software/binutils/binutils.html
15 and patches should be sent to:
19 with "[Patch]" as part of the subject line. Note - patches to the
20 top level config.guess and config.sub scripts should be sent to:
24 and not to the binutils lists. Patches to the other top level
25 configure files (configure, configure.in, config-ml.in) should
26 be sent to the binutils lists, and copied to the gcc and gdb
30 --------- Blanket Write Privs ---------
32 The following people have permission to check patches into the
33 repository without obtaining approval first:
45 --------- Maintainers ---------
47 Maintainers are individuals who are responsible for, and have
48 permission to check in changes in, certain subsets of the code. Note
49 that maintainers still need approval to check in changes outside of
50 the immediate domain that they maintain.
52 If there is no maintainer for a given domain then the responsibility
53 falls to the head maintainer (above). If there are several
54 maintainers for a given domain then responsibility falls to the first
55 maintainer. The first maintainer is free to devolve that
56 responsibility among the other maintainers.
121 --------- CGEN Maintainers -------------
123 CGEN is a tool for building, amongst other things, assemblers,
124 disassemblers and simulators from a single description of a CPU.
125 It creates files in several of the binutils directories, but it
126 is mentioned here since there is a single group that maintains
127 CGEN and the files that it creates.
129 If you have CGEN related problems you can send email to;
133 The current CGEN maintainers are:
135 Doug Evans, Frank Eigler
137 --------- Write After Approval ---------
139 Individuals with "write after approval" have the ability to check in
140 changes, but they must get approval for each change from someone in
141 one of the above lists (blanket write or maintainers).
143 [It's a huge list, folks. You know who you are. If you have the
144 *ability* to do binutils checkins, you're in this group. Just
145 remember to get approval before checking anything in.]
147 ------------- Obvious Fixes -------------
149 Fixes for obvious mistakes do not need approval, and can be checked in
150 right away, but the patch should still be sent to the binutils list.
151 The definition of obvious is a bit hazy, and if you are not sure, then
152 you should seek approval first. Obvious fixes include fixes for
153 spelling mistakes, blatantly incorrect code (where the correct code is
154 also blatantly obvious), and so on. Obvious fixes should always be
155 small, the larger they are, the more likely it is that they contain
156 some un-obvious side effect or consequence.
158 --------- Branch Checkins ---------
160 If a patch is approved for check in to the mainline sources, it can
161 also be checked into the current release branch. Normally however
162 only bug fixes should be applied to the branch. New features, new
163 ports, etc, should be restricted to the mainline. (Otherwise the
164 burden of maintaining the branch in sync with the mainline becomes too
165 great). If you are uncertain as to whether a patch is appropriate for
166 the branch, ask the branch maintainer. This is:
170 -------- Testsuites ---------------
172 In general patches to any of the binutils testsuites should be
173 considered generic and sent to the binutils mailing list for
174 approval. Patches to target specific tests are the responsibility the
175 relevent port maintainer(s), and can be approved/checked in by them.
176 Other testsuite patches need the approval of a blanket-write-priveleges
179 -------- Configure patches ----------
181 Patches to the top level configure files (config.sub & config.guess)
182 are not the domain of the binutils project and they cannot be approved
183 by the binutils group. Instead they should be submitted to the config
188 --------- Creating Branches ---------
190 Anyone with at least write-after-approval access may create a branch
191 to use for their own development purposes. In keeping with FSF
192 policies, all patches applied to such a branch must come from people
193 with appropriate copyright assignments on file. All legal
194 requirements that would apply to any other contribution apply equally
195 to contributions on a branch.
197 Before creating the branch, you should select a name for the branch of
200 binutils-<org>-<name>
202 where "org" is the initials of your organization, or your own initials
203 if you are acting as an individual. For example, for a branch created
204 by The GNUDist Company, "tgc" would be an appropriate choice for
205 "org". It's up to each organization to select an appropriate choice
206 for "name"; some organizations may use more structure than others, so
207 "name" may contain additional hyphens.
209 Suppose that The GNUDist Company was creating a branch to develop a
210 port of Binutils to the FullMonty processor. Then, an appropriate
211 choice of branch name would be:
215 A date stamp is not required as part of the name field, but some
216 organizations like to have one. If you do include the date, you
217 should follow these rules:
219 1. The date should be the date that the branch was created.
221 2. The date should be numerical and in the form YYYYMMDD.
225 binutils-tgc-fm_20050101
227 would be appropriate if the branch was created on January 1st, 2005.
229 Having selected the branch name, create the branch as follows:
231 1. Check out binutils, so that you have a CVS checkout corresponding
232 to the initial state of your branch.
236 cvs tag binutils-<org>-<name>-branchpoint
238 That tag will allow you, and others, to easily determine what's
239 changed on the branch relative to the initial state.
241 3. Create the branch:
243 cvs rtag -b -r binutils-<org>-<name>-branchpoint \
244 binutils-<org>-<name>-branch
246 4. Document the branch:
248 Add a description of the branch to binutils/BRANCHES, and check
249 that file in. All branch descriptions should be added to the
250 HEAD revision of the file; it doesn't help to modify
251 binutils/BRANCHES on a branch!
253 Please do not commit any patches to a branch you did not create
254 without the explicit permission of the person who created the branch.