On Thu, Aug 13, 2009 at 07:04:39PM +0300, Kirill A. Shutemov wrote: > 2009/8/13 Victor Forsyuk : [...] > > Я вот сижу и думаю (нет, это не по поводу этого кода), если даже с полностью > > выключенной оптимизацией компилятор (gcc 4.4) создает код, отказывающийся > > работать, тогда как скомпилированный gcc 4.3 работает - стоит разбираться с > > кодом или это в любом случае регрессия компилятора? > > Зависит от. > > > Кому-то интересно будет посмотреть? > > Давай. Только не два мегабайта кода. Локализуй до 50-100 строк, не больше. 792 for (i = 0; ; i++) 793 { 794 const char *model_name; 795 lfTCAModel model = LF_TCA_MODEL_NONE + i; 796 model_name = lf_get_tca_model_desc (model, NULL, NULL); 797 if (!model_name) 798 break; 799 gtk_combo_box_append_text (GTK_COMBO_BOX (data->LensTCAModel), model_name); 800 if (model == CFG->lens_tca.Model) 801 active_index = i; 802 } При выполнении ufraw_lens_ui.c:798 происходит stack corruption. Вызов lf_get_tca_model_desc ведёт в странно собирающуюся cpp'шную библиотеку liblensfun, про использование которой в ufraw пишут забавные вещи: http://ufraw.sourceforge.net/lensfun.html В debian на lensfun есть патчи, добавляющие поддержку современных камер, однако ufraw они собирают без lensfun. В FC ufraw с lensfun собирают вот так: https://bugzilla.redhat.com/show_bug.cgi?id=517558 -- ldv