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

  1. Doc: Acknowledge historically supported CPUs and OSes.

  2. Further tidy-up for old CPU architectures.

  3. Tidy up claimed supported CPUs and OSes.

  4. Remove HP/Intel Itanium support.

  5. Remove HP-UX port.

  6. Reorder subskiplsn in pg_subscription to avoid alignment issues.

  7. Tighten TAP tests' tracking of postmaster state some more.

  8. Reorder pg_sequence columns to avoid alignment issue