Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Noah Misch <noah@leadboat.com>
Cc: Christoph Berg <myon@debian.org>, pgsql-hackers@lists.postgresql.org
Date: 2020-10-11T17:12:40Z
Lists: pgsql-hackers
Noah Misch <noah@leadboat.com> writes: > The first attachment fixes the matter you've reported. While confirming that, > I observed that gcc builds don't even use the 64-bit code in arch-ppc.h. > Oops. The second attachment fixes that. I reviewed these, and tested the first one on a nearby Apple machine. (I lack access to 64-bit PPC, so I can't actually test the second.) They look fine, and I confirmed by examining asm output that even the rather-old-now gcc version that Apple last shipped for PPC does the right thing with the conditionals. > I plan not to back-patch either of these. Hmm, I'd argue for a back-patch. The issue of modern compilers warning about the incorrect code will apply to all supported branches. Moreover, even if we don't use these code paths today, who's to say that someone won't back-patch a bug fix that requires them? I do not think it's unreasonable to expect these functions to work well in all branches that have them. regards, tom lane
Commits
-
Choose ppc compare_exchange constant path for more operand values.
- 5efa788e1d07 13.1 landed
- 88ea7a1188d1 14.0 landed
-
For ppc gcc, implement 64-bit compare_exchange and fetch_add with asm.
- d41cb63ff4d1 13.1 landed
- f5c1167b173d 14.0 landed
-
For all ppc compilers, implement compare_exchange and fetch_add with asm.
- 30ee5d17c20d 13.0 cited