Re: Hide exposed impl detail of wchar.c

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Hide exposed impl detail of wchar.c
Дата
Msg-id 20231121001023.3ivje3c7cgg25f6k@awork3.anarazel.de
обсуждение исходный текст
Ответ на Re: Hide exposed impl detail of wchar.c  (Jubilee Young <workingjubilee@gmail.com>)
Ответы Re: Hide exposed impl detail of wchar.c  (Eric Ridge <eebbrr@gmail.com>)
Список pgsql-hackers
Hi,

On 2023-11-16 17:11:03 -0800, Jubilee Young wrote:
> We don't directly `#include` C into Rust, but use libclang to preprocess and
> compile a wrapping C header into a list of symbols Rust will look for at link
> time. Our failure is in libclang and how we steer it:
> - The Clang-C API (libclang.so) cannot determine where system headers are.
> - A clang executable can determine where system headers are, but our bindgen
> may be asked to use a libclang.so without a matching clang executable!
> - This is partly because system packagers do not agree on what clang parts
> must be installed together, nor even on the clang directory's layout.
> - Thus, it is currently impossible to, given a libclang.so, determine with
> 100% accuracy where version-appropriate system headers are and include them,
> nor does it do so implicitly.

I remember battling this in the past, independent of rust :(


What I don't quite get is why SIMD headers are particularly more problematic
than others - there's other headers that are compiler specific?

Greetings,

Andres Freund



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Add recovery to pg_control and remove backup_label
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Show WAL write and fsync stats in pg_stat_io