MantisBT - OCaml
View Issue Details
0007667OCamlback end (clambda to assembly)public2017-11-05 12:292017-11-05 19:45
kayceesrk 
 
normalminoralways
acknowledgedopen 
powerpc64leLinux
 
 
0007667: Out of range jumps to caml_call_gc labels
On PowerPC Linux, trunk OCaml generates out of range jumps to caml_call_gc label. The bug was triggered while installing alt-ergo.1.01 and magic-mime.1.1.0.

----

debian@ocaml-debian-le:~/.opam/4.07.0+trunk+bench/.opam-switch/build/alt-ergo.1.01$ make
ocamlopt.opt -c -annot -inline 100 -I /home/debian/.opam/4.07.0+trunk+bench/lib/zarith -I /home/debian/.opam/4.07.0+trunk+bench/lib/lablgtk2 -I +threads -I src/util -I src/structures -I src/theories -I src/instances -I src/sat -I src/preprocess -I src/parsing -I src/gui -I src/main -I non-free/plugins/common -I non-free/plugins/satML -I non-free/plugins/profiler -I non-free/plugins/fm-simplex src/theories/intervals.ml
/tmp/camlasma487b4.s: Assembler messages:
/tmp/camlasma487b4.s:15010: Error: operand out of range (0x00000000000080a8 is not between 0xffffffffffff8000 and 0x0000000000007ffc)
File "src/theories/intervals.ml", line 1:
Error: Assembler error, input left in file /tmp/camlasma487b4.s
Makefile.users:229: recipe for target 'src/theories/intervals.cmx' failed
make: *** [src/theories/intervals.cmx] Error 2

----

This bug is a duplicate of MPR#770 (https://caml.inria.fr/mantis/view.php?id=770&history=1 [^]) which is marked as fixed (?). Wondering whether the change suggested in MPR#770 should be incorporated.

No tags attached.
related to 0000770closed  Out of range jumps on PowerPC Linux 
related to 0000723closed  assembler error in make opt.opt 
Issue History
2017-11-05 12:29kayceesrkNew Issue
2017-11-05 18:40xleroyRelationship addedrelated to 0000770
2017-11-05 18:40xleroyRelationship addedrelated to 0000723
2017-11-05 18:41xleroyNote Added: 0018636
2017-11-05 18:42xleroyNote Added: 0018637
2017-11-05 18:42xleroyStatusnew => acknowledged
2017-11-05 19:45kayceesrkNote Added: 0018638

Notes
(0018636)
xleroy   
2017-11-05 18:41   
770 and 723 were for PowerPC 32 bits, while this one is PowerPC 64 bits little-endian, and since they were fixed in 2001-2002 the code for PowerPC branch relaxation was rewritten.
(0018637)
xleroy   
2017-11-05 18:42   
I don't have access to a POWER8 (ppc64le) machine, so someone who does should handle this MPR.
(0018638)
kayceesrk   
2017-11-05 19:45   
I have access to a ppc64le machine. I'll handle this MPR.