Changeset 11294


Ignore:
Timestamp:
Nov 5, 2008, 2:46:54 AM (11 years ago)
Author:
rme
Message:

Define SSE2_MATH_LIB when the target is Darwin/x86.

In .SPffcall, conditionally store either the mxcsr or the x87 status
bits into tcr.ffi_exception, depending on SSE2_MATH_LIB.

This should complete the fix for ticket:356.

Location:
trunk/source/lisp-kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/m4macros.m4

    r11000 r11294  
    4343                define([POWEROPENABI],[])])
    4444                ifdef([X86],[
    45                 define([SYSCALL_SETS_CARRY_ON_ERROR],[])])
     45                define([SYSCALL_SETS_CARRY_ON_ERROR],[])
     46                define([SSE2_MATH_LIB],[])])
    4647])
    4748
  • trunk/source/lisp-kernel/x86-spentry32.s

    r11277 r11294  
    41424142        __(movl %arg_z,rcontext(tcr.ffi_exception))
    41434143        __(jmp 1f)
    4144 0:      __(stmxcsr rcontext(tcr.ffi_exception))
     41440:
     4145        __ifdef([SSE2_MATH_LIB])
     4146        __(stmxcsr rcontext(tcr.ffi_exception))
     4147        __else
     4148        __(fnstsw rcontext(tcr.ffi_exception))
     4149        __endif
    414541501:      __(pushl rcontext(tcr.save_eflags))
    41464151        __(popfl)
Note: See TracChangeset for help on using the changeset viewer.