[mercury-users] SegV on ROTD2006-04-26.sun.sparc.solaris2.8 on pointer passing with cc
doug.auclair at logicaltypes.com
doug.auclair at logicaltypes.com
Tue Jun 13 04:13:59 AEST 2006
Dear all,
I'd like to use mercury on the Sparc with the Solaris C compiler (project resources
and requirements force this play). I can get C functions that accept and return
primitive simple types (I've tried int), but when I, for example use the io library,
it SegV's with an unuseful stack dump (the stack frames are all simply memory
pointers with no file or line information), e.g., this following function:
:- pragma export(print_num(in, di, uo)).
:- pred print_num(int::in, io::di, io::uo) is det.
print_num(Int) --> write(Int).
breaks the C program calling it:
int main(int argc, char* argv[])
{
print_num(5);
}
I followed the user-man's instructions to mercury_config for the Solaris C compiler
and statically linked in the mercury runtime, etc (i.e. I used the libmer_<foo>.a files).
Something I can do to fix this issue? Again,
:- pragma export(summer(in, in) = out).
:- func summer(int, int) = int.
summer(A, B) = A + B.
plays nicely with the Solaris C executable that calls this Mercury function.
Sincerely,
Doug Auclair
--------------------------------------------------------------------------
mercury-users mailing list
post: mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the users
mailing list