Re: some LLVM function checks missing in meson

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: some LLVM function checks missing in meson
Date: 2024-04-13 08:25:15
Message-ID: 5539b16c-cff7-46d5-9621-c3fb6b549e9e@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11/04/2024 18:26, Peter Eisentraut wrote:
> I have been checking the pg_config.h generated by configure and meson to
> see if there is anything materially different. I found that
>
> HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER and
> HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER
>
> are missing on the meson side.
>
> Something like the below would appear to fix that:
>
> diff --git a/meson.build b/meson.build
> index 43fad5323c0..cdfd31377d1 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2301,6 +2301,14 @@ decl_checks += [
> ['pwritev', 'sys/uio.h'],
> ]
>
> +# Check presence of some optional LLVM functions.
> +if llvm.found()
> + decl_checks += [
> + ['LLVMCreateGDBRegistrationListener', 'llvm-c/ExecutionEngine.h'],
> + ['LLVMCreatePerfJITEventListener', 'llvm-c/ExecutionEngine.h'],
> + ]
> +endif
> +
> foreach c : decl_checks
> func = c.get(0)
> header = c.get(1)
>
> I don't know what these functions do, but the symbols are used in the
> source code. Thoughts?

+1. I also don't know what they do, but clearly the configure and meson
checks should be in sync.

There's also this in llvmjit.c:

> if (llvm_opt3_orc)
> {
> #if defined(HAVE_DECL_LLVMORCREGISTERPERF) && HAVE_DECL_LLVMORCREGISTERPERF
> if (jit_profiling_support)
> LLVMOrcUnregisterPerf(llvm_opt3_orc);
> #endif
> LLVMOrcDisposeInstance(llvm_opt3_orc);
> llvm_opt3_orc = NULL;
> }
>
> if (llvm_opt0_orc)
> {
> #if defined(HAVE_DECL_LLVMORCREGISTERPERF) && HAVE_DECL_LLVMORCREGISTERPERF
> if (jit_profiling_support)
> LLVMOrcUnregisterPerf(llvm_opt0_orc);
> #endif
> LLVMOrcDisposeInstance(llvm_opt0_orc);
> llvm_opt0_orc = NULL;
> }
> }

The autoconf test that set HAVE_DECL_LLVMORCREGISTERPERF was removed in
commit e9a9843e13. I believe that's a leftover that should also have
been removed.

--
Heikki Linnakangas
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2024-04-13 08:36:35 Re: Parallel CREATE INDEX for BRIN indexes
Previous Message Dmitry Koterov 2024-04-13 08:21:21 In MacOS, psql reacts on SIGINT in a strange fashion (Linux is fine)