<p dir="ltr">On Dec 22, 2015 2:52 AM, "Paul Gofman" <<a href="mailto:gofmanp@gmail.com">gofmanp@gmail.com</a>> wrote:<br>
><br>
> Dear all,<br>
><br>
>     I compiled Wine with icc and found 2 issues, which I managed to fix<br>
> in the code. The issues are:<br>
><br>
> 1. Crash in Wine loader (at least with using Intel compiler)<br>
>     Checking return values from all the calls to wld_mprotect in<br>
> loader/preloader.c solved the issue (apparently syscall was optimized<br>
> out when return value was not used, which is likely a compiler problem)<br>
><br>
> 2. msvcrt/math.c has a number of trigonometrical functions<br>
> implementations named __libm_sse2_... (e. g., __libm_sse2_cos). icc<br>
> substitutes these names for some of trigonometrical functions (e. g.,<br>
> tan is replaced internally by __libm_sse2_tan). This results in endless<br>
> recursion and stack overflow both in __lib_sse2_tan and the ordinary tan<br>
> function in msvcrt (which is get aliased to __libm_sse2_tan). I solved<br>
> this by renaming these functions in the code but keeping the original<br>
> export name through spec files.<br>
><br>
>     Is there any chance for such changes to find the way upstream? If<br>
> yes, could you please advice how is it best to proceed: create a bug<br>
> first, or just send a patch (probably 2 separate patches) to<br>
> wine-patches for review?<br>
><br>
> Thanks,<br>
>     Paul.</p>
<p dir="ltr">Hi Paul, </p>
<p dir="ltr">Thanks for debugging and fixing. There's no need to file bugs, you can just send the two patches with descriptions of why they're needed.</p>
<p dir="ltr">See <a href="http://wiki.winehq.org/SubmittingPatches">http://wiki.winehq.org/SubmittingPatches</a> for more details.</p>