On Fri, Jul 8, 2022 at 4:24 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > Thomas Munro <thomas.mu...@gmail.com> writes: > > * The documented list mentions some in different endiannesses and word > > sizes explicitly but not others; I think it'd be tidier to list the > > main architecture names and then tack on a "big and little endian, 32 > > and 64 bit" sentence. > > As phrased, this seems to be saying that we can do both > endiannesses on any of the supported arches, which is a little > weird considering that most of them are single-endianness. It's > not a big deal, but maybe a tad more word-smithing there would > help?
OK, I word-smothe thusly: + and PA-RISC, including + big-endian, little-endian, 32-bit, and 64-bit variants where applicable. I also realised that we should list a couple more OSes (we know they work, they are automatically tested). Then I wondered why we bother to state a Windows version here. For consistency, we could list the minimum Linux kernel, and so on for every other OS, but that's silly for such brief and general documentation. So I propose that we just say "current versions of ..." and remove the bit about Windows 10.
From 395e31b5ddb142230b9ffaf60af1f56fea46383d Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Fri, 8 Jul 2022 10:19:32 +1200 Subject: [PATCH v2] Tidy up claimed supported CPUs and OSes. * Remove arbitrary mention of certain endianness and bitness variants; it's enough to say that applicable variants are expected to work. * List RISC-V (known to work, being tested). * List SuperH and M88K (code exists, unknown status, like M68K). * De-list VAX and remove code (known not to work). * Remove stray traces of Alpha (support was removed years ago). * List illumos, DragonFlyBSD (known to work, being tested). * No need to single Windows out by listing a specific version, when we don't do that for other OSes; it's enough to say that we support current versions of the listed OSes (when PG16 ships, that'll be Windows 10+). Reviewed-by: Tom Lane <t...@sss.pgh.pa.us> Reviewed-by: Greg Stark <st...@mit.edu> Discussion: https://postgr.es/m/CA%2BhUKGKk7NZO1UnJM0PyixcZPpCGqjBXW_0bzFZpJBGAf84XKg%40mail.gmail.com --- contrib/pgcrypto/crypt-blowfish.c | 2 +- doc/src/sgml/installation.sgml | 13 +++++++------ src/include/storage/s_lock.h | 30 ------------------------------ 3 files changed, 8 insertions(+), 37 deletions(-) diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c index a663852ccf..1264eccb3f 100644 --- a/contrib/pgcrypto/crypt-blowfish.c +++ b/contrib/pgcrypto/crypt-blowfish.c @@ -41,7 +41,7 @@ #ifdef __i386__ #define BF_ASM 0 /* 1 */ #define BF_SCALE 1 -#elif defined(__x86_64__) || defined(__alpha__) || defined(__hppa__) +#elif defined(__x86_64__) || defined(__hppa__) #define BF_ASM 0 #define BF_SCALE 1 #else diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 1a1343a008..09cd9d8b9c 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -2125,18 +2125,19 @@ export MANPATH <para> In general, <productname>PostgreSQL</productname> can be expected to work on - these CPU architectures: x86, x86_64, PowerPC, - PowerPC 64, S/390, S/390x, Sparc, Sparc 64, ARM, MIPS, MIPSEL, - and PA-RISC. Code support exists for M68K, M32R, and VAX, but these + these CPU architectures: x86, PowerPC, S/390, Sparc, ARM, MIPS, RISC-V, + and PA-RISC, including + big-endian, little-endian, 32-bit, and 64-bit variants where applicable. + Code support exists for M68K, M88K, M32R, and SuperH, but these architectures are not known to have been tested recently. It is often possible to build on an unsupported CPU type by configuring with <option>--disable-spinlocks</option>, but performance will be poor. </para> <para> - <productname>PostgreSQL</productname> can be expected to work on these operating - systems: Linux (all recent distributions), Windows (10 and later), - FreeBSD, OpenBSD, NetBSD, macOS, AIX, and Solaris. + <productname>PostgreSQL</productname> can be expected to work on current + versions of these operating systems: Linux (all recent distributions), Windows, + FreeBSD, OpenBSD, NetBSD, DragonFlyBSD, macOS, AIX, Solaris, and illumos. Other Unix-like systems may also work but are not currently being tested. In most cases, all CPU architectures supported by a given operating system will work. Look in diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index c4a19b2f43..1f5394ef7f 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -548,36 +548,6 @@ tas(volatile slock_t *lock) #endif /* __m88k__ */ -/* - * VAXen -- even multiprocessor ones - * (thanks to Tom Ivar Helbekkmo) - */ -#if defined(__vax__) -#define HAS_TEST_AND_SET - -typedef unsigned char slock_t; - -#define TAS(lock) tas(lock) - -static __inline__ int -tas(volatile slock_t *lock) -{ - register int _res; - - __asm__ __volatile__( - " movl $1, %0 \n" - " bbssi $0, (%2), 1f \n" - " clrl %0 \n" - "1: \n" -: "=&r"(_res), "+m"(*lock) -: "r"(lock) -: "memory"); - return _res; -} - -#endif /* __vax__ */ - - #if defined(__mips__) && !defined(__sgi) /* non-SGI MIPS */ #define HAS_TEST_AND_SET -- 2.36.1