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 <[email protected]> Author: Srirama Kucherlapati <[email protected]> Co-authored-by: Peter Eisentraut <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/cy5pr11mb63928cc05906f27fb10d74d0fd...@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(-)
