[MLton] Re: cygwoes
Matthew Fluet
fluet@cs.cornell.edu
Tue, 11 Oct 2005 10:50:52 -0400 (EDT)
> For what it's worth, in case there are other mlton/cygwin novices on
> this list, I did the following successful compilation:
>
> mlton -stop g hello.sml
>
> gcc -o hello -I/usr/lib/mlton/include -L/usr/lib/mlton/self
> -L/usr/local/lib -O1 hello.*.S hello.*.c -lmlton -lgmp -lgdtoa -lm
Yes, this appears to be the best solution to MLton 20041109 and the
lastest Cygwin.
> -----Original Message-----
> From: Matthew Fluet [mailto:fluet@cs.cornell.edu]
> Sent: 11 October 2005 14:28
> To: Andrew Kennedy
> Cc: MLton@mlton.org
> Subject: RE: [MLton] Re: cygwoes
>
>
>> Thanks Matthew. For the link step I get
>>
>> Undefined reference to `_F_0'
>>
>> Any idea what this might be?
>
> I think it is related to the fact that Cygwin/MinGW add an extra "_" to
> the beginning of assembly labels. (The label "F_0" normally corresponds
>
> to the label we assign to the top-level evaluation of the SML program.)
>
> We're supposed to handle the extra "_" by recognizing the target OS and
> compensating in the codegen. I could imagine that this becomes
> problematic if you built in a way that mis-specified/inferred the target
>
> OS. Could you give any more info on how you built the .c and .S files?
>
>> -----Original Message-----
>> From: Matthew Fluet [mailto:fluet@cs.cornell.edu]
>> Sent: 11 October 2005 14:00
>> To: Andrew Kennedy
>> Cc: MLton@mlton.org
>> Subject: Re: [MLton] Re: cygwoes
>>
>>
>>>> As another stopgap, you could use mlton -stop g and then call gcc by
>>>> hand, since that works for you.
>>>>
>>> Please let me know what options I should pass to gcc for a successful
>> build.
>>
>> Something like
>>
>> gcc -c -Ibuild/lib/include -O1 -w mlton/mlton.*.[cS]
>> gcc -o build/lib/mlton-compile \
>> -Lbuild/lib/self \
>> -L/usr/local/lib \
>> mlton.*.o \
>> -lmlton -lgmp -lgdtoa -lm
>>
>> which is documented on the PortingMLton page:
>> http://mlton.org/PortingMLton
>>
>>
>> I did a little more investigating of the Virtual{Alloc,Free} problems
>> over
>> the weekend, and I'm mostly convinced that (at least through Cygwin),
>> they
>> are not working as advertised by the API. I've got more info at home
>> that
>> I'll try to post this evening.
>>
>> _______________________________________________
>> MLton mailing list
>> MLton@mlton.org
>> http://mlton.org/mailman/listinfo/mlton
>>
>
> _______________________________________________
> MLton mailing list
> MLton@mlton.org
> http://mlton.org/mailman/listinfo/mlton
>