diff --git a/configure b/configure index 1d94256a9e..f4f2f8b7ce 100755 --- a/configure +++ b/configure @@ -694,7 +694,6 @@ STRIP_SHARED_LIB STRIP_STATIC_LIB STRIP RANLIB -ld_R_works with_gnu_ld LD LDFLAGS_SL @@ -2867,9 +2866,7 @@ dragonfly*) template=netbsd ;; mingw*) template=win32 ;; netbsd*) template=netbsd ;; openbsd*) template=openbsd ;; - sco*) template=sco ;; solaris*) template=solaris ;; - sysv5*) template=unixware ;; esac if test x"$template" = x"" ; then @@ -6382,40 +6379,6 @@ with_gnu_ld=$ac_cv_prog_gnu_ld -case $host_os in sysv5*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld -R works" >&5 -$as_echo_n "checking whether ld -R works... " >&6; } -if ${pgac_cv_prog_ld_R+:} false; then : - $as_echo_n "(cached) " >&6 -else - - pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - pgac_cv_prog_ld_R=yes -else - pgac_cv_prog_ld_R=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$pgac_save_LDFLAGS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_ld_R" >&5 -$as_echo "$pgac_cv_prog_ld_R" >&6; } - ld_R_works=$pgac_cv_prog_ld_R - -esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 diff --git a/configure.in b/configure.in index 9ace625029..9f7611caeb 100644 --- a/configure.in +++ b/configure.in @@ -69,9 +69,7 @@ dragonfly*) template=netbsd ;; mingw*) template=win32 ;; netbsd*) template=netbsd ;; openbsd*) template=openbsd ;; - sco*) template=sco ;; solaris*) template=solaris ;; - sysv5*) template=unixware ;; esac if test x"$template" = x"" ; then @@ -871,18 +869,6 @@ AC_ARG_VAR(LDFLAGS_SL, [extra linker flags for linking shared libraries only]) PGAC_PROG_LD AC_SUBST(LD) AC_SUBST(with_gnu_ld) -case $host_os in sysv5*) - AC_CACHE_CHECK([whether ld -R works], [pgac_cv_prog_ld_R], - [ - pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib" - AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], - [pgac_cv_prog_ld_R=yes], - [pgac_cv_prog_ld_R=no]) - LDFLAGS=$pgac_save_LDFLAGS - ]) - ld_R_works=$pgac_cv_prog_ld_R - AC_SUBST(ld_R_works) -esac AC_PROG_RANLIB PGAC_CHECK_STRIP AC_CHECK_TOOL(AR, ar, ar) diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 24b895f3c3..5df2f04dd6 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -326,11 +326,7 @@ check: postgres.sgml $(ALMOSTALLSGML) check-tabs ## Install ## -install: install-html - -ifneq ($(PORTNAME), sco) -install: install-man -endif +install: install-html install-man installdirs: $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml index ba2684cc3c..6a4b7d6e97 100644 --- a/doc/src/sgml/dfunc.sgml +++ b/doc/src/sgml/dfunc.sgml @@ -200,32 +200,6 @@ cc -G -o foo.so foo.o gcc -fpic -c foo.c gcc -G -o foo.so foo.o - - - - - - - - UnixWare - UnixWareshared library - - - - The compiler flag to create PIC is with the SCO compiler and - with GCC. To link shared libraries, - the compiler option is with the SCO compiler - and with - GCC. - -cc -K PIC -c foo.c -cc -G -o foo.so foo.o - - or - -gcc -fpic -c foo.c -gcc -shared -o foo.so foo.o diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 5ee28fcf85..883e575946 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -2000,8 +2000,8 @@ kill `cat /usr/local/pgsql/data/postmaster.pid` In general, PostgreSQL can be expected to work on these CPU architectures: x86, x86_64, IA64, PowerPC, - PowerPC 64, S/390, S/390x, Sparc, Sparc 64, ARM, MIPS, MIPSEL, M68K, - and PA-RISC. Code support exists for M32R and VAX, but these + 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 architectures are not known to have been tested recently. It is often possible to build on an unsupported CPU type by configuring with , but performance will be poor. @@ -2010,11 +2010,11 @@ kill `cat /usr/local/pgsql/data/postmaster.pid` PostgreSQL can be expected to work on these operating systems: Linux (all recent distributions), Windows (Win2000 SP4 and later), - FreeBSD, OpenBSD, NetBSD, macOS, AIX, HP/UX, Solaris, - and UnixWare. Other Unix-like systems may also work but are not currently + FreeBSD, OpenBSD, NetBSD, macOS, AIX, HP/UX, and Solaris. + 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 - the below to see if + below to see if there is information specific to your operating system, particularly if using an older system. @@ -2639,160 +2639,6 @@ PHSS_30849 s700_800 u2comp/be/plugin library Patch - - SCO OpenServer and SCO UnixWare - - - SCO - installation on - - - - UnixWare - installation on - - - - PostgreSQL can be built on SCO UnixWare 7 and SCO OpenServer 5. - On OpenServer, you can use either the OpenServer Development Kit - or the Universal Development Kit. However, some tweaking may be - needed, as described below. - - - - Skunkware - - - You should locate your copy of the SCO Skunkware CD. The - Skunkware CD is included with UnixWare 7 and current versions of - OpenServer 5. Skunkware includes ready-to-install versions of - many popular programs that are available on the Internet. For - example, gzip, gunzip, GNU Make, Flex, and Bison are all - included. For UnixWare 7.1, this CD is now labeled "Open License - Software Supplement". If you do not have this CD, the software - on it is available - from . - - - - Skunkware has different versions for UnixWare and OpenServer. - Make sure you install the correct version for your operating - system, except as noted below. - - - - On UnixWare 7.1.3 and beyond, the GCC compiler is included on the - UDK CD as is GNU Make. - - - - - GNU Make - - - You need to use the GNU Make program, which is on the Skunkware - CD. By default, it installs - as /usr/local/bin/make. - - - - As of UnixWare 7.1.3 and above, the GNU Make program is the - OSTK portion of the UDK CD, and is - in /usr/gnu/bin/gmake. - - - - - Readline - - - The Readline library is on the Skunkware CD. But it is not - included on the UnixWare 7.1 Skunkware CD. If you have the - UnixWare 7.0.0 or 7.0.1 Skunkware CDs, you can install it from - there. Otherwise, - try . - - - - By default, Readline installs into /usr/local/lib and - /usr/local/include. However, the - PostgreSQL configure program will not find it - there without help. If you installed Readline, then use the - following options to configure: - -./configure --with-libraries=/usr/local/lib --with-includes=/usr/local/include - - - - - - Using the UDK on OpenServer - - - If you are using the new Universal Development Kit (UDK) compiler - on OpenServer, you need to specify the locations of the UDK - libraries: - -./configure --with-libraries=/udk/usr/lib --with-includes=/udk/usr/include - - Putting these together with the Readline options from above: - -./configure --with-libraries="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include" - - - - - - Reading the PostgreSQL Man Pages - - - By default, the PostgreSQL man pages are installed into - /usr/local/pgsql/share/man. By default, UnixWare - does not look there for man pages. To be able to read them you - need to modify the - MANPATH variable - in /etc/default/man, for example: - -MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr/local/man:/usr/local/pgsql/share/man - - - - - On OpenServer, some extra research needs to be invested to make - the man pages usable, because the man system is a bit different - from other platforms. Currently, PostgreSQL will not install - them at all. - - - - - C99 Issues with the 7.1.1b Feature Supplement - - - For compilers earlier than the one released with OpenUNIX 8.0.0 - (UnixWare 7.1.2), including the 7.1.1b Feature Supplement, you - may need to specify - in CFLAGS or the CC - environment variable. The indication of this is an error in - compiling tuplesort.c referencing inline - functions. Apparently there was a change in the 7.1.2(8.0.0) - compiler and beyond. - - - - - Threading on UnixWare - - - For threading, youmust use - on all libpq-using programs. libpq - uses pthread_* calls, which are only - available with the - - - - Solaris diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index a8efb3d006..6ae62b4d2b 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1086,34 +1086,6 @@ sysctl -w kern.sysv.shmall - - SCO OpenServer - SCO OpenServerIPC configuration - - - - In the default configuration, only 512 kB of shared memory per - segment is allowed. To increase the setting, first change to the - directory /etc/conf/cf.d. To display the current value of - SHMMAX, run: - -./configure -y SHMMAX - - To set a new value for SHMMAX, run: - -./configure SHMMAX=value - - where value is the new value you want to use - (in bytes). After setting SHMMAX, rebuild the kernel: - -./link_unix - - and reboot. - - - - - Solaris 2.6 to 2.9 (Solaris 6 to Solaris 9) @@ -1189,36 +1161,6 @@ project.max-msg-ids=(priv,4096,deny) - - - UnixWare - UnixWareIPC configuration - - - - On UnixWare 7, the maximum size for shared - memory segments is 512 kB in the default configuration. - To display the current value of SHMMAX, run: - -/etc/conf/bin/idtune -g SHMMAX - - which displays the current, default, minimum, and maximum - values. To set a new value for SHMMAX, - run: - -/etc/conf/bin/idtune SHMMAX value - - where value is the new value you want to use - (in bytes). After setting SHMMAX, rebuild the - kernel: - -/etc/conf/bin/idbuild -B - - and reboot. - - - - diff --git a/src/Makefile.global.in b/src/Makefile.global.in index e1e2c0adaf..ea61eb518f 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -265,7 +265,6 @@ UUID_LIBS = @UUID_LIBS@ UUID_EXTRA_OBJS = @UUID_EXTRA_OBJS@ LD = @LD@ with_gnu_ld = @with_gnu_ld@ -ld_R_works = @ld_R_works@ # We want -L for libpgport.a and libpgcommon.a to be first in LDFLAGS. We # also need LDFLAGS to be a "recursively expanded" variable, else adjustments diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 87c80c5d01..358d90837c 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -236,30 +236,6 @@ ifeq ($(PORTNAME), solaris) endif endif -ifeq ($(PORTNAME), sco) - ifeq ($(GCC), yes) - LINK.shared = $(CC) -shared - else - LINK.shared = $(CC) -G - endif - LINK.shared += -Wl,-z,text - ifdef soname - LINK.shared += -Wl,-h,$(soname) - endif -endif - -ifeq ($(PORTNAME), unixware) - ifeq ($(GCC), yes) - LINK.shared = $(CC) -shared - else - LINK.shared = $(CC) -G - endif - LINK.shared += -Wl,-z,text - ifdef soname - LINK.shared += -Wl,-h,$(soname) - endif -endif - ifeq ($(PORTNAME), cygwin) LINK.shared = $(CC) -shared ifdef SO_MAJOR_VERSION diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index bae96bf18f..affa9bb7ab 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -683,16 +683,6 @@ StreamConnection(pgsocket server_fd, Port *port) return STATUS_ERROR; } -#ifdef SCO_ACCEPT_BUG - - /* - * UnixWare 7+ and OpenServer 5.0.4 are known to have this bug, but it - * shouldn't hurt to catch it for all versions of those platforms. - */ - if (port->raddr.addr.ss_family == 0) - port->raddr.addr.ss_family = AF_UNIX; -#endif - /* fill in the server (local) address */ port->laddr.salen = sizeof(port->laddr.addr); if (getsockname(port->sock, diff --git a/src/backend/port/dynloader/sco.c b/src/backend/port/dynloader/sco.c deleted file mode 100644 index 1e24f494ac..0000000000 --- a/src/backend/port/dynloader/sco.c +++ /dev/null @@ -1,7 +0,0 @@ -/* - * src/backend/port/dynloader/sco.c - * - * Dummy file used for nothing at this point - * - * see sco.h - */ diff --git a/src/backend/port/dynloader/sco.h b/src/backend/port/dynloader/sco.h deleted file mode 100644 index 86f2383729..0000000000 --- a/src/backend/port/dynloader/sco.h +++ /dev/null @@ -1,46 +0,0 @@ -/*------------------------------------------------------------------------- - * - * sco.h - * port-specific prototypes for SCO 3.2v5.2 - * - * - * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/backend/port/dynloader/sco.h - * - *------------------------------------------------------------------------- - */ -#ifndef PORT_PROTOS_H -#define PORT_PROTOS_H - -#include -#include "utils/dynamic_loader.h" /* pgrminclude ignore */ - -/* - * Dynamic Loader on SCO 3.2v5.0.2 - * - * this dynamic loader uses the system dynamic loading interface for shared - * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared - * library as the file to be dynamically loaded. - */ - -/* - * In some older systems, the RTLD_NOW flag isn't defined and the mode - * argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted - * if available, but it doesn't exist everywhere. - * If it doesn't exist, set it to 0 so it has no effect. - */ -#ifndef RTLD_NOW -#define RTLD_NOW 1 -#endif -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL) -#define pg_dlsym dlsym -#define pg_dlclose dlclose -#define pg_dlerror dlerror - -#endif /* PORT_PROTOS_H */ diff --git a/src/backend/port/dynloader/unixware.c b/src/backend/port/dynloader/unixware.c deleted file mode 100644 index afb36dfe99..0000000000 --- a/src/backend/port/dynloader/unixware.c +++ /dev/null @@ -1,7 +0,0 @@ -/* - * src/backend/port/dynloader/unixware.c - * - * Dummy file used for nothing at this point - * - * see unixware.h - */ diff --git a/src/backend/port/dynloader/unixware.h b/src/backend/port/dynloader/unixware.h deleted file mode 100644 index 130a9a25d5..0000000000 --- a/src/backend/port/dynloader/unixware.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * src/backend/port/dynloader/unixware.h - * - *------------------------------------------------------------------------- - * - * unixware.h - * port-specific prototypes for Intel x86/UNIXWARE 7 - * - * - * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * unixware.h,v 1.2 1995/03/17 06:40:18 andrew Exp - * - *------------------------------------------------------------------------- - */ -#ifndef PORT_PROTOS_H -#define PORT_PROTOS_H - -#include -#include "utils/dynamic_loader.h" /* pgrminclude ignore */ - -/* - * Dynamic Loader on UnixWare. - * - * this dynamic loader uses the system dynamic loading interface for shared - * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared - * library as the file to be dynamically loaded. - */ - -/* - * In some older systems, the RTLD_NOW flag isn't defined and the mode - * argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted - * if available, but it doesn't exist everywhere. - * If it doesn't exist, set it to 0 so it has no effect. - */ -#ifndef RTLD_NOW -#define RTLD_NOW 1 -#endif -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL) -#define pg_dlsym dlsym -#define pg_dlclose dlclose -#define pg_dlerror dlerror - -#endif /* PORT_PROTOS_H */ diff --git a/src/include/port/sco.h b/src/include/port/sco.h deleted file mode 100644 index 30811450c9..0000000000 --- a/src/include/port/sco.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * src/include/port/sco.h - * - * see src/backend/libpq/pqcomm.c */ -#define SCO_ACCEPT_BUG - -#define USE_UNIVEL_CC diff --git a/src/include/port/unixware.h b/src/include/port/unixware.h deleted file mode 100644 index e068820957..0000000000 --- a/src/include/port/unixware.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * src/include/port/unixware.h - * - * see src/backend/libpq/pqcomm.c */ -#define SCO_ACCEPT_BUG - -/*************************************** - * Define this if you are compiling with - * the native UNIXWARE C compiler. - ***************************************/ -#define USE_UNIVEL_CC diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 7aad2de43d..3fe29cede6 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -706,29 +706,6 @@ typedef unsigned char slock_t; #if !defined(HAS_TEST_AND_SET) /* We didn't trigger above, let's try here */ -#if defined(USE_UNIVEL_CC) /* Unixware compiler */ -#define HAS_TEST_AND_SET - -typedef unsigned char slock_t; - -#define TAS(lock) tas(lock) - -asm int -tas(volatile slock_t *s_lock) -{ -/* UNIVEL wants %mem in column 1, so we don't pgindent this file */ -%mem s_lock - pushl %ebx - movl s_lock, %ebx - movl $255, %eax - lock - xchgb %al, (%ebx) - popl %ebx -} - -#endif /* defined(USE_UNIVEL_CC) */ - - #if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ /* * HP's PA-RISC diff --git a/src/makefiles/Makefile.sco b/src/makefiles/Makefile.sco deleted file mode 100644 index 993861570a..0000000000 --- a/src/makefiles/Makefile.sco +++ /dev/null @@ -1,13 +0,0 @@ -AROPT = cr -export_dynamic = -Wl,-Bexport - -DLSUFFIX = .so -ifeq ($(GCC), yes) -CFLAGS_SL = -fpic -else -CFLAGS_SL = -K PIC -endif - -# Rule for building a shared library from a single .o file -%.so: %.o - $(LD) -G -Bdynamic -o $@ $< diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware deleted file mode 100644 index a52717b268..0000000000 --- a/src/makefiles/Makefile.unixware +++ /dev/null @@ -1,35 +0,0 @@ -AROPT = crs -ifeq ($(with_gnu_ld), yes) - export_dynamic = -Wl,-E -else - export_dynamic = -Wl,-Bexport -endif - -ifeq ($(ld_R_works), yes) -ifeq ($(with_gnu_ld), yes) - rpath = -Wl,-rpath,'$(rpathdir)' -else - rpath = -Wl,-R'$(rpathdir)' -endif -endif - -# Unixware needs threads for everything that uses libpq -CFLAGS += $(PTHREAD_CFLAGS) - -DLSUFFIX = .so -ifeq ($(GCC), yes) -CFLAGS_SL = -fpic -else -CFLAGS_SL = -K PIC -endif -ifeq ($(GCC), yes) -SO_FLAGS = -shared -else -SO_FLAGS = -G -endif - -# Rule for building a shared library from a single .o file -%.so: %.o - $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) $(SO_FLAGS) -o $@ $< - -sqlmansect = 5sql diff --git a/src/port/getrusage.c b/src/port/getrusage.c index a6f1ef2681..d24af92339 100644 --- a/src/port/getrusage.c +++ b/src/port/getrusage.c @@ -18,7 +18,6 @@ #include "rusagestub.h" /* This code works on: - * sco * solaris_i386 * solaris_sparc * hpux 9.* diff --git a/src/template/sco b/src/template/sco deleted file mode 100644 index 9a736da8be..0000000000 --- a/src/template/sco +++ /dev/null @@ -1 +0,0 @@ -CC="$CC -b elf" diff --git a/src/template/unixware b/src/template/unixware deleted file mode 100644 index d08fca1e6b..0000000000 --- a/src/template/unixware +++ /dev/null @@ -1,41 +0,0 @@ -if test "$GCC" != yes; then - # The -Kno_host is for a bug in the compiler. See -hackers - # discussion on 7-8/Aug/2003. - cat >conftest.c <<__EOF__ -extern char *strcpy(char *, const char *); - -static void f(char *p, int n){ - strcpy(p+n,""); -} -void g(void){ - f(0, 0); -} -__EOF__ - - # Debugging and optimization are mutually exclusive - if test "$enable_debug" != yes; then - CFLAGS="-O" - fi - if $CC -c -O -Kinline conftest.c >conftest.err 2>&1; then - CFLAGS="$CFLAGS -Kinline" - else - CFLAGS="$CFLAGS -Kinline,no_host" - fi - rm -f conftest.* - - PTHREAD_CFLAGS="-Kpthread" - -# The effect of doing threading for the backend does not work -# because of a threading bug that appears in the regression tests: -# -# in make check, the plpgsql test (plpgsql.sql) -# set statement_timeout to 1000; -# select blockme(); -# reset statement_timeout; -# -# per report from Olivier PRENANT - -fi - -# Unixware's ldap library reportedly needs these too -EXTRA_LDAP_LIBS="-llber -lresolv"