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@linux.alibaba.com>
81 C-SKY Yunhai Shang <yunhai@linux.alibaba.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 elf64 Jeff Law <law@redhat.com> [Basic maintainance only]
96 IA-64 Jim Wilson <wilson@tuliptree.org>
97 IQ2000 Stan Cox <scox@redhat.com>
98 ix86 H.J. Lu <hjl.tools@gmail.com>
99 ix86 COFF DJ Delorie <dj@redhat.com>
100 ix86 PE/COFF Dave Korn <dave.korn.cygwin@gmail.com>
101 ix86 INTEL MODE Jan Beulich <jbeulich@suse.com>
102 libsframe Indu Bhagat <indu.bhagat@oracle.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 NDS32 Kuan-Lin Chen <kuanlinchentw@gmail.com>
120 NDS32 Wei-Cheng Wang <cole945@gmail.com>
121 NetBSD support Matt Thomas <matt@netbsd.org>
122 Nios II Sandra Loosemore <sandra@codesourcery.com>
123 Nios II Andrew Jenner <andrew@codesourcery.com>
124 OR1K Christian Svensson <blue@cmd.nu>
125 OR1K Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
126 OR1K Stafford Horne <shorne@gmail.com>
127 PPC Geoff Keating <geoffk@geoffk.org>
128 PPC Alan Modra <amodra@gmail.com>
129 PPC Peter Bergner <bergner@vnet.ibm.com>
130 PPC vector ext Aldy Hernandez <aldyh@redhat.com>
131 RISC-V Palmer Dabbelt <palmer@dabbelt.com>
132 RISC-V Andrew Waterman <andrew@sifive.com>
133 RISC-V Jim Wilson <jim.wilson.gcc@gmail.com>
134 RISC-V Nelson Chu <nelson@rivosinc.com>
135 RX Nick Clifton <nickc@redhat.com>
136 S12Z John Darrington <john@darrington.wattle.id.au>
137 s390, s390x Andreas Krebbel <krebbel@linux.ibm.com>
138 SH Alexandre Oliva <aoliva@sourceware.org>
139 SPARC David S. Miller <davem@davemloft.net>
140 SPARC Jose E. Marchesi <jose.marchesi@oracle.com>
141 SPU Alan Modra <amodra@gmail.com>
142 TIC54X Timothy Wall <twall@alum.mit.edu>
143 TIC6X Joseph Myers <joseph@codesourcery.com>
144 TILE-Gx Walter Lee <walt@tilera.com>
145 TILEPro Walter Lee <walt@tilera.com>
146 VAX Matt Thomas <matt@netbsd.org>
147 VAX Jan-Benedict Glaw <jbglaw@lug-owl.de>
148 Visium Eric Botcazou <ebotcazou@libertysurf.fr>
149 VMS Tristan Gingold <tgingold@free.fr>
150 x86_64 Jan Beulich <jbeulich@suse.com>
151 x86_64 Jan Hubicka <jh@suse.cz>
152 x86_64 Andreas Jaeger <aj@suse.de>
153 x86_64 H.J. Lu <hjl.tools@gmail.com>
154 XCOFF Richard Sandiford <r.sandiford@uk.ibm.com>
155 XGATE Sean Keys <skeys@ipdatasys.com>
156 Xtensa Max Filippov <jcmvbkbc@gmail.com>
157 Xtensa Sterling Augustine <augustine.sterling@gmail.com>
158 z8k Christian Groessler <chris@groessler.org>
160 --------- Past Maintainers -------------
162 These folks have acted as maintainers in the past, but have now
163 moved on to other things. Our thanks for all their hard work
177 --------- CGEN Maintainers -------------
179 CGEN is a tool for building, amongst other things, assemblers,
180 disassemblers and simulators from a single description of a CPU.
181 It creates files in several of the binutils directories, but it
182 is mentioned here since there is a single group that maintains
183 CGEN and the files that it creates.
185 If you have CGEN related problems you can send email to;
189 The current CGEN maintainers are:
191 Doug Evans, Frank Eigler
193 --------- Write After Approval ---------
195 Individuals with "write after approval" have the ability to check in
196 changes, but they must get approval for each change from someone in
197 one of the above lists (blanket write or maintainers).
199 [It's a huge list, folks. You know who you are. If you have the
200 *ability* to do binutils checkins, you're in this group. Just
201 remember to get approval before checking anything in.]
203 ------------- Obvious Fixes -------------
205 Fixes for obvious mistakes do not need approval, and can be checked in
206 right away, but the patch should still be sent to the binutils list.
207 The definition of obvious is a bit hazy, and if you are not sure, then
208 you should seek approval first. Obvious fixes include fixes for
209 spelling mistakes, blatantly incorrect code (where the correct code is
210 also blatantly obvious), and so on. Obvious fixes should always be
211 small, the larger they are, the more likely it is that they contain
212 some un-obvious side effect or consequence.
214 Obvious fixes should not be "legally significant", as defined here:
216 https://www.gnu.org/prep/maintain/maintain.html#Legally-Significant
218 -------- Patches and Copyright ---------
220 If a patch is non-obvious, its copyright must be considered. There
221 are two ways to handle this. The first is to assign the copyright
222 of the FSF. This ensures that if problems with the authorship of the
223 patch arise, the FSF will be able to deal with them.
225 The list of already assigned copyrights can be obtained from
226 fencepost.gnu.org in the file: /gd/gnuorg/copyright.list.
228 New copyright assignments can be obtained by completing one of the
229 forms found here and sending it off to the FSF:
231 https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=tree;f=doc/Copyright
233 The alternative is to sign off the contribution by agreeing to the
234 Developer's Certificate of Origin (version 1.1 or later) and adding a
235 line to the end of the contribution that looks something like this:
237 Signed-off-by: Random J Developer <random@developer.example.org>
239 The details of the Developer's Certificate or Origin can be found here:
241 https://developercertificate.org/
243 --------- Branch Checkins ---------
245 If a patch is approved for check in to the mainline sources, it can
246 also be checked into the current release branch. Normally however
247 only bug fixes should be applied to the branch. New features, new
248 ports, etc, should be restricted to the mainline. (Otherwise the
249 burden of maintaining the branch in sync with the mainline becomes too
250 great). If you are uncertain as to whether a patch is appropriate for
251 the branch, ask the branch maintainer. This is:
253 (cf global maintainers)
255 -------- Testsuites ---------------
257 In general patches to any of the binutils testsuites should be
258 considered generic and sent to the binutils mailing list for
259 approval. Patches to target specific tests are the responsibility the
260 relevant port maintainer(s), and can be approved/checked in by them.
261 Other testsuite patches need the approval of a blanket-write-priveleges
264 -------- Configure patches ----------
266 Patches to the top level configure files (config.sub & config.guess)
267 are not the domain of the binutils project and they cannot be approved
268 by the binutils group. Instead they should be submitted to the config
271 config-patches@gnu.org
273 --------- Creating Branches ---------
275 Anyone with at least write-after-approval access may create a branch
276 to use for their own development purposes. In keeping with FSF
277 policies, all patches applied to such a branch must come from people
278 with appropriate copyright assignments on file. All legal
279 requirements that would apply to any other contribution apply equally
280 to contributions on a branch.
282 Before creating the branch, you should select a name for the branch of
285 binutils-<org>-<name>
287 where "org" is the initials of your organization, or your own initials
288 if you are acting as an individual. For example, for a branch created
289 by The GNUDist Company, "tgc" would be an appropriate choice for
290 "org". It's up to each organization to select an appropriate choice
291 for "name"; some organizations may use more structure than others, so
292 "name" may contain additional hyphens.
294 Suppose that The GNUDist Company was creating a branch to develop a
295 port of Binutils to the FullMonty processor. Then, an appropriate
296 choice of branch name would be:
300 A date stamp is not required as part of the name field, but some
301 organizations like to have one. If you do include the date, you
302 should follow these rules:
304 1. The date should be the date that the branch was created.
306 2. The date should be numerical and in the form YYYYMMDD.
310 binutils-tgc-fm_20050101
312 would be appropriate if the branch was created on January 1st, 2005.
314 Having selected the branch name, create the branch as follows:
316 1. Check out binutils, so that you have a git checkout corresponding
317 to the initial state of your branch.
321 git tag binutils-<org>-<name>-branchpoint
323 That tag will allow you, and others, to easily determine what's
324 changed on the branch relative to the initial state.
326 3. Create and push the branch:
328 git checkout -b binutils-<org>-<name>-branch
331 4. Document the branch:
333 Add a description of the branch to binutils/BRANCHES, and check
334 that file in. All branch descriptions should be added to the
335 HEAD revision of the file; it doesn't help to modify
336 binutils/BRANCHES on a branch!
338 Please do not commit any patches to a branch you did not create
339 without the explicit permission of the person who created the branch.
341 Copyright (C) 2012-2023 Free Software Foundation, Inc.
343 Copying and distribution of this file, with or without modification,
344 are permitted in any medium without royalty provided the copyright
345 notice and this notice are preserved.