From: Noah Misch Date: Thu, 16 Jul 2015 01:00:26 +0000 (-0400) Subject: AIX: Link the postgres executable with -Wl,-brtllib. X-Git-Tag: REL9_5_ALPHA2~104 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c2b824e34e2ba9a26e914a41f4dd53f27304dc70;p=postgresql AIX: Link the postgres executable with -Wl,-brtllib. This allows PostgreSQL modules and their dependencies to have undefined symbols, resolved at runtime. Perl module shared objects rely on that in Perl 5.8.0 and later. This fixes the crash when PL/PerlU loads such modules, as the hstore_plperl test suite does. Module authors can link using -Wl,-G to permit undefined symbols; by default, linking will fail as it has. Back-patch to 9.0 (all supported versions). --- diff --git a/src/backend/Makefile b/src/backend/Makefile index 4f0ea3f60c..98b978f3da 100644 --- a/src/backend/Makefile +++ b/src/backend/Makefile @@ -88,7 +88,7 @@ endif # win32 ifeq ($(PORTNAME), aix) postgres: $(POSTGRES_IMP) - $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $(call expand_subsys,$(OBJS)) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -o $@ + $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $(call expand_subsys,$(OBJS)) -Wl,-bE:$(top_builddir)/src/backend/$(POSTGRES_IMP) $(LIBS) -Wl,-brtllib -o $@ $(POSTGRES_IMP): $(OBJS) $(LD) $(LDREL) $(LDOUT) SUBSYS.o $(call expand_subsys,$^)