[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