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 <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
This commit is contained in:
Yann E. MORIN" 2012-05-17 17:56:27 +02:00
parent 435c096e00
commit 9d8035bbaf
2 changed files with 28 additions and 0 deletions

View File

@ -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

View File

@ -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" \