gcc version 3.4.4 (Gentoo Hardened 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
www ~ # as -v
GNU assembler version 2.16.1 (i686-pc-linux-gnu) using BFD version
2.16.1
На другой такой же машине все собирается. Тут апгрейд с .26 не
проходит.
Есть ощущение, что здесь как-то пояивлся -fPIC, но его нигде не видно.
Да нет - он тут может быть даже и был - машина то hardened. Но раньше
А что такое hardened ?
все собиралось - 26 версия стоит и работает нормально.....
В 0.3.27 появилось:
*) Добавление: определение размера строки кэша распространённых
процессоров при старте.
До этого не было. В ngx_cpuinfo() вставляется ассемблерный код cpuid,
который использует регистр ebx, а gcc использует этот же регистр для своих
целей, если используется -fPIC код.
Да - дело в этом. Hardened - это в двух словах - набор защит от
различных "нехороших" действий (SELinux, RSBAC, PaX, GrSecurity).
http://www.gentoo.org/proj/en/hardened/
Каким образом мне собрать nginx с использованием -fPIC?
Hardened как раз и собирает с -fPIC.
Игорь Сысоев
http://sysoev.ru