i386 -fPIC requires `%ebx`
Summary:On i368 (until, I'm lead to believe i686) `%ebx` is used for the PIC register. Thus, when we use cpuid, we clobber that register and gcc loudly complains:
folly/CpuId.h: In member function 'virtual void CpuId_Simple_Test::TestBody()':
folly/CpuId.h:67:61: error: PIC register clobbered by 'ebx' in 'asm'
__asm__("cpuid" : "=a"(n) : "a"(0) : "ebx", "edx", "ecx");
Reviewed By: yfeldblum
Differential Revision:
D2991229
fb-gh-sync-id:
ee8795e36a4c173147d61e26c9590ec5da1d02b5
shipit-source-id:
ee8795e36a4c173147d61e26c9590ec5da1d02b5