[PATCH] Ensure PSAPI_VERSION is 1 when building ldd

Jon Turney jon.turney@dronecode.org.uk
Fri May 28 15:13:08 GMT 2021


On 27/05/2021 20:08, Corinna Vinschen wrote:
> On May 27 18:30, Jon Turney wrote:
>> On 26/05/2021 20:18, Corinna Vinschen wrote:
>>> On May 26 13:04, Yaakov Selkowitz wrote:
>>>> On Wed, 2021-05-26 at 17:51 +0100, Jon Turney wrote:
[...]
>>>>> I'm not sure what the mechanism by which we're going to notice is?
>>>
>>> Build problems?
>>
>> :confused:
>>
>> This is a run time problem, not a build time problem.
>>
>> #define WIN32_WINNT=0x0a00 ->
>> #define PSAPI_VERSION 2 ->
>> #define GetModuleFileNameExA K32GetModuleFileNameExA ->
>> The procedure entry point K32GetModuleFilenameExA could not be located in
>> the dynamic link library kernel32.dll
> 
> I didn't mean PSAPI_VERSION above, but the _WIN32_WINNT setting in the first
> place.  Changing them can lead to surprising results in terms of what's defined
> and what isn't.  PSAPI_VERSION is the icing, of course.

Ah, I see.

>>>>> Adding WIN32_WINNT=0x0a00 everywhere changes the meaning of '#include
>>>>> <psapi.h>' in a way that is incompatible with Vista.
>>>
>>> Isn't that easily fixed by adding PSAPI_VERSION=1 prior to including
>>> psapi.h?  We can add that to the Makefile as well...
> 
> What about this?

Yeah, we should do that.

I considered adding it everywhere we include psapi.h in my initial 
patch, but it wasn't needed at the time.


More information about the Cygwin-patches mailing list