Segmentation fault в c++filt

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Во время недавнего анализа совместимости ROSA 2012 Marathon с обновлениями из RP1, встретили неожиданную проблему — входящая в binutils утилитаc++filt[1] падала с ошибкой сегментации на достаточно больших объемах данных.

Видимо, за долгие годы существования утилиты никто еще не заставлял ее переваривать десятки тысяч имен за один раз:)

Впрочем, проблема была тривиальная (хотя это можно сказать о многих ошибках, приводящих к проблемам в работе с памятью в программах на C) и разработчики binutils выдали исправление уже через несколько часов после заведения бага.

Теперь c++filt вполне успешно справляется и с гигабайтами данных:)
  1. Преобразующая mangled-имена бинарных символов C++ в человеко-читаемый текст — чтобы вместо _ZNSt14numeric_limitsIfE9is_moduloE увидеть std::numeric_limits<float>::is_modulo

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.