While reproducing a static linking issue between libpq and libcrypto.a, I observed that the Makefile's symbol check incorrectly reports missing exit() symbols because 'grep exit' also matches 'atexit' and 'OPENSSL_atexit', etc.
Steps to reproduce: nm -A -u ./src/interfaces/libpq/libpq.a /usr/lib/x86_64-linux-gnu/libcrypto.a 2>/dev/null | grep -v __cxa_atexit | grep exit
Output: /usr/lib/x86_64-linux-gnu/libcrypto.a:libcrypto-lib-init.o: U atexit /usr/lib/x86_64-linux-gnu/libcrypto.a:libdefault-lib-rand_unix.o: U OPENSSL_atexit
This falsely triggers an undefined exit() error. [1]Changing the grep pattern to match the exact symbol ('grep -x exit') prevents such false positives.
[2]Alternatively, excluding pthread_exit() (similar to __cxa_atexit) would also avoid the issue.
But [1] will handle all the false positives instead of just pthread_exit .LGTM
Expected (after fix): no output — no false positives.
Patch attached.I would love to hear any suggestions from the committers.
Чтобы сделать работу с сайтом удобнее, мы используем cookie и аналитический сервис «Яндекс.Метрика». Продолжая пользоваться сайтом, вы соглашаетесь с их использованием.