Hi,
Attached is a patch for compiler-rt to allow it to compile with MinGW-w64 on Windows. Results aren’t that bad.
x86 GCC and Clang do everything right, all tests pass.
x86_64 GCC fails a lot of tests. This is 99% sure a codegen issue.
38 - fixunssfti_test (Failed)
74 - fixunsdfti_test (Failed)
x86_64 Clang fails these tests:
2 - udivmodti4_test (SEGFAULT)
6 - fixdfti_test (Failed)
8 - negti2_test (SEGFAULT)
9 - cmpti2_test (SEGFAULT)
10 - mulvti3_test (SEGFAULT)
12 - fixunsxfti_test (Failed)
14 - negvti2_test (SEGFAULT)
16 - ucmpti2_test (SEGFAULT)
19 - popcountti2_test (SEGFAULT)
23 - shlti3_test (SEGFAULT)
29 - floatuntisf_test (SEGFAULT)
31 - powixf2_test (SEGFAULT)
34 - floattisf_test (SEGFAULT)
38 - fixunssfti_test (Failed)
39 - parityti2_test (SEGFAULT)
45 - multi3_test (SEGFAULT)
47 - clzti2_test (SEGFAULT)
53 - ffsti2_test (SEGFAULT)
55 - fixsfti_test (Failed)
56 - absvti2_test (SEGFAULT)
57 - ashrti3_test (SEGFAULT)
62 - addvti3_test (SEGFAULT)
64 - floatuntidf_test (SEGFAULT)
65 - umodti3_test (SEGFAULT)
66 - ctzti2_test (SEGFAULT)
67 - floatuntixf_test (SEGFAULT)
69 - floattidf_test (SEGFAULT)
70 - modti3_test (SEGFAULT)
73 - floattixf_test (SEGFAULT)
74 - fixunsdfti_test (Failed)
75 - subvti3_test (SEGFAULT)
80 - lshrti3_test (SEGFAULT)
83 - udivti3_test (SEGFAULT)
86 - fixxfti_test (Failed)
88 - divti3_test (SEGFAULT)
I’ll be happy to provide any helpful info (as in, correctly generated object files or something)
Everything passes on x86.
Please apply at your leisure! Thanks!
Ruben
mingw.patch.txt (2.91 KB)
Hello Ruben
Please apply at your leisure! Thanks!
Will you please fix the code to use the same coding style as
everything else around?
Thanks!
2012/1/7 Anton Korobeynikov <anton@korobeynikov.info>
Hello Ruben
Please apply at your leisure! Thanks!
Will you please fix the code to use the same coding style as
everything else around?
I see I missed some curly braces. I also modified spacing a tiny bit. If you mean anything else, I cannot see what’s out of style.
Thanks for the prompt response,
Ruben
mingw.patch.txt (2.58 KB)
Hi Ruben,
I see I missed some curly braces. I also modified spacing a tiny bit.
Doesn't seem so. E.g. you have:
+ if ( !VirtualQuery(addr, &b, sizeof(b)) )
+ exit(1);
+ if( !VirtualProtect(b.BaseAddress, b.RegionSize,
PAGE_EXECUTE_READWRITE, &b.Protect) )
Add space after "if". Do not put spaces after "(" and before ")". Same
for other places in the file.
2012/1/7 Anton Korobeynikov <anton@korobeynikov.info>
Hi Ruben,
I see I missed some curly braces. I also modified spacing a tiny bit.
Doesn’t seem so. E.g. you have:
- if ( !VirtualQuery(addr, &b, sizeof(b)) )
- exit(1);
- if( !VirtualProtect(b.BaseAddress, b.RegionSize,
PAGE_EXECUTE_READWRITE, &b.Protect) )
Add space after “if”. Do not put spaces after “(” and before “)”. Same
for other places in the file.
OK, I followed the rules you set forth here. But the files followed different ones, hence my confusion. I modified the rest of the file to follow these spacing guidelines (code which was wrongly formatted to begin with).
Thanks for having patience :),
Ruben
mingw.patch.txt (3.76 KB)
Hi Ruben,
Thanks for having patience :),
Looks ok. Do you need me to commit this for you? Or you have the commit access?
Hi Ruben,
Thanks for having patience :),
Looks ok. Do you need me to commit this for you? Or you have the commit access?
Please commit this for me. I don’t have commit access.
Thanks!
Ruben
> Thanks for having patience :),
Looks ok. Do you need me to commit this for you? Or you have the commit
access?
Please commit this for me. I don't have commit access.
Committed in r148048. Thanks!