cvs commit: src/lib/libc/ia64/gen fpgetmask.c fpsetmask.c

Marcel Moolenaar marcel at FreeBSD.org
Wed Oct 22 02:00:10 PDT 2003


marcel      2003/10/22 02:00:07 PDT

  FreeBSD src repository

  Modified files:
    lib/libc/ia64/gen    fpgetmask.c fpsetmask.c 
  Log:
  The FP status register allows for 6 traps to be masked. One of them,
  the denormal/unnormal trap, is not a standard IEEE trap. We did
  not exclude it from being returned by fpgetmask(), nor did we make
  sure that fpsetmask() didn't clobber it. Since the non-IEEE trap
  is not part of fp_except_t, users of ifpgetmask()/fpsetmask() would
  be confronted with unexpected behaviour, one of which is a SIGFPE
  for denormal/unnormal FP results.
  
  This commit makes sure that we don't leak the denormal/unnormal mask
  bit in fp_except_t and also that we don't clobber it.
  
  Revision  Changes    Path
  1.4       +1 -1      src/lib/libc/ia64/gen/fpgetmask.c
  1.4       +2 -2      src/lib/libc/ia64/gen/fpsetmask.c


More information about the cvs-src mailing list