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
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;
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:
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
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
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
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:
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.
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.
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
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.