List of requirements for patches

The file <gdb-src>/gdb/CONTRIBUTE contains instructions on what is expected from patches submitted to GDB. Please read through that document, and pay special attention to the Coding Standard and ChangeLog requirements.

GDB Internals documentation

GDB has an official Internals Manual (see the documentation page). It is a good reference guide for GDB, but some parts are incomplete or outdated.

Jeremy Bennett wrote Howto: Porting the GNU Debugger, which is a good source of information as well. It is primarily aimed at engineers who will port GDB to a new target for the first time, but contains an overview of GDB Internals that is of general interest.

Creating ChangeLog entries

Editing configure.ac

After editing gdb/configure.ac, you need to regenerate gdb/configure, gdb/config.in and gdb/aclocal.m4:

$ pwd
/path/to/src/gdb
$ aclocal -I gnulib/m4
$ autoconf
$ autoheader

Please note:

Patch Tracker

gdb has a patch tracker. Read here for instructions on how to use it.

Debugging gdbserver on Linux

GDB has issues with breakpoints set in gdbserver. Ulrich Weigand has a tip to make it work:

Gdbserver uses a direct call to the Linux "clone" system call at startup,
and for some reason GDB gets really confused by this.

When I want to debug gdbserver, I generally simply comment out the call
to linux_test_for_tracefork in linux-nat.c:initialize_low to avoid this.

Writing testcases

When adding a feature or fixing a bug which is not covered by the testsuite, you should write a new testcase or extend an existing one.

Here are some tips for writing a testcase:

None: DeveloperTips (last edited 2009-07-20 00:42:33 by ThiagoBauermann)

All content (C) 2008 Free Software Foundation. For terms of use, redistribution, and modification, please see the WikiLicense page.