[Mono-dev] PPC64 mono_arch_emit_exceptions assert fails on svn

Zoltan Varga vargaz at gmail.com
Sat Jun 6 21:49:53 EDT 2009


Hi,

On Sun, Jun 7, 2009 at 3:02 AM, Steven Munroe <munroesj at us.ibm.com> wrote:

> In mono-ppc.c: mono_arch_emit_exceptions g_assert (cfg->code_len <
> cfg->code_size) is triggered becuase gfg->code_len == cfg->code_size.
>
> I assume this should be g_assert (cfg->code_len <= cfg->code_size)
>
> The attached patch fixes this.
>
> Also the marshalbool.cs test is still failing for both PPC32 and PPC64.
> I assume that the required "managed-to-native wrapper" is not being
> build/inserted into the call path for this case.
>

No idea why that would happen, on my ppc machine a wrapper is inserted, and
the relevant
code in it looks like this:

(wrapper managed-to-native) marshalbool:mono_test_marshal_bool_in
(int,uint,bool,bool,bool,bool,bool)

  b8:    99 21 00 44     stb     r9,68(r1)

 158:    88 61 00 44     lbz     r3,68(r1)
 15c:    2c 03 00 00     cmpwi   r3,0
 160:    41 82 00 10     beq-    170
<apper_managed_to_native__marshalbool_mono_test_marshal_bool_in+0x170>
 164:    3c 60 ff ff     lis     r3,-1
 168:    60 63 ff ff     ori     r3,r3,65535
 16c:    b0 61 00 36     sth     r3,54(r1)

 188:    a9 21 00 36     lha     r9,54(r1)

This code converts the 1 received in r9 to -1 and passes it to the C
function in r9.

                Zoltan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20090607/005abfe4/attachment.html 


More information about the Mono-devel-list mailing list