diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-01-18 11:09:44 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-01-18 11:09:44 -0500 |
commit | 2082b3745a7165d10788d55c5b6c609a8d39d729 (patch) | |
tree | 4f72064253980bc9d0877faa45d1098873bb4e2e /src/backend/utils/adt/ruleutils.c | |
parent | a063d842f8f48e197f5a9bfb892210ce219c5556 (diff) | |
download | postgresql-2082b3745a7165d10788d55c5b6c609a8d39d729.tar.gz postgresql-2082b3745a7165d10788d55c5b6c609a8d39d729.zip |
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
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
0 files changed, 0 insertions, 0 deletions