Skip to content
  • Tanu Kaskinen's avatar
    core-util, cpu-x86: use __get_cpuid() instead of homegrown assembly · c8bd93c5
    Tanu Kaskinen authored
    The get_cpuid() function in cpu-x86.c was buggy on x86-64. When building
    without optimizations, the homegrown assembly code overwrote the
    beginning of the function argument list on the stack. That happened to
    work fine on regular x86-64, but caused crashing with the x32 ABI.
    
    At least GCC and clang provide cpuid.h, which has the __get_cpuid()
    function that can be used instead of the homegrown assembly.
    
    The PA_REG_* constants can be removed as well, because they're not used
    any more.
    
    BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=103656
    c8bd93c5