mirror of
https://github.com/json-c/json-c.git
synced 2026-04-05 21:39:06 +08:00
Fix segmentation fault in CPUID check
This commit is contained in:
@@ -26,19 +26,8 @@
|
|||||||
static void do_cpuid(int regs[], int h)
|
static void do_cpuid(int regs[], int h)
|
||||||
{
|
{
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__("cpuid"
|
||||||
#if defined __x86_64__
|
: "=a"(regs[0]), "=b"(regs[1]), "=c"(regs[2]), "=d"(regs[3])
|
||||||
"pushq %%rbx;\n"
|
|
||||||
#else
|
|
||||||
"pushl %%ebx;\n"
|
|
||||||
#endif
|
|
||||||
"cpuid;\n"
|
|
||||||
#if defined __x86_64__
|
|
||||||
"popq %%rbx;\n"
|
|
||||||
#else
|
|
||||||
"popl %%ebx;\n"
|
|
||||||
#endif
|
|
||||||
: "=a"(regs[0]), [ebx] "=r"(regs[1]), "=c"(regs[2]), "=d"(regs[3])
|
|
||||||
: "a"(h));
|
: "a"(h));
|
||||||
/* clang-format on */
|
/* clang-format on */
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user