id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
7621,Cross-build for QNX ARM smashes stack when using FunPtr wrappers,singpolyma,,"I have built an unregistered LLVM cross-compiler for arm-unknown-nto-qnx8.0.0eabi, which I finally got to build using the attached patch.  Simple programs no longer crash like they do in registered ARM cross-compilers (as reported on mailing list at http://www.haskell.org/pipermail/ghc-devs/2013-January/000005.html and other places), however the following code does crash:

{{{
{-# LANGUAGE ForeignFunctionInterface #-}
module Main (main) where

import Foreign.Ptr

foreign import ccall ""wrapper"" wrap_refresh :: ( IO ()) -> IO (FunPtr ( IO ()))

main :: IO ()
main = do
	wrap_refresh (return ())
	return ()
}}}

It seems, from experiments, that any code using the ""wrapper"" imports causes this error:

{{{
$ ./Main
*** stack smashing detected ***: Main terminated
Abort (core dumped)
}}}",bug,new,normal,7.8.1,Compiler (FFI),7.7,,qnx unregisterised cross-compile,nathan.huesken@… 0@…,QNX,arm,Runtime crash,Unknown,,,7610,
