Re: BUG #18839: ARMv7 builds fail due to missing __crc32cw and similar

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

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Mathew Heard <mat999@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-03-14T00:19:42Z
Lists: pgsql-bugs
Mathew Heard <mat999@gmail.com> writes:
> The relevant commit we have removed from our build that has returned the
> ability to build is.
> https://github.com/postgres/postgres/commit/5980f1884fc911af120c98ad440b9546ed9012c5
> GCC 12.2.0-3 (latest for debian bullseye)
> Debian Bullseye
> ARMv7 (Allwinner H3)

I spent some time today trying to reproduce this, without success.
One thing I noticed is that Debian 11 seems to have shipped with
gcc 10.2.1, while gcc 12.2.0 comes with Debian 12 (Bookworm).
I don't doubt that you can get gcc 12 for Debian 11, but I wonder
if there's some OS-vs-compiler version skew underlying this issue
for you.

The real question though is how the configure test could succeed
only to get a failure in the main build.  If you would get
"undefined reference to `__crc32cb'" etc in the main build,
the configure probe should have failed in the same way.
I tried assorted -march settings with both of those gcc versions
and it acted as-expected for me.

			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. Update configure probes for CFLAGS needed for ARM CRC instructions.