• R
    remove mips setjmp/longjmp code to save/restore fenv · b088f855
    Rich Felker 提交于
    nothing in the standard requires or even allows the fenv state to be
    restored by longjmp. restoring the exception flags is not such a big
    deal since it's probably valid to clobber them completely, but
    restoring the rounding mode yields an observable side effect not
    sanctioned by ISO C. saving/restoring it also wastes a few cycles and
    16 bytes of code.
    
    as for historical behavior, reportedly SGI IRIX did save/restore fenv,
    and this is where glibc and uClibc got the behavior from. a few other
    systems save/restore it too (on archs other than mips), even though
    this is apparently wrong. further details are documented here:
    
    http://www-personal.umich.edu/~williams/archive/computation/setjmp-fpmode.html
    
    as musl aims for standards conformance rather than coddling historical
    programs expecting non-conforming behavior, and as it's unlikely that
    any historical programs actually depend on the incorrect behavior
    (such programs would break on other archs, anyway), I'm making the
    change not to save/restore fenv on mips.
    b088f855
longjmp.s 701 字节