Re: Compile error on the aarch64 platform: Missing asm/hwcap.h

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Steven Niu <niushiji@gmail.com>
Cc: John Naylor <johncnaylorls@gmail.com>, 高增琦 <pgf00a@gmail.com>, "tmunro@postgresql.org" <tmunro@postgresql.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-17T20:31:37Z
Lists: pgsql-hackers

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 pg_popcount_aarch64.c to build with ancient glibc releases.

  2. Fix pg_crc32c_armv8_choose.c to build with ancient glibc releases.

I wrote:
> ... I'm inclined to think
> it's better to do something like

> +#if defined(__linux__) && (defined(__aarch64__) ? !defined(HWCAP_CRC32) : !defined(HWCAP2_CRC32))

> or perhaps that's too unreadable and we should break it out into
> multiple #if's.

I tried it as a nest of #ifdef's and decided that was none too
readable either, so pushed it as above.  Thanks for the report!

			regards, tom lane