Hi Radek,

On Jul 10 19:14, Radek Barton via Cygwin-patches wrote:
> Hello.
> 
> As Windows Arm64 platform does not carry historical compatibility layers, the 
> structure of Windows API DLLs is cleaner on Arm64 than on x64. For this 
> reason, the x64 linking against `kernel32.dll` is not sufficient leading to 
> undefined references to many Windows API symbols that are in different DLLs 
> that would have to be added to the linking command explicitly.
> 
> To address that, there is a concept of umbrella DLLs 
> (https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-umbrella-libraries),
>  that can be added instead. The recommended replacement for `kernel32.dll` is 
> `onecore.dll` 
> (https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/building-for-onecore#building-for-onecore)
>  that should be available since Windows 7.
> 
> In case of Cygwin linking, there is one exception, `pdh.dll` (Performance 
> Data Helper, 
> https://learn.microsoft.com/en-us/windows/win32/perfctrs/performance-counters-functions),
>  that is not included in the `onecore.dll`.

The pdh functions used by Cygwin are NOT linked against.  They are
runtime loaded (see autoload.cc, right at the end), so it should not be
necessary to link against libpdh.a.  Can you please check again?


Thanks,
Corinna

Reply via email to