Changes to ghc(4) base ghc-prim

Changes to ghc:
commit a6178886f184dcc2fc4b15f45708d53295a77271
Author: Austin Seipp <austin@well-typed.com>
Date:   Mon Mar 24 02:14:09 2014 -0500

    Revert "change deriveConstants to use nm in a POSIX way (fixes #8781)"

    It causes a failure on Windows right now.

    This reverts commit 045b28033a33a48d31951240a8cb35f2b78345dc.

    (cherry picked from commit 15b1eb7c67e29c4ad6f6859f89d220b33493fd46)

commit bca03d95b6005afa9167410c6ca9ddee6c185aa1
Author: Johan Tibell <johan.tibell@gmail.com>
Date:   Sat Mar 22 18:30:36 2014 +0100

    Enable popcnt test now when segfault is fixed

    The fix was to ghc-prim.

    (cherry picked from commit 16d04d902d4720b3137e07a503fbf72c90b9e164)

commit 0e3a5514288ee37da185b58199f4684c6f2efa01
Author: Johan Tibell <johan.tibell@gmail.com>
Date:   Sat Mar 22 18:29:29 2014 +0100

    Follow hs_popcntX changes in ghc-prim

    (cherry picked from commit 1a63f17f19a6c83980efe453966eac1cf441b277)

commit 46cfa8ebd3f7a9b93afcf5e0e9b7e4a5a973a25d
Author: Austin Seipp <austin@well-typed.com>
Date:   Sun Mar 23 23:45:22 2014 -0500

    Revert "Fix #8745 - GND is now -XSafe compatible."

    See #8827 - for now, we're making GND unsafe again.

    This also fixes the tests since they were originally not using the new
    unicode quote style we're using.

    This reverts commit a8a01e742434df11b830ab99af12d9045dfcbc4b.

    (cherry picked from commit 8f7303774237a8b0787d98c5ab6f605e3e897f19)

Changes to base:
commit 963e35391b8d0e44987ed693967a42dd0d4426bd
Author: Austin Seipp <austin@well-typed.com>
Date:   Mon Mar 24 00:40:33 2014 -0500

    Mark Data.Coerce as Unsafe (#8827)

    Signed-off-by: Austin Seipp <austin@well-typed.com>
    (cherry picked from commit 2dbde340fae8122342a4d7c13fea7890ab963d11)

Changes to ghc-prim:
commit 84d7b7dd2d91ec9cce154602669b97a084412cf2
Author: Reid Barton <rwbarton@gmail.com>
Date:   Fri Sep 6 19:22:38 2013 -0400

    Make argument types in popcnt.c match declared primop types

    On 64-bit Mac OS, gcc 4.2 (which comes with Xcode 4.6) generates code
    that assumes that an argument that is smaller than the register
    it is passed in has been sign- or zero-extended. But ghc thinks
    the types of the PopCnt*Op primops are Word# -> Word#, so it passes
    the entire argument word to the hs_popcnt* function as though it was
    declared to have an argument of type StgWord. Segfaults ensue.

    The easiest fix is to sidestep all this zero-extension business
    by declaring the hs_popcnt* functions to take a whole StgWord (when their
    argument would fit in a register), thereby matching the list of primops.

    Fixes #7684.

    (cherry picked from commit ad9bf96815cb5a9bb4acc51c99eff20be3e50da3)