Re: master make check fails on Solaris 10
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Marina Polyakova <m.polyakova@postgrespro.ru>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org,
Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2018-01-13T18:10:55Z
Lists: pgsql-hackers
Marina Polyakova <m.polyakova@postgrespro.ru> writes: > On 12-01-2018 21:00, Tom Lane wrote: >> Hm ... so apparently, that compiler has bugs in handling nondefault >> alignment specs. You said upthread it was gcc, but what version >> exactly? > This is 5.2.0: Ugh ... protosciurus has 3.4.3, but I see that configure detects that as *not* having __int128. Probably what's happening on your machine is that gcc knows __int128 but generates buggy code for it when an alignment spec is given. So that's unfortunate, but it's not really a regression from 3.4.3. I'm not sure there's much we can do about this. Dropping the use of the alignment spec isn't a workable option. If there were a simple way for configure to detect that the compiler generates bad code for that, we could have it do so and reject use of __int128, but it'd be up to you to come up with a workable test. In the end this might just be an instance of the old saw about avoiding dot-zero releases. Have you tried a newer gcc? (Digging in their bugzilla finds quite a number of __int128 bugs fixed in 5.4.x, though none look to be specifically about misaligned data.) Also, if it still happens with current gcc on that hardware, there'd be grounds for a new bug report to them. regards, tom lane
Commits
-
Extend configure's __int128 test to check for a known gcc bug.
- 5dcbdcbdda48 10.2 landed
- 456cab29df65 9.6.7 landed
- 31635bc1d107 9.5.11 landed
- 2082b3745a71 11.0 landed
-
Reorder C includes
- f033462d8f77 11.0 cited
-
Ability to advance replication slots
- 9c7d06d60680 11.0 cited
-
doc: add JSON acronym
- ca454b9bd34c 11.0 cited
-
Expression evaluation based aggregate transition invocation.
- 69c3936a1499 11.0 cited
-
Change some bogus PageGetLSN calls to BufferGetLSNAtomic
- 272c2ab9fd0a 11.0 cited
-
Prevent int128 from requiring more than MAXALIGN alignment.
- 7518049980be 11.0 cited
-
Rearrange c.h to create a "compiler characteristics" section.
- 91aec93e6089 11.0 cited
-
Make OWNER TO subcommand mention consistent
- bf54c0f05c0a 11.0 cited