You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 4841 Reporter: vouillon Assigned to:@xavierleroy Status: closed (set by @xavierleroy on 2009-09-13T16:50:32Z) Resolution: fixed Priority: normal Severity: major OS: Mac OS X Version: 3.11.1 Fixed in version: 3.11.2+dev Category: ~DO NOT USE (was: OCaml general) Has duplicate:#4860 Parent of:#4878
Bug description
We use the -output-obj option when compiling the Mac OS UI of Unison. With Ocaml 3.11.1, we get the following error when linking the final binary:
Undefined symbols:
"_caml_apply2", referenced from:
_caml_callback2_exn in libasmrun.a(i386.o)
"_caml_apply3", referenced from:
_caml_callback3_exn in libasmrun.a(i386.o)
Indeed, the symbols caml_apply2 and caml_apply3 are local:
> nm u-b.o | grep apply2
000024b0 t _caml_apply2
(File u-b.o is the result of linking the Ocaml code using the "-output-obj" option.)
Apparently, this is a consequence of using "private_extern" rather than "glob" (bug #4960):
.text
.align 4
.private_extern _caml_apply2
_caml_apply2:
subl $12, %esp
[...]
We have tried to use the "-keep_private_externs" of ld as a workaround: it is supposed to prevent the private external symbols from becoming local. But this does not seem to make any difference.
The text was updated successfully, but these errors were encountered:
Original bug ID: 4841
Reporter: vouillon
Assigned to: @xavierleroy
Status: closed (set by @xavierleroy on 2009-09-13T16:50:32Z)
Resolution: fixed
Priority: normal
Severity: major
OS: Mac OS X
Version: 3.11.1
Fixed in version: 3.11.2+dev
Category: ~DO NOT USE (was: OCaml general)
Has duplicate: #4860
Parent of: #4878
Bug description
We use the -output-obj option when compiling the Mac OS UI of Unison. With Ocaml 3.11.1, we get the following error when linking the final binary:
Undefined symbols:
"_caml_apply2", referenced from:
_caml_callback2_exn in libasmrun.a(i386.o)
"_caml_apply3", referenced from:
_caml_callback3_exn in libasmrun.a(i386.o)
Indeed, the symbols caml_apply2 and caml_apply3 are local:
> nm u-b.o | grep apply2
000024b0 t _caml_apply2
(File u-b.o is the result of linking the Ocaml code using the "-output-obj" option.)
Apparently, this is a consequence of using "private_extern" rather than "glob" (bug #4960):
.text
.align 4
.private_extern _caml_apply2
_caml_apply2:
subl $12, %esp
[...]
We have tried to use the "-keep_private_externs" of ld as a workaround: it is supposed to prevent the private external symbols from becoming local. But this does not seem to make any difference.
The text was updated successfully, but these errors were encountered: