open-license-manager / licensecc

Software licensing, copy protection in C++. It has few dependencies and it's cross-platform.
http://open-license-manager.github.io/licensecc/
BSD 3-Clause "New" or "Revised" License
947 stars 300 forks source link

get CPUID error on Arm based linux system #115

Closed ray-lee-94 closed 3 years ago

ray-lee-94 commented 3 years ago
static void _getCpuid(unsigned int *p, unsigned int ax) {
    __asm __volatile
    ( "movl %%ebx, %%esi\n\t"
            "cpuid\n\t"
            "xchgl %%ebx, %%esi"
            : "=a" (p[0]), "=S" (p[1]),
            "=c" (p[2]), "=d" (p[3])
            : "0" (ax)
    );
}

The log:

In function ‘_getCpuid’:
external/open-license-manager-develop/open-license-manager-develop/src/library/os/os-linux.c:216:2: error: impossible constraint in ‘asm’
  __asm __volatile
gcontini commented 3 years ago

arm is not a supported platform. See #83 It should be easy to go around the limitation and if you make it work we accept contributions.