]> granicus.if.org Git - postgresql/commit
Extend configure's __int128 test to check for a known gcc bug.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Jan 2018 16:09:44 +0000 (11:09 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Jan 2018 16:09:44 +0000 (11:09 -0500)
commit5dcbdcbdda488b53768a3093481a2f7d8210cc51
tree898e9c86d40ef1d1b0f5e3c4d3f130c258143b31
parent3f05a30b50a7e283d2664719c2fa0832fcd37da0
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
config/c-compiler.m4
configure