Automatic date update in version.in
[binutils-gdb.git] / binutils / MAINTAINERS
blob0c806bd350fe241bf306d27052c5ed21ccf2d13a
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@gmail.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   CRIS             Hans-Peter Nilsson <hp@axis.com>
77   CTF              Nick Alcock <nick.alcock@oracle.com>
78   C-SKY            Lifang Xia <lifang_xia@linux.alibaba.com>
79   C-SKY            Yunhai Shang <yunhai@linux.alibaba.com>
80   DLX              Nikolaos Kavvadias <nkavv@physics.auth.gr>
81   DWARF2           Jason Merrill <jason@redhat.com>
82   DWARF2           Jakub Jelinek <jakub@redhat.com>
83   dwarf-mode.el    Tom Tromey <tom@tromey.com>
84   EPIPHANY         Joern Rennecke <joern.rennecke@embecosm.com>
85   FR30             Nick Clifton <nickc@redhat.com>
86   FRV              Nick Clifton <nickc@redhat.com>
87   FRV              Alexandre Oliva <aoliva@sourceware.org>
88   GOLD             Ian Lance Taylor <iant@google.com>
89   GOLD             Cary Coutant <ccoutant@gmail.com>
90   gprofng          Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
91   H8300            Prafulla Thakare <prafulla.thakare@kpitcummins.com>
92   HPPA             Dave Anglin <dave.anglin@bell.net>
93   HPPA elf64       Jeff Law <law@redhat.com> [Basic maintainance only]
94   IA-64            Jim Wilson <wilson@tuliptree.org>
95   IQ2000           Stan Cox <scox@redhat.com>
96   ix86             H.J. Lu <hjl.tools@gmail.com>
97   ix86 COFF        DJ Delorie <dj@redhat.com>
98   ix86 PE/COFF     Dave Korn <dave.korn.cygwin@gmail.com>
99   ix86 INTEL MODE  Jan Beulich <jbeulich@suse.com>
100   KVX              Paul Iannetta <piannetta@kalrayinc.com>
101   libsframe        Indu Bhagat <indu.bhagat@oracle.com>
102   LM32             Jon Beniston <jon@beniston.com>
103   LoongArch        Chenghua Xu <xuchenghua@loongson.cn>
104   LoongArch        Zhensong Liu <liuzhensong@loongson.cn>
105   M32R             Doug Evans <dje@sebabeach.org>
106   M68HC11 M68HC12  Stephane Carrez <Stephane.Carrez@gmail.com>
107   M68HC11 M68HC12  Sean Keys <skeys@ipdatasys.com>
108   MACH-O           Tristan Gingold <tgingold@free.fr>
109   MAXQ             Inderpreet Singh <inderpreetb@noida.hcltech.com>
110   MEP              Nick Clifton <nickc@redhat.com>
111   METAG            Markos Chandras <markos.chandras@imgtec.com>
112   MICROBLAZE       Michael Eager <eager@eagercon.com>
113   MIPS             Chenghua Xu <paul.hua.gm@gmail.com>
114   MIPS I-IV        Maciej W. Rozycki <macro@orcam.me.uk>
115   MMIX             Hans-Peter Nilsson <hp@bitrange.com>
116   MN10300          Alexandre Oliva <aoliva@sourceware.org>
117   Moxie            Anthony Green <green@moxielogic.com>
118   NDS32            Kuan-Lin Chen <kuanlinchentw@gmail.com>
119   NDS32            Wei-Cheng Wang <cole945@gmail.com>
120   OR1K             Christian Svensson <blue@cmd.nu>
121   OR1K             Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
122   OR1K             Stafford Horne <shorne@gmail.com>
123   PPC              Peter Bergner <bergner@linux.ibm.com>
124   PPC vector ext   Aldy Hernandez <aldyh@redhat.com>
125   RISC-V           Palmer Dabbelt <palmer@dabbelt.com>
126   RISC-V           Andrew Waterman <andrew@sifive.com>
127   RISC-V           Jim Wilson <jim.wilson.gcc@gmail.com>
128   RISC-V           Nelson Chu <nelson@rivosinc.com>
129   RX               Nick Clifton <nickc@redhat.com>
130   S12Z             John Darrington <john@darrington.wattle.id.au>
131   s390, s390x      Andreas Krebbel <krebbel@linux.ibm.com>
132   SH               Alexandre Oliva <aoliva@sourceware.org>
133   SPARC            David S. Miller <davem@davemloft.net>
134   SPARC            Jose E. Marchesi <jose.marchesi@oracle.com>
135   SPU              Alan Modra <amodra@gmail.com>
136   TIC54X           Timothy Wall <twall@alum.mit.edu>
137   TIC6X            Joseph Myers <josmyers@redhat.com>
138   VAX              Jan-Benedict Glaw <jbglaw@lug-owl.de>
139   Visium           Eric Botcazou <ebotcazou@libertysurf.fr>
140   VMS              Tristan Gingold <tgingold@free.fr>
141   x86_64           Jan Beulich <jbeulich@suse.com>
142   x86_64           Jan Hubicka <jh@suse.cz>
143   x86_64           Andreas Jaeger <aj@suse.de>
144   x86_64           H.J. Lu <hjl.tools@gmail.com>
145   XCOFF            Richard Sandiford <r.sandiford@uk.ibm.com>
146   XGATE            Sean Keys <skeys@ipdatasys.com>
147   Xtensa           Max Filippov <jcmvbkbc@gmail.com>
148   Xtensa           Sterling Augustine <augustine.sterling@gmail.com>
149   z8k              Christian Groessler <chris@groessler.org>
151       --------- Past Maintainers -------------
153 These folks have acted as maintainers in the past, but have now
154 moved on to other things.  Our thanks for all their hard work
155 goes with them.
157   Paul Brook
158   Eric Christopher
159   Jason Eckhardt
160   Geoff Keating
161   Mark Kettenis
162   Walter Lee
163   Mei Ligang
164   Arnold Metselaar
165   Mark Mitchell
166   Bernd Schmidt
167   Svein Seldal
168   M R Swami Reddy
169   Martin Schwidefsky
170   Matt Thomas
172       --------- CGEN Maintainers -------------
174 CGEN is a tool for building, amongst other things, assemblers,
175 disassemblers and simulators from a single description of a CPU.
176 It creates files in several of the binutils directories, but it
177 is mentioned here since there is a single group that maintains
178 CGEN and the files that it creates.
180 If you have CGEN related problems you can send email to;
182    cgen@sourceware.org
184 The current CGEN maintainers are:
186   Doug Evans, Frank Eigler
188      --------- Write After Approval ---------
190 Individuals with "write after approval" have the ability to check in
191 changes, but they must get approval for each change from someone in
192 one of the above lists (blanket write or maintainers).
194 [It's a huge list, folks.  You know who you are.  If you have the
195  *ability* to do binutils checkins, you're in this group.  Just
196  remember to get approval before checking anything in.]
198      -------------  Obvious Fixes -------------
200 Fixes for obvious mistakes do not need approval, and can be checked in
201 right away, but the patch should still be sent to the binutils list.
202 The definition of obvious is a bit hazy, and if you are not sure, then
203 you should seek approval first.  Obvious fixes include fixes for
204 spelling mistakes, blatantly incorrect code (where the correct code is
205 also blatantly obvious), and so on.  Obvious fixes should always be
206 small, the larger they are, the more likely it is that they contain
207 some un-obvious side effect or consequence.
209 Obvious fixes should not be "legally significant", as defined here:
211   https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant
213      --------  Patches and Copyright  ---------
215 If a patch is non-obvious, its copyright must be considered.  There
216 are two ways to handle this.  The first is to assign the copyright
217 of the FSF.  This ensures that if problems with the authorship of the
218 patch arise, the FSF will be able to deal with them.
220 The list of already assigned copyrights can be obtained from
221 fencepost.gnu.org in the file: /gd/gnuorg/copyright.list. 
223 New copyright assignments can be obtained by completing one of the
224 forms found here and sending it off to the FSF:
226   https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=tree;f=doc/Copyright
228 The alternative is to sign off the contribution by agreeing to the
229 Developer's Certificate of Origin (version 1.1 or later) and adding a
230 line to the end of the contribution that looks something like this:
232   Signed-off-by: Random J Developer <random@developer.example.org>
234 The details of the Developer's Certificate or Origin can be found here:
235        
236   https://developercertificate.org/
238     --------- Branch Checkins ---------
240 If a patch is approved for check in to the mainline sources, it can
241 also be checked into the current release branch.  Normally however
242 only bug fixes should be applied to the branch.  New features, new
243 ports, etc, should be restricted to the mainline.  (Otherwise the
244 burden of maintaining the branch in sync with the mainline becomes too
245 great).  If you are uncertain as to whether a patch is appropriate for
246 the branch, ask the branch maintainer.  This is:
248    (cf global maintainers)
250     -------- Testsuites ---------------
252 In general patches to any of the binutils testsuites should be
253 considered generic and sent to the binutils mailing list for
254 approval.  Patches to target specific tests are the responsibility the
255 relevant port maintainer(s), and can be approved/checked in by them.
256 Other testsuite patches need the approval of a blanket-write-priveleges
257 person.
259     -------- Configure patches ----------
261 Patches to the top level configure files (config.sub & config.guess)
262 are not the domain of the binutils project and they cannot be approved
263 by the binutils group.  Instead they should be submitted to the config
264 maintainer at:
266         config-patches@gnu.org
268     --------- Creating Branches ---------
270 Anyone with at least write-after-approval access may create a branch
271 to use for their own development purposes.  In keeping with FSF
272 policies, all patches applied to such a branch must come from people
273 with appropriate copyright assignments on file.  All legal
274 requirements that would apply to any other contribution apply equally
275 to contributions on a branch.
277 Before creating the branch, you should select a name for the branch of
278 the form:
280   binutils-<org>-<name>
282 where "org" is the initials of your organization, or your own initials
283 if you are acting as an individual.  For example, for a branch created
284 by The GNUDist Company, "tgc" would be an appropriate choice for
285 "org".  It's up to each organization to select an appropriate choice
286 for "name"; some organizations may use more structure than others, so
287 "name" may contain additional hyphens.
289 Suppose that The GNUDist Company was creating a branch to develop a
290 port of Binutils to the FullMonty processor.  Then, an appropriate
291 choice of branch name would be:
293   binutils-tgc-fm
295 A date stamp is not required as part of the name field, but some
296 organizations like to have one.  If you do include the date, you
297 should follow these rules:
299 1. The date should be the date that the branch was created.
301 2. The date should be numerical and in the form YYYYMMDD.
303 For example:
305   binutils-tgc-fm_20050101
307 would be appropriate if the branch was created on January 1st, 2005.
309 Having selected the branch name, create the branch as follows:
311 1. Check out binutils, so that you have a git checkout corresponding
312    to the initial state of your branch.
314 2. Create a tag:
316      git tag binutils-<org>-<name>-branchpoint
318    That tag will allow you, and others, to easily determine what's
319    changed on the branch relative to the initial state.
321 3. Create and push the branch:
323      git checkout -b binutils-<org>-<name>-branch
324      git push origin HEAD
326 4. Document the branch:
328      Add a description of the branch to binutils/BRANCHES, and check
329      that file in.  All branch descriptions should be added to the
330      HEAD revision of the file; it doesn't help to modify
331      binutils/BRANCHES on a branch!
333 Please do not commit any patches to a branch you did not create
334 without the explicit permission of the person who created the branch.
336 Copyright (C) 2012-2024 Free Software Foundation, Inc.
338 Copying and distribution of this file, with or without modification,
339 are permitted in any medium without royalty provided the copyright
340 notice and this notice are preserved.