Re: BUG #19095: Test if function exit() is used fail when linked static - Mailing list pgsql-bugs

From BharatDB
Subject Re: BUG #19095: Test if function exit() is used fail when linked static
Date
Msg-id CAAh00ETwx8_AEM0wgoi-v875uC-FLuGGOMTaP9fCNdVw4Zq=Vg@mail.gmail.com
Whole thread Raw
In response to BUG #19095: Test if function exit() is used fail when linked static  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #19095: Test if function exit() is used fail when linked static
List pgsql-bugs

Hello Hackers,

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.

As discussed in the thread by Michael Paquier
(https://www.postgresql.org/message-id/aQA1obboZFjqjaBI%40paquier.xyz),
it seems a related fix was committed earlier. However, I was able to
reproduce this issue again using PostgreSQL 18 (latest release).

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.
  Thanks in advance  

Best regards,  
Vasuki M  
    BharatDB, 
CDAC Chennai.
Attachment

pgsql-bugs by date:

Previous
From: mike@mikebrancato.com
Date:
Subject: Re: RLS creates inaccurate limit and offset results
Next
From: "Haiyang Li"
Date:
Subject: Re: BUG #19109: catalog lookup with the wrong snapshot during logical decoding causes coredump