<div dir="ltr">Linux and OSX have different alignment rules, that's why the difference.<div><br></div><div>This was fixed a few months back on master. If it's failing please file a bug report.</div><div><br></div><div>
--</div><div>Rodrigo</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 19, 2014 at 2:19 PM, Damien Diederen <span dir="ltr"><<a href="mailto:dd@crosstwine.com" target="_blank">dd@crosstwine.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hello,<br>
<br>
I am observing the following failure on Linux 86:<br>
<br>
    $ cd mono/tests<br>
    $ mono marshal7.exe; echo $?<br>
    14<br>
<br>
which corresponds to the following check:<br>
<br>
    if (Marshal.SizeOf (typeof (TestStruct8)) != 16)<br>
        return 14;<br>
<br>
My current build of Mono returns 12.  Which seems reasonable according<br>
to GCC (on the same machine, and on any 32-bit Linux I could test it<br>
on):<br>
<br>
    $ cat > foo.c<br>
    #include <stdio.h><br>
    #include <stddef.h><br>
    #include <stdint.h><br>
<br>
    struct TestStruct8 {<br>
            int a;<br>
            uint64_t b;<br>
    };<br>
<br>
    int main(int argc, char **argv) {<br>
            size_t size = sizeof(struct TestStruct8);<br>
            size_t offset_a = offsetof(struct TestStruct8, a);<br>
            size_t offset_b = offsetof(struct TestStruct8, b);<br>
<br>
            printf("Size: %zu, Offset A: %zu, Offset B: %zu\n",<br>
                   size, offset_a, offset_b);<br>
            return 0;<br>
    }<br>
    ^D<br>
    $ gcc -m32 -g -Wall -o foo foo.c<br>
    $ ./foo<br>
    Size: 12, Offset A: 0, Offset B: 4<br>
<br>
Could the test be wrong, and should 32-bit Linux be folded with OS X:<br>
<br>
    if (IsOSX () && IntPtr.Size == 4) {<br>
            if (Marshal.SizeOf (typeof (TestStruct8)) != 12)<br>
                    return 14;<br>
            ...<br>
<br>
The test was last modified with the fix to Bug #4510, which is<br>
relatively recent; could it be that it has not been verified on a 32-bit<br>
Linux machine yet?<br>
<br>
Thanks,<br>
Damien<br>
<br>
--<br>
<a href="http://crosstwine.com" target="_blank">http://crosstwine.com</a><br>
tel:  <a href="tel:%2B49%2089%202189%202939" value="+498921892939">+49 89 2189 2939</a><br>
cell: <a href="tel:%2B49%20174%203489%20428" value="+491743489428">+49 174 3489 428</a><br>
<br>
“Strong Opinions, Weakly Held”<br>
                 — Bob Johansen<br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</blockquote></div><br></div>