Re: BUG #19095: Test if function exit() is used fail when linked static
| От | VASUKI M |
|---|---|
| Тема | Re: BUG #19095: Test if function exit() is used fail when linked static |
| Дата | |
| Msg-id | CACTYHzjjssid_jtZiLh8BTYHAvnxbSLXceyGtxM3NB6Kfv510g@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: BUG #19095: Test if function exit() is used fail when linked static (VASUKI M <vasukim1992002@gmail.com>) |
| Ответы |
Re: BUG #19095: Test if function exit() is used fail when linked static
|
| Список | pgsql-bugs |
Hi Hackers,
This is a refreshed version of the patch to unify the exit() reference check
performed during libpq builds. Earlier versions had duplicated logic between
the Makefile and Meson builds, while platform-specific details were also split
between comments and build rules.
Following feedback from Michael, Daniel, Tom, and Nazir, v4 includes the
following changes:
Changes in v4
Added top-level
AC_PATH_PROG(NM, nm)inconfigure.ac, and propagated
it viaNM, so both build systems use the samenmpath.Updated Makefile and Meson rules to invoke the new Perl helper using
- -nm=$(NM) / - -nm=@NM@
Centralized all platform-specific behavior in the Perl script:
Skip on Solaris and Windows
Handle ThreadSanitizer (
__tsan_func_exit)Handle OpenBSD’s
__cxa_atexitWhitelist
pthread_exit()Gracefully skip if
nmis not available
Removed redundant checks from meson.build and Makefile and replaced them with
a short reference to the script.Added missing cleanup (closing filehandle), and improved comments.
Ensured consistent behavior across autoconf and Meson builds.
Testing:
Both autoconf and Meson builds were tested with:
Valid nm present
Missing nm
Solaris/Windows-skip behavior
Injected exit() symbol to confirm failure mode works correctly
The behavior is now uniform across build systems.
Patch is attached.
Thanks for the reviews so far, and I welcome further comments.
Regards,
Vasuki
On Wed, 26 Nov 2025 at 09:13, Michael Paquier <michael@paquier.xyz> wrote:On Tue, Nov 25, 2025 at 11:51:55AM +0100, Daniel Gustafsson wrote:
> +if find_program('nm', required: false, native: true).found() and not get_option('b_coverage')
> Sorry for being late to the party, but I wonder why we aren't adding this check
> to the toplevel meson.build and configure.ac (via config/programs.m4) like how
> we check for all others tools used by the build? Such checks should of course
> not fail the configuration, merely record the presence or absence of the tool.
> The path can then be exported to src/interfaces/libpq/{Makefile|meson.build} to
> use.
+1 for this find_program() call grouped at the top of meson.build,
grouped with the others.
--
Michael
Вложения
В списке pgsql-bugs по дате отправления: