-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[openmp] __kmp_x86_cpuid fix for i386/PIC builds. #84626
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
17b22a3
to
a833508
Compare
✅ With the latest revision this PR passed the C/C++ code formatter. |
1fa2a7c
to
f6d36ac
Compare
f6d36ac
to
f763725
Compare
cc @MaskRay |
I'm sorry to say but this change actually broke 32-bit builds on Gentoo, when using GCC. Most of the tests segfault now, e.g.:
My educated guess is that you aren't listing |
What happens if you do the following instead ? __asm__ __volatile__("pushl %%ebx\n"
"cpuid\n"
"mov %%ebx,%1\n"
"popl %%ebx"
: "=a"(p->eax), "=b"(p->ebx), "=c"(p->ecx), "=d"(p->edx)
: "a"(leaf), "c"(subleaf)); |
Actually, this change makes no sense to me (either the committed or the proposed variant). You're explicitly specifying On top of that, you're effectively clobbering |
Adding a revert on top of dbbdee2 (this is the commit I've originally tested) makes all tests pass again. |
ok let s revert it then. |
No description provided.