]> granicus.if.org Git - postgresql/commit
Provide a generic fallback for pg_compiler_barrier using an extern function.
authorAndres Freund <andres@anarazel.de>
Sun, 11 Jan 2015 00:15:29 +0000 (01:15 +0100)
committerAndres Freund <andres@anarazel.de>
Sun, 11 Jan 2015 00:15:29 +0000 (01:15 +0100)
commitde6429a8fdd3538e977b482d90389785d733e373
treed123c851dadbdc024fc315483a551bc04322a962
parentdb4ec2ffce3549225619cae51d828224a11a165f
Provide a generic fallback for pg_compiler_barrier using an extern function.

If the compiler/arch combination does not provide compiler barriers,
provide a fallback. That fallback simply consists out of a function
call into a externally defined function.  That should guarantee
compiler barrierer semantics except for compilers that do inter
translation unit/global optimization - those better provide an actual
compiler barrier.

Hopefully this fixes Tom's report of linker failures due to
pg_compiler_barrier_impl not being provided.

I'm not backpatching this commit as it builds on the new atomics
infrastructure. If we decide an equivalent fix needs to be
backpatched, I'll do so in a separate commit.

Discussion: 27746.1420930690@sss.pgh.pa.us

Per report from Tom Lane.
src/backend/port/atomics.c
src/include/port/atomics/fallback.h