| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Tobias Bussmann <t(dot)bussmann(at)gmx(dot)net> |
| Cc: | John Naylor <johncnaylorls(at)gmail(dot)com>, Lukas Fittl <lukas(at)fittl(dot)com>, Jakob Egger <jakob(at)eggerapps(dot)at>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Sandeep Thakkar <sandeep(dot)thakkar(at)enterprisedb(dot)com> |
| Subject: | Re: Broken build on macOS (Universal / Intel): cpuid instruction not available |
| Date: | 2026-06-02 15:20:46 |
| Message-ID: | 2927612.1780413646@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
I wrote:
> However, it definitely is a regression that the build fails
> altogether. Too bad nobody tried the x86 -> ARM case earlier.
I replicated this on longfin's host (x86_64 mac mini).
It seems there are two problems:
1. pg_cpu.h believes that x86-specific code can be conditional on
#if defined(USE_SSE2) || defined(__i386__)
but macOS doesn't define __i386__, only __x86_64__. It works
anyway on single-arch builds because the test to set USE_SSE2
succeeds, but not on multi-arch builds.
2. checksum.c believes that it's okay to call x86_feature_available
if USE_AVX2_WITH_RUNTIME_CHECK is set. I didn't track down just
why that's getting set in a multi-arch build when USE_SSE2 is not,
but it is, and that's probably good since it means we get at least
some optimization for x86 Macs. But we have to disregard it when
we're doing the ARM side.
The attached quick hack makes the build work on my machine.
I'm hesitant to shove it into the tree though because I'm
not too certain whether there could be side-effects on
other platforms. I think the way to proceed for now is for
EDB to apply this patch in their build of beta1, and we can
review the patch at leisure afterwards.
regards, tom lane
| Attachment | Content-Type | Size |
|---|---|---|
| quick-fix.patch | text/x-diff | 945 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tomas Vondra | 2026-06-02 15:22:36 | Re: hashjoins vs. Bloom filters (yet again) |
| Previous Message | Tobias Bussmann | 2026-06-02 15:10:49 | Re: Broken build on macOS (Universal / Intel): cpuid instruction not available |