[Bug c/105700] New: GCC miscompiles? wine when using -march=pentium-m

aros at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon May 23 08:02:52 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105700

            Bug ID: 105700
           Summary: GCC miscompiles? wine when using -march=pentium-m
           Product: gcc
           Version: 12.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aros at gmx dot com
  Target Milestone: ---

This is a bug and a call for help simultaneously. I've always built Wine this
way:

export CFLAGS="-O2 -pipe -m32 -march=pentium-m"
export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu"

./configure --prefix=/opt/wine --disable-tests && make --disable-tests && make
install-lib

This worked until GCC 12.0.

With GCC 12.0 and 12.1 the resulting code is somewhat broken and one of Wine
processes always crashes on exit with a very cryptic message:

[????] Process 577885 (winedevice.exe) of user 1000 dumped core.
Stack trace of thread 577888:
#0  0x00000000f7d51e7d n/a (n/a + 0x0)
#1  0x00000000f7d528f7 n/a (n/a + 0x0)
ELF object binary architecture: Intel 80386

I've no idea what to do. Normally bugs like this require:

> In general, all the information we need can be obtained by collecting the command line below, as well as its output and the preprocessed file it generates.

However Wine is not a simple application or library.

winedevice.exe doesn't run by itself, it's a Wine process which is linked to
multiple Wine libraries. Anything can be responsible for the crash.

Please advise.


More information about the Gcc-bugs mailing list