halfmeg wrote:When compiling a program using the Xfce 201108 RC I get the below warning. The program doesn't work but gives 'illegal instruction' after make install and an attempt to execute it.
It compiles without the warning and works properly with 201104 Xfce.
This was a GCC compiler change ( between 4.4.5 & 4.6.1 ) which caused this.
Using march=noncoa on my Intel D805 caused 'illegal instruction' upon execution.
Dump of assembler code from 0x7ffff0862490 to 0x7ffff08624b0:
0x00007ffff0862490 <printer_init_handler+464>: pxor %xmm0,%xmm0
0x00007ffff0862494 <printer_init_handler+468>: xor %edx,%edx
0x00007ffff0862496 <printer_init_handler+470>: lea 0x3c0(%r8),%rcx
0x00007ffff086249d <printer_init_handler+477>: nopl (%rax)
=> 0x00007ffff08624a0 <printer_init_handler+480>: prefetchw 0x280(%r8)
0x00007ffff08624a8 <printer_init_handler+488>: add $0x4,%edx
0x00007ffff08624ab <printer_init_handler+491>: movaps %xmm0,(%r8)
0x00007ffff08624af <printer_init_handler+495>: movaps %xmm0,0x10(%r8)
End of assembler dump.
Shows the 'prefetchw' instruction which is not valid on many Intel Chips:
"In family 15 model 6 stepping 1, Intel started treating the AMD prefetchw
instruction as a nop. Prior to that, the instruction would raise an undefined
instruction fault. The windows kernel has prefetchw instructions compiled in
statically, and it patches over the instructions with nops if they fault."
My D805 is a family 15 model 4 stepping 7.
Using march=native permitted proper execution.