From c56b58b4b71a5fd87d6d3d61e08a627c968acda1 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Wed, 14 Mar 2012 23:49:57 +0100 Subject: debug: provide an option to copy the gdbserver to the target When an external toolchain is used, it is very likely that it contains a pre-built version of a gdbserver that has the same version as the cross-gdb included in the external toolchain. So, we now provide an option that allows to copy this pre-built gdbserver to the target. As the location of the gdbserver in the external toolchain is not standardized, we only support the CodeSourcery and Crosstool-NG layouts for the moment. Other locations can be added later. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- toolchain/toolchain-external/ext-tool.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'toolchain/toolchain-external') diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk index dbd39b068..31ba50f97 100644 --- a/toolchain/toolchain-external/ext-tool.mk +++ b/toolchain/toolchain-external/ext-tool.mk @@ -375,6 +375,20 @@ $(STAMP_DIR)/ext-toolchain-installed: $(STAMP_DIR)/ext-toolchain-checked if [ -L $${ARCH_SYSROOT_DIR}/lib64 ] ; then \ $(call create_lib64_symlinks) ; \ fi ; \ + if test x"$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY)" == x"y"; then \ + gdbserver_found=0 ; \ + for d in $${ARCH_SYSROOT_DIR} $${ARCH_SYSROOT_DIR}/../debug-root/ ; do \ + if test -f $${d}/usr/bin/gdbserver ; then \ + install -m 0755 -D $${d}/usr/bin/gdbserver $(TARGET_DIR)/usr/bin/gdbserver ; \ + gdbserver_found=1 ; \ + break ; \ + fi ; \ + done ; \ + if [ $${gdbserver_found} -eq 0 ] ; then \ + echo "Could not find gdbserver in external toolchain" ; \ + exit 1 ; \ + fi ; \ + fi ; \ touch $@ # Build toolchain wrapper for preprocessor, C and C++ compiler, and setup -- cgit v1.2.3-55-g7522