Changes to ghc(2) base(2)

Changes to ghc:
commit b459c35744d067ee05674012323d13a49bc09ea2
Author: Austin Seipp <austin@well-typed.com>
Date:   Thu Nov 7 07:55:26 2013 -0600

    Add docs for #8305

    Signed-off-by: Austin Seipp <austin@well-typed.com>

commit f9b3ff49fd0bf78930be7c0d07562e933c95cd9e
Author: Pedro Rodrigues <pedro@onimail.net>
Date:   Tue Nov 5 10:57:29 2013 +0000

    Fix typo in User's Guide

    Signed-off-by: Austin Seipp <austin@well-typed.com>

Changes to base:
commit 9c0eb7b8d7978f0abc98296dcab050f4b6249c61
Author: Merijn Verstraaten <merijn@inconsistent.nl>
Date:   Wed Jul 24 19:00:42 2013 +0100

    *Really* RTS crash due to bad coercion.

    Previous commit only moved the coercion mistake to a different
    architecture (i.e. underflow could still occur on platforms where Int
    is smaller than CInt). This patch should definitively deal with all
    possible combinations.

    Signed-off-by: Austin Seipp <aseipp@pobox.com>

commit 95a74f9b091a8b512828b6930ea46d7ac55be76b
Author: Merijn Verstraaten <merijn@inconsistent.nl>
Date:   Wed Jul 24 14:37:25 2013 +0100

    Fix OSX RTS crash due to bad coercion.

    The code coerces Int to CInt, which causes an overflow if Int is bigger
    than CInt (for example, Int 64bit, CInt 32 bit). This results in a
    negative value being passed to c_poll.

    On Linux all negative values are treated as infinite timeouts, which
    gives subtly wrong semantics, but is unlikely to produce actual bugs.

    OSX insists that only -1 is a valid value for infinite timeout, any
    other negative timeout is treated as an invalid argument.

    This patch replaces the c_poll call with a loop that handles the
    overflow gracefully by chaining multiple calls to poll to obtain the
    proper semantics.

    Signed-off-by: Austin Seipp <aseipp@pobox.com>