Alan Stange <stange@rentec.com> writes:
> - postgresql HEAD when using the Solaris compilers spro9 or newer will
> only run on v9 based hardware using v8plus or v9 platform.
> - postgresql HEAD when using gcc will run on anything as they generate
> code for the v7 platform by default and the cas instruction isn't used
> in any assembler code in postgresql.
I gather from the contents of solaris_sparc.s that the Sun compilers can
be expected to define __sparcv9 if compiling for v9 hardware. I'm
inclined to #ifdef things so that we use cas if that symbol's defined and
ldstub if not. I'm not sure if gcc can be expected to define the same
symbol --- we might end up using ldstub always, even if we try to
conditionalize the code for gcc.
Or we could just revert to ldstub. This seems like a lot of complexity
for a so-far-entirely-hypothetical performance gain ...
regards, tom lane