[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Do we need to do anything special to mask MMX/FP exceptions under X32?



I'm working on an X32 port due to some reports from a Debian maintainer.

I'm catching a bus error on an 'emms' instruction, which clears state
for the next set of MMX/FP operations:

       ...
       0x005520fd <+3885>:    pop    %rsp
       0x005520fe <+3886>:    emms
    => 0x00552100 <+3888>:    pop    %rbx
       0x00552101 <+3889>:    jmpq   0x5519e3
<Tiger::Transform(unsigned long long*, unsigned long long
const*)+2067>
       0x00552106 <+3894>:    nopw   %cs:0x0(%rax,%rax,1)
       ...

Here's the MMX/FP status register:

    mxcsr    0x1f80    [ IM DM ZM OM UM PM ]

The same code (some hand waiving) works fine under X86 and X64 assembler.

Does anything special need to be done under X32? Do we need to mask a
different set of MMX/FP exceptions under X32?

Or any other thoughts?

Thanks in advance,
Jeff


Reply to: