2005-12-21 H.J. Lu <hjl@gnu.org>
[external/binutils.git] / binutils / MAINTAINERS
1                 ========= Binutils Maintainers =========
2
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.
10
11 The home page for binutils is:
12
13   http://www.gnu.org/software/binutils/binutils.html
14
15 and patches should be sent to:
16
17   bug-binutils@gnu.org    or    binutils@sources.redhat.com
18   
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:
21
22   config-patches@gnu.org
23
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
27 lists as well (gcc-patches@gcc.gnu.org and
28 gdb-patches@sources.redhat.com).
29
30                 --------- Blanket Write Privs ---------
31
32 The following people have permission to check patches into the
33 repository without obtaining approval first:
34                 
35   Nick Clifton <nickc@redhat.com> (head maintainer)
36   Richard Henderson <rth@redhat.com>
37   Ian Lance Taylor <ian@airs.com>
38   Jeff Law <law@redhat.com>
39   Jim Wilson <wilson@specifixinc.com>
40   DJ Delorie <dj@redhat.com>
41   Alan Modra <amodra@bigpond.net.au>
42   Michael Meissner <gnu@the-meissners.org>
43   Daniel Jacobowitz <dan@debian.org>
44
45       --------- Maintainers ---------
46
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.
51
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.
57
58   ALPHA            Richard Henderson <rth@redhat.com>
59   ARM              Nick Clifton <nickc@redhat.com>
60   ARM              Richard Earnshaw <rearnsha@arm.com>
61   ARM (Symbian)    Paul Brook <paul@codesourcery.com>
62   ARM (Symbian)    Mark Mitchell <mark@codesourcery.com>
63   AVR              Denis Chertykov <denisc@overta.ru>
64   AVR              Marek Michalkiewicz <marekm@amelek.gda.pl>
65   BFIN             Jie Zhang <jie.zhang@analog.com>
66   BFIN             Bernd Schmidt <bernd.schmidt@analog.com>
67   BUILD SYSTEM     Ben Elliston <bje@gnu.org>
68   BUILD SYSTEM     Daniel Jacobowitz <dan@debian.org>
69   CRIS             Hans-Peter Nilsson <hp@axis.com>
70   CRX              Tomer Levi <Tomer.Levi@nsc.com>
71   DWARF2           Jason Merrill <jason@redhat.com>
72   FR30             Dave Brolley <brolley@redhat.com>
73   FRV              Dave Brolley <brolley@redhat.com>
74   FRV              Alexandre Oliva <aoliva@redhat.com>
75   H8300            Anil Paranjpe <anilp1@kpitcummins.com> 
76   HPPA             Dave Anglin <dave.anglin@nrc.ca>
77   HPPA elf32       Alan Modra <amodra@bigpond.net.au>
78   HPPA elf64       Jeff Law <law@redhat.com> [Basic maintainance only]
79   IA-64            Jim Wilson <wilson@specifixinc.com>
80   IQ2000           Stan Cox <scox@redhat.com>
81   i860             Jason Eckhardt <jle@rice.edu>
82   ix86             Alan Modra <amodra@bigpond.net.au>
83   ix86 PE          Christopher Faylor <cgf@redhat.com>
84   ix86 COFF        DJ Delorie <dj@redhat.com>
85   ix86             H.J.Lu <hjl@gnu.org>
86   ix86 INTEL MODE  Jan Beulich <jbeulich@novell.com>
87   M68HC11 M68HC12  Stephane Carrez <stcarrez@nerim.fr>
88   M68k             Ben Elliston <bje@gnu.org>
89   M88k             Mark Kettenis <kettenis@gnu.org>
90   MAXQ             Inderpreet Singh <inderpreetb@noida.hcltech.com>
91   MIPS             Eric Christopher <echristo@apple.com>
92   MIPS             Thiemo Seufer <ths@networkno.de>
93   MMIX             Hans-Peter Nilsson <hp@bitrange.com>
94   MN10300          Eric Christopher <echristo@apple.com>
95   MN10300          Alexandre Oliva <aoliva@redhat.com>
96   MSP430           Dmitry Diky <diwil@spec.ru>
97   PPC              Geoff Keating <geoffk@geoffk.org>
98   PPC vector ext   Aldy Hernandez <aldyh@redhat.com>
99   s390, s390x      Martin Schwidefsky <schwidefsky@de.ibm.com>
100   SH               Jörn Rennecke <joern.rennecke@superh.com>
101   SH               Alexandre Oliva <aoliva@redhat.com>
102   SH               Kaz Kojima <kkojima@rr.iij4u.or.jp>
103   SPARC            Jakub Jelinek <jakub@redhat.com>
104   TESTSUITES       Ben Elliston <bje@gnu.org>
105   TIC4X            Svein Seldal <svein@dev.seldal.com>
106   TIC54X           Timothy Wall <twall@alum.mit.edu>
107   VAX              Jason R Thorpe <thorpej@netbsd.org>
108   x86_64           Jan Hubicka <jh@suse.cz>
109   x86_64           Andreas Jaeger <aj@suse.de>
110   x86_64           H.J.Lu <hjl@gnu.org>
111   Xtensa           Bob Wilson <bob.wilson@acm.org>
112   z80              Arnold Metselaar <arnold.metselaar@planet.nl>
113   z8k              Christian Groessler <chris@groessler.org>
114
115
116       --------- CGEN Maintainers -------------
117
118 CGEN is a tool for building, amongst other things, assemblers,
119 disassemblers and simulators from a single description of a CPU.
120 It creates files in several of the binutils directories, but it
121 is mentioned here since there is a single group that maintains
122 CGEN and the files that it creates. 
123
124 If you have CGEN related problems you can send email to;
125
126    cgen@sources.redhat.com
127
128 The current CGEN maintainers are:
129
130   Doug Evans, Ben Elliston, Frank Eigler
131
132      --------- Write After Approval ---------
133
134 Individuals with "write after approval" have the ability to check in
135 changes, but they must get approval for each change from someone in
136 one of the above lists (blanket write or maintainers).
137
138 [It's a huge list, folks.  You know who you are.  If you have the
139  *ability* to do binutils checkins, you're in this group.  Just
140  remember to get approval before checking anything in.]
141
142      -------------  Obvious Fixes -------------
143
144 Fixes for obvious mistakes do not need approval, and can be checked in
145 right away, but the patch should still be sent to the binutils list.
146 The definition of obvious is a bit hazy, and if you are not sure, then
147 you should seek approval first.  Obvious fixes include fixes for
148 spelling mistakes, blatantly incorrect code (where the correct code is
149 also blatantly obvious), and so on.  Obvious fixes should always be
150 small, the larger they are, the more likely it is that they contain
151 some un-obvious side effect or consequence.
152
153     --------- Branch Checkins ---------
154
155 If a patch is approved for check in to the mainline sources, it can
156 also be checked into the current release branch.  Normally however
157 only bug fixes should be applied to the branch.  New features, new
158 ports, etc, should be restricted to the mainline.  (Otherwise the
159 burden of maintaining the branch in sync with the mainline becomes too 
160 great).  If you are uncertain as to whether a patch is appropriate for
161 the branch, ask the branch maintainer.  This is:
162
163    Daniel Jacobowitz  <dan@debian.org>
164
165     -------- Testsuites ---------------
166
167 In general patches to any of the binutils testsuites should be
168 considered generic and sent to the binutils mailing list for
169 approval.  Patches to target specific tests are the responsibility the
170 relevent port maintainer(s), and can be approved/checked in by them.
171 Other testsuite patches need the approval of a blanket-write-priveleges
172 person.
173
174     -------- Configure patches ----------
175
176 Patches to the top level configure files (config.sub & config.guess)
177 are not the domain of the binutils project and they cannot be approved
178 by the binutils group.  Instead they should be submitted to the config
179 maintainer at:
180
181         config-patches@gnu.org
182
183     --------- Creating Branches ---------
184
185 Anyone with at least write-after-approval access may create a branch
186 to use for their own development purposes.  In keeping with FSF
187 policies, all patches applied to such a branch must come from people
188 with appropriate copyright assignments on file.  All legal
189 requirements that would apply to any other contribution apply equally
190 to contributions on a branch.
191
192 Before creating the branch, you should select a name for the branch of
193 the form:
194
195   binutils-<org>-<name> 
196
197 where "org" is the initials of your organization, or your own initials
198 if you are acting as an individual.  For example, for a branch created
199 by The GNUDist Company, "tgc" would be an appropriate choice for
200 "org".  It's up to each organization to select an appropriate choice
201 for "name"; some organizations may use more structure than others, so
202 "name" may contain additional hyphens.
203
204 Suppose that The GNUDist Company was creating a branch to develop a
205 port of Binutils to the FullMonty processor.  Then, an appropriate
206 choice of branch name would be:
207
208   binutils-tgc-fm
209
210 A data stamp is not required as part of the name field, but some
211 organizations like to have one.  If you do include the date, you
212 should follow these rules:
213
214 1. The date should be the date that the branch was created.
215
216 2. The date should be numerical and in the form YYYYMMDD.
217
218 For example:
219
220   binutils-tgc-fm_20050101
221
222 would be appropriate if the branch was created on January 1st, 2005.
223
224 Having selected the branch name, create the branch as follows:
225
226 1. Check out binutils, so that you have a CVS checkout corresponding
227    to the initial state of your branch.
228
229 2. Create a tag:
230
231      cvs tag binutils-<org>-<name>-branchpoint
232
233    That tag will allow you, and others, to easily determine what's
234    changed on the branch relative to the initial state.
235
236 3. Create the branch:
237
238      cvs rtag -b -r binutils-<org>-<name>-branchpoint \
239        binutils-<org>-<name>-branch 
240
241 4. Document the branch:
242
243      Add a description of the branch to binutils/BRANCHES, and check
244      that file in.  All branch descriptions should be added to the
245      HEAD revision of the file; it doesn't help to modify
246      binutils/BRANCHES on a branch!
247
248 Please do not commit any patches to a branch you did not create
249 without the explicit permission of the person who created the branch.