• Austin Seipp's avatar
    base: fix #10298 & #7695 · e28462de
    Austin Seipp authored
    Summary:
    This applies a patch from Reid Barton and Sylvain Henry, which fix a
    disasterous infinite loop when iconv fails to load locale files, as
    specified in #10298.
    
    The fix is a bit of a hack but should be fine - for the actual reasoning
    behind it, see `Note [Disaster and iconv]` for more info.
    
    In addition to this fix, we also patch up the IO Encoding utilities to
    recognize several variations of the 'ASCII' encoding (including its
    aliases) directly so that GHC can do conversions without iconv. This
    allows a static binary to sit in an initramfs.
    Authored-by: rwbarton's avatarReid Barton <rwbarton@gmail.com>
    Authored-by: default avatarSylvain Henry <hsyl20@gmail.com>
    Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
    
    Test Plan: Eyeballed it.
    
    Reviewers: rwbarton, hvr
    
    Subscribers: bgamari, thomie
    
    Differential Revision: https://phabricator.haskell.org/D898
    
    GHC Trac Issues: #10298, #7695
    e28462de
TopHandler.hs 8.22 KB