Extend configure's __int128 test to check for a known gcc bug.
Tom Lane <tgl@sss.pgh.pa.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| config/c-compiler.m4 | modified | +40 −8 |
| configure | modified | +65 −7 |
Discussion
- master make check fails on Solaris 10 46 messages · 2018-01-11 → 2018-01-20