config BR2_TOOLCHAIN_BUILDROOT
        bool "Buildroot toolchain"
        select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
 
 config BR2_TOOLCHAIN_EXTERNAL
        bool "External toolchain"
 config BR2_TOOLCHAIN_CTNG
        bool "Crosstool-NG toolchain"
        select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
        help
          Say 'y' if you want to generate the toolchain with crosstool-NG
          ( http://ymorin.is-a-geek.org/projects/crosstool )
 
                bool "gdb 7.0.1"
                depends on !BR2_bfin
                depends on BR2_DEPRECATED
-               select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE
+               depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+               select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
 
        config BR2_GDB_VERSION_7_1
                bool "gdb 7.1"
                depends on !BR2_bfin
-               select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE
+               depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+               select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
 
        config BR2_GDB_VERSION_7_2
                bool "gdb 7.2.x"
                depends on !BR2_bfin
-               select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE
+               depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+               select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
 
        config BR2_GDB_VERSION_7_3
                bool "gdb 7.3.x"
                depends on !BR2_bfin
-               select BR2_PTHREAD_DEBUG if !BR2_PTHREADS_NONE
+               depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+               select BR2_PTHREAD_DEBUG if (BR2_TOOLCHAIN_BUILDROOT && !BR2_PTHREADS_NONE)
 
 endchoice
 
+comment "gdb 7.x support needs pthread debug support in toolchain"
+       depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_PACKAGE_GDB_HOST
+       depends on !BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+
 config BR2_GDB_VERSION
        string
        default "6.6a"     if BR2_GDB_VERSION_6_6
 
        $(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_INET_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
        $(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\
        $(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
-       $(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support)
+       $(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\
+       $(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support)
 
 #
 # Check that the Buildroot configuration of the ABI matches the
 
 config BR2_TOOLCHAIN_HAS_THREADS
        bool
 
+config BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+       bool
+
+config BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
+       default y if !BR2_TOOLCHAIN_HAS_THREADS
+       bool
+
 config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
        bool
 
 
        select BR2_INET_RPC
        select BR2_USE_WCHAR
        select BR2_TOOLCHAIN_HAS_THREADS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
        select BR2_INSTALL_LIBSTDCPP
        help
          Sourcery CodeBench toolchain for the SuperH architecture,
        select BR2_INET_RPC
        select BR2_USE_WCHAR
        select BR2_TOOLCHAIN_HAS_THREADS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
        select BR2_INSTALL_LIBSTDCPP
        help
          Sourcery CodeBench toolchain for the SuperH architecture,
        select BR2_INET_RPC
        select BR2_USE_WCHAR
        select BR2_TOOLCHAIN_HAS_THREADS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
        help
          Toolchain for the Blackfin architecture, from
          http://blackfin.uclinux.org.
        select BR2_USE_WCHAR
        select BR2_ENABLE_LOCALE
        select BR2_TOOLCHAIN_HAS_THREADS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
        select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
 
 config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
          support. If you don't know, leave the default value,
          Buildroot will tell you if it's correct or not.
 
+config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
+       bool "Toolchain has threads debugging support?"
+       depends on BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
+       select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+       default y
+       help
+         Select this option if your external toolchain has thread
+         debugging support. If you don't know, leave the default
+         value, Buildroot will tell you if it's correct or not.
+
 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
 
 config BR2_TOOLCHAIN_EXTERNAL_CXX