/* test segment register getting */ | |
#include <stdio.h> | |
int main() | |
{ | |
unsigned short gsw; | |
unsigned long gsl; | |
asm ("mov $~0, %0; movl %%gs, %0" : "=r" (gsl)); | |
asm ("mov $~0, %0; movw %%gs, %0" : "=r" (gsw)); | |
printf("%s\n", gsl == gsw ? "PASS" : "FAIL"); | |
return 0; | |
} |