I don't know about anything except possibly the answer to your last question . You can get the sources for the binaries you have from e.g. https://packages.debian.org/sid/wine (Or the equivalent in debian testing etc) Look at the side panel on the right - typically they rename the upstream tar ball to *.orig.*, And the debian-specific build machineries in *.debian.* . The build machinery files should unpack to a debian directory which is typically to be housed inside the source's top level directory to be used, and consists of some shell-script -like files with CFLAGS, etc.
Or, instead of downloading manually from debian 's server like above, if you are on the debian system itself, you can use `apt-get source ...` to get at the source files corresponding to your binaries. Read about "apt-get source ...".
The compiler flags etc should be somewhere in the debian/ directory once unpacked, either way.
On Tuesday 24 September 2024 at 04:39:32 BST, robert.ayrapetyan@gmail.com wrote:
Hello, some legacy applications depend on the carry flag state after calling system functions. I've noticed that certain apps work correctly when using Wine installed from packages, but fail when Wine is built from sources. After investigating, I found that Wine from Debian packages is compiled with certain flags that stabilize ESP at the end of system function calls (e.g., sub ESP, 0x10), which, as a side effect, clears the carry flag, making the application happy. I tried using fno-omit-frame-pointer, but it generates lea instructions, which don't impact the carry flag.
Has anyone else encountered same behavior? How frequently do older applications rely on the carry flag after system function calls? Also, which specific flags are used to compile the Wine version available in Debian packages?