Re: some LLVM function checks missing in meson

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: some LLVM function checks missing in meson
Дата
Msg-id 5539b16c-cff7-46d5-9621-c3fb6b549e9e@iki.fi
обсуждение исходный текст
Ответ на [MASSMAIL]some LLVM function checks missing in meson  (Peter Eisentraut <peter@eisentraut.org>)
Ответы Re: some LLVM function checks missing in meson  (Peter Eisentraut <peter@eisentraut.org>)
Re: some LLVM function checks missing in meson  (Peter Eisentraut <peter@eisentraut.org>)
Список 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)




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dmitry Koterov
Дата:
Сообщение: [MASSMAIL]In MacOS, psql reacts on SIGINT in a strange fashion (Linux is fine)
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Parallel CREATE INDEX for BRIN indexes