Mark Round <mark@markround.com> writes:
> I am trying to compile Postgres-8.0.0beta1 on Solaris 8/x86, using Sun's
> C compiler, and get the following error which told me to contact you :-
> "../../../../src/include/storage/s_lock.h", line 654: #error: PostgreSQL
> does not have native spinlock support on this platform. To continue the
> compilation, rerun configure using --disable-spinlocks. However,
> performance will be poor. Please report this to pgsql-bugs@postgresql.org.
Hmm. There does not seem to be any support for non-gcc Solaris/86 in
src/include/storage/s_lock.h. I am not sure why not, since we do have
a src/backend/port/tas/solaris_i386.s file, which should work as an
external implementation of TAS(). Perhaps it got lost in the recent
reorganization of the spinlock code. Can you test a suitable addition?
It probably doesn't need to be any more complicated than the entry
for old SunOS:
#if defined(sun3)
#define HAS_TEST_AND_SET
typedef unsigned char slock_t;
#endif
but I'm unsure what's an appropriate #if to recognize Solaris/x86.
regards, tom lane