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