Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

assembler error in make opt.opt #3086

Closed
vicuna opened this issue Dec 16, 2001 · 2 comments
Closed

assembler error in make opt.opt #3086

vicuna opened this issue Dec 16, 2001 · 2 comments
Labels

Comments

@vicuna
Copy link

vicuna commented Dec 16, 2001

Original bug ID: 723
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Related to: #7667

Bug description

hi,

i tried to compile ocaml-3.04 on AIX 4.3.3.0 with xlC (Version 5).
when calling 'make opt.opt' i got the following error:

../../boot/ocamlrun ../boot/camlp4r -nolib -I ../boot pa_extend.cmo q_MLast.cmo -o pa_r.ppo pa_r.ml
Assembler:
/tmp/camlasm1.s: line 27774: 1252-088 The branch address is out of range.
The target address cannot exceed the ability
of the instruction to represent the bit size of
the branch address value.
/tmp/camlasm1.s: line 28202: 1252-088 The branch address is out of range.
The target address cannot exceed the ability
of the instruction to represent the bit size of
the branch address value.
....

some lines from /tmp/camlasm1.s

+27763 L..1226:
+27764 lwz 7, L..167(2) # Pcaml
+27765 lwz 6, 100(7)
+27766 li 5, 1
+27767 stw 5, 0(6)
+27768 lwz 4, L..1227(2) # Pa_r_1044
+27769 lwz 3, L..1205(2) # Pa_r
+27770 stw 4, 0(3)
+27771 addi 31, 31, -8
+27772 cmplw 31, 30
+27773 addi 4, 31, 4
+27774 L..1229: bltl L..1228
+27775 li 27, 1024
+27776 stw 27, -4(4)
+27777 lwz 26, L..1205(2) # Pa_r
+27778 lwz 25, 0(26)
+27779 stw 25, 0(4)
+27780 lwz 5, L..1230(2) # Pa_r_1043
+27781 lwz 3, L..1231(2) # Pa_r_1042
+27782 L..1232: bl .Pcaml_add_option_271
+27783 cror 31, 31, 31
+27784 lwz 22, L..1233(2) # Plexer
+27785 lwz 21, 4(22)

M.Becker
@vicuna
Copy link
Author

vicuna commented Dec 17, 2001

Comment author: administrator

i tried to compile ocaml-3.04 on AIX 4.3.3.0 with xlC (Version 5).
when calling 'make opt.opt' i got the following error:
/tmp/camlasm1.s: line 27774: 1252-088 The branch address is out of range.
The target address cannot exceed the ability
of the instruction to represent the bit size of
the branch address value.

This is a known issue with the PowerPC code generator of OCaml: large
functions can produce overflows in conditional relative branches, and
the PowerPC assemblers don't know how to work around this by
themselves. We will try to address the issue at the level of the code
generator. In the meantime, just don't do "make opt.opt" :-)

  • Xavier Leroy

@vicuna
Copy link
Author

vicuna commented Jan 9, 2002

Comment author: administrator

Fixed 2001-01-09 by XL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant