https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62279
--- Comment #5 from Stanislav Angelovic <stanislav.angelovic at kistler dot com> --- (In reply to Mikhail Maltsev from comment #4) > (In reply to Stanislav Angelovic from comment #3) > > GDB 7.7.1 demangler crashes upon this symbol in our binary: > > > > _ZSt7forwardIKSaINSt6thread5_ImplISt12_Bind_simpleIFZN6WIM_DL5Utils9AsyncTask > > C4IMNS3_8Hardware12FpgaWatchdogEKFvvEIPS8_EEEibOT_DpOT0_EUlvE_vEEEEEESD_RNSt1 > > 6remove_referenceISC_E4typeE > > Whis works fine with binutils 2.25 and gives: > > std::allocator<std::thread::_Impl<std::_Bind_simple<WIM_DL::Utils::AsyncTask: > :AsyncTask<void (WIM_DL::Hardware::FpgaWatchdog::*)() const, > WIM_DL::Hardware::FpgaWatchdog*>(int, bool, void > (WIM_DL::Hardware::FpgaWatchdog::*&&)() const, > WIM_DL::Hardware::FpgaWatchdog*&&)::{lambda()#1} ()> > > const&& > std::forward<std::allocator<std::thread::_Impl<std::_Bind_simple<WIM_DL:: > Utils::AsyncTask::AsyncTask<void (WIM_DL::Hardware::FpgaWatchdog::*)() > const, WIM_DL::Hardware::FpgaWatchdog*>(int, bool, > std::allocator<std::thread::_Impl<std::_Bind_simple<WIM_DL::Utils::AsyncTask: > :AsyncTask<void (WIM_DL::Hardware::FpgaWatchdog::*)() const, > WIM_DL::Hardware::FpgaWatchdog*>(int, bool, void > (WIM_DL::Hardware::FpgaWatchdog::*&&)() const, > WIM_DL::Hardware::FpgaWatchdog*&&)::{lambda()#1} ()> > > const&&, > WIM_DL::Hardware::FpgaWatchdog*&&)::{lambda()#1} ()> > > > const>(std::remove_reference<std::allocator<std::thread::_Impl<std:: > _Bind_simple<WIM_DL::Utils::AsyncTask::AsyncTask<void > (WIM_DL::Hardware::FpgaWatchdog::*)() const, > WIM_DL::Hardware::FpgaWatchdog*>(int, bool, void > (WIM_DL::Hardware::FpgaWatchdog::*&&)() const, > WIM_DL::Hardware::FpgaWatchdog*&&)::{lambda()#1} ()> > > const>::type&) > > Could you try a newer version of GDB? Thanks for the fast response, Mikhail. We use tools shipped with Yocto, so our hands are tied to some extent. But I tried binutils 2.25 and there it works. Thank you!