*** ./old/src/backend/main/main.c Wed Jan 26 00:56:30 2000 --- ./new/src/backend/main/main.c Fri Apr 7 22:19:30 2000 *************** *** 12,27 **** --- 12,31 ---- * *------------------------------------------------------------------------- */ #include + #if defined(__NetBSD__) + #include + #else #if defined(__alpha__) && !defined(linux) #include #include "machine/hal_sysinfo.h" #define ASSEMBLER #include #undef ASSEMBLER + #endif #endif #include "postgres.h" #ifdef USE_LOCALE #include *** ./old/src/include/port/netbsd.h Tue Mar 7 20:58:23 2000 --- ./new/src/include/port/netbsd.h Sun Apr 9 23:49:37 2000 *************** *** 1,43 **** #define USE_POSIX_TIME #if defined(__i386__) #define NEED_I386_TAS_ASM #define HAS_TEST_AND_SET #endif #if defined(__sparc__) #define NEED_SPARC_TAS_ASM #define HAS_TEST_AND_SET #endif #if defined(__vax__) #define NEED_VAX_TAS_ASM #define HAS_TEST_AND_SET #endif #if defined(__ns32k__) #define NEED_NS32K_TAS_ASM #define HAS_TEST_AND_SET #endif #if defined(__m68k__) #define HAS_TEST_AND_SET #endif #if defined(__arm__) #define HAS_TEST_AND_SET #endif #if defined(__mips__) /* # undef HAS_TEST_AND_SET */ #endif ! #if defined(__powerpc__) #define HAS_TEST_AND_SET #endif #if defined(__powerpc__) typedef unsigned int slock_t; - #else - typedef unsigned char slock_t; #endif --- 1,50 ---- #define USE_POSIX_TIME #if defined(__i386__) #define NEED_I386_TAS_ASM #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__sparc__) #define NEED_SPARC_TAS_ASM #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__vax__) #define NEED_VAX_TAS_ASM #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__ns32k__) #define NEED_NS32K_TAS_ASM #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__m68k__) #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__arm__) #define HAS_TEST_AND_SET + typedef unsigned char slock_t; #endif #if defined(__mips__) /* # undef HAS_TEST_AND_SET */ + typedef unsigned char slock_t; #endif ! #if defined(__alpha__) #define HAS_TEST_AND_SET + typedef unsigned long int slock_t; #endif #if defined(__powerpc__) + #define HAS_TEST_AND_SET typedef unsigned int slock_t; #endif *** ./old/src/include/storage/s_lock.h Wed Jan 26 00:58:33 2000 --- ./new/src/include/storage/s_lock.h Sun Apr 9 23:56:46 2000 *************** *** 260,270 **** --- 260,275 ---- #else /* i.e. not __osf__ */ #define TAS(lock) tas(lock) #define S_UNLOCK(lock) { __asm__("mb"); *(lock) = 0; } + #if defined(__GNUC__) + static int /* GCC on the Alpha doesn't appear to handle + inlining of assembly with %0 or %1 properly. */ + #else static __inline__ int + #endif tas(volatile slock_t *lock) { register slock_t _res; __asm__(" ldq $0, %0 \n\