On mainline/development, also link GDBserver with -lmcheck

Programming / Debugging / GDB - Pedro Alves [redhat.com] - 3 July 2013 08:25 UTC

This factors --enable-libmcheck related bits from GDB's configure.ac and makes GDBserver use them too. Specifically, the 'development' global is moved to a separate script to it can be sourced by both GDB and GDBserver, and the --enable-libmcheck/--disable-libmcheck bits proper are moved to a new m4 file.

I started out by defining 'development' in the m4 file, but in the end decided against it, as a separate script has the advantage that changing it in release branches does not require regenerating configure, unlike today.

I had also started out by making the new GDB_AC_LIBMCHECK itself handle the yes/no default fallback depending on release/developement, but since I had split out 'development' to a separate script, and, GDB needs the python checks anyway (hence we'd need to do the python checks in gdb's configure.ac, and pass in a 'default lmcheck yes/no' parameter to GDB_AC_LIBMCHECK anyway), I ended up keeping GDB_AC_LIBMCHECK isolated from the 'development' global. IOW, it's the caller's business to handle it.

Tested on x86_64 Fedora 17. Built GDB and GDBserver with and without--enable-libmcheck, and observed --enable-libmcheck overrides the disablement of -lmcheck caused by python supporting threads, and that GDBserver links with -lmcheck when expected. Also observed that changing the 'development' global, and issuing "make" triggers a relink, and '-lmcheck' is included or not from the link accordingly.

gdb/ 2013-07-03 Pedro Alves

- Makefile.in (config.status): Depend on development.sh. (aclocal_m4_deps): Add libmcheck.m4.
- acinclude.m4: Include libmcheck.m4.
- configure.ac: Source development.sh instead of setting 'development' here. --enable-libmcheck/--disable-libmcheck code factored out to GDB_AC_LIBMCHECK. Run it.
- development.sh: New file.
- libmcheck.m4: New file.
- configure: Regenerate.

gdb/gdbserver/ 2013-07-03 Pedro Alves

- Makefile.in (config.status): Depend on development.sh.
- acinclude.m4: Include libmcheck.m4.
- configure: Regenerate.

528686b On mainline/development, also link GDBserver with -lmcheck.
gdb/ChangeLog | 12 ++++++++
gdb/Makefile.in | 3 +-
gdb/acinclude.m4 | 3 ++
gdb/configure | 59 +++++++++++++++++++------------------
gdb/configure.ac | 38 ++++++++----------------
gdb/development.sh | 21 +++++++++++++
gdb/gdbserver/ChangeLog | 6 ++++
gdb/gdbserver/Makefile.in | 2 +-
gdb/gdbserver/acinclude.m4 | 3 ++
gdb/gdbserver/configure | 70 ++++++++++++++++++++++++++++++++++++++++++++
gdb/gdbserver/configure.ac | 12 ++++++++
gdb/libmcheck.m4 | 43 +++++++++++++++++++++++++++
12 files changed, 216 insertions(+), 56 deletions(-)

Upstream: sourceware.org


  • Share