Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_with inlin

Поиск
Список
Период
Сортировка
От Noah Misch
Тема Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_with inlin
Дата
Msg-id 20190914171154.GA3487808@rfd.leadboat.com
обсуждение исходный текст
Ответ на Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_ with inlin  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_ with inlin
Список pgsql-committers
On Sat, Sep 14, 2019 at 10:10:47AM -0400, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > For all ppc compilers, implement pg_atomic_fetch_add_ with inline asm.
> 
> prairiedog thinks there's something wrong here --- probably, some global
> enabling #define is missing?

I can reproduce its situation by commenting out the HAVE_GCC_ symbols in
pg_config.h.  This commit did "#define PG_HAVE_ATOMIC_U32_SUPPORT" but defined
only fetch_add, not compare_exchange.  That works with generic-gcc.h, but
fallback.h can't replace just one.  (Rightly so -- fallback.h defines the
pg_atomic_uint32 structure differently.)  I can see these ways to fix this:

1. Add pg_atomic_compare_exchange_u{32,64}_impl to arch-ppc.h
2. Arrange for arch-ppc.h to be a no-op when GCC atomics are unavailable
3. Just revert

(1) seems best.  Since it may be days or weeks before I get to that, I'm
inclined to revert after ~24h of total buildfarm exposure.



В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_ with inlin
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: For all ppc compilers, implement pg_atomic_fetch_add_ with inlin