Re[2]: сборка компиляторами от Sun 5.9

Alexey Rymonin x-phoenix at mail.ru
Wed Jun 20 23:11:21 MSD 2007


Hello Andrei,

Tuesday, June 19, 2007, 11:33:59 PM, you wrote:

AN> On Tuesday 19 June 2007 22:51, Alexey Rymonin wrote:
>> Hello Alexey,
>>
>> Хочу еще уточнить, может кто поможет в отсутствие Игоря...
>> в корку падает на вызове ngx_cpu_pause() которая
>>
>> #define ngx_cpu_pause()             __asm ("pause")
>>
>> Если сбрить   __asm ("pause") то все собиратеся нормально.... кто
>> может поскажет что это такое, 

AN> Это инструкция для x86/x86_64, специально для spin locks.

Она из набора SSE2... появилась вроде как в 10 студии...

>> почему оно может в кору ронять сборку

AN> Очевидно - проблема в Sun C Compiler. Попробуйте заменить на

AN> __asm (".byte 0xf3, 0x90")

Не помогло... :-(

>> и чем мне грозит сбриение этого?

AN> В самом плохом случае - незначительным увеличением CPU usage на большой
AN> нагрузке. Если машина не multi-core и не Hyper-Threading - то имхо даже этого
AN> не будет.

Система многоядерная... два двухядерных оптерона 2ххх серии....

причем бага гораздо интереснее чем можно себе представить
сделал test.c с содержимым....

int main(char** argv, int argc) {
        for(int i=0; i < 5; i++) {
                __asm ("pause");
        }
}
На 12-й студии
-bash-3.00# cc test.c
-bash-3.00# cc -fast test.c 
"test.c", [main]:ube: error: SIGNAL: Segmentation Fault
cc: ube failed for test.c

на 11-й все нормально в обоих случаях...
Единственное что я 11 стоит на amd64 двухядерном.... а 12 на оптеронах
Socket F... не может ли быть трабла в процах, или это все таки чистый
баг компиляторов 12-й студии?




-- 
Best regards,
 Alexey                            mailto:x-phoenix at mail.ru






More information about the nginx-ru mailing list