2001-10-06 Malcy * Makefile (ASMCOMP): Change object file order. asmlibrarian put before asmlink.cmo. The later now depends on former. * utils/clflags.ml (link_shared): New global, set to true by Arg.parse if `-shared' command line option was supplied. Affects linking. * driver/optmain.ml (main): Handle `-shared' in Arg.parse. * asmrun/i386.S: Symbol type decorations. * asmcomp/i386/emit.mlp (emit_float_constant): Symbol type decoration. Needed for proper dynamic linking. (fundecl): Likewise. (emit_item): Likewise. (begin_assembly): Likewise. (end_assembly): Likewise. * asmcomp/asmlink.ml (scan_file): Changed to return whole description - (info, crc), not just info. (call_linker): When linking shared: avoid linking with `stdlib'. (call_linker): When linking shared: different cmd. (link): When linking shared: dont put `stdlib', `std_exit' in objfiles. (link): When linking shared: do not raise an exception if `extract_missing_globals' returns non empty list. If linking shared and `extract_missing_globals' != [] and operating verbosely report missing globals. (link): When linking shared: call Asmlibrarian.create_archive_shared to produce needed .a and .cmxa files. * asmcomp/asmlibrarian.ml (create_archive_shared): New function. Arguments: descr_list - list of units to put into .cmxa lib_name - name of the output file Result: unit Side effect: Create lib_name.cmxa containing descr_list Create lib_name.a cotaining string "GROUP (lib_name)" (this is GNU ld script, not real library). * asmcomp/asmlibrarian.mli: Added interface for create_archive_shared.