summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1997-02-25 16:55:02 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1997-02-25 16:55:02 +0000
commit8fc33f2cabfd1de6b788b18d057a7da90dab6581 (patch)
treeb78677079a5f85472187246944a2f046a82d7d28
parentf1dd3a1045f890baac285085598bb85b520ec229 (diff)
Appel incorrect de $$dyncall
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1306 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--asmrun/hppa.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/asmrun/hppa.S b/asmrun/hppa.S
index 76341f27a..80a3993f0 100644
--- a/asmrun/hppa.S
+++ b/asmrun/hppa.S
@@ -274,15 +274,14 @@ G(caml_c_call):
stw %r5, LOW(G(caml_exception_pointer))(%r1)
; Save the allocation pointer
LOADHIGH(G(young_ptr))
+ stw %r3, LOW(G(young_ptr))(%r1)
; Call the C function
#ifdef SYS_hpux
- bl $$dyncall, %r2
- stw %r3, LOW(G(young_ptr))(%r1) ; in delay slot
+ bl $$dyncall, %r31
#else
- stw %r3, LOW(G(young_ptr))(%r1)
ble 0(4, %r22)
- copy %r31, %r2
#endif
+ copy %r31, %r2 ; in delay slot
; Reload return address
LOADHIGH(G(caml_last_return_address))
ldw LOW(G(caml_last_return_address))(%r1), %r2