disallow big-endian on aarch64

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Cc: andres(at)anarazel(dot)de
Subject: disallow big-endian on aarch64
Date: 2025-10-02 20:16:30
Message-ID: aN7dnsVUGaTW8q2k@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Some recent work involving SIMD instructions on AArch64 made me wonder
whether we support $SUBJECT. For reference, AArch64 is bi-endian, but
AFAICT all current AAarch64 buildfarm machines are on macOS, Linux, or
FreeBSD, which appear to require little-endian [0] [1] [2]. I know there
are efforts to support Windows on AAarch64, but that requires
little-endian, too [3]. Given the apparent convergence on little-endian,
IMHO we should require it for Postgres, too. The attached patch adds some
configure-time checks for this.

[0] https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon#Address-Architectural-Differences
[1] https://github.com/torvalds/linux/commit/1cf89b6b
[2] https://github.com/freebsd/freebsd-src/commit/ad0a6546
[3] https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#endianness

--
nathan

Attachment Content-Type Size
v1-0001-disallow-big-endian-on-aarch64.patch text/plain 1.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-10-02 20:29:39 Re: disallow big-endian on aarch64
Previous Message Tom Lane 2025-10-02 20:16:02 Re: split func.sgml to separated individual sgml files