| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Restore AIX support. |
| Date: | 2026-02-23 18:34:34 |
| Message-ID: | E1vualO-000reI-07@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Restore AIX support.
The concerns that led us to remove AIX support in commit 0b16bb877
have now been alleviated:
1. IBM has stepped forward to provide support, including buildfarm
animal(s).
2. AIX 7.2 and later seem to be fine with large pg_attribute_aligned
requirements. Since 7.1 is now EOL anyway, we can just cease to
support it.
3. Tossing xlc support overboard seems okay as well. It's a bit
sad to drop one of the few remaining non-gcc-alike compilers, but
working around xlc's bugs and idiosyncrasies doesn't seem justified
by the theoretical portability benefits.
4. Likewise, we can stop supporting 32-bit AIX builds. This is
not so much about whether we could build such executables as that
they're too much of a pain to manage in the field, due to limited
address space available for dynamic library loading.
5. We hit on a way to manage catalog column alignment that doesn't
require continuing developer effort (see commit ecae09725).
Hence, this commit reverts 0b16bb877 and some follow-on commits
such as e6bb491bf, except for not putting back XLC support nor
the changes related to catalog column alignment.
Some other notable changes from the way things were in v16:
Prefer unnamed POSIX semaphores on AIX, rather than the default
choice of SysV semaphores.
Include /opt/freeware/lib in -Wl,-blibpath, even when it is not
mentioned anywhere in LDFLAGS.
Remove platform-specific adjustment of MEMSET_LOOP_LIMIT; maybe
that's still the right thing, but it really ought to be re-tested.
Silence compiler warnings related to getpeereid(), wcstombs_l(),
and PAM conversation procs.
Accept "libpythonXXX.a" as an okay name for the Python shared
library (but only on AIX!).
Author: Aditya Kamath <Aditya(dot)Kamath1(at)ibm(dot)com>
Author: Srirama Kucherlapati <sriram(dot)rk(at)in(dot)ibm(dot)com>
Co-authored-by: Peter Eisentraut <peter(at)eisentraut(dot)org>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://postgr.es/m/CY5PR11MB63928CC05906F27FB10D74D0FD322@CY5PR11MB6392.namprd11.prod.outlook.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/4a1b05caa55dc14a1f936af78d8d19c843bfd8b9
Modified Files
--------------
Makefile | 2 -
config/python.m4 | 5 +++
configure | 9 +++-
configure.ac | 4 +-
doc/src/sgml/installation.sgml | 40 ++++++++++++++++-
doc/src/sgml/runtime.sgml | 23 ++++++++++
meson.build | 33 +++++++++++++-
src/Makefile.shlib | 29 ++++++++++++
src/backend/Makefile | 38 ++++++++++++++--
src/backend/meson.build | 19 ++++++++
src/backend/port/aix/mkldexport.sh | 71 ++++++++++++++++++++++++++++++
src/backend/utils/error/elog.c | 2 +
src/backend/utils/misc/ps_status.c | 4 +-
src/include/port/aix.h | 22 +++++++++
src/interfaces/ecpg/compatlib/meson.build | 2 +-
src/interfaces/ecpg/ecpglib/meson.build | 2 +-
src/interfaces/ecpg/pgtypeslib/meson.build | 2 +-
src/interfaces/libpq/Makefile | 2 +
src/interfaces/libpq/meson.build | 7 +--
src/makefiles/Makefile.aix | 42 ++++++++++++++++++
src/port/README | 2 +-
src/port/strerror.c | 2 +
src/template/aix | 19 ++++++++
src/test/regress/Makefile | 5 +++
src/tools/gen_export.pl | 17 +++++--
src/tools/pginclude/headerscheck | 1 +
26 files changed, 381 insertions(+), 23 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jacob Champion | 2026-02-23 18:58:07 | pgsql: libpq: Grease the protocol by default |
| Previous Message | Tom Lane | 2026-02-23 17:35:01 | pgsql: Cope with AIX's alignment woes by using _Pragma("pack"). |