diff options
author | wolfgang <unknown> | 2005-01-10 23:00:53 +0000 |
---|---|---|
committer | wolfgang <unknown> | 2005-01-10 23:00:53 +0000 |
commit | 55c604790106d8c8b4a470feefe55e19bbfe7477 (patch) | |
tree | 511cdf7c9de979a540ec41f6fc26c7d1fc9c4692 | |
parent | 7a8bd24665dc2ea63fe1d95ccd52ff506774c21e (diff) | |
download | haskell-55c604790106d8c8b4a470feefe55e19bbfe7477.tar.gz |
[project @ 2005-01-10 23:00:53 by wolfgang]
Fix for AIX-like ABIs.
-rw-r--r-- | ghc/rts/AdjustorAsm.S | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ghc/rts/AdjustorAsm.S b/ghc/rts/AdjustorAsm.S index 7a4dcbf88d..fc56beb517 100644 --- a/ghc/rts/AdjustorAsm.S +++ b/ghc/rts/AdjustorAsm.S @@ -124,8 +124,17 @@ adjustorCode: LOAD r3, HPTR_OFF(r2) - LOAD r0, WPTR_OFF(r2) + LOAD r12, WPTR_OFF(r2) +#if defined(darwin_TARGET_OS) + mtctr r12 +#else + LOAD r0, 0(r12) + /* The function we're calling will never be a nested function, + so we don't load r11. + */ mtctr r0 + LOAD r2, WS(r12) +#endif bctrl LOAD r1, 0(r1) |