GDB Testing

This page is a test plan for Linaro GDB, and includes such things as the environment tested under, systems tested, and test steps


To properly test GDB, the test system must have the following:

Core dumps turned on:

  • CONFIG_ELF_CORE=y in the kernel

  • ulimit -c unlimited in the environment.

These are tracked through the kernel configurations at:

and build script:

Hardware watchpoints turned off on ARM:

  • set_board_info gdb,no_hardware_watchpoints 1

which is set through the board file:

and enabled by:

ifeq ($(MACHINE),armv7l)
RUNTESTFLAGS = --target_board=arm-gdbnative

ptrace/gdb attach allowed on Ubuntu Maverick or later hosts:

  • kernel.yama.ptrace_scope = 0

which is set through the sysctl.d file:

The particulars of the host is recorded in the host log of each run such as:


Some of the fixes are done in GCC. To test this, the test suite runs in the following combinations:

  • Host CC (currently the Ubuntu Maverick 4.4.4-14ubuntu5 or similar)
  • The latest Linaro GCC 4.5 release

GDB is always built using the latest Linaro GCC release. The testsuite compiler is set explicitly using RUNTESTFLAGS="$(RUNTESTFLAGS) CC_FOR_TARGET=gcc-4.4 CXX_FOR_TARGET=g++-4.4" in


GDB is configured to match the default Ubuntu configuration:

        --prefix=$(TOP)/$(LBUILD)/install \
        --with-system-readline \
        --enable-tui \
        --with-expat \
        --with-python \

The particular configuration used is recorded at the top of each configure run file such as:


GDB is tested at each release using the GDB testsuite. Each run runs in single-threaded mode to make the test results easier to compare.

The host CC results are stored in version/logs/host/gdb-maverick-testsuite.txt such as

The Linaro GCC results are stored in version/logs/host/gdb-testsuite.txt such as

The particular compiler used is recorded at the top of each test run file.

WorkingGroups/ToolChain/GDB/Testing (last modified 2012-12-04 23:15:13)