From 9d8035bbaf4c0400dfe4821a50a6398ed051e856 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Thu, 17 May 2012 17:56:27 +0200 Subject: debug/gdb: add option to enable/disable the IPA lib for gdbserver gdbserver >= 7.2 comes with an optional library to use tracepoints, the In Process Agent (IPA) library, libinproctrace.so. Currently, we build gdbserver staticaly, but that breaks the build of the IPA lib. Add an option to biuld the IPA lib, but not if statically linking. Reported-by: Thomas Petazzoni Signed-off-by: "Yann E. MORIN" diff --git a/config/debug/gdb.in.gdbserver b/config/debug/gdb.in.gdbserver index ecc2c4a..50c3b8b 100644 --- a/config/debug/gdb.in.gdbserver +++ b/config/debug/gdb.in.gdbserver @@ -9,6 +9,11 @@ config GDB_GDBSERVER if GDB_GDBSERVER +config GDB_GDBSERVER_HAS_IPA_LIB + bool + depends on GDB_7_2_or_later + default y + config GDB_GDBSERVER_STATIC bool prompt "Build a static gdbserver" @@ -17,6 +22,21 @@ config GDB_GDBSERVER_STATIC In case you have trouble with dynamic loading of shared libraries, you will find that a static gdbserver comes in handy. +config GDB_GDBSERVER_BUILD_IPA_LIB + bool + prompt "Build the IPA library" + depends on GDB_GDBSERVER_HAS_IPA_LIB && !GDB_GDBSERVER_STATIC + help + gdbserver >= 7.2 comes with an optional library to use tracepoints, + the In Process Agent (IPA) library, libinproctrace.so. + + Say 'y' if you indend to use tracepoints when debugging your + programs with gdbserver. + + Note: Currently, building this library is not possible when the + gdbserver is built statically. This is a limitation in + crosstool-NG, so do not bug upstream about it... + endif # GDB_GDBSERVER if BARE_METAL diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh index de258ea..c2f0eab 100644 --- a/scripts/build/debug/300-gdb.sh +++ b/scripts/build/debug/300-gdb.sh @@ -369,6 +369,14 @@ do_debug_gdb_build() { gdbserver_extra_config=("${extra_config[@]}") + if [ "${CT_GDB_GDBSERVER_HAS_IPA_LIB}" = "y" ]; then + if [ "${CT_GDB_GDBSERVER_BUILD_IPA_LIB}" = "y" ]; then + gdbserver_extra_config+=( --enable-inprocess-agent ) + else + gdbserver_extra_config+=( --disable-inprocess-agent ) + fi + fi + CT_DoExecLog CFG \ LDFLAGS="${gdbserver_LDFLAGS}" \ "${gdb_src_dir}/gdb/gdbserver/configure" \ -- cgit v0.10.2-6-g49f6