Re: AIX support - alignment issues

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Geoghegan <pg@bowt.ie>, Andres Freund <andres@anarazel.de>, Noah Misch <noah@leadboat.com>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2022-07-08T02:35:29Z
Lists: pgsql-hackers

Attachments

On Thu, Jul 7, 2022 at 1:02 AM Peter Eisentraut
<peter.eisentraut@enterprisedb.com> wrote:
> On 06.07.22 04:21, Thomas Munro wrote:
> >       /*
> >        * Do not try to collapse these into one "w+" mode file. Doesn't work on
> > -      * some platforms (eg, HPUX 10.20).
> > +      * some platforms.
> >        */
> >       termin = fopen("/dev/tty", "r");
> >       termout = fopen("/dev/tty", "w");
>
> I don't know how /dev/tty behaves in detail under stdio.  I think
> removing this part of the comment might leave the impression that
> attempting to use "w+" will never work, whereas the existing comment
> appears to indicate that it was only very old platforms that had the
> issue.  If we don't have an immediate answer to that, I'd leave the
> comment as is.

Thanks.  I put that bit back, removed the stray mention of "itanium"
in Windows-specific stuff that Andres mentioned, and pushed these
patches.

While adjusting the docs,  I noticed a few little inconsistencies here
and there for other ISAs.

* The documented list of ISAs should by now mention RISC-V.  I'm sure
it needs some fine tuning but it's working fine and tested by the
build farm.
* The documented list mentions some in different endiannesses and word
sizes explicitly but not others; I think it'd be tidier to list the
main architecture names and then tack on a "big and little endian, 32
and 64 bit" sentence.
* Under "code exists, not tested" we mentioned M68K, M32R, VAX, but
M88K and SuperH are also in that category and have been added/tweaked
in the past decade with reports that imply that they were working on
retro-gear.  AFAIK only SuperH-family stuff is still produced.  I
don't know much about that and I'm not planning to change anything,
except one special mention...
* Since Greg Stark's magnificent Vax talk[1], we became even more
dependent on IEEE 754 via the Ryu algorithm.  AFAICT, unless someone
produces a software IEEE math implementation for GCC/VAX...  if I had
a pick one to bump off that list, that's the easiest to argue because
it definitely doesn't work.
* When we removed Alpha we left a couple of traces.

What do you think about the attached?

[1] https://archive.fosdem.org/2016/schedule/event/postgresql_on_vax/

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