Dump of assembler code for function _ZNKSt3tr18__detail20_Prime_rehash_policy11_M_next_bktEj:
....
0x082747b7 <+39>: mov (%eax),%eax
0x082747b9 <+41>: movd %eax,%xmm0
=> 0x082747bd <+45>: movq %xmm0,-0x20(%ebp)
0x082747c2 <+50>: fildll -0x20(%ebp)
0x082747c5 <+53>: mov 0x8(%ebp),%eax

movq is supposed to be an MMX instruction, and this cpu supports MMX so I'm not sure why it is dying here. It may be that what the dissembler calls "movq" is in fact be an SSE2 instruction, and the cpu chokes on it because of that.


On 04/16/2013 07:11 AM, Ondřej Hošek wrote:
Hi,

On Tue, Apr 16, 2013 at 6:09 AM, Ook <ooksser...@zootal.com> wrote:
./steamcmd.sh
./steamcmd.sh: line 30:  2149 Illegal instruction     $DEBUGGER
"$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"
I guess "SIGILL" is "the sound of progress" the Medic spoke of... In
any case, I doubt the kernel has anything to do with that.

If you're interested in the instruction that makes your CPU unhappy,
try the following:

1. Launch the following command: DEBUGGER=gdb ./steamcmd.sh
2. At the (gdb) prompt, type: run
3. When the program crashes with SIGILL, type: disassemble
4. The listing will contain an arrow pointing to the "bad"
instruction. Look it up to see which instruction set extension it
belongs to.

Also, libstdc++ is... a catastrophe in terms of backward and forward
compatibility. (At the very least, it used to be.) No wonder you're
having troubles with older distributions.

Cheers,
~~ Ondra

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/hlds_linux

Reply via email to