Re: Centralised architecture detection
Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: 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-04-09T10:29:22Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@gmail.com> writes:
> Instead of repeating compilers' architecture macros throughout the tree
> and sometimes getting it wrong, let's detect them in one central place,
> and define our own macros of the form:
>
> PG_ARCH_{ARM,LOONGARCH,MIPS,PPC,RISCV,S390,SPARC,X86}
> PG_ARCH_{ARM,LOONGARCH,MIPS,PPC,RISCV,S390,SPARC,X86}_{32,64}
[...]
> diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c
> index 5a1b1e10091..9c4e02e428b 100644
> --- a/contrib/pgcrypto/crypt-blowfish.c
> +++ b/contrib/pgcrypto/crypt-blowfish.c
> @@ -38,10 +38,10 @@
> #include "px-crypt.h"
> #include "px.h"
>
> -#ifdef __i386__
> +#if defined(PG_ARCH_X86_32)
> #define BF_ASM 0 /* 1 */
> #define BF_SCALE 1
> -#elif defined(__x86_64__)
> +#elif defined(PG_ARCH_X86_64)
> #define BF_ASM 0
> #define BF_SCALE 1
> #else
These could be combined into a single #ifdef PG_ARCH_X86. Also, BF_ASM
has never been defined to anything but 0 since this file was added in
2001, and the _BF_body_r function it would call in that case has never
existed, so we could get rid of it (but that would be for a separate
patch).
- ilmari
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix CPU-identification macros for RISC-V.
- d3223485546e master landed
-
Clean up inconsistencies in CPU-identification macros.
- 2ef57e636fc9 master landed