Print this page
11210 libm should be cstyle(1ONBLD) clean

@@ -20,10 +20,11 @@
  */
 
 /*
  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  */
+
 /*
  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 

@@ -45,12 +46,14 @@
 
 #if defined(__sparc) && !defined(__sparcv9)
 #include <sys/procfs.h>
 #endif
 
-/* 2.x signal.h doesn't declare sigemptyset or sigismember
-   if they're #defined (see sys/signal.h) */
+/*
+ * 2.x signal.h doesn't declare sigemptyset or sigismember
+ * if they're #define'd (see sys/signal.h)
+ */
 extern int sigemptyset(sigset_t *);
 extern int sigismember(const sigset_t *, int);
 
 /* external globals */
 void (*__mt_fex_sync)() = NULL; /* for synchronization with libmtsk */

@@ -62,108 +65,106 @@
 /* private variables */
 static fex_handler_t main_handlers;
 static int handlers_initialized = 0;
 static thread_key_t handlers_key;
 static mutex_t handlers_key_lock = DEFAULTMUTEX;
-
 static struct sigaction oact = { 0, SIG_DFL };
 static mutex_t hdlr_lock = DEFAULTMUTEX;
 static int hdlr_installed = 0;
 
 /* private const data */
 static const int te_bit[FEX_NUM_EXC] = {
-        1 << fp_trap_inexact,
-        1 << fp_trap_division,
-        1 << fp_trap_underflow,
-        1 << fp_trap_overflow,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid,
-        1 << fp_trap_invalid
+        1 << fp_trap_inexact, 1 << fp_trap_division, 1 << fp_trap_underflow,
+        1 << fp_trap_overflow, 1 << fp_trap_invalid, 1 << fp_trap_invalid,
+        1 << fp_trap_invalid, 1 << fp_trap_invalid, 1 << fp_trap_invalid,
+        1 << fp_trap_invalid, 1 << fp_trap_invalid, 1 << fp_trap_invalid
 };
 
 /*
-*  Return the traps to be enabled given the current handling modes
-*  and flags
-*/
+ *  Return the traps to be enabled given the current handling modes
+ *  and flags
+ */
 static int
 __fex_te_needed(struct fex_handler_data *thr_handlers, unsigned long fsr)
 {
         int             i, ex, te;
 
         /* set traps for handling modes */
         te = 0;
+
         for (i = 0; i < FEX_NUM_EXC; i++)
                 if (thr_handlers[i].__mode != FEX_NONSTOP)
                         te |= te_bit[i];
 
         /* add traps for retrospective diagnostics */
+
         if (fex_get_log()) {
                 ex = (int)__fenv_get_ex(fsr);
+
                 if (!(ex & FE_INEXACT))
                         te |= (1 << fp_trap_inexact);
+
                 if (!(ex & FE_UNDERFLOW))
                         te |= (1 << fp_trap_underflow);
+
                 if (!(ex & FE_OVERFLOW))
                         te |= (1 << fp_trap_overflow);
+
                 if (!(ex & FE_DIVBYZERO))
                         te |= (1 << fp_trap_division);
+
                 if (!(ex & FE_INVALID))
                         te |= (1 << fp_trap_invalid);
         }
 
-        return te;
+        return (te);
 }
 
 /*
-*  The following function synchronizes with libmtsk (SPARC only, for now)
-*/
+ *  The following function synchronizes with libmtsk (SPARC only, for now)
+ */
 static void
 __fex_sync_with_libmtsk(int begin, int master)
 {
         static fenv_t master_env;
         static int env_initialized = 0;
         static mutex_t env_lock = DEFAULTMUTEX;
 
         if (begin) {
                 mutex_lock(&env_lock);
+
                 if (master) {
                         (void) fegetenv(&master_env);
                         env_initialized = 1;
-                }
-                else if (env_initialized)
+                } else if (env_initialized) {
                         (void) fesetenv(&master_env);
-                mutex_unlock(&env_lock);
         }
-        else if (master && fex_get_log())
+
+                mutex_unlock(&env_lock);
+        } else if (master && fex_get_log()) {
                 __fex_update_te();
+        }
 }
 
 /*
-*  The following function may be used for synchronization with any
-*  internal project that manages multiple threads
-*/
+ *  The following function may be used for synchronization with any
+ *  internal project that manages multiple threads
+ */
 enum __libm_mt_fex_sync_actions {
-        __libm_mt_fex_start_master = 0,
-        __libm_mt_fex_start_slave,
-        __libm_mt_fex_finish_master,
-        __libm_mt_fex_finish_slave
+        __libm_mt_fex_start_master = 0, __libm_mt_fex_start_slave,
+        __libm_mt_fex_finish_master, __libm_mt_fex_finish_slave
 };
 
 struct __libm_mt_fex_sync_data {
         fenv_t  master_env;
         int             initialized;
         mutex_t lock;
 };
 
 static void
-__fex_sync_with_threads(enum __libm_mt_fex_sync_actions action,
-        struct __libm_mt_fex_sync_data *thr_env)
+__fex_sync_with_threads(enum __libm_mt_fex_sync_actions action, struct
+    __libm_mt_fex_sync_data *thr_env)
 {
         switch (action) {
         case __libm_mt_fex_start_master:
                 mutex_lock(&thr_env->lock);
                 (void) fegetenv(&thr_env->master_env);

@@ -171,12 +172,14 @@
                 mutex_unlock(&thr_env->lock);
                 break;
 
         case __libm_mt_fex_start_slave:
                 mutex_lock(&thr_env->lock);
+
                 if (thr_env->initialized)
                         (void) fesetenv(&thr_env->master_env);
+
                 mutex_unlock(&thr_env->lock);
                 break;
 
         case __libm_mt_fex_finish_master:
 #if defined(__x86)

@@ -187,49 +190,54 @@
 #endif
                 break;
 
         case __libm_mt_fex_finish_slave:
 #if defined(__x86)
-                /* clear traps, making all accrued flags visible in status word */
+                /*
+                 * clear traps, making all accrued flags visible in status
+                 * word
+                 */
                 {
                         unsigned long   fsr;
+
                         __fenv_getfsr(&fsr);
                         __fenv_set_te(fsr, 0);
                         __fenv_setfsr(&fsr);
                 }
 #endif
                 break;
         }
 }
 
 #if defined(__sparc)
-
 /*
-*  Code for setting or clearing interval mode on US-III and above.
-*  This is embedded as data so we don't have to mark the library
-*  as a v8plusb/v9b object.  (I could have just used one entry and
-*  modified the second word to set the bits I want, but that would
-*  have required another mutex.)
-*/
+ *  Code for setting or clearing interval mode on US-III and above.
+ *  This is embedded as data so we don't have to mark the library
+ *  as a v8plusb/v9b object.  (I could have just used one entry and
+ *  modified the second word to set the bits I want, but that would
+ *  have required another mutex.)
+ */
 static const unsigned int siam[][2] = {
         { 0x81c3e008, 0x81b01020 }, /* retl, siam 0 */
         { 0x81c3e008, 0x81b01024 }, /* retl, siam 4 */
         { 0x81c3e008, 0x81b01025 }, /* retl, siam 5 */
         { 0x81c3e008, 0x81b01026 }, /* retl, siam 6 */
         { 0x81c3e008, 0x81b01027 }  /* retl, siam 7 */
 };
 
 /*
-*  If a handling mode is in effect, apply it; otherwise invoke the
-*  saved handler
-*/
+ *  If a handling mode is in effect, apply it; otherwise invoke the
+ *  saved handler
+ */
 static void
 __fex_hdlr(int sig, siginfo_t *sip, ucontext_t *uap)
 {
         struct fex_handler_data *thr_handlers;
         struct sigaction        act;
+
         void                    (*handler)(), (*siamp)();
+
         int                     mode, i;
         enum fex_exception      e;
         fex_info_t              info;
         unsigned long           fsr, tmpfsr, addr;
         unsigned int            gsr;

@@ -247,94 +255,107 @@
                 break;
         case FPE_FLTRES:
                 e = fex_inexact;
                 break;
         case FPE_FLTINV:
+
                 if ((int)(e = __fex_get_invalid_type(sip, uap)) < 0)
                         goto not_ieee;
+
                 break;
         default:
                 /* not an IEEE exception */
                 goto not_ieee;
         }
 
         /* get the handling mode */
         mode = FEX_NOHANDLER;
         handler = oact.sa_handler; /* for log; just looking, no need to lock */
         thr_handlers = __fex_get_thr_handlers();
+
         if (thr_handlers && thr_handlers[(int)e].__mode != FEX_NOHANDLER) {
                 mode = thr_handlers[(int)e].__mode;
                 handler = thr_handlers[(int)e].__handler;
         }
 
         /* make an entry in the log of retro. diag. if need be */
         i = ((int)uap->uc_mcontext.fpregs.fpu_fsr >> 5) & 0x1f;
         __fex_mklog(uap, (char *)sip->si_addr, i, e, mode, (void *)handler);
 
         /* handle the exception based on the mode */
-        if (mode == FEX_NOHANDLER)
+        if (mode == FEX_NOHANDLER) {
                 goto not_ieee;
-        else if (mode == FEX_ABORT)
+        } else if (mode == FEX_ABORT) {
                 abort();
-        else if (mode == FEX_SIGNAL) {
+        } else if (mode == FEX_SIGNAL) {
                 handler(sig, sip, uap);
                 return;
         }
 
         /* custom or nonstop mode; disable traps and clear flags */
         __fenv_getfsr(&fsr);
         __fenv_set_te(fsr, 0);
         __fenv_set_ex(fsr, 0);
 
-        /* if interval mode was set, clear it, then substitute the
-           interval rounding direction and clear ns mode in the fsr */
+        /*
+         * if interval mode was set, clear it, then substitute the interval
+         * rounding direction and clear ns mode in the fsr
+         */
 #ifdef __sparcv9
         gsr = uap->uc_mcontext.asrs[3];
 #else
         gsr = 0;
+
         if (uap->uc_mcontext.xrs.xrs_id == XRS_ID)
-                gsr = (*(unsigned long long*)((prxregset_t*)uap->uc_mcontext.
-                    xrs.xrs_ptr)->pr_un.pr_v8p.pr_filler);
+                gsr = (*(unsigned long long *)
+                    ((prxregset_t *)uap->uc_mcontext.xrs.xrs_ptr)->pr_un.
+                    pr_v8p.pr_filler);
 #endif
         gsr = (gsr >> 25) & 7;
+
         if (gsr & 4) {
-                siamp = (void (*)()) siam[0];
+                siamp = (void (*)())siam[0];
                 siamp();
                 tmpfsr = fsr;
                 fsr = (fsr & ~0xc0400000ul) | ((gsr & 3) << 30);
         }
+
         __fenv_setfsr(&fsr);
 
         /* decode the operation */
         __fex_get_op(sip, uap, &info);
 
         /* if a custom mode handler is installed, invoke it */
         if (mode == FEX_CUSTOM) {
                 /* if we got here from feraiseexcept, pass dummy info */
                 addr = (unsigned long)sip->si_addr;
-                if (addr >= (unsigned long)feraiseexcept &&
-                    addr < (unsigned long)fetestexcept) {
+
+                if (addr >= (unsigned long)feraiseexcept && addr < (unsigned
+                    long)fetestexcept) {
                         info.op = fex_other;
                         info.op1.type = info.op2.type = info.res.type =
                             fex_nodata;
                 }
 
-                /* restore interval mode if it was set, and put the original
-                   rounding direction and ns mode back in the fsr */
+                /*
+                 * restore interval mode if it was set, and put the original
+                 * rounding direction and ns mode back in the fsr
+                 */
                 if (gsr & 4) {
                         __fenv_setfsr(&tmpfsr);
-                        siamp = (void (*)()) siam[1 + (gsr & 3)];
+                        siamp = (void (*)())siam[1 + (gsr & 3)];
                         siamp();
                 }
 
                 handler(1 << (int)e, &info);
 
                 /* restore modes in case the user's handler changed them */
                 if (gsr & 4) {
-                        siamp = (void (*)()) siam[0];
+                        siamp = (void (*)())siam[0];
                         siamp();
                 }
+
                 __fenv_setfsr(&fsr);
         }
 
         /* stuff the result */
         __fex_st_result(sip, uap, &info);

@@ -350,10 +371,11 @@
 not_ieee:
         /* revert to the saved handler (if any) */
         mutex_lock(&hdlr_lock);
         act = oact;
         mutex_unlock(&hdlr_lock);
+
         switch ((unsigned long)act.sa_handler) {
         case (unsigned long)SIG_DFL:
                 /* simulate trap with no handler installed */
                 sigaction(SIGFPE, &act, NULL);
                 kill(getpid(), SIGFPE);

@@ -364,34 +386,35 @@
 #endif
         default:
                 act.sa_handler(sig, sip, uap);
         }
 }
-
 #elif defined(__x86)
-
 #if defined(__amd64)
 #define test_sse_hw     1
 #else
 extern int _sse_hw;
+
 #define test_sse_hw     _sse_hw
 #endif
 
 #if !defined(REG_PC)
 #define REG_PC  EIP
 #endif
 
 /*
-*  If a handling mode is in effect, apply it; otherwise invoke the
-*  saved handler
-*/
+ *  If a handling mode is in effect, apply it; otherwise invoke the
+ *  saved handler
+ */
 static void
 __fex_hdlr(int sig, siginfo_t *sip, ucontext_t *uap)
 {
         struct fex_handler_data *thr_handlers;
         struct sigaction        act;
+
         void                    (*handler)() = NULL, (*simd_handler[4])();
+
         int                     mode, simd_mode[4], i, len, accrued, *ap;
         unsigned int            cwsw, oldcwsw, mxcsr, oldmxcsr;
         enum fex_exception      e, simd_e[4];
         fex_info_t              info, simd_info[4];
         unsigned long           addr;

@@ -399,10 +422,11 @@
         sseinst_t               inst;
 
         /* check for an exception caused by an SSE instruction */
         if (!(uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.status & 0x80)) {
                 len = __fex_parse_sse(uap, &inst);
+
                 if (len == 0)
                         goto not_ieee;
 
                 /* disable all traps and clear flags */
                 __fenv_getcwsw(&oldcwsw);

@@ -415,54 +439,66 @@
                 if ((int)inst.op & SIMD) {
                         __fex_get_simd_op(uap, &inst, simd_e, simd_info);
 
                         thr_handlers = __fex_get_thr_handlers();
                         addr = (unsigned long)uap->uc_mcontext.gregs[REG_PC];
-                        accrued = uap->uc_mcontext.fpregs.fp_reg_set.
-                            fpchip_state.mxcsr;
+                        accrued =
+                            uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                            mxcsr;
 
                         e = (enum fex_exception)-1;
                         mode = FEX_NONSTOP;
+
                         for (i = 0; i < 4; i++) {
                                 if ((int)simd_e[i] < 0)
                                         continue;
 
                                 e = simd_e[i];
                                 simd_mode[i] = FEX_NOHANDLER;
                                 simd_handler[i] = oact.sa_handler;
+
                                 if (thr_handlers &&
                                     thr_handlers[(int)e].__mode !=
                                     FEX_NOHANDLER) {
                                         simd_mode[i] =
                                             thr_handlers[(int)e].__mode;
                                         simd_handler[i] =
                                             thr_handlers[(int)e].__handler;
                                 }
+
                                 accrued &= ~te_bit[(int)e];
+
                                 switch (simd_mode[i]) {
                                 case FEX_ABORT:
                                         mode = FEX_ABORT;
                                         break;
                                 case FEX_SIGNAL:
+
                                         if (mode != FEX_ABORT)
                                                 mode = FEX_SIGNAL;
+
                                         handler = simd_handler[i];
                                         break;
                                 case FEX_NOHANDLER:
+
                                         if (mode != FEX_ABORT && mode !=
                                             FEX_SIGNAL)
                                                 mode = FEX_NOHANDLER;
+
                                         break;
                                 }
                         }
+
                         if (e == (enum fex_exception)-1) {
                                 __fenv_setcwsw(&oldcwsw);
                                 __fenv_setmxcsr(&oldmxcsr);
                                 goto not_ieee;
                         }
-                        accrued |= uap->uc_mcontext.fpregs.fp_reg_set.
-                            fpchip_state.status;
+
+                        accrued |=
+                            uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                            status;
                         ap = __fex_accrued();
                         accrued |= *ap;
                         accrued &= 0x3d;
 
                         for (i = 0; i < 4; i++) {

@@ -486,10 +522,11 @@
                                 handler(sig, &osip, uap);
                                 return;
                         }
 
                         *ap = 0;
+
                         for (i = 0; i < 4; i++) {
                                 if ((int)simd_e[i] < 0)
                                         continue;
 
                                 if (simd_mode[i] == FEX_CUSTOM) {

@@ -499,53 +536,58 @@
                                         __fenv_setmxcsr(&mxcsr);
                                 }
                         }
 
                         __fex_st_simd_result(uap, &inst, simd_e, simd_info);
+
                         for (i = 0; i < 4; i++) {
                                 if ((int)simd_e[i] < 0)
                                         continue;
 
                                 accrued |= simd_info[i].flags;
                         }
 
                         if ((int)inst.op & INTREG) {
                                 /* set MMX mode */
 #if defined(__amd64)
-                                uap->uc_mcontext.fpregs.fp_reg_set.
-                                    fpchip_state.sw &= ~0x3800;
-                                uap->uc_mcontext.fpregs.fp_reg_set.
-                                    fpchip_state.fctw = 0;
+                                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                                    sw &= ~0x3800;
+                                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                                    fctw = 0;
 #else
-                                uap->uc_mcontext.fpregs.fp_reg_set.
-                                    fpchip_state.state[1] &= ~0x3800;
-                                uap->uc_mcontext.fpregs.fp_reg_set.
-                                    fpchip_state.state[2] = 0;
+                                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                                    state[1] &= ~0x3800;
+                                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                                    state[2] = 0;
 #endif
                         }
                 } else {
                         e = __fex_get_sse_op(uap, &inst, &info);
+
                         if ((int)e < 0) {
                                 __fenv_setcwsw(&oldcwsw);
                                 __fenv_setmxcsr(&oldmxcsr);
                                 goto not_ieee;
                         }
 
                         mode = FEX_NOHANDLER;
                         handler = oact.sa_handler;
                         thr_handlers = __fex_get_thr_handlers();
+
                         if (thr_handlers && thr_handlers[(int)e].__mode !=
                             FEX_NOHANDLER) {
                                 mode = thr_handlers[(int)e].__mode;
                                 handler = thr_handlers[(int)e].__handler;
                         }
 
                         addr = (unsigned long)uap->uc_mcontext.gregs[REG_PC];
-                        accrued = uap->uc_mcontext.fpregs.fp_reg_set.
-                            fpchip_state.mxcsr & ~te_bit[(int)e];
-                        accrued |= uap->uc_mcontext.fpregs.fp_reg_set.
-                            fpchip_state.status;
+                        accrued =
+                            uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                            mxcsr & ~te_bit[(int)e];
+                        accrued |=
+                            uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
+                            status;
                         ap = __fex_accrued();
                         accrued |= *ap;
                         accrued &= 0x3d;
                         __fex_mklog(uap, (char *)addr, accrued, e, mode,
                             (void *)handler);

@@ -561,16 +603,18 @@
                                 __fenv_setmxcsr(&oldmxcsr);
                                 handler(sig, &osip, uap);
                                 return;
                         } else if (mode == FEX_CUSTOM) {
                                 *ap = 0;
+
                                 if (addr >= (unsigned long)feraiseexcept &&
                                     addr < (unsigned long)fetestexcept) {
                                         info.op = fex_other;
                                         info.op1.type = info.op2.type =
                                             info.res.type = fex_nodata;
                                 }
+
                                 handler(1 << (int)e, &info);
                                 __fenv_setcwsw(&cwsw);
                                 __fenv_setmxcsr(&mxcsr);
                         }
 

@@ -596,10 +640,11 @@
                 goto update_state;
         }
 
         /* determine which exception occurred */
         __fex_get_x86_exc(sip, uap);
+
         switch (sip->si_code) {
         case FPE_FLTDIV:
                 e = fex_division;
                 break;
         case FPE_FLTOVF:

@@ -610,83 +655,91 @@
                 break;
         case FPE_FLTRES:
                 e = fex_inexact;
                 break;
         case FPE_FLTINV:
+
                 if ((int)(e = __fex_get_invalid_type(sip, uap)) < 0)
                         goto not_ieee;
+
                 break;
         default:
                 /* not an IEEE exception */
                 goto not_ieee;
         }
 
         /* get the handling mode */
         mode = FEX_NOHANDLER;
         handler = oact.sa_handler; /* for log; just looking, no need to lock */
         thr_handlers = __fex_get_thr_handlers();
+
         if (thr_handlers && thr_handlers[(int)e].__mode != FEX_NOHANDLER) {
                 mode = thr_handlers[(int)e].__mode;
                 handler = thr_handlers[(int)e].__handler;
         }
 
         /* make an entry in the log of retro. diag. if need be */
 #if defined(__amd64)
-        addr = (unsigned long)uap->uc_mcontext.fpregs.fp_reg_set.
-            fpchip_state.rip;
+        addr = (unsigned
+            long)uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.rip;
 #else
-        addr = (unsigned long)uap->uc_mcontext.fpregs.fp_reg_set.
-            fpchip_state.state[3];
+        addr = (unsigned
+            long)uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3];
 #endif
         accrued = uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.status & 
             ~te_bit[(int)e];
+
         if (test_sse_hw)
-                accrued |= uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.
-                    mxcsr;
+                accrued |=
+                    uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr;
+
         ap = __fex_accrued();
         accrued |= *ap;
         accrued &= 0x3d;
         __fex_mklog(uap, (char *)addr, accrued, e, mode, (void *)handler);
 
         /* handle the exception based on the mode */
-        if (mode == FEX_NOHANDLER)
+        if (mode == FEX_NOHANDLER) {
                 goto not_ieee;
-        else if (mode == FEX_ABORT)
+        } else if (mode == FEX_ABORT) {
                 abort();
-        else if (mode == FEX_SIGNAL) {
+        } else if (mode == FEX_SIGNAL) {
                 handler(sig, &osip, uap);
                 return;
         }
 
         /* disable all traps and clear flags */
         __fenv_getcwsw(&cwsw);
         cwsw = (cwsw & ~0x3f) | 0x003f0000;
         __fenv_setcwsw(&cwsw);
+
         if (test_sse_hw) {
                 __fenv_getmxcsr(&mxcsr);
                 mxcsr = (mxcsr & ~0x3f) | 0x1f80;
                 __fenv_setmxcsr(&mxcsr);
         }
+
         *ap = 0;
 
         /* decode the operation */
         __fex_get_op(sip, uap, &info);
 
         /* if a custom mode handler is installed, invoke it */
         if (mode == FEX_CUSTOM) {
                 /* if we got here from feraiseexcept, pass dummy info */
-                if (addr >= (unsigned long)feraiseexcept &&
-                    addr < (unsigned long)fetestexcept) {
+                if (addr >= (unsigned long)feraiseexcept && addr < (unsigned
+                    long)fetestexcept) {
                         info.op = fex_other;
                         info.op1.type = info.op2.type = info.res.type =
                             fex_nodata;
                 }
 
                 handler(1 << (int)e, &info);
 
                 /* restore modes in case the user's handler changed them */
                 __fenv_setcwsw(&cwsw);
+
                 if (test_sse_hw)
                         __fenv_setmxcsr(&mxcsr);
         }
 
         /* stuff the result */

@@ -702,29 +755,32 @@
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw |= (accrued & ~i);
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw |= 0x3d;
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw &= ~i;
 #else
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1] &= ~0x3d;
-        uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1] |=
-            (accrued & ~i);
+        uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1] |= (accrued &
+            ~i);
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0] |= 0x3d;
         uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0] &= ~i;
 #endif
+
         if (test_sse_hw) {
                 uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr &= ~0x3d;
                 uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr |=
                     0x1e80 | (accrued & ~i);
-                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr &=
-                    ~(i << 7);
+                uap->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr &= ~(i <<
+                    7);
         }
+
         return;
 
 not_ieee:
         /* revert to the saved handler (if any) */
         mutex_lock(&hdlr_lock);
         act = oact;
         mutex_unlock(&hdlr_lock);
+
         switch ((unsigned long)act.sa_handler) {
         case (unsigned long)SIG_DFL:
                 /* simulate trap with no handler installed */
                 sigaction(SIGFPE, &act, NULL);
                 kill(getpid(), SIGFPE);

@@ -735,71 +791,82 @@
 #endif
         default:
                 act.sa_handler(sig, &osip, uap);
         }
 }
-
 #else
 #error Unknown architecture
 #endif
 
 /*
-*  Return a pointer to the thread-specific handler data, and
-*  initialize it if necessary
-*/
+ *  Return a pointer to the thread-specific handler data, and
+ *  initialize it if necessary
+ */
 struct fex_handler_data *
 __fex_get_thr_handlers()
 {
         struct fex_handler_data *ptr;
         unsigned long                   fsr;
         int                                             i, te;
 
         if (thr_main()) {
                 if (!handlers_initialized) {
-                        /* initialize to FEX_NOHANDLER if trap is enabled,
-                           FEX_NONSTOP if trap is disabled */
+                        /*
+                         * initialize to FEX_NOHANDLER if trap is enabled,
+                         * FEX_NONSTOP if trap is disabled
+                         */
                         __fenv_getfsr(&fsr);
                         te = (int)__fenv_get_te(fsr);
+
                         for (i = 0; i < FEX_NUM_EXC; i++)
-                                main_handlers[i].__mode =
-                                        ((te & te_bit[i])? FEX_NOHANDLER : FEX_NONSTOP);
+                                main_handlers[i].__mode = ((te & te_bit[i]) ?
+                                    FEX_NOHANDLER : FEX_NONSTOP);
+
                         handlers_initialized = 1;
                 }
-                return main_handlers;
-        }
-        else {
+
+                return (main_handlers);
+        } else {
                 ptr = NULL;
                 mutex_lock(&handlers_key_lock);
+
                 if (thr_getspecific(handlers_key, (void **)&ptr) != 0 &&
                         thr_keycreate(&handlers_key, free) != 0) {
                         mutex_unlock(&handlers_key_lock);
-                        return NULL;
+                        return (NULL);
                 }
+
                 mutex_unlock(&handlers_key_lock);
+
                 if (!ptr) {
-                        if ((ptr = (struct fex_handler_data *)
-                                malloc(sizeof(fex_handler_t))) == NULL) {
-                                return NULL;
-                        }
+                        if ((ptr = malloc(sizeof (fex_handler_t))) == NULL)
+                                return (NULL);
+
                         if (thr_setspecific(handlers_key, (void *)ptr) != 0) {
-                                (void)free(ptr);
-                                return NULL;
+                                (void) free(ptr);
+                                return (NULL);
                         }
-                        /* initialize to FEX_NOHANDLER if trap is enabled,
-                           FEX_NONSTOP if trap is disabled */
+
+                        /*
+                         * initialize to FEX_NOHANDLER if trap is enabled,
+                         * FEX_NONSTOP if trap is disabled
+                         */
                         __fenv_getfsr(&fsr);
                         te = (int)__fenv_get_te(fsr);
+
                         for (i = 0; i < FEX_NUM_EXC; i++)
-                                ptr[i].__mode = ((te & te_bit[i])? FEX_NOHANDLER : FEX_NONSTOP);
+                                ptr[i].__mode = ((te & te_bit[i]) ?
+                                    FEX_NOHANDLER : FEX_NONSTOP);
                 }
-                return ptr;
+
+                return (ptr);
         }
 }
 
 /*
-*  Update the trap enable bits according to the selected modes
-*/
+ *  Update the trap enable bits according to the selected modes
+ */
 void
 __fex_update_te()
 {
         struct fex_handler_data *thr_handlers;
         struct sigaction                act, tmpact;

@@ -816,22 +883,23 @@
         if (!hdlr_installed && te) {
                 act.sa_handler = __fex_hdlr;
                 sigemptyset(&act.sa_mask);
                 act.sa_flags = SA_SIGINFO;
                 sigaction(SIGFPE, &act, &tmpact);
-                if (tmpact.sa_handler != __fex_hdlr)
-                {
+
+                if (tmpact.sa_handler != __fex_hdlr) {
                         mutex_lock(&hdlr_lock);
                         oact = tmpact;
                         mutex_unlock(&hdlr_lock);
                 }
+
                 hdlr_installed = 1;
         }
 
         /* set the new trap enable bits (only if SIGFPE is not blocked) */
-        if (sigprocmask(0, NULL, &blocked) == 0 &&
-                !sigismember(&blocked, SIGFPE)) {
+        if (sigprocmask(0, NULL, &blocked) == 0 && !sigismember(&blocked,
+            SIGFPE)) {
                 __fenv_set_te(fsr, te);
                 __fenv_setfsr(&fsr);
         }
 
         /* synchronize with libmtsk */