[Mono-dev] ARM PInvoke issue when using long
dm_mono_dev at yahoo.com
Wed Nov 8 13:49:32 EST 2006
Yes, that seems to work.
Bill Seurer <seurer at us.ibm.com> wrote: I am not familiar with ARM but I had to change a setting in order to get
the JIT to use the right registers for long longs on power on AIX. Some
architectures require that things too long to fit in a register be passed
starting in only even (or was it odd?) registers. If you insert another
int between the two long longs (n2 and n3) in your test and it works that
is probably the problem.
I looked and it was the define ALIGN_DOUBLES in mini-ppc.c. There's no
such thing in mini-arm.c but maybe the same sort of thing is happening or
not happening as the case may be.
Bill Seurer IBM System i5 internal compiler development Rochester, MN
Business: seurer at us.ibm.com Home: Bill at seurer.net
mono-devel-list-bounces at lists.ximian.com wrote on 11/07/2006 06:32:14 PM:
> It seems there is an issue with mono PInvoke on a 32 bit ARM platform.
> If I have a native method declared as:
> static extern long Test1(int n1, long n2, long n3, int n4, long n5);
> extern "C"
> long long Test1(int n1, long long n2, long long n3, int n4, long long n5)
> printf("Test1 %d,%lld,%lld,%d,%lld\n",
> return 12345;
> and I invoke with the following parameters:
> Test1(1, 2, 3, 4, 5);
> the result is:
> Test1 1,2,12884901888,0,21474836484
> 12884901888 = 0x300000000
> 21474836484 = 0x500000004
> Get your email and see which of your friends are online - Right on the
> new Yahoo.com _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
$200,000 mortgage for $660/mo - 30/15 yr fixed, reduce debt, home equity - Click now for info
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mono-devel-list