Mark x86's memory barrier inline assembly as clobbering the cpu flags.
authorAndres Freund <andres@anarazel.de>
Fri, 19 Sep 2014 15:04:00 +0000 (17:04 +0200)
committerAndres Freund <andres@anarazel.de>
Fri, 19 Sep 2014 15:13:52 +0000 (17:13 +0200)
commit855cabb6f59c06f3ffcddade59bfbee60dab61aa
tree5176871eb40bb3d855fd2349a2e2631eff4da93a
parent710524eb949832b60c457bd7116f3f2a071d9a2e
Mark x86's memory barrier inline assembly as clobbering the cpu flags.

x86's memory barrier assembly was marked as clobbering "memory" but
not "cc" even though 'addl' sets various flags. As it turns out gcc on
x86 implicitly assumes "cc" on every inline assembler statement, so
it's not a bug. But as that's poorly documented and might get copied
to architectures or compilers where that's not the case, it seems
better to be precise.

Discussion: 20140919100016.GH4277@alap3.anarazel.de

To keep the code common, backpatch to 9.2 where explicit memory
barriers were introduced.
src/include/storage/barrier.h