[Bug 51862] New: dlls/ntdll/unix/system.c: In function ‘init_cpu_info’
https://bugs.winehq.org/show_bug.cgi?id=51862 Bug ID: 51862 Summary: dlls/ntdll/unix/system.c: In function ‘init_cpu_info’ Product: Wine Version: 6.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs(a)winehq.org Reporter: version2013(a)protonmail.com Distribution: --- Created attachment 70774 --> https://bugs.winehq.org/attachment.cgi?id=70774 log.txt in distro: # uname --kernel-release 3.14.56 # gcc --version 4.8.4 # ldd --version 2.19 config line: configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-x --libdir=/usr/lib32 CFLAGS="-O2 -march=i686 -mtune=i686" Compiling wine-6.18 and wine-6.19, fails with: /dlls/ntdll/unix/system.c: In function ‘init_cpu_info’: /dlls/ntdll/unix/system.c:250:5: error: inconsistent operand constraints in an ‘asm’ -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Nathan Bennett <version2013(a)protonmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Other -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4(a)web.de --- Comment #1 from Fabian Maurer <dark.shadow4(a)web.de> --- Not sure what the minimum supported GCC version is, but is there a reason you can't update your GCC? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #2 from Nathan Bennett <version2013(a)protonmail.com> --- Even if I could update GCC in this specific distro version I am using, I was hoping to continue using this older distro with newer versions of wine. It appears I may have to cease compiling wine in this specific distro version. Last wine that compiled successfully was 6.16. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #3 from Nathan Bennett <version2013(a)protonmail.com> --- Clarifying what I wrote; updating my GCC is irrelevant to my point. I was hoping to continue using older distros, with older GCC, to compile newer versions of wine. I suppose it is to be expected, as wine is updated, another older GCC version fails to compile the updated wine. A minimum GCC version is absent official documentation, as far as I am aware. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Keywords| |regression, source Regression SHA1| |7b95cdffa6b12eca9c10a6ab45b | |50fcf1f9fa3a4 Ever confirmed|0 |1 --- Comment #4 from Fabian Maurer <dark.shadow4(a)web.de> --- Confirming. Well, not entirely sure why you'd use that old of a distro, but I guess you have your reasons. I personally don't see why we shouldn't support that, as long as the effort isn't too much. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #5 from Fabian Maurer <dark.shadow4(a)web.de> --- Created attachment 70787 --> https://bugs.winehq.org/attachment.cgi?id=70787 Patch to fix compilation with gcc 4.8 Attaching a patch that *should* fix the issue. Not 100% sure, since I use a newer distro and running code compiled with gcc 4.8 crashes with a segfault instantly... Please report back on whether that fixes the issue for you, and whether wine actually works with that. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Zebediah Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #6 from Zebediah Figura <z.figura12(a)gmail.com> --- (In reply to Fabian Maurer from comment #5)
Created attachment 70787 [details] Patch to fix compilation with gcc 4.8
Attaching a patch that *should* fix the issue. Not 100% sure, since I use a newer distro and running code compiled with gcc 4.8 crashes with a segfault instantly... Please report back on whether that fixes the issue for you, and whether wine actually works with that.
That can't work. There's no guarantee that ebx doesn't get scratched between two separate asm blocks, and you're missing an ebx clobber in the first block anyway. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #7 from Fabian Maurer <dark.shadow4(a)web.de> --- Created attachment 70789 --> https://bugs.winehq.org/attachment.cgi?id=70789 Patch v2 Thanks, I knew I must've missed something... I mean, it worked, but I admit I don't know what you all need for inline assembly to *reliably* work. Anyways, the point is that we can't clobber ebx. What about the new patch I attached? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #70787|0 |1 is obsolete| | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #8 from Nathan Bennett <version2013(a)protonmail.com> --- (In reply to Fabian Maurer from comment #7) Used Patch v2 Compiling finished with 'Wine Build Complete'. Thank you. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #9 from Nathan Bennett <version2013(a)protonmail.com> --- (In reply to Fabian Maurer from comment #7) wine-6.21 Used Patch v2 Compiling finished with 'Wine Build Complete'. Thank you. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest(a)luukku.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Jacek Caban <jacek(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek(a)codeweavers.com --- Comment #10 from Jacek Caban <jacek(a)codeweavers.com> --- Created attachment 71290 --> https://bugs.winehq.org/attachment.cgi?id=71290 fix We could use something like the attached patch to avoid the problem. In theory we have a similar problem in __cpuidex from intrin.h. That one is used only for PE parts, so an archaic host GCC does not use it as long as mingw is available. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #11 from Fabian Maurer <dark.shadow4(a)web.de> --- @Jacek Caban Yes, that looks similar to how it was before it got changed. However, isn't my shorter version preferable? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #12 from Jacek Caban <jacek(a)codeweavers.com> --- When inline assembly is causing problems, I think it's safer to just avoid inline assembly instead of working around problems. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #13 from Fabian Maurer <dark.shadow4(a)web.de> --- It's a well known issue with older gcc (can't clobber ebx), I don't see how that's unsafe. I mean, the x64 version already works, just need a tweak for 32bit. I would prefer the simpler version, since it's a lot less invasive. Just backup and restore the register. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Jacek Caban <jacek(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Fixed by SHA1| |d0413d833f430a487589283c53f | |797da2b4f48a0 Status|NEW |RESOLVED --- Comment #14 from Jacek Caban <jacek(a)codeweavers.com> --- Inline assembly works around the problem while full assembly implementation avoids the problem in the first place and it's less invasive comparing to pre-regression code. It's fixed in git. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|dlls/ntdll/unix/system.c: |Error compiling function |In function ‘init_cpu_info’ |init_cpu_info() in | |dlls/ntdll/unix/system.c | |with GCC 4.8.4 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 --- Comment #15 from Nathan Bennett <version2013(a)protonmail.com> --- Compiling wine-7.0-rc2 results in "Wine build complete" Thank you. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51862 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #16 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 7.0-rc3. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla