1. 06 12月, 2012 1 次提交
    • 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
  2. 23 7月, 2012 1 次提交
  3. 11 7月, 2012 1 次提交
    • R
      initial version of mips (o32) port, based on work by Richard Pennington (rdp) · 6315004f
      Rich Felker 提交于
      basically, this version of the code was obtained by starting with
      rdp's work from his ellcc source tree, adapting it to musl's build
      system and coding style, auditing the bits headers for discrepencies
      with kernel definitions or glibc/LSB ABI or large file issues, fixing
      up incompatibility with the old binutils from aboriginal linux, and
      adding some new special cases to deal with the oddities of sigaction
      and pipe syscall interfaces on mips.
      
      at present, minimal test programs work, but some interfaces are broken
      or missing. threaded programs probably will not link.
      6315004f