# HG changeset patch # User "Yann E. MORIN" # Date 1311532252 -7200 # Node ID 2651341cc084a0b6e5858f666c8a851fa6cbfa92 # Parent 4aba7a7337b040bb440f5dda7820845592992cb1 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 -r 4aba7a7337b0 -r 2651341cc084 scripts/build/debug/300-gdb.sh --- a/scripts/build/debug/300-gdb.sh Sun Jul 24 00:24:49 2011 +0200 +++ b/scripts/build/debug/300-gdb.sh Sun Jul 24 20:30:52 2011 +0200 @@ -105,6 +105,7 @@ 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 @@ 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 -r 4aba7a7337b0 -r 2651341cc084 scripts/build/debug/gdbinit.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/build/debug/gdbinit.in Sun Jul 24 20:30:52 2011 +0200 @@ -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