Remove AIX support
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 28 Feb 2024 11:10:51 +0000 (15:10 +0400)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 28 Feb 2024 11:17:23 +0000 (15:17 +0400)
commit0b16bb8776bb834eb1ef8204ca95dd7667ab948b
treea06173763fba46c78613abb5b9181a88d98148e1
parentbcdfa5f2e2f274caeed20b2f986012a9cb6a259c
Remove AIX support

There isn't a lot of user demand for AIX support, we have a bunch of
hacks to work around AIX-specific compiler bugs and idiosyncrasies,
and no one has stepped up to the plate to properly maintain it.
Remove support for AIX to get rid of that maintenance overhead. It's
still supported for stable versions.

The acute issue that triggered this decision was that after commit
8af2565248, the AIX buildfarm members have been hitting this
assertion:

    TRAP: failed Assert("(uintptr_t) buffer == TYPEALIGN(PG_IO_ALIGN_SIZE, buffer)"), File: "md.c", Line: 472, PID: 2949728

Apperently the "pg_attribute_aligned(a)" attribute doesn't work on AIX
for values larger than PG_IO_ALIGN_SIZE, for a static const variable.
That could be worked around, but we decided to just drop the AIX support
instead.

Discussion: https://www.postgresql.org/message-id/20240224172345.32@rfd.leadboat.com
Reviewed-by: Andres Freund, Noah Misch, Thomas Munro
33 files changed:
Makefile
config/c-compiler.m4
configure
configure.ac
doc/src/sgml/dfunc.sgml
doc/src/sgml/installation.sgml
doc/src/sgml/runtime.sgml
meson.build
src/Makefile.shlib
src/backend/Makefile
src/backend/meson.build
src/backend/port/aix/mkldexport.sh [deleted file]
src/backend/utils/error/elog.c
src/backend/utils/misc/ps_status.c
src/bin/pg_basebackup/t/010_pg_basebackup.pl
src/bin/pg_verifybackup/t/008_untar.pl
src/bin/pg_verifybackup/t/010_client_untar.pl
src/include/c.h
src/include/port/aix.h [deleted file]
src/include/port/atomics.h
src/include/storage/s_lock.h
src/interfaces/libpq/Makefile
src/interfaces/libpq/meson.build
src/makefiles/Makefile.aix [deleted file]
src/port/README
src/port/strerror.c
src/template/aix [deleted file]
src/test/regress/Makefile
src/test/regress/expected/sanity_check.out
src/test/regress/sql/sanity_check.sql
src/tools/gen_export.pl
src/tools/pginclude/cpluspluscheck
src/tools/pginclude/headerscheck