On Sat, Feb 11, 2006 at 08:19:00PM +0500, Andrey Rahmatullin wrote: > On Sat, Feb 11, 2006 at 05:49:26PM +0300, Sergey Vlasov wrote: > > Там при сборке не используются precompiled headers? Если > > используется, оно и под std26 вполне может падать, причём случайным > > образом. Сейчас в 2.6 по умолчанию используется рандомизация адресов > > mmap > А какая связь? Это документированная проблема gcc 3.4: см. info gccinstall 'Specific': Some recent versions of GNU/Linux, such as Fedora Core 1, support exec-shield-randomize. Turning this on interferes with precompiled headers. If you need to use precompiled headers, exec-shield-randomize can be turned off for the entire system by editing `/etc/sysctl.conf' and adding a line: kernel.exec-shield-randomize = 0 You may then need to run `sysctl -p'. This will be fixed in future releases of GCC. kernel.exec-shield-randomize - это опция из патча к ядру, который у нас не используется, но kernel.randomize_va_space в 2.6.x сейчас делает по сути то же самое. Проблема появляется из-за того, что файл precompiled headers - это фактически сохранённый кусок памяти процесса сс1[plus], который при его использовании должен быть отображён в те же самые адреса, которые использовались при его создании, а рандомизация адресов mmap этому мешает (в частности, нужные адреса могут оказаться уже заняты).