On Sat Mar 22 11:46:55 2025 +0000, William Horvath wrote:
I was aware of this myself and considered caring about it, but ultimately decided that it fell into the category of an "unsupported configuration". As an extreme example of an unsupported configuration, a Wine built on Ubuntu 24.04 would be broken in quite a few other ways (glibc, for one) if you tried running it on Ubuntu 18.04. The same source compiled on Ubuntu 18.04 (or earlier) would work fine, OTOH. I just didn't see why this example should be special cased, so I didn't put any effort into justifying something like this myself. Despite that, I'm not against this patch specifically at all, it looks like it should do the trick. I'll just attach two versions of something similar I made, for posterity. [weaksym.patch](/uploads/3ce6d9e2a7612ce93610621a6bdad6dc/weaksym.patch) [dlsym.patch](/uploads/5d4001fabc5f8fe94c01a8091a170653/dlsym.patch)
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.)