This may not be integer-simple, but that's my immediate suspicion. The following two programs crash with SIGSEGV and core dump when run on my BB10 device after being cross-compiled with my GHC-to-QNXNTO-ARM cross-compiling GHC:

module Main (main) where

import Data.Bits
import Data.ByteString
import qualified Data.ByteString.Char8 as C8

os2ip :: ByteString -> Integer
os2ip = foldl' (\a b -> (256 * a) .|. (fromIntegral b)) 0

main :: IO ()
main = do
        print $ os2ip x
        where
        x = C8.pack 
"\NUL\STX\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\NUL\ETX\SOH\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"

---

module Main (main) where

main :: IO ()
main = print 
169821641172389640937095636777672117931888945045504182713271897430274187839083732143233634367563316254925040331580602942790529924419031237257992694047545188803054325440702792009735658578224936744314329623399862853427161588994478038000957583036049445212750560294647972107700330648403394932373528288706138101730866129542001812796094504052779945357555018210304989340497464935845180607042646690920787035715174921382511732745931975718868480005317353569848454618331425749699355019762926384123909468814180690222898222556785716853422930906736084397064171894642825018414586574929919999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

---

So, it seems to be a problem with forcing very large integers. I'm not sure if this is my integer-simple build, integer-simple in general, or something strange in the way I built GHC.

Can one of the people working on Android and/or Raspberry Pi ports try this code out and let me know if it works for you? I'll try to do a native (non-cross-compile) build of GHC with integer-simple as well, to test this on.

--
Stephen Paul Weber, @singpolyma
See <http://singpolyma.net> for how I prefer to be contacted
edition right joseph

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to