Fix universal builds on MacOS

Commit 16743db06 assumed that the CPUID instruction was always
available when the usual x86 symbols were defined. That is not the
case, so zero out the info rather than error out.

Reported-by: Jakob Egger <jakob@eggerapps.at>
Reported-by: Tobias Bussmann <t.bussmann@gmx.net>
Suggested-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/223EA201-A0E8-4A13-B220-EB903E8DF817@eggerapps.at
This commit is contained in:
John Naylor 2026-05-08 16:44:25 +07:00
parent 9d124a14b3
commit 901ed9b352

View file

@ -63,12 +63,11 @@ mask_available(uint32 value, uint32 mask)
static inline void
pg_cpuid(int leaf, unsigned int *reg)
{
memset(reg, 0, 4 * sizeof(unsigned int));
#if defined(HAVE__GET_CPUID)
__get_cpuid(leaf, &reg[EAX], &reg[EBX], &reg[ECX], &reg[EDX]);
#elif defined(HAVE__CPUID)
__cpuid((int *) reg, leaf);
#else
#error cpuid instruction not available
#endif
}