[Mono-dev] Linux x86: marshal7.cs failure
Rodrigo Kumpera
kumpera at gmail.com
Thu Jun 19 22:59:34 UTC 2014
Linux and OSX have different alignment rules, that's why the difference.
This was fixed a few months back on master. If it's failing please file a
bug report.
--
Rodrigo
On Thu, Jun 19, 2014 at 2:19 PM, Damien Diederen <dd at crosstwine.com> wrote:
>
> Hello,
>
> I am observing the following failure on Linux 86:
>
> $ cd mono/tests
> $ mono marshal7.exe; echo $?
> 14
>
> which corresponds to the following check:
>
> if (Marshal.SizeOf (typeof (TestStruct8)) != 16)
> return 14;
>
> My current build of Mono returns 12. Which seems reasonable according
> to GCC (on the same machine, and on any 32-bit Linux I could test it
> on):
>
> $ cat > foo.c
> #include <stdio.h>
> #include <stddef.h>
> #include <stdint.h>
>
> struct TestStruct8 {
> int a;
> uint64_t b;
> };
>
> int main(int argc, char **argv) {
> size_t size = sizeof(struct TestStruct8);
> size_t offset_a = offsetof(struct TestStruct8, a);
> size_t offset_b = offsetof(struct TestStruct8, b);
>
> printf("Size: %zu, Offset A: %zu, Offset B: %zu\n",
> size, offset_a, offset_b);
> return 0;
> }
> ^D
> $ gcc -m32 -g -Wall -o foo foo.c
> $ ./foo
> Size: 12, Offset A: 0, Offset B: 4
>
> Could the test be wrong, and should 32-bit Linux be folded with OS X:
>
> if (IsOSX () && IntPtr.Size == 4) {
> if (Marshal.SizeOf (typeof (TestStruct8)) != 12)
> return 14;
> ...
>
> The test was last modified with the fix to Bug #4510, which is
> relatively recent; could it be that it has not been verified on a 32-bit
> Linux machine yet?
>
> Thanks,
> Damien
>
> --
> http://crosstwine.com
> tel: +49 89 2189 2939
> cell: +49 174 3489 428
>
> “Strong Opinions, Weakly Held”
> — Bob Johansen
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20140619/b33e31f4/attachment.html>
More information about the Mono-devel-list
mailing list