[GHC] #5052: stdcall on OS X is broken
GHC
cvs-ghc at haskell.org
Fri Apr 1 11:43:20 CEST 2011
#5052: stdcall on OS X is broken
-------------------------+--------------------------------------------------
Reporter: igloo | Owner:
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Compiler | Version: 7.0.2
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: MacOS X | Blocking:
Architecture: x86 | Failure: None/Unknown
-------------------------+--------------------------------------------------
Changes (by batterseapower):
* status: new => patch
Comment:
I've attached a ticket that seems to fix this bug for me. The problem is
that the codegen for foreign calls makes sure the stack is 16-byte aligned
on OS X by pushing some padding. In the case where the foreign call is
cdecl, that padding gets popped after the call, but if the convention is
stdcall then it doesn't generate any popping code at all. However, this is
incorrect because the stdcall only promises to pop the arguments, not the
padding.
The fix is to generate code to pop the padding (if any) on OS X.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5052#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list