[PATCHv2] msvcrt: Export -f suffixed float functions functions on arm64

Martin Storsjö martin at martin.st
Wed Aug 2 06:42:45 CDT 2017


Hi Piotr,

On Wed, 2 Aug 2017, Piotr Caban wrote:

> Hi Martin,
>
> On 07/31/17 14:47, Martin Storsjo wrote:
>> --- a/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
>> +++ b/dlls/api-ms-win-crt-math-l1-1-0/api-ms-win-crt-math-l1-1-0.spec
>> @@ -77,7 +77,7 @@
>>   @ cdecl _fdtest(ptr) ucrtbase._fdtest
>>   @ stub _fdunscale
>>   @ cdecl _finite(double) ucrtbase._finite
>> -@ cdecl -arch=arm,x86_64 _finitef(float) ucrtbase._finitef
>> +@ cdecl -arch=arm,x86_64,arm64 _finitef(float) ucrtbase._finitef
>>   @ cdecl _fpclass(double) ucrtbase._fpclass
>>   @ stub _fpclassf
>>   @ cdecl -arch=i386 -ret64 _ftol() ucrtbase._ftol
>> @@ -85,7 +85,7 @@
>>   @ cdecl _hypot(double double) ucrtbase._hypot
>>   @ cdecl _hypotf(float float) ucrtbase._hypotf
>>   @ cdecl _isnan(double) ucrtbase._isnan
>> -@ cdecl -arch=arm,x86_64 _isnanf(float) ucrtbase._isnanf
>> +@ cdecl -arch=arm,x86_64,arm64 _isnanf(float) ucrtbase._isnanf
> Maybe I'm checking it incorrectly but I don't see isnanf in the lib file. Is 
> it really exported on arm64? I didn't check all of the functions but _scalbf 
> also seems to be not exported.

Hmm, indeed - thanks for checking thoroughly. I'll recheck them one by one 
with the import library.

FWIW it seems like this also is wrong for _isnanf already now. For that 
case, it can be traced back to 599d92a2, where I bootstrapped ucrtbase, 
with a list of symbols dumped from real DLLs, but with the -arch flags 
taken from msvcrt (where it was added to a bunch of float functions in 
599d0802).

// Martin



More information about the wine-devel mailing list