Re: AIX support - alignment issues
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Noah Misch <noah@leadboat.com>, pgsql-hackers@postgresql.org
Date: 2022-07-05T06:31:15Z
Lists: pgsql-hackers
Hi, On 2022-07-05 08:13:21 +0200, Peter Eisentraut wrote: > On 05.07.22 07:31, Andres Freund wrote: > > On 2022-07-02 11:33:54 -0700, Andres Freund wrote: > > > If we decide we want to continue supporting AIX we should bite the bullet and > > > add a 64bit-int TYPALIGN_*. It might be worth to translate that to bytes when > > > building tupledescs, so we don't need more branches (reducing them compared to > > > today). > > > > I just thought an easier way - why don't we introduce a 'catalog_double' > > that's defined to be pg_attribute_aligned(whatever-we-need) on AIX? Then we > > can get rid of the manually enforced alignedness and we don't need to contort > > catalog order. > > Isn't the problem that on AIX, double and int64 have different alignment > requirements, and we just check the one for double and apply it to int64? > That ought to be fixable by two separate alignment checks in configure and a > new alignment letter for pg_type. Except that that's quite a bit of work to get right, particularly without regressing the performance on all platforms. The attalign switches during tuple deforming are already quite hot. Greetings, Andres Freund
Commits
-
Doc: Acknowledge historically supported CPUs and OSes.
- 14168d3c62fa 16.0 landed
-
Further tidy-up for old CPU architectures.
- 718aa43a4ee6 16.0 landed
-
Tidy up claimed supported CPUs and OSes.
- 92d70b77ebb4 16.0 landed
-
Remove HP/Intel Itanium support.
- 0ad5b48e5894 16.0 landed
-
Remove HP-UX port.
- 9db300ce6e38 16.0 landed
-
Reorder subskiplsn in pg_subscription to avoid alignment issues.
- 79b716cfb7a1 15.0 cited
-
Tighten TAP tests' tracking of postmaster state some more.
- 4fdbf9af5184 15.0 cited
-
Reorder pg_sequence columns to avoid alignment issue
- f3b421da5f4a 10.0 cited