Re: Proposal for Prototype Implementation to Enhance C/C++ Interoperability in PostgreSQL

Поиск
Список
Период
Сортировка
Искать
От
盏一
Тема
Re: Proposal for Prototype Implementation to Enhance C/C++ Interoperability in PostgreSQL
Дата
в 14:12:28
Msg-id
tencent_7BE1BAE80365761411891DFE@qq.com
Ответ на
Список
Дерево обсуждения
Re: Proposal for Prototype Implementation to Enhance C/C++ Interoperability in PostgreSQL Tom Lane <tgl@sss.pgh.pa.us>
Re: Proposal for Prototype Implementation to Enhance C/C++ Interoperability in PostgreSQL Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Re: Proposal for Prototype Implementation to Enhance C/C++ Interoperability in PostgreSQL "盏一" <w@hidva.com>
I apologize for my previous hasty conclusion. I have conducted further testing on different platforms and would like to share my findings.

> FreeBSD

Based on my tests, it appears that FreeBSD follows the Itanium C++ ABI specification. The previous test failed because the C++ compiler was not used when linking libpgsjlj.so.

> macOS, M1

My tests show that macOS M1 roughly follows the Itanium C++ ABI specification, with only slight differences, such as the parameters accepted by the _Unwind_Stop_Fn function.

> macOS, x86

I don't have the resources to do the testing, but from a code perspective, it appears that macOS x86 follows the Itanium C++ ABI specification.

> Windows

It seems that Windows does not follow the Itanium C++ ABI specification at all. If we compile the program using the `/EHsc` option, longjmp will also trigger forced unwinding. However, unlike the Itanium C++ ABI, the forced unwinding triggered here cannot be captured by a C++ catch statement.
В списке pgsql-hackers по дате отправления
От: torikoshia
Дата:
От: gkokolatos@pm.me
Дата:
FAQ