pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Bastien Roucariès <rouca@debian.org>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: Detection of hadware feature => please do not use signal
Date: Mon, 25 Nov 2024 10:41:37 -0500
Message-ID: <1346552.1732549297@sss.pgh.pa.us> (raw)
In-Reply-To: <1229505.1732498033@sss.pgh.pa.us>
References: <4496616.iHFcN1HehY@portable-bastien>
	<af84e934-4e9c-4380-95ee-8921dab1254b@iki.fi>
	<1156374.1730396928@sss.pgh.pa.us>
	<7ec1c65c-1a28-49a7-af43-f77c260a3df6@iki.fi>
	<1292593.1730399134@sss.pgh.pa.us>
	<CA+hUKGLRXq0-s0n2=dy_A5iY-Omg628osyJEJMjPQ=6m566UgA@mail.gmail.com>
	<707008.1732325995@sss.pgh.pa.us>
	<CA+hUKGJPrRow2aiUSK=aep5nyXUaB0gBoDJQKfyCsP=-ivfapg@mail.gmail.com>
	<736756.1732341046@sss.pgh.pa.us>
	<865773.1732399354@sss.pgh.pa.us>
	<CA+hUKGLOh5kr4fvGFnpOq+_QuXErsYRL4kcSpBYqKdQLa3keBw@mail.gmail.com>
	<885805.1732406935@sss.pgh.pa.us>
	<CA+hUKGKucCptPdnuQtMGpAD3zYTFN0DMpO3D8fDhmuS1c-yBUA@mail.gmail.com>
	<1074317.1732479406@sss.pgh.pa.us>
	<CA+hUKG+CghJfzhsqTwxxfZoMTA0uKtG8ka02Ydba+qbxOCV5nA@mail.gmail.com>
	<1216860.1732491268@sss.pgh.pa.us>
	<CA+hUKGLn70U1Ti+NSeYkQBU83fM5Q8-amnC8Cvge6p3xUY9nBQ@mail.gmail.com>
	<1229505.1732498033@sss.pgh.pa.us>

I wrote:
> I also confirmed that our existing code works on Fedora 30 armv7l
> (also hard-float) with gcc 9.3.1.  That's the only other ARM32
> image I have at hand :-(

> So yeah, it would seem they broke it between 10.2.1 and 10.5.0.

After discussion with the gcc folk (see bug report linked upthread)
it emerges that there was indeed a change somewhere in that time
frame.  It used to be that if the platform defaults were
"-march=A -mfpu=X" then writing "-march=B" on the command line
would still leave you with "-mfpu=X", possibly a nonsensical
combination.  So now they ignore any build-time default, with
the effect that writing just "-march=armv8-a+crc" selects soft
float, which fails on platforms that require hard-float ABI.
(I didn't ask whether this was the same change prompted by the
other bug report you found, but perhaps it was.)

Also, there's no +fp option for "-march=armv8-a" because the
ARMv8 specs require chips to implement both or neither of FP
and SIMD.  So the idiomatic thing for us to write is not a
separate -mfpu spec but "-march=armv8-a+crc+simd".  I'll
adjust my patch to do it like that and push later today.

			regards, tom lane





view thread (37+ messages)  latest in thread

Message-ID: <1346552.1732549297@sss.pgh.pa.us>
Permalink:  ../1346552.1732549297@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/1346552.1732549297@sss.pgh.pa.us

 · 

reply

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: tgl@sss.pgh.pa.us, thomas.munro@gmail.com, 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: <1346552.1732549297@sss.pgh.pa.us>

* 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