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.ac, config-ml.in) should
26 be sent to the binutils lists, and copied to the gcc and gdb
30 Patches to the libiberty sources should be sent to
33 --------- Blanket Write Privs ---------
35 The following people have permission to check patches into the
36 repository without obtaining approval first:
48 --------- Maintainers ---------
50 Maintainers are individuals who are responsible for, and have
51 permission to check in changes in, certain subsets of the code. Note
52 that maintainers still need approval to check in changes outside of
53 the immediate domain that they maintain.
55 If there is no maintainer for a given domain then the responsibility
56 falls to the head maintainer (above). If there are several
57 maintainers for a given domain then responsibility falls to the first
58 maintainer. The first maintainer is free to devolve that
59 responsibility among the other maintainers.
154 --------- Past Maintainers -------------
156 These folks have acted as maintainers in the past, but have now
157 moved on to other things. Our thanks for all their hard work
170 --------- CGEN Maintainers -------------
172 CGEN is a tool for building, amongst other things, assemblers,
173 disassemblers and simulators from a single description of a CPU.
174 It creates files in several of the binutils directories, but it
175 is mentioned here since there is a single group that maintains
176 CGEN and the files that it creates.
178 If you have CGEN related problems you can send email to;
182 The current CGEN maintainers are:
184 Doug Evans, Frank Eigler
186 --------- Write After Approval ---------
188 Individuals with "write after approval" have the ability to check in
189 changes, but they must get approval for each change from someone in
190 one of the above lists (blanket write or maintainers).
192 [It's a huge list, folks. You know who you are. If you have the
193 *ability* to do binutils checkins, you're in this group. Just
194 remember to get approval before checking anything in.]
196 ------------- Obvious Fixes -------------
198 Fixes for obvious mistakes do not need approval, and can be checked in
199 right away, but the patch should still be sent to the binutils list.
200 The definition of obvious is a bit hazy, and if you are not sure, then
201 you should seek approval first. Obvious fixes include fixes for
202 spelling mistakes, blatantly incorrect code (where the correct code is
203 also blatantly obvious), and so on. Obvious fixes should always be
204 small, the larger they are, the more likely it is that they contain
205 some un-obvious side effect or consequence.
207 --------- Branch Checkins ---------
209 If a patch is approved for check in to the mainline sources, it can
210 also be checked into the current release branch. Normally however
211 only bug fixes should be applied to the branch. New features, new
212 ports, etc, should be restricted to the mainline. (Otherwise the
213 burden of maintaining the branch in sync with the mainline becomes too
214 great). If you are uncertain as to whether a patch is appropriate for
215 the branch, ask the branch maintainer. This is:
217 (cf global maintainers)
219 -------- Testsuites ---------------
221 In general patches to any of the binutils testsuites should be
222 considered generic and sent to the binutils mailing list for
223 approval. Patches to target specific tests are the responsibility the
224 relevant port maintainer(s), and can be approved/checked in by them.
225 Other testsuite patches need the approval of a blanket-write-priveleges
228 -------- Configure patches ----------
230 Patches to the top level configure files (config.sub & config.guess)
231 are not the domain of the binutils project and they cannot be approved
232 by the binutils group. Instead they should be submitted to the config
237 --------- Creating Branches ---------
239 Anyone with at least write-after-approval access may create a branch
240 to use for their own development purposes. In keeping with FSF
241 policies, all patches applied to such a branch must come from people
242 with appropriate copyright assignments on file. All legal
243 requirements that would apply to any other contribution apply equally
244 to contributions on a branch.
246 Before creating the branch, you should select a name for the branch of
249 binutils-<org>-<name>
251 where "org" is the initials of your organization, or your own initials
252 if you are acting as an individual. For example, for a branch created
253 by The GNUDist Company, "tgc" would be an appropriate choice for
254 "org". It's up to each organization to select an appropriate choice
255 for "name"; some organizations may use more structure than others, so
256 "name" may contain additional hyphens.
258 Suppose that The GNUDist Company was creating a branch to develop a
259 port of Binutils to the FullMonty processor. Then, an appropriate
260 choice of branch name would be:
264 A date stamp is not required as part of the name field, but some
265 organizations like to have one. If you do include the date, you
266 should follow these rules:
268 1. The date should be the date that the branch was created.
270 2. The date should be numerical and in the form YYYYMMDD.
274 binutils-tgc-fm_20050101
276 would be appropriate if the branch was created on January 1st, 2005.
278 Having selected the branch name, create the branch as follows:
280 1. Check out binutils, so that you have a git checkout corresponding
281 to the initial state of your branch.
285 git tag binutils-<org>-<name>-branchpoint
287 That tag will allow you, and others, to easily determine what's
288 changed on the branch relative to the initial state.
290 3. Create and push the branch:
292 git checkout -b binutils-<org>-<name>-branch
295 4. Document the branch:
297 Add a description of the branch to binutils/BRANCHES, and check
298 that file in. All branch descriptions should be added to the
299 HEAD revision of the file; it doesn't help to modify
300 binutils/BRANCHES on a branch!
302 Please do not commit any patches to a branch you did not create
303 without the explicit permission of the person who created the branch.
305 Copyright (C) 2012-2019 Free Software Foundation, Inc.
307 Copying and distribution of this file, with or without modification,
308 are permitted in any medium without royalty provided the copyright
309 notice and this notice are preserved.