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