commit fb792a34a72d3bed61a153b2aa52a3cea3d419c7
parent 73d2f687b4788d902a29b8b245081396507336fd
Author: Jared Tobin <jared@jtobin.io>
Date: Sat, 10 Oct 2026 15:23:04 +0400
lib: bind sha512_arm_available as returning CInt
The C function returns an 'int'; binding it as 'Int' read a 64-bit
register whose upper half AAPCS64 leaves unspecified.
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/Crypto/Hash/SHA512/Arm.hs b/lib/Crypto/Hash/SHA512/Arm.hs
@@ -24,6 +24,7 @@ import qualified Data.ByteString as BS
import qualified Data.ByteString.Internal as BI
import qualified Data.ByteString.Unsafe as BU
import Data.Word (Word8, Word64)
+import Foreign.C.Types (CInt(..))
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (Ptr)
import qualified GHC.Exts as Exts
@@ -38,7 +39,7 @@ foreign import ccall unsafe "sha512_block_arm"
c_sha512_block :: Ptr Word64 -> Ptr Word64 -> IO ()
foreign import ccall unsafe "sha512_arm_available"
- c_sha512_arm_available :: IO Int
+ c_sha512_arm_available :: IO CInt
-- utilities ------------------------------------------------------------------