1*a325d9c4SApple OSS Distributions #include <spawn.h> 2*a325d9c4SApple OSS Distributions /* 3*a325d9c4SApple OSS Distributions * Returns the subcpu type for the architecture for which the 4*a325d9c4SApple OSS Distributions * binary was compiled. 5*a325d9c4SApple OSS Distributions */ 6*a325d9c4SApple OSS Distributions int main(void)7*a325d9c4SApple OSS Distributionsmain(void) 8*a325d9c4SApple OSS Distributions { 9*a325d9c4SApple OSS Distributions #if defined(__x86_64__) 10*a325d9c4SApple OSS Distributions return CPU_SUBTYPE_X86_64_ALL; 11*a325d9c4SApple OSS Distributions #elif __arm64e__ 12*a325d9c4SApple OSS Distributions return CPU_SUBTYPE_ARM64E; 13*a325d9c4SApple OSS Distributions #elif defined(__arm64__) && defined(__LP64__) 14*a325d9c4SApple OSS Distributions return CPU_SUBTYPE_ARM64_ALL; 15*a325d9c4SApple OSS Distributions #elif defined(__arm64__) 16*a325d9c4SApple OSS Distributions return CPU_SUBTYPE_ARM64_32_ALL; 17*a325d9c4SApple OSS Distributions #elif defined(__arm__) 18*a325d9c4SApple OSS Distributions return CPU_SUBTYPE_ARM_V7K; 19*a325d9c4SApple OSS Distributions #else 20*a325d9c4SApple OSS Distributions #error unknown architecture 21*a325d9c4SApple OSS Distributions #endif 22*a325d9c4SApple OSS Distributions } 23