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