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