Caml1999I037 6#Dll0extract_dll_name#@&stringQ@@@@@@@@@0bytecomp/dll.mliSS@@@@@(dll_mode$;@@,For_checking@@VV@@&B@-For_execution@@XgiXgx@@/C@@@A@@@@@U@@A@2A@A@)open_dlls%@#@@@@$listK=@@@@@@$unitF@@@@@@@@>]hh?]h@@TD@@.close_all_dlls&@@@@@@@@@@Q`R`@@gE@@+dll_address';@@@A@@@@@[c\c@@@@qF@A@1primitive_address(;@@+Prim_loaded@@@@@of35pf3Q@@H@+Prim_exists@@xhyh@@I@@@A@@@@@|e@@@@G@A@.find_primitive)@@@@&optionL2@@@@@@@@@lllll@@J@@5synchronize_primitive*@#intA@@@@=@@@s@@@@@@@@r  r  @@K@@(add_path+@@@@@@@@@@@@@u  u  &@@L@@+remove_path,@@@@@@@@@@@@@x i ix i @@M@@,init_compile-@$boolE@@@@@@@@@~  ~  @@ N@@-init_toplevel.@Ҡ @@@@@@@@@@@@ E   E  @@"O@@%reset/@@@@@@@@@@G   G  +@@5P@@@a7-#Dll0l1aϩ~"&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T037)C#Dll0extract_dll_name0bytecomp/dll.mliSS@б@г&stringQ&stringSS@@ @@@3@@@@@@#intA;@@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@=;@@ A@@@@@ @@@>%bytesC;@@A@@@@@ @@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@!@@@A@@@@@"@A@$unitF;@@"()e@@,@@@A@@@@@-@A@ #exnG;@@@A@@@@@1@@@#effH;@@O@A@A@@@@@@:@@@,continuationI;@@Q@@P@B@A@nY@@@@@@I@@@%arrayJ;@@R@A@A@@@@@@S@@@ $listK;@@S@A"[]f@@`@"::g@@@T@@m@ @@A@Y@@@@@p@@@&optionL;@@V@A$Noneh@@}@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A͠=ocaml.warn_on_literal_patternѐ@@0Division_by_zero]#@@@Aנ  @+End_of_file\#$@@@Aߠ@'FailureY#,@'@@A蠰@0Invalid_argumentX#5@0@@A񠰠$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A = < @-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A"U%T%@)Sys_error[#o@j@@A+^.].@:Undefined_recursive_modulea#x@@w@s@u@@h@@A<o?n?@:Continuation_already_takenb#@@@ADwGvG@&Stdlib@A{z@@г&stringSS@@ @@@@@@@@@@@S @@@@@ @@A+(dll_modeAUU@@;@@,For_checking@@VV@@B@-For_execution@@XgiXgx@@C@@@A@@@@@U@@A@A@@#V@@@@@#Xgk@@@@@@A@@@3@6@A@)open_dlls]hl]hu@б@г<(dll_mode]hw]h@@ @@@3@GA@A@@б@г_$list]h]h@г&string]h]h@@ @@@@@@@@@  @@г$unit]h]h@@ @@@-@@@@@0@@@6@@39 @@@]hh@@+D@@@@9.close_all_dlls)`*`@б@гР$unit4`5`@@ @@@3&%%&&&&&@Rg@A@@гߠ$unitC`D`@@ @@@@@@@@@@@N` @@[E@@ @@A++dll_addressBZc [c@@;@@@A@@@@@_c@@@@lF@@@A@@@3NMMNNNNN@)>@A @A+1primitive_addressCmene0@@;@@+Prim_loaded$@@@@@|f35}f3Q@@H@+Prim_exists@@hh@@I@@@A@@@@@e@@@@G@@#f37f3B@@г+dll_addressf3F@@$3@<HB5;@@@A@@@@@@@@@A$@@@@&@#""h @@@@#@@A@@@3@ @A #@.find_primitivellpll~@б@г&stringllll@@ @@@3@&ZT@A@@г&optionllll@гh1primitive_addressllll@@ @@@@@@@@@ @@@$@@!'@@@lll@@J@@@@'5synchronize_primitiver  r  @б@г#intr  r  @@ @@@3@@U@A@@б@г+dll_address r   r  @@ @@@@@г$unitr  r  @@ @@@@@@@@!@@@'@@$* @@@'r  @@4K@@@@*(add_path2u  3u  @б@г$list=u  >u  @г;&stringGu  Hu  @@ @@@398899999@Mb)@A@@@ @@@ @@г$unit[u  "\u  &@@ @@@@@@@@@@@fu   @@sL@@ @@+remove_pathqx i mrx i x@б@г砐$list|x i }x i @гz&stringx i zx i @@ @@@3xwwxxxxx@@_)@A@@@ @@@ @@г6$unitx i x i @@ @@@@@@@@@@@x i i @@M@@ @@,init_compile ~  ~  @б@гh$bool~  ~  @@ @@@3@6U@A@@гf$unit~  ~  @@ @@@@@@@@@@@~   @@N@@ @@-init_toplevel!E  E  @б@гV$listE  E  @г預&stringE  E  @@ @@@3@;P)@A@@@ @@@ @@г$unit E   E  @@ @@@@@@@@@@@E   @@!O@@ @@%reset"G   G  @б@гƠ$unit*G  +G  #@@ @@@3@6U@A@@гՠ$unit9G  ':G  +@@ @@@@@@@@@@@DG   @@QP@@ @@@M@A@y1@*@A@A@r@k2@+@@@M@F@@3NMMNNNNN@3H!@A@ H************************************************************************gA@@hA@L@ H mBMMnBM@ H OCaml sCtC@ H yDzD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 2001 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ * Handling of dynamically-linked libraries P77P7e@ E Extract the name of a DLLs from its external name (xxx.so or -lxxx) RggRg@ d will just check existence of symbols; no need to do full symbol resolution VW'f@ \ will call functions from this DLL; must resolve symbols completely Xg|Y@ Open a list of DLLs. First argument indicates whether to perform full symbol resolution. Raise [Failure msg] in case of error. [\#g@0 Close all DLLs __@ 4 The abstract type representing C function pointers bb@ S Primitive found in a DLL opened "for execution" f3Rgu@ 0 Primitive found in a DLL opened "for checking" hh@ w Find a primitive in the currently opened DLLs and return its address. Return [None] if the primitive is not found. jk9k@ If linking in core (dynlink or toplevel), synchronize the VM table of primitive with the linker's table of primitive by storing the given primitive function at the given position in the VM table of primitives. nq ` @ C Add the given directories at the head of the search path for DLLs t  t  @ < Remove the given directories from the search path for DLLs w ( (w ( h@ Initialization for separate compilation. Initialize the DLL search path to the directories given in the environment variable CAML_LD_LIBRARY_PATH, plus contents of ld.conf file if argument is [false]. If argument is [true], ignore ld.conf.  z   } I @ 8 Initialization for linking in core (dynlink or toplevel). Initialize the search path to the same path that was used to start the running program (CAML_LD_LIBRARY_PATH + directories in executable + contents of ld.conf file). Take note of the DLLs that were opened when starting the running program. @  D  @@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I(bytecomp"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-cLM =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 >10/.-,+*)('&%$#"! @@0Y38~ B?r3WVVWWWWW@U@@8CamlinternalFormatBasics0%FU(Q/Tu}0l1aϩ~"&Stdlib0Lku]8_@0l1aϩ~"AQC˓@ڐ@@g@!@@;g@@.:@{@@@lג@1l@W@@@P@@