Пришлось на днях поразвлекаться с gdb и падающим в segmentation failure PHP. Вот несколько советов по получению удовлетворительного результата под hardened Gentoo:
- ставим размер coredump’a бесконечным:
ulimit -c unlimited
- прописываем путь для коры:
echo "/tmp/core.%p-%t" > /proc/sys/kernel/core_pattern
- переключить компилятор gcc на vanilla (ВАЖНО!):
gcc-config i686-pc-linux-gnu-3.4.6-vanilla
- запускаем сборку с дополнительными опциями:
EXTRA_ECONF=" --enable-debug" FEATURES="nostrip" emerge -a php
После падения по segfault смотрим результат:
gdb /usr/bin/php-cgi /tmp/core.bla-bla-bla
CFLAGS=-ggdb не надо?
Неа, –enable-debug к configure даёт -g в CFLAGS