https://bugs.winehq.org/show_bug.cgi?id=54635
--- Comment #6 from Zeb Figura z.figura12@gmail.com --- (In reply to Alexandre Julliard from comment #5)
(In reply to Zeb Figura from comment #4)
(In reply to Alexandre Julliard from comment #2)
The change was necessary because of the new PE/Unix architecture. The planned incompatibility was explained in the stable release notes, in particular the ones for 6.0.
The 6.0 release notes mention that libwine was being deprecated and removed, but it doesn't mention why, and I've been increasingly wondering that. Why couldn't libwine have stayed as a unix-side library?
It's all dead code, and there's a non-zero cost to keeping it around. It also constrains what is possible to change in the loader because it requires constructors to be executed on load.
Thanks, that makes sense. I was figuring that most of it could be kept working on the unix side (rather than moving all of that to ntdll), but I didn't consider the entry point interface.