On Sat Mar 22 13:04:43 2025 +0000, Alfred Agrell wrote:
Compiling against some library and running against an older version is not supported, yes. But I'd say the kernel should be a special case. Some distros support multiple kernel versions; compiling on one distro and running on the same should be supported, even if you're choosing an older-than-default kernel. Some guy on winehackers IRC did exactly that and ran into this issue. (Your patches solve a slightly different issue - they check if epoll_pwait2 is present at runtime, but if it is, they assume it works and won't return ENOSYS.)
Actually, epoll_pwait2 simply won't be resolved if it's not supported. We don't care about the return value if we never attempt to run it in the first place.
I still disagree with the idea in principle, though. Where should we draw the line? Should Wine built against 6.14 headers work on 5.10? I don't think this has ever been supported, outside of third party libraries which are explicitly loaded by dlopen().
Anyways, if julliard agrees that this is one specific case to support for backwards compatibility, then so be it.
(I'll resolve the thread because I don't actually have a concrete argument against this specific patch, only an opinion for the general case.)