blob: 32d58b47fededef6e94320fac0ab27701e1a8052 [file] [log] [blame]
GDB Maintainers
This file describes different groups of people who are, together, the
maintainers and developers of the GDB project. Don't worry - it sounds
more complicated than it really is.
There are four groups of GDB developers, covering the patch development and
review process:
- The Global Maintainers.
These are the developers in charge of most daily development. They
have wide authority to apply and reject patches, but defer to the
Responsible Maintainers (see below) within their spheres of
- The Responsible Maintainers.
These are developers who have expertise and interest in a particular
area of GDB, who are generally available to review patches, and who
prefer to enforce a single vision within their areas.
- The Authorized Committers.
These are developers who are trusted to make changes within a specific
area of GDB without additional oversight.
- The Write After Approval Maintainers.
These are developers who have write access to the GDB source tree. They
can check in their own changes once a developer with the appropriate
authority has approved the changes; they can also apply the Obvious
Fix Rule (below).
All maintainers are encouraged to post major patches to the gdb-patches
mailing list for comments, even if they have the authority to commit the
patch without review from another maintainer. This especially includes
patches which change internal interfaces (e.g. global functions, data
structures) or external interfaces (e.g. user, remote, MI, et cetera).
The term "review" is used in this file to describe several kinds of feedback
from a maintainer: approval, rejection, and requests for changes or
clarification with the intention of approving a revised version. Review is
a privilege and/or responsibility of various positions among the GDB
Maintainers. Of course, anyone - whether they hold a position but not the
relevant one for a particular patch, or are just following along on the
mailing lists for fun, or anything in between - may suggest changes or
ask questions about a patch!
There's also a couple of other people who play special roles in the GDB
community, separately from the patch process:
- The Official FSF-appointed GDB Maintainers.
These maintainers are the ones who take the overall responsibility
for GDB, as a package of the GNU project. Other GDB contributors
work under the official maintainers' supervision. They have final
and overriding authority for all GDB-related decisions, including
anything described in this file. As individuals, they may or not
be generally involved in day-to-day development.
- The Release Manager.
This developer is in charge of making new releases of GDB.
- The Patch Champions.
These volunteers make sure that no contribution is overlooked or
Most changes to the list of maintainers in this file are handled by
consensus among the global maintainers and any other involved parties.
In cases where consensus can not be reached, the global maintainers may
ask the official FSF-appointed GDB maintainers for a final decision.
The Obvious Fix Rule
All maintainers listed in this file, including the Write After Approval
developers, are allowed to check in obvious fixes.
An "obvious fix" means that there is no possibility that anyone will
disagree with the change.
A good mental test is "will the person who hates my work the most be
able to find fault with the change" - if so, then it's not obvious and
needs to be posted first. :-)
Something like changing or bypassing an interface is _not_ an obvious
fix, since such a change without discussion will result in
instantaneous and loud complaints.
For documentation changes, about the only kind of fix that is obvious
is correction of a typo or bad English usage.
The Official FSF-appointed GDB Maintainers
These maintainers as a group have final authority for all GDB-related
topics; they may make whatever changes that they deem necessary, or
that the FSF requests.
The current official FSF-appointed GDB maintainers are listed below,
in alphabetical order. Their affiliations are provided for reference
only - their maintainership status is individual and not through their
affiliation, and they act on behalf of the GNU project.
Pedro Alves
Joel Brobecker (AdaCore)
Doug Evans (Google)
Eli Zaretskii
Global Maintainers
The global maintainers may review and commit any change to GDB, except in
areas with a Responsible Maintainer available. For major changes, or
changes to areas with other active developers, global maintainers are
strongly encouraged to post their own patches for feedback before
The global maintainers are responsible for reviewing patches to any area
for which no Responsible Maintainer is listed.
Global maintainers also have the authority to revert patches which should
not have been applied, e.g. patches which were not approved, controversial
patches committed under the Obvious Fix Rule, patches with important bugs
that can't be immediately fixed, or patches which go against an accepted and
documented roadmap for GDB development. Any global maintainer may request
the reversion of a patch. If no global maintainer, or responsible
maintainer in the affected areas, supports the patch (except for the
maintainer who originally committed it), then after 48 hours the maintainer
who called for the reversion may revert the patch.
No one may reapply a reverted patch without the agreement of the maintainer
who reverted it, or bringing the issue to the official FSF-appointed
GDB maintainers for discussion.
At the moment there are no documented roadmaps for GDB development; in the
future, if there are, a reference to the list will be included here.
The current global maintainers are (in alphabetical order):
Pedro Alves
Joel Brobecker
Kevin Buettner
Andrew Burgess
Doug Evans
Simon Marchi
Yao Qi
Tom Tromey
Tom de Vries
Ulrich Weigand
Eli Zaretskii
Release Manager
The current release manager is: Joel Brobecker <>
His responsibilities are:
* organizing, scheduling, and managing releases of GDB.
* deciding the approval and commit policies for release branches,
and can change them as needed.
Patch Champions
These volunteers track all patches submitted to the gdb-patches list. They
endeavor to prevent any posted patch from being overlooked; work with
contributors to meet GDB's coding style and general requirements, along with
FSF copyright assignments; remind (ping) responsible maintainers to review
patches; and ensure that contributors are given credit.
Current patch champions (in alphabetical order):
Responsible Maintainers
These developers have agreed to review patches in specific areas of GDB, in
which they have knowledge and experience. These areas are generally broad;
the role of a responsible maintainer is to provide coherent and cohesive
structure within their area of GDB, to assure that patches from many
different contributors all work together for the best results.
Global maintainers will defer to responsible maintainers within their areas,
as long as the responsible maintainer is active. Active means that
responsible maintainers agree to review submitted patches in their area
promptly; patches and followups should generally be answered within a week.
If a responsible maintainer is interested in reviewing a patch but will not
have time within a week of posting, the maintainer should send an
acknowledgement of the patch to the gdb-patches mailing list, and
plan to follow up with a review within a month. These deadlines are for
initial responses to a patch - if the maintainer has suggestions
or questions, it may take an extended discussion before the patch
is ready to commit. There are no written requirements for discussion,
but maintainers are asked to be responsive.
If a responsible maintainer misses these deadlines occasionally (e.g.
vacation or unexpected workload), it's not a disaster - any global
maintainer may step in to review the patch. But sometimes life intervenes
more permanently, and a maintainer may no longer have time for these duties.
When this happens, he or she should step down (either into the Authorized
Committers section if still interested in the area, or simply removed from
the list of Responsible Maintainers if not).
If a responsible maintainer is unresponsive for an extended period of time
without stepping down, please contact the Global Maintainers; they will try
to contact the maintainer directly and fix the problem - potentially by
removing that maintainer from their listed position.
If there are several maintainers for a given domain then any one of them
may review a submitted patch.
Target Instruction Set Architectures:
The *-tdep.c files. ISA (Instruction Set Architecture) and OS-ABI
(Operating System / Application Binary Interface) issues including CPU
The Target/Architecture maintainer works with the host maintainer when
resolving build issues. The Target/Architecture maintainer works with
the native maintainer when resolving ABI issues.
aarch64 --target=aarch64-elf ,-Werror
Alan Hayward
Luis Machado
alpha --target=alpha-elf ,-Werror
arc --target=arc-elf
Shahab Vahedi
arm --target=arm-elf ,-Werror
Alan Hayward
Luis Machado
avr --target=avr ,-Werror
bpf --target=bpf-unknown-none
Jose E. Marchesi
cris --target=cris-elf ,-Werror ,
(sim does not build with -Werror)
frv --target=frv-elf ,-Werror
h8300 --target=h8300-elf ,-Werror
i386 --target=i386-elf ,-Werror
ia64 --target=ia64-linux-gnu ,-Werror
(--target=ia64-elf broken)
lm32 --target=lm32-elf ,-Werror
m32c --target=m32c-elf ,-Werror
m32r --target=m32r-elf ,-Werror
m68hc11 --target=m68hc11-elf ,-Werror ,
m68k --target=m68k-elf ,-Werror
mcore Deleted
mep --target=mep-elf ,-Werror
Kevin Buettner
microblaze --target=microblaze-xilinx-elf ,-Werror
--target=microblaze-linux-gnu ,-Werror
Michael Eager
mips I-IV --target=mips-elf ,-Werror
Maciej W. Rozycki
mn10300 --target=mn10300-elf broken
(sim/ dies with make -j)
moxie --target=moxie-elf ,-Werror
Anthony Green
ms1 Deleted
nios2 --target=nios2-elf ,-Werror
--target=nios2-linux-gnu ,-Werror
Yao Qi
ns32k Deleted
or1k --target=or1k-elf ,-Werror
Stafford Horne
pa --target=hppa-elf ,-Werror
powerpc --target=powerpc-eabi ,-Werror
riscv --target=riscv32-elf ,-Werror
--target=riscv64-elf ,-Werror
Andrew Burgess
Palmer Dabbelt
rl78 --target=rl78-elf ,-Werror
rx --target=rx-elf ,-Werror
s390 --target=s390-linux-gnu ,-Werror
Andreas Arnez
score --target=score-elf
sh --target=sh-elf ,-Werror
sparc --target=sparcv9-solaris2.11 ,-Werror
(--target=sparc-elf broken)
tic6x --target=tic6x-elf ,-Werror
Yao Qi
v850 --target=v850-elf ,-Werror
vax --target=vax-netbsd ,-Werror
x86-64 --target=x86_64-linux-gnu ,-Werror
xstormy16 --target=xstormy16-elf
xtensa --target=xtensa-elf
All developers recognized by this file can make arbitrary changes to
OBSOLETE targets.
The Bourne shell script can be used to rebuild all the
above targets.
The Native maintainer is responsible for target specific native
support - typically shared libraries and quirks to procfs/ptrace/...
The Native maintainer works with the Arch and Core maintainers when
resolving more generic problems.
The host maintainer ensures that gdb can be built as a cross debugger on
their platform.
Darwin Tristan Gingold
djgpp native Eli Zaretskii
FreeBSD John Baldwin
GNU/Linux m68k Andreas Schwab
Solaris Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Core: Generic components used by all of GDB
linespec Keith Seitz
language support
Ada Joel Brobecker
D Iain Buclaw
Rust Tom Tromey
shared libs Kevin Buettner
MI interface Vladimir Prus
documentation Eli Zaretskii
(including NEWS)
gdbtk (gdb.gdbtk) Keith Seitz
SystemTap Sergio Durigan Junior
Reverse debugging / Record and Replay / Tracing:
record btrace Markus T. Metzger
UI: External (user) interfaces.
gdbtk (c & tcl) Fernando Nasser
Keith Seitz
libgui (w/foundry, sn) Keith Seitz
gdb/gdbserver Daniel Jacobowitz, configure* ALL
mmalloc/ ALL Host maintainers
sim/ See sim/MAINTAINERS
readline/ Master version:
Host maintainers (host dependant parts)
(but get your changes into the master version)
tcl/ tk/ itcl/ ALL
contrib/ari Pierre Muller
Authorized Committers
These are developers working on particular areas of GDB, who are trusted to
commit their own (or other developers') patches in those areas without
further review from a Global Maintainer or Responsible Maintainer. They are
under no obligation to review posted patches - but, of course, are invited
to do so!
ARM Richard Earnshaw
Blackfin Mike Frysinger
CRIS Hans-Peter Nilsson
IA64 Jeff Johnston
MIPS Joel Brobecker
PowerPC Kevin Buettner
S390 Ulrich Weigand
djgpp DJ Delorie
[Please use this address to contact DJ about DJGPP]
ia64 Kevin Buettner
AIX Kevin Buettner
GNU/Linux PPC native Kevin Buettner
Pascal support Pierre Muller
Write After Approval
To get recommended for the Write After Approval list you need a valid
FSF assignment and have submitted one good patch.
Tankut Baris Aktemur
Mihails Strasuns
David Anderson
John David Anglin
Andreas Arnez
Shrinivas Atre
Sterling Augustine
John Baldwin
Scott Bambrough
Marco Barisione
Thiago Jung Bauermann
Jon Beniston
Gary Benson
Gabriel Krisman Bertazi
Jan Beulich
Christian Biesinger
Anton Blanchard
Jim Blandy
David Blaikie
Philip Blundell
Eric Botcazou
Per Bothner
Don Breazeal
Joel Brobecker
Dave Brolley
Samuel Bronson
Paul Brook
Julian Brown
Iain Buclaw
Kevin Buettner
Andrew Burgess
David Carlton
Stephane Carrez
Michael Chastain
Renquan Cheng
Eric Christopher
Randolph Chung
Nick Clifton
J.T. Conklin
Brendan Conoboy
Ludovic Courtès
Tiago Stürmer Daitx
Sanjoy Das
Jean-Charles Delay
DJ Delorie
Chris Demetriou
Philippe De Muyter
Dhananjay Deshpande
Markus Deuling
Klee Dienes
Hannes Domani
Gabriel Dos Reis
Sergio Durigan Junior
Michael Eager
Richard Earnshaw
Bernd Edlinger
Steve Ellcey
Frank Ch. Eigler
Ben Elliston
Doug Evans
Adam Fedor
Max Filippov
Brian Ford
Matthew Fortune
Pedro Franco de Carvalho
Orjan Friberg
Andreas From
Nathan Froyd
Mike Frysinger
Gary Funck
Martin Galvan
Chen Gang
Mircea Gherzan
Paul Gilliam
Tristan Gingold
Anton Gorenkov
Raoul Gough
Anthony Green
Matthew Green
Matthew Gretton-Dann
Maxim Grigoriev
Jerome Guitton
Alexandra Hájková
Ben Harris
Alan Hayward
Bernhard Heckel
Richard Henderson
Aldy Hernandez
Paul Hilfinger
Matt Hiller
Kazu Hirata
James Hogan
Jeff Holcomb
Stafford Horne
Magne Hov
Don Howard
Nick Hudson
Martin Hunt
Meador Inge
Jim Ingham
Baurzhan Ismagulov
Manoj Iyer
Daniel Jacobowitz
Andreas Jaeger
Janis Johnson
Jeff Johnston
Ruslan Kabatsayev
Geoff Keating
Mark Kettenis
Marc Khouzam
Toshihito Kikuchi
Jim Kingdon
Anton Kolesov
Paul Koning
Marcin Kościelnicki
Jan Kratochvil
Maxim Kuvyrkov
Pierre Langlois
Jonathan Larmour
Jeff Law
Justin Lebar
David Lecomber
Don Lee
Yan-Ting Lin
Robert Lipe
Lei Liu
Sandra Loosemore
Carl Love
H.J. Lu
Michal Ludvig
Edjunior B. Machado
Luis Machado
Jose E. Marchesi
Glen McCready
Greg McGary
Roland McGrath
Bryce McKinlay
Jason Merrill
Markus T. Metzger
David S. Miller
Mark Mitchell
Marko Mlinar
Alan Modra
Fawzi Mohamed
Jason Molenda
Chris Moller
Phil Muldoon
Pierre Muller
Gaius Mulley
Masaki Muranaka
Joseph Myers
Fernando Nasser
Adam Nemet
Will Newton
Nathanael Nerode
Hans-Peter Nilsson
David O'Brien
Alexandre Oliva
Rainer Orth
Karen Osmond
Pawandeep Oza
Patrick Palka
Weimin Pan
Denis Pilat
Andrew Pinski
Kevin Pouget
Paul Pluzhnikov
Marek Polacek
Siddhesh Poyarekar
Vladimir Prus
Yao Qi
Ramana Radhakrishnan
Siva Chandra Reddy
Matt Rice
Frederic Riss
Aleksandar Ristovski
Tom Rix
Nick Roberts
Pierre-Marie de Rodat
Xavier Roirand
Bob Rossi
Theodore A. Roth
Ian Roxborough
Maciej W. Rozycki
Kamil Rytarowski
Grace Sainsbury
Kei Sakamoto
Mark Salter
Richard Sandiford
Iain Sandoe
Peter Schauer
Will Schmidt
Andreas Schwab
Thomas Schwinge
Keith Seitz
Carlos Eduardo Seo
Ozkan Sezer
Alok Kumar Sharma
Marcus Shawcroft
Stan Shebs
Joel Sherrill
Mark Shinwell
Craig Silverstein
Lancelot Six
Aidan Skinner
Jiri Smid
Andrey Smirnov
David Smith
Stephen P. Smith
Jackie Smith Cashion
Petr Sorfa
Andrew Stubbs
Emi Suzuki
Alfred M. Szmidt
Ali Tamur
David Taylor
Ian Lance Taylor
Walfred Tedeschi
Petr Tesarik
Samuel Thibault
Gary Thomas
Jason Thorpe
Caroline Tice
Kai Tietz
Andreas Tobler
Jon Turney
David Ung
Shahab Vahedi
D Venkatasubramanian
Corinna Vinschen
Jan Vrany
Sami Wagiaalla
Keith Walker
Ricard Wanderlof
Jiong Wang
Wei-cheng Wang
Kris Warkentin
Philippe Waroquiers
Ulrich Weigand
Ken Werner
Tim Wiederhake
Mark Wielaard
Felix Willgerodt
Nathan Williams
Bob Wilson
Jim Wilson
Andy Wingo
Mike Wrighton
Kwok Cheung Yeung
Elena Zannoni
Eli Zaretskii
Jie Zhang
Wu Zhou
Yoshinori Sato
Hui Zhu
Khoo Yit Phang
Rogerio Alves
Past Maintainers
Whenever removing yourself, or someone else, from this file, consider
listing their areas of development here for posterity.
Jimmy Guo (gdb.hp, tui) guo at cup dot hp dot com
Jeff Law (hppa) law at cygnus dot com
Daniel Berlin (C++ support) dan at cgsoftware dot com
Nick Duffek (powerpc, SCO, Sol/x86) nick at duffek dot com
David Taylor (d10v, sparc, utils, defs,
expression evaluator, language support) taylor at candd dot org
J.T. Conklin (dcache, NetBSD, remote, global) jtc at acorntoolworks dot com
Frank Ch. Eigler (sim) fche at redhat dot com
Per Bothner (Java) per at bothner dot com
Anthony Green (Java) green at redhat dot com
Fernando Nasser (testsuite/, mi, cli, KOD) fnasser at redhat dot com
Mark Salter (testsuite/lib+config) msalter at redhat dot com
Jim Kingdon (web pages) kingdon at panix dot com
Jim Ingham (gdbtk, libgui) jingham at apple dot com
Mark Kettenis (global, i386-elf, m88k-openbsd,
GNU/Linux x86, FreeBSD, hurd native, threads) kettenis at gnu dot org
Ian Roxborough (in-tree tcl, tk, itcl) irox at redhat dot com
Robert Lipe (SCO/Unixware) rjl at sco dot com
Peter Schauer (global, AIX, xcoffsolib,
Solaris/x86) Peter.Schauer at mytum dot de
Scott Bambrough (ARM) scottb at netwinder dot org
Philippe De Muyter (coff) phdm at macqel dot be
Michael Chastain (testsuite) mec.gnu at mindspring dot com
Fred Fish (global)
Jim Blandy (global)
Michael Snyder (global)
Christopher Faylor (MS Windows, host & native)
Daniel Jacobowitz (global, GNU/Linux MIPS,
C++, GDBserver) drow at false dot org
Maxim Grigoriev (xtensa) maxim2405 at gmail dot com
Andrew Cagney (acting head maintainer,
release manager, global, MIPS, PPC, d10v,
d30v, sim, mi, multi-arch, unwinder) cagney at gnu dot org
Paul Hilfinger (Ada)
David O'Brien (FreeBSD, host & native)
Jason Thorpe (NetBSD, host & native)
Gaius Mulley (Modula-2)
Kei Sakamoto (m32r)
Orjan Friberg (CRIS)
Qinwei (score-elf)
Randolph Chung (HPPA)
Elena Zannoni (Global, event loop, generic
symtabs, DWARF readers, ELF readers, stabs
readers, readline)
Adam Fedor (Objective C)
Corinna Vinschen (xstormy16-elf)
Theodore A. Roth (avr)
Stephane Carrez (m68hc11-elf, tui)
Alfred M. Szmidt (GNU Hurd)
Stan Shebs (Global)
Folks that have been caught up in a paper trail:
David Carlton
;; Local Variables:
;; coding: utf-8
;; End: