Update MAINTAINERS file with details about accepting DCO signed contributions.
[binutils-gdb.git] / binutils / MAINTAINERS
blob36c495e5a508c23120867c6d91377e4a01c46dd0
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 amongst 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:
17   binutils@sourceware.org
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:
22   config-patches@gnu.org
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
27 lists as well (gcc-patches@gcc.gnu.org and
28 gdb-patches@sourceware.org).
30 Patches to the libiberty sources should be sent to
31 gcc-patches@gcc.gnu.org.
33                 --------- Blanket Write Privs ---------
35 The following people have permission to check patches into the
36 repository without obtaining approval first:
38   Nick Clifton <nickc@redhat.com> (head maintainer)
39   Ian Lance Taylor <ian@airs.com>
40   Jeff Law <law@redhat.com>
41   Jim Wilson <wilson@tuliptree.org>
42   DJ Delorie <dj@redhat.com>
43   Alan Modra <amodra@gmail.com>
44   Michael Meissner <gnu@the-meissners.org>
45   Richard Sandiford <rdsandiford@googlemail.com>
46   Jan Beulich <jbeulich@suse.com>
48 GDB global maintainers also have permission to commit and approve
49 patches to the top level files and to those parts of bfd files
50 primarily used by GDB.
52       --------- Maintainers ---------
54 Maintainers are individuals who are responsible for, and have
55 permission to check in changes in, certain subsets of the code.  Note
56 that maintainers still need approval to check in changes outside of
57 the immediate domain that they maintain.
59 If there is no maintainer for a given domain then the responsibility
60 falls to the head maintainer (above).  If there are several
61 maintainers for a given domain then responsibility falls to the first
62 maintainer.  The first maintainer is free to devolve that
63 responsibility among the other maintainers.
65   AARCH64          Richard Earnshaw <rearnsha@arm.com>
66   AARCH64          Marcus Shawcroft <marcus.shawcroft@arm.com>
67   ARC              Claudiu Zissulescu <claziss@synopsys.com>
68   ARM              Nick Clifton <nickc@redhat.com>
69   ARM              Richard Earnshaw <rearnsha@arm.com>
70   ARM              Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
71   AVR              Denis Chertykov <chertykov@gmail.com>
72   AVR              Marek Michalkiewicz <marekm@amelek.gda.pl>
73   BFIN             Jie Zhang <jzhang918@gmail.com>
74   BFIN             Mike Frysinger <vapier@gentoo.org>
75   BPF              Jose E. Marchesi <jose.marchesi@oracle.com>
76   CR16             M R Swami Reddy <MR.Swami.Reddy@nsc.com>
77   CRIS             Hans-Peter Nilsson <hp@axis.com>
78   CRX              M R Swami Reddy <MR.Swami.Reddy@nsc.com>
79   CTF              Nick Alcock <nick.alcock@oracle.com>
80   C-SKY            Lifang Xia <lifang_xia@c-sky.com>
81   C-SKY            Yunhai Shang <yunhai_shang@c-sky.com>
82   DLX              Nikolaos Kavvadias <nkavv@physics.auth.gr>
83   DWARF2           Jason Merrill <jason@redhat.com>
84   DWARF2           Jakub Jelinek <jakub@redhat.com>
85   dwarf-mode.el    Tom Tromey <tom@tromey.com>
86   EPIPHANY         Joern Rennecke <joern.rennecke@embecosm.com>
87   FR30             Nick Clifton <nickc@redhat.com>
88   FRV              Nick Clifton <nickc@redhat.com>
89   FRV              Alexandre Oliva <aoliva@sourceware.org>
90   GOLD             Ian Lance Taylor <iant@google.com>
91   GOLD             Cary Coutant <ccoutant@gmail.com>
92   gprofng          Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
93   H8300            Prafulla Thakare <prafulla.thakare@kpitcummins.com>
94   HPPA             Dave Anglin <dave.anglin@bell.net>
95   HPPA elf32       Alan Modra <amodra@gmail.com>
96   HPPA elf64       Jeff Law <law@redhat.com> [Basic maintainance only]
97   IA-64            Jim Wilson <wilson@tuliptree.org>
98   IQ2000           Stan Cox <scox@redhat.com>
99   ix86             H.J. Lu <hjl.tools@gmail.com>
100   ix86 COFF        DJ Delorie <dj@redhat.com>
101   ix86 PE/COFF     Dave Korn <dave.korn.cygwin@gmail.com>
102   ix86 INTEL MODE  Jan Beulich <jbeulich@suse.com>
103   LM32             Jon Beniston <jon@beniston.com>
104   LoongArch        Chenghua Xu <xuchenghua@loongson.cn>
105   LoongArch        Zhensong Liu <liuzhensong@loongson.cn>
106   M32R             Doug Evans <dje@sebabeach.org>
107   M68HC11 M68HC12  Stephane Carrez <Stephane.Carrez@gmail.com>
108   M68HC11 M68HC12  Sean Keys <skeys@ipdatasys.com>
109   MACH-O           Tristan Gingold <tgingold@free.fr>
110   MAXQ             Inderpreet Singh <inderpreetb@noida.hcltech.com>
111   MEP              Nick Clifton <nickc@redhat.com>
112   METAG            Markos Chandras <markos.chandras@imgtec.com>
113   MICROBLAZE       Michael Eager <eager@eagercon.com>
114   MIPS             Chenghua Xu <paul.hua.gm@gmail.com>
115   MIPS I-IV        Maciej W. Rozycki <macro@orcam.me.uk>
116   MMIX             Hans-Peter Nilsson <hp@bitrange.com>
117   MN10300          Alexandre Oliva <aoliva@sourceware.org>
118   Moxie            Anthony Green <green@moxielogic.com>
119   MSP430           Dmitry Diky <diwil@spec.ru>
120   NDS32            Kuan-Lin Chen <kuanlinchentw@gmail.com>
121   NDS32            Wei-Cheng Wang <cole945@gmail.com>
122   NetBSD support   Matt Thomas <matt@netbsd.org>
123   Nios II          Sandra Loosemore <sandra@codesourcery.com>
124   Nios II          Andrew Jenner <andrew@codesourcery.com>
125   OR1K             Christian Svensson <blue@cmd.nu>
126   OR1K             Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
127   OR1K             Stafford Horne <shorne@gmail.com>
128   PDP11            Stephen Casner <casner@acm.org>
129   PPC              Geoff Keating <geoffk@geoffk.org>
130   PPC              Alan Modra <amodra@gmail.com>
131   PPC              Peter Bergner <bergner@vnet.ibm.com>
132   PPC vector ext   Aldy Hernandez <aldyh@redhat.com>
133   RISC-V           Palmer Dabbelt <palmer@dabbelt.com>
134   RISC-V           Andrew Waterman <andrew@sifive.com>
135   RISC-V           Jim Wilson <jim.wilson.gcc@gmail.com>
136   RISC-V           Nelson Chu <nelson@rivosinc.com>
137   RX               Nick Clifton <nickc@redhat.com>
138   S12Z             John Darrington <john@darrington.wattle.id.au>
139   s390, s390x      Andreas Krebbel <krebbel@linux.ibm.com>
140   SH               Alexandre Oliva <aoliva@sourceware.org>
141   SPARC            David S. Miller <davem@davemloft.net>
142   SPARC            Jose E. Marchesi <jose.marchesi@oracle.com>
143   SPU              Alan Modra <amodra@gmail.com>
144   TIC54X           Timothy Wall <twall@alum.mit.edu>
145   TIC6X            Joseph Myers <joseph@codesourcery.com>
146   TILE-Gx          Walter Lee <walt@tilera.com>
147   TILEPro          Walter Lee <walt@tilera.com>
148   VAX              Matt Thomas <matt@netbsd.org>
149   VAX              Jan-Benedict Glaw <jbglaw@lug-owl.de>
150   Visium           Eric Botcazou <ebotcazou@libertysurf.fr>
151   VMS              Tristan Gingold <tgingold@free.fr>
152   x86_64           Jan Hubicka <jh@suse.cz>
153   x86_64           Andreas Jaeger <aj@suse.de>
154   x86_64           H.J. Lu <hjl.tools@gmail.com>
155   XCOFF            Richard Sandiford <r.sandiford@uk.ibm.com>
156   XGATE            Sean Keys <skeys@ipdatasys.com>
157   Xtensa           Max Filippov <jcmvbkbc@gmail.com>
158   Xtensa           Sterling Augustine <augustine.sterling@gmail.com>
159   z8k              Christian Groessler <chris@groessler.org>
161       --------- Past Maintainers -------------
163 These folks have acted as maintainers in the past, but have now
164 moved on to other things.  Our thanks for all their hard work
165 goes with them.
167   Paul Brook
168   Eric Christopher
169   Jason Eckhardt
170   Mark Kettenis
171   Mei Ligang
172   Arnold Metselaar
173   Mark Mitchell
174   Bernd Schmidt
175   Svein Seldal
176   Martin Schwidefsky
178       --------- CGEN Maintainers -------------
180 CGEN is a tool for building, amongst other things, assemblers,
181 disassemblers and simulators from a single description of a CPU.
182 It creates files in several of the binutils directories, but it
183 is mentioned here since there is a single group that maintains
184 CGEN and the files that it creates.
186 If you have CGEN related problems you can send email to;
188    cgen@sourceware.org
190 The current CGEN maintainers are:
192   Doug Evans, Frank Eigler
194      --------- Write After Approval ---------
196 Individuals with "write after approval" have the ability to check in
197 changes, but they must get approval for each change from someone in
198 one of the above lists (blanket write or maintainers).
200 [It's a huge list, folks.  You know who you are.  If you have the
201  *ability* to do binutils checkins, you're in this group.  Just
202  remember to get approval before checking anything in.]
204      -------------  Obvious Fixes -------------
206 Fixes for obvious mistakes do not need approval, and can be checked in
207 right away, but the patch should still be sent to the binutils list.
208 The definition of obvious is a bit hazy, and if you are not sure, then
209 you should seek approval first.  Obvious fixes include fixes for
210 spelling mistakes, blatantly incorrect code (where the correct code is
211 also blatantly obvious), and so on.  Obvious fixes should always be
212 small, the larger they are, the more likely it is that they contain
213 some un-obvious side effect or consequence.
215 Obvious fixes should not be "legally significant", as defined here:
217   https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant
219      --------  Patches and Copyright  ---------
221 If a patch is non-obvious, its copyright must be considered.  There
222 are two ways to handle this.  The first is to assign the copyright
223 of the FSF.  This ensures that if problems with the authorship of the
224 patch arise, the FSF will be able to deal with them.
226 The list of already assigned copyrights can be obtained from
227 fencepost.gnu.org in the file: /gd/gnuorg/copyright.list. 
229 New copyright assignments can be obtained by completing one of the
230 forms found here and sending it off to the FSF:
232   https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=tree;f=doc/Copyright
234 The alternative is to sign off the contribution by agreeing to the
235 Developer's Certificate of Origin (version 1.1 or later) and adding a
236 line to the end of the contribution that looks something like this:
238   Signed-off-by: Random J Developer <random@developer.example.org>
240 The details of the Developer's Certificate or Origin can be found here:
241        
242   https://developercertificate.org/
244     --------- Branch Checkins ---------
246 If a patch is approved for check in to the mainline sources, it can
247 also be checked into the current release branch.  Normally however
248 only bug fixes should be applied to the branch.  New features, new
249 ports, etc, should be restricted to the mainline.  (Otherwise the
250 burden of maintaining the branch in sync with the mainline becomes too
251 great).  If you are uncertain as to whether a patch is appropriate for
252 the branch, ask the branch maintainer.  This is:
254    (cf global maintainers)
256     -------- Testsuites ---------------
258 In general patches to any of the binutils testsuites should be
259 considered generic and sent to the binutils mailing list for
260 approval.  Patches to target specific tests are the responsibility the
261 relevant port maintainer(s), and can be approved/checked in by them.
262 Other testsuite patches need the approval of a blanket-write-priveleges
263 person.
265     -------- Configure patches ----------
267 Patches to the top level configure files (config.sub & config.guess)
268 are not the domain of the binutils project and they cannot be approved
269 by the binutils group.  Instead they should be submitted to the config
270 maintainer at:
272         config-patches@gnu.org
274     --------- Creating Branches ---------
276 Anyone with at least write-after-approval access may create a branch
277 to use for their own development purposes.  In keeping with FSF
278 policies, all patches applied to such a branch must come from people
279 with appropriate copyright assignments on file.  All legal
280 requirements that would apply to any other contribution apply equally
281 to contributions on a branch.
283 Before creating the branch, you should select a name for the branch of
284 the form:
286   binutils-<org>-<name>
288 where "org" is the initials of your organization, or your own initials
289 if you are acting as an individual.  For example, for a branch created
290 by The GNUDist Company, "tgc" would be an appropriate choice for
291 "org".  It's up to each organization to select an appropriate choice
292 for "name"; some organizations may use more structure than others, so
293 "name" may contain additional hyphens.
295 Suppose that The GNUDist Company was creating a branch to develop a
296 port of Binutils to the FullMonty processor.  Then, an appropriate
297 choice of branch name would be:
299   binutils-tgc-fm
301 A date stamp is not required as part of the name field, but some
302 organizations like to have one.  If you do include the date, you
303 should follow these rules:
305 1. The date should be the date that the branch was created.
307 2. The date should be numerical and in the form YYYYMMDD.
309 For example:
311   binutils-tgc-fm_20050101
313 would be appropriate if the branch was created on January 1st, 2005.
315 Having selected the branch name, create the branch as follows:
317 1. Check out binutils, so that you have a git checkout corresponding
318    to the initial state of your branch.
320 2. Create a tag:
322      git tag binutils-<org>-<name>-branchpoint
324    That tag will allow you, and others, to easily determine what's
325    changed on the branch relative to the initial state.
327 3. Create and push the branch:
329      git checkout -b binutils-<org>-<name>-branch
330      git push origin HEAD
332 4. Document the branch:
334      Add a description of the branch to binutils/BRANCHES, and check
335      that file in.  All branch descriptions should be added to the
336      HEAD revision of the file; it doesn't help to modify
337      binutils/BRANCHES on a branch!
339 Please do not commit any patches to a branch you did not create
340 without the explicit permission of the person who created the branch.
342 Copyright (C) 2012-2022 Free Software Foundation, Inc.
344 Copying and distribution of this file, with or without modification,
345 are permitted in any medium without royalty provided the copyright
346 notice and this notice are preserved.