public inbox for [email protected]
help / color / mirror / Atom feedFrom: Heikki Linnakangas <[email protected]>
To: Peter Eisentraut <[email protected]>
To: pgsql-hackers <[email protected]>
Subject: Re: some LLVM function checks missing in meson
Date: Sat, 13 Apr 2024 11:25:15 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
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)
view thread (4+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: some LLVM function checks missing in meson
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox