Обсуждение: pgsql: Extend configure's __int128 test to check for a known gcc bug.

Поиск
Список
Период
Сортировка

pgsql: Extend configure's __int128 test to check for a known gcc bug.

От
Tom Lane
Дата:
Extend configure's __int128 test to check for a known gcc bug.

On Sparc64, use of __attribute__(aligned(8)) with __int128 causes faulty
code generation in gcc versions at least through 5.5.0.  We can work around
that by disabling use of __int128, so teach configure to test for the bug.

This solution doesn't fix things for the case of cross-compiling with a
buggy compiler; to support that nicely, we'd need to add a manual disable
switch.  Unless more such cases turn up, it doesn't seem worth the work.
Affected users could always edit pg_config.h manually.

In passing, fix some typos in the existing configure test for __int128.
They're harmless because we only compile that code not run it, but
they're still confusing for anyone looking at it closely.

This is needed in support of commit 751804998, so back-patch to 9.5
as that was.

Marina Polyakova, Victor Wagner, Tom Lane

Discussion: https://postgr.es/m/0d3a9fa264cebe1cb9966f37b7c06e86@postgrespro.ru

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/456cab29df65b7ad3d9ce6345bb85448d7c8f98e

Modified Files
--------------
config/c-compiler.m4 | 48 +++++++++++++++++++++++++++++------
configure            | 72 +++++++++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 105 insertions(+), 15 deletions(-)