diff options
author | Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr> | 2012-05-30 14:52:37 +0000 |
---|---|---|
committer | Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr> | 2012-05-30 14:52:37 +0000 |
commit | d39d43e55fab716fbe05cec3c89233f0dd208835 (patch) | |
tree | bf5c56aa9bb32a0e3d49509b8b2863a9ec407563 /otherlibs/dynlink | |
parent | e3d82817909dd7bc69dff4f75aa63c5ba606d9c8 (diff) |
merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/dynlink')
-rw-r--r-- | otherlibs/dynlink/Makefile | 2 | ||||
-rw-r--r-- | otherlibs/dynlink/dynlink.ml | 8 | ||||
-rw-r--r-- | otherlibs/dynlink/dynlinkaux.mlpack | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/otherlibs/dynlink/Makefile b/otherlibs/dynlink/Makefile index 83e96c56b..63df023bb 100644 --- a/otherlibs/dynlink/Makefile +++ b/otherlibs/dynlink/Makefile @@ -33,7 +33,7 @@ COMPILEROBJS=\ ../../typing/ident.cmo ../../typing/path.cmo \ ../../typing/primitive.cmo ../../typing/types.cmo \ ../../typing/btype.cmo ../../typing/subst.cmo ../../typing/predef.cmo \ - ../../typing/datarepr.cmo ../../typing/env.cmo \ + ../../typing/datarepr.cmo ../../typing/cmi_format.cmo ../../typing/env.cmo \ ../../bytecomp/lambda.cmo ../../bytecomp/instruct.cmo \ ../../bytecomp/cmo_format.cmi ../../bytecomp/opcodes.cmo \ ../../bytecomp/runtimedef.cmo ../../bytecomp/bytesections.cmo \ diff --git a/otherlibs/dynlink/dynlink.ml b/otherlibs/dynlink/dynlink.ml index 7415ae6c2..ee136fe2c 100644 --- a/otherlibs/dynlink/dynlink.ml +++ b/otherlibs/dynlink/dynlink.ml @@ -126,13 +126,13 @@ let digest_interface unit loadpath = close_in ic; raise(Error(Corrupted_interface filename)) end; - ignore (input_value ic); + let cmi = Cmi_format.input_cmi ic in + close_in ic; let crc = - match input_value ic with + match cmi.Cmi_format.cmi_crcs with (_, crc) :: _ -> crc | _ -> raise(Error(Corrupted_interface filename)) in - close_in ic; crc with End_of_file | Failure _ -> close_in ic; @@ -190,7 +190,7 @@ let load_compunit ic file_name file_digest compunit = | _ -> assert false in raise(Error(Linking_error (file_name, new_error))) end; - (* PR#5215: identify this code fragment by + (* PR#5215: identify this code fragment by digest of file contents + unit name. Unit name is needed for .cma files, which produce several code fragments.*) let digest = Digest.string (file_digest ^ compunit.cu_name) in diff --git a/otherlibs/dynlink/dynlinkaux.mlpack b/otherlibs/dynlink/dynlinkaux.mlpack index 783e624af..67b9538e8 100644 --- a/otherlibs/dynlink/dynlinkaux.mlpack +++ b/otherlibs/dynlink/dynlinkaux.mlpack @@ -1,5 +1,5 @@ Misc Config Clflags Tbl Consistbl -Terminfo Warnings Asttypes Linenum Location Longident +Terminfo Warnings Asttypes Location Longident Ident Path Primitive Types Btype Subst Predef -Datarepr Env Lambda Instruct Cmo_format Opcodes +Datarepr Cmi_format Env Lambda Instruct Cmo_format Opcodes Runtimedef Bytesections Dll Meta Symtable |