diff options
| author | Heikki Linnakangas | 2024-02-28 11:10:51 +0000 |
|---|---|---|
| committer | Heikki Linnakangas | 2024-02-28 11:17:23 +0000 |
| commit | 0b16bb8776bb834eb1ef8204ca95dd7667ab948b (patch) | |
| tree | a06173763fba46c78613abb5b9181a88d98148e1 /src/Makefile.shlib | |
| parent | bcdfa5f2e2f274caeed20b2f986012a9cb6a259c (diff) | |
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
Diffstat (limited to 'src/Makefile.shlib')
| -rw-r--r-- | src/Makefile.shlib | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 8ca51ca03f7..fa81f6ffdd6 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -106,20 +106,6 @@ ifdef SO_MAJOR_VERSION override CPPFLAGS += -DSO_MAJOR_VERSION=$(SO_MAJOR_VERSION) endif -ifeq ($(PORTNAME), aix) - LINK.shared = $(COMPILER) - ifdef SO_MAJOR_VERSION - shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) - endif - haslibarule = yes - # $(exports_file) is also usable as an import file - exports_file = lib$(NAME).exp - BUILD.exports = ( echo '\#! $(shlib)'; $(AWK) '/^[^\#]/ {printf "%s\n",$$1}' $< ) > $@ - ifneq (,$(SHLIB_EXPORTS)) - LINK.shared += -Wl,-bE:$(exports_file) - endif -endif - ifeq ($(PORTNAME), darwin) ifdef soname # linkable library @@ -268,14 +254,6 @@ $(stlib): $(OBJS) | $(SHLIB_PREREQS) touch $@ endif #haslibarule -# AIX wraps shared libraries inside a static library, can be used both -# for static and shared linking -ifeq ($(PORTNAME), aix) -$(stlib): $(shlib) - rm -f $(stlib) - $(AR) $(AROPT) $(stlib) $(shlib) -endif # aix - ifeq (,$(filter cygwin win32,$(PORTNAME))) # Normal case @@ -289,11 +267,8 @@ ifneq ($(shlib), $(shlib_major)) endif # Make sure we have a link to a name without any version numbers ifneq ($(shlib), $(shlib_bare)) -# except on AIX, where that's not a thing -ifneq ($(PORTNAME), aix) rm -f $(shlib_bare) $(LN_S) $(shlib) $(shlib_bare) -endif # aix endif # shlib_bare endif # shlib_major @@ -401,9 +376,6 @@ install-lib-static: $(stlib) installdirs-lib install-lib-shared: $(shlib) installdirs-lib ifdef soname -# we don't install $(shlib) on AIX -# (see http://archives.postgresql.org/message-id/52EF20B2E3209443BC37736D00C3C1380A6E79FE@EXADV1.host.magwien.gv.at) -ifneq ($(PORTNAME), aix) $(INSTALL_SHLIB) $< '$(DESTDIR)$(libdir)/$(shlib)' ifneq ($(PORTNAME), cygwin) ifneq ($(PORTNAME), win32) @@ -419,7 +391,6 @@ ifneq ($(shlib), $(shlib_bare)) endif endif # not win32 endif # not cygwin -endif # not aix ifneq (,$(findstring $(PORTNAME),win32 cygwin)) $(INSTALL_SHLIB) $< '$(DESTDIR)$(bindir)/$(shlib)' endif |
