From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Bastien Roucariès <rouca@debian.org>
To: pgsql-bugs@lists.postgresql.org
Subject: Re: Detection of hadware feature => please do not use signal
Date: Thu, 31 Oct 2024 19:29:45 +0200
Message-ID: <af84e934-4e9c-4380-95ee-8921dab1254b@iki.fi> (raw)
In-Reply-To: <4496616.iHFcN1HehY@portable-bastien>
References: <4496616.iHFcN1HehY@portable-bastien>
On 31/10/2024 17:41, Bastien Roucariès wrote:
> Hi,
>
> On debian side we will like to avoid use of sigill to detect feature.
>
> https://sources.debian.org/src/postgresql-17/17.0-1/src/port/pg_crc32c_armv8_choose.c/#L55
>
> is really bad.
Why is it bad?
> Could you use the canonical way under linux
>
> #include <sys/auxv.h>
> #include <asm/hwcap.h>
>
> #if defined(__aarch64__)
> return !(getauxval(AT_HWCAP) & HWCAP_CRC32);
> #else
> return !(getauxval(AT_HWCAP2) & HWCAP2_CRC32);
> #endif
We used to do that, but it was changed in commit 1c72ec6f. Looking at
the discussion that led to it, it's not clear to me why we switched [1].
Portablity to non-glibc systems maybe?
If there's a handy, portable way to check CPU capabilities, I agree it
seem less hacky than catching SIGILL...
[1]
https://www.postgresql.org/message-id/CAEepm%3D02Run-Pk3xyt%2BRV3p1N%2B7cKZxN95_MamaJw8Cnw%2BDwjQ%40...
--
Heikki Linnakangas
Neon (https://neon.tech)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: hlinnaka@iki.fi, rouca@debian.org, pgsql-bugs@lists.postgresql.org
Subject: Re: Detection of hadware feature => please do not use signal
In-Reply-To: <af84e934-4e9c-4380-95ee-8921dab1254b@iki.fi>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox