Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005613OCamlOCaml windowspublic2012-05-12 19:362014-05-25 20:20
Assigned Tofrisch 
PlatformVisual C++OSWindowsOS VersionWindows 7
Product Version3.12.1 
Target Version4.02.0+devFixed in Version 
Summary0005613: Flexdll's dll produced from several object files fails to load
DescriptionLaunching a byte-code executable which uses primitives defined in the dll (mixed C/C++) fails with following output:
No master relocation table
Fatal error: unknown C primitive `foo__impl'

Removing '/Ox' compilation option fix the 'bug'.
Replacing the object constructors/destructor behaviour (calling caml_release_runtime_system and caml_acquire_runtime_system) by explicit calls fix also the 'bug'.

Is this behaviour expected ?
Steps To Reproducecl /MD /Ox /EHs /DCAML_NAME_SPACE /IC:/ocamlms/lib /c foo.cpp
cl /MD /Ox /EHs /DCAML_NAME_SPACE /IC:/ocamlms/lib /c bar.cpp

flexlink -chain msvc64 -merge-manifest foo.obj bar.obj -o dlltest.dll
cp dlltest.dll $(shell ocamlc -where)/lib/stublibs/dlltest.dll

ocamlc -c -o test.cmo
ocamlc -a test.cmo -o test.cma -dllib -ltest
ocamlc test.cma -o test_prog.exe
TagsNo tags attached.
Attached Filesgz file icon test_corrected.tar.gz [^] (640 bytes) 2012-05-12 19:46

- Relationships

-  Notes
joedralliam (reporter)
2012-05-12 19:47
edited on: 2012-05-12 19:48

I'm sorry, I uploaded the wrong archive ("test.tar.gz", the correct one is "test_corrected.tar.gz"). But I can't delete it ??

- Issue History
Date Modified Username Field Change
2012-05-12 19:36 joedralliam New Issue
2012-05-12 19:36 joedralliam File Added: test.tar.gz
2012-05-12 19:46 joedralliam File Added: test_corrected.tar.gz
2012-05-12 19:47 joedralliam Note Added: 0007427
2012-05-12 19:48 joedralliam Note Edited: 0007427 View Revisions
2012-05-15 14:12 frisch File Deleted: test.tar.gz
2012-05-15 14:22 frisch Assigned To => frisch
2012-05-15 14:22 frisch Status new => assigned
2012-07-09 14:56 doligez Target Version => 4.01.0+dev
2012-07-31 13:36 doligez Target Version 4.01.0+dev => 4.00.1+dev
2012-09-21 14:22 doligez Target Version 4.00.1+dev => 4.00.2+dev
2013-06-14 14:19 frisch Target Version 4.00.2+dev => 4.02.0+dev
2013-07-12 18:15 doligez Target Version 4.02.0+dev => 4.01.1+dev
2014-05-25 20:20 doligez Target Version 4.01.1+dev => 4.02.0+dev

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker