W dniu 03.01.2019 o 17:05, Jacek Caban pisze:
> On 1/3/19 4:47 PM, Jacek Caban wrote:
>> Hi Mateusz,
>>
>> On 1/2/19 5:45 PM, Mateusz wrote:
>>> W dniu 02.01.2019 o 16:32, JonY via Mingw-w64-public pisze:
>>>> On 1/2/19 1:10 PM, Johannes Pfau wrote:
>>>>> Hello all,
>>>>>
>>>>> I'm currently adding (some basic) MinGW support to the D code which
>>>>> was recently merged into GCC9. The D runtime library already has full
>>>>> windows support, developed by DMD and LLVM D compiler devs. However,
>>>>> this needs MSVC runtime versions >= 120. So I'm now trying to add
>>>>> proper support for targeting newer MSVC libs to the GCC/MinGW ecosystem. 
>>>>>
>>>>> It turns out libgomp uses _ftime, but this symbol is only exposed for
>>>>> msvcrt.dll and I get linker errors for any other MSVC version.
>>>>> Therefore this patch adds the _ftime aliases to all msvcr .def
>>>>> files. According to timeb.h, there should be a _ftime symbol which
>>>>> maps to _ftime64 on _WIN64 and _ftime32 for anything else.
>>>>>
>>>>> This is my first MinGW patch, so please feel free to point out if
>>>>> there's anything wrong with the patch.
>>>>> BTW: How do you handle branches for the patches? The attached patch
>>>>> is against the v6.x branch.
>>>>>
>>>>> Best regards,
>>>>> Johannes
>>>> Ideally, the patch should be against master, and then cherry-picked to
>>>> v6.x. If there are conflicts, please prepare the patch for both branches.
>>>>
>>>> I'll let LH, Jacek and the others comment on the patch.
>>> On page 
>>> https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/ftime-ftime32-ftime64?view=vs-2017
>>>  there is an example program.
>>>
>>> I've tested this example in 64-bit GCC msvcrt/msvcr120/ucrtbase + 32-bit 
>>> GCC msvcrt/msvcr120/ucrtbase -- all works. Could you specify example that 
>>> not works?
>>
>>
>> Note that in this example, a header file is used and it's redirected in 
>> header file itself by a macro (like we do). The patch affects importlib 
>> entries. To test them you could for example declare the function yourself.
>>
> 
> Oh, I missed part of the thread and thought that importlib patch is still 
> needed besides having the define. I already tested that patch's behaviour 
> matches msvc and pushed it. Do we want it anyway? It improves compatibility 
> and in practice the macro (doing the right thing) will be used anyway.
> 
> 
> Sorry for the mess.

Hi Jacek,

Microsoft removed _ftime function (it was in msvcrt.dll) and moved to 
_ftime32/64 functions and _ftime macro. In trunk we follow this path. It is not 
needed extra patch for _ftime function (moreover, in 32-bit it is only 50% 
accurate -- _ftime could be _ftime64 and without header and check of 
_USE_32BIT_TIME_T it is impossible to tell).

Regards,
Mateusz



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to