Re: Centralised architecture detection

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Greg Burd" <greg@burd.me>
Cc: "Thomas Munro" <thomas.munro@gmail.com>, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>, "PostgreSQL Hackers" <pgsql-hackers@lists.postgresql.org>, "Andres Freund" <andres@anarazel.de>, "Lukas Fittl" <lukas@fittl.com>, "John Naylor" <johncnaylorls@gmail.com>, "Bryan Green" <dbryan.green@gmail.com>
Date: 2026-07-01T13:20:32Z
Lists: pgsql-hackers
"Greg Burd" <greg@burd.me> writes:
> On Tue, Jun 30, 2026, at 9:11 PM, Tom Lane wrote:
>> Based on that thread, I'm thinking
>> #if SIZEOF_VOID_P == 8

> I don't see SIZEOF_VOID_P but I do find:
> #define __SIZEOF_POINTER__ 8

SIZEOF_VOID_P is set up by autoconf/meson via pg_config.h.
So it will be available here.  I'd rather use our own
symbol because, if other arches emerge with similar issues,
we can be sure of having a common pattern to follow.

I do see __SIZEOF_POINTER__ getting predefined locally
(in recent gcc and clang on x86_64), but it's far from clear
to me how standard, or well-documented, that macro is.

			regards, tom lane



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix CPU-identification macros for RISC-V.

  2. Clean up inconsistencies in CPU-identification macros.