On Mon Mar 3 21:32:42 2025 +0000, Konstantin Demin wrote:
@insn, I've done some refactoring so code should be more sane and clear. All commits except "configure: enable building Wine with LTO" and "LTO quirks" are safe to merge - I'll remove them in favour of next/upcoming MR if you wish.
Thanks. I'm still not a fan of the environment variables like `WINE_AR`, is there a reason you aren't just unconditionally using `gcc-ar` if available? It is a superset of `ar` anyway.
I think you should split the last patch, yeah. In particular, you disable too many files. For example, why are you disabling `d3d9/device.c` from having LTO?
A lot of those files can also be "fixed" by fixing just the actual cause of the issue (for example, marking functions with `used` attribute) instead of disabling LTO completely. The only problematic ones are those **exporting** asm functions.
I think it would be great for Wine to have LTO. But well, it's not really up to me. Alexandre hasn't really commented on any of the LTO MRs. :/