Недавно я выпустил новый набор инструментов для Linux с gcc 4.5.0 и binutils 2.20 с золотом. Теперь мне было любопытно об этой новой вещи PGO. Хотя понятно, как это работает с исполняемыми файлами, я не смог найти ответ по общим библиотекам. Я нашел два неотвеченных сообщения в списке рассылки gcc через Google, вот и все.
Итак, вот что я попробовал:
Пока я не отмечаю -fprofile-generate все хорошо, и мой .so dlopen () 'управляется основной программой и работает без нареканий.
Когда компилируется и связывается с -fprofile-generate, библиотека загружается, все работает, но когда я заканчиваю основную программу, я получаю sigsegv с coredump.
Я загрузил corefile в gdb и получил это:
#0 0x00000000 in ?? ()
No symbol table info available.
#1 0x1f32bc2f in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
И, конечно, никакие файлы .cdda не сохраняются.
Есть идеи?
Филипп