Peter Eisentraut wrote: > Bruce Momjian writes: > > > I can't certify the following platform because it doesn't recognize our > > spinlock code. Would you run src/tools/ccsym and report back the > > symbols you have. Do you not have __powerpc__ defined? > > The way I read his report (a little tricky to find the divisions) is that > ppc has passed and parisc64 doesn't have spinlock code, which sounds a > lot more credible.
Oh, I see now --- sorry. Wow, I looked in hpux.h and saw: #if defined(__hppa) #define HAS_TEST_AND_SET typedef struct { int sema[4]; } slock_t; #ifndef BYTE_ORDER #define BYTE_ORDER BIG_ENDIAN #endif and I see in s_lock.h: #if defined(__hppa) /* * HP's PA-RISC * * Note that slock_t on PA-RISC is a structure instead of char * (see include/port/hpux.h). * * a "set" slock_t has a single word cleared. a "clear" slock_t has * all words set to non-zero. tas() is in tas.s */ #define S_UNLOCK(lock) \ do { \ volatile slock_t *lock_ = (volatile slock_t *) (lock); \ lock_->sema[0] = -1; \ lock_->sema[1] = -1; \ lock_->sema[2] = -1; \ lock_->sema[3] = -1; \ } while (0) #define S_LOCK_FREE(lock) ( *(int *) (((long) (lock) + 15) & ~15) != 0) #endif /* __hppa */ Can Linux handle this? Can you copy the stuff from hpux.h and see if that works for Linux? We can't mark this port as working unless we have spinlocks. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend