mirror of
https://github.com/postgres/postgres.git
synced 2025-11-18 02:02:55 +03:00
Fix pg_crc32c_armv8_choose.c to build with ancient glibc releases.
If you go back as far as the RHEL7 era, <sys/auxv.h> does not provide
the HWCAPxxx macros needed with elf_aux_info or getauxval, so you need
to get those from the kernel header <asm/hwcap.h> instead. We knew
that for the 32-bit case but failed to extrapolate to the 64-bit case.
Oversight in commit aac831caf.
Reported-by: GaoZengqi <pgf00a@gmail.com>
Author: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CAFmBtr3Av62-jBzdhFkDHXJF9vQmNtSnH2upwODjnRcsgdTytw@mail.gmail.com
Backpatch-through: 18
This commit is contained in:
@@ -26,7 +26,8 @@
|
||||
|
||||
#if defined(HAVE_ELF_AUX_INFO) || defined(HAVE_GETAUXVAL)
|
||||
#include <sys/auxv.h>
|
||||
#if defined(__linux__) && !defined(__aarch64__) && !defined(HWCAP2_CRC32)
|
||||
/* Ancient glibc releases don't include the HWCAPxxx macros in sys/auxv.h */
|
||||
#if defined(__linux__) && (defined(__aarch64__) ? !defined(HWCAP_CRC32) : !defined(HWCAP2_CRC32))
|
||||
#include <asm/hwcap.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user