From 82ba904b905f1491d71f49cdea5d892bb0a46027 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 24 Jul 2011 20:30:52 +0200 Subject: debug/gdb: install gdbinit sample file gdb needs to know where to find the libstdc++ helper python script to do, well, whatever it has to do with it... We can't install that in the user's ~/.gdbinit, it's too complex to handle all the cases. Moreover, if the user is using more than one toolchain, we can't put all that stuff in there... Just provide a sample config file the user can adapt to his/her own needs. Thanks go to Khem RAJ for providing such a hint: http://sourceware.org/ml/crossgcc/2011-07/msg00026.html Reported-by: ANDY KENNEDY CC: Khem Raj Signed-off-by: "Yann E. MORIN" diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh index 6f93cdd..66bd7b6 100644 --- a/scripts/build/debug/300-gdb.sh +++ b/scripts/build/debug/300-gdb.sh @@ -105,6 +105,7 @@ do_debug_gdb_build() { if [ "${CT_GDB_CROSS}" = "y" ]; then local -a cross_extra_config + local gcc_version CT_DoStep INFO "Installing cross-gdb" CT_DoLog EXTRA "Configuring cross-gdb" @@ -149,6 +150,21 @@ do_debug_gdb_build() { CT_DoLog EXTRA "Installing cross-gdb" CT_DoExecLog ALL make install + CT_DoLog EXTRA "Install '.gdbinit' template" + # See in scripts/build/internals.sh for why we do this + if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then + gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ) + else + gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ + "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \ + ) + fi + ${sed} -r \ + -e "s:@@PREFIX@@:${CT_PREFIX_DIR}:;" \ + -e "s:@@VERSION@@:${gcc_version}:;" \ + "${CT_LIB_DIR}/scripts/build/debug/gdbinit.in" \ + >"${CT_PREFIX_DIR}/share/gdb/gdbinit" + CT_EndStep fi diff --git a/scripts/build/debug/gdbinit.in b/scripts/build/debug/gdbinit.in new file mode 100644 index 0000000..3950099 --- /dev/null +++ b/scripts/build/debug/gdbinit.in @@ -0,0 +1,6 @@ +python +import sys +sys.path.insert(0, '@@PREFIX@@/share/gcc-@@VERSION@@/python') +from libstdcxx.v6.printers import register_libstdcxx_printers +register_libstdcxx_printers (None) +end -- cgit v0.10.2-6-g49f6