Provide error hint on exit() check when building libpq

Commit dc227eb82 introduced a restriction on libpq that no functions which
invoke exit() are allowed to be called. This was further refined and fixed
in e45b0dfa1f and 2f7bae2f92 and 792259591. While this is well documented
in the Makefile, the error message emitted when the check failed was terse,
without hints for new developers without prior context. This adds an error
hint to assist new developers onboarding to postgres.

Author: Rachel Heaton <rheaton@vmware.com>
Co-authored-by: Jacob Champion <pchampion@vmware.com>
Discussion: https://postgr.es/m/CADJcwiVL20955HCNzDqz9BEDr6A77pz6-nac5sbZVvhAEMijLg@mail.gmail.com
This commit is contained in:
Daniel Gustafsson 2021-10-04 14:32:21 +02:00
parent ce27c8953e
commit e9bc0441f1
1 changed files with 3 additions and 1 deletions

View File

@ -115,7 +115,9 @@ backend_src = $(top_srcdir)/src/backend
libpq-refs-stamp: $(shlib)
ifneq ($(enable_coverage), yes)
ifeq (,$(filter aix solaris,$(PORTNAME)))
! nm -A -u $< 2>/dev/null | grep -v __cxa_atexit | grep exit
@if nm -a -u $< 2>/dev/null | grep -v __cxa_atexit | grep exit; then \
echo 'libpq must not be calling any function which invokes exit'; exit 1; \
fi
endif
endif
touch $@