My mailer munged the intro text in my last post. Here is the text

in a more readable form.  -- I am submitting the following patches
to the June 6, 1998 snapshot of PostgreSQL.  These patches implement
a port of PostgreSQL to SCO UnixWare 7, and updates the Univel port
(UnixWare 2.x).  The patched files, and the reason
 for the patch are:

File            Reason for the patch ---------------
---------------------------------------------------------------
src/backend/port/dynloader/unixware.c src/backend/port/dynloader/unixware.h
src/include/port/unixware.h src/makefiles/Makefile.unixware
src/template/unixware
		Created for the UNIXWARE port.

src/include/port/univel.h
		Modifed this file to work with the changes made to
		s_lock.[ch].

src/backend/storage/buffer/s_lock.c src/include/storage/s_lock.h
		Moved the UNIXWARE (and Univel) tas() function from
		s_lock.c to s_lock.h.  The UnixWare compiler asm
		construct is treated as a macro and needs to be in
		the s_lock.h file.  I also reworked the tas()
		function to correct some errors in the code.

src/include/version.h.in
		The use of the ## operator with quoted strings in
		the VERSION macro caused problems with the UnixWare
		C compiler.  I removed the ## operators since they
		were not needed in this case.  The macro expands
		into a sequence of quoted strings that will be
		concatenated by any ANSI C compiler.

src/config.guess
		This script was modified to recognize SCO UnixWare
		7.

src/configure src/configure.in
		The configure script was modified to recognize SCO
		UnixWare 7.

Billy G. Allie
This commit is contained in:
Bruce Momjian 1998-07-19 04:17:13 +00:00
parent 5b4ca67147
commit 0624f3dcbd
10 changed files with 103 additions and 14 deletions

View File

@ -0,0 +1,4 @@
/* Dummy file used for nothing at this point
*
* see unixware.h
*/

View File

@ -0,0 +1,34 @@
/*-------------------------------------------------------------------------
*
* unixware.h--
* port-specific prototypes for Intel x86/UNIXWARE 7
*
*
* 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 <dlfcn.h>
#include "fmgr.h" /* for func_ptr */
#include "utils/dynamic_loader.h"
/* dynloader.c */
/*
* Dynamic Loader on Intel x86/Intel SVR4.
*
* 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.
*
*/
#define pg_dlopen(f) dlopen(f,RTLD_LAZY)
#define pg_dlsym dlsym
#define pg_dlclose dlclose
#define pg_dlerror dlerror
#endif /* PORT_PROTOS_H */

3
src/config.guess vendored
View File

@ -450,6 +450,9 @@ EOF
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i[34]86:UnixWare:*:*)
echo ${UNAME_MACHINE}-unixware-sysv${UNAME_RELEASE}
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}

1
src/configure vendored
View File

@ -626,6 +626,7 @@ nextstep*) os=nextstep need_tas=no ;;
*) os=unknown need_tas=no ;;
esac ;;
sysv4*) os=svr4 need_tas=no ;;
sysv5*) os=unixware need_tas=no ;;
*) echo ""
echo "*************************************************************"
echo "configure does not currently recognize your operating system,"

View File

@ -32,6 +32,7 @@ nextstep*) os=nextstep need_tas=no ;;
*) os=unknown need_tas=no ;;
esac ;;
sysv4*) os=svr4 need_tas=no ;;
sysv5*) os=unixware need_tas=no ;;
*) echo ""
echo "*************************************************************"
echo "configure does not currently recognize your operating system,"

View File

@ -0,0 +1,32 @@
#define USE_POSIX_TIME
#define NO_EMPTY_STMTS
#define USE_POSIX_SIGNALS
#define SYSV_DIRENT
#define HAS_TEST_AND_SET
#define NEED_I386_TAS_ASM
/***************************************
* Define this if you are compiling with
* the native UNIXWARE C compiler.
***************************************/
#define UNIXWARE
typedef unsigned char slock_t;
/***************************************************************
* The following include will get the needed prototype for the
* strcasecmp() function.
***************************************************************/
#include <strings.h>
#ifndef BIG_ENDIAN
#define BIG_ENDIAN 4321
#endif
#ifndef LITTLE_ENDIAN
#define LITTLE_ENDIAN 1234
#endif
#ifndef PDP_ENDIAN
#define PDP_ENDIAN 3412
#endif
#ifndef BYTE_ORDER
#define BYTE_ORDER LITTLE_ENDIAN
#endif

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.40 1998/07/19 01:19:54 momjian Exp $
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.41 1998/07/19 04:16:59 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -188,23 +188,22 @@ tas(volatile slock_t *lock)
#if defined(NEED_I386_TAS_ASM)
/* non gcc i386 based things */
#if defined(USE_UNIVEL_CC)
#if defined(USE_UNIVEL_CC) || defined(UNIXWARE)
#define TAS(lock) tas(lock)
asm int
asm int
tas(slock_t *s_lock)
{
%lab locked;
/* Upon entry, %eax will contain the pointer to the lock byte */
pushl % ebx
xchgl % eax, %ebx
xor % eax, %eax
movb $255, %al
% mem s_lock
pushl %ebx
movl s_lock,%ebx
movl $255,%eax
lock
xchgb % al, (%ebx)
popl % ebx
xchgb %al,(%ebx)
popl %ebx
}
#endif /* USE_UNIVEL_CC */
#endif /* USE_UNIVEL_CC || UNIXWARE */
#endif /* NEED_I386_TAS_ASM */

View File

@ -4,7 +4,7 @@
* this file contains the interface to version.c.
* Also some parameters.
*
* $Header: /cvsroot/pgsql/src/include/Attic/version.h.in,v 1.2 1998/06/09 22:59:04 momjian Exp $
* $Header: /cvsroot/pgsql/src/include/Attic/version.h.in,v 1.3 1998/07/19 04:16:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -20,6 +20,6 @@ void SetPgVersion(const char *path, char **reason_p);
#define PG_VERFILE "PG_VERSION"
#define PG_VERSION_STR "PostgreSQL " ## PG_RELEASE ## "." ## PG_VERSION ## "." ## PG_SUBVERSION ## " on @host@, compiled by @CC@ @CC_VERSION@"
#define PG_VERSION_STR "PostgreSQL " PG_RELEASE "." PG_VERSION "." PG_SUBVERSION " on @host@, compiled by @CC@ @CC_VERSION@"
#endif

View File

@ -0,0 +1,7 @@
LDFLAGS+= -Wl,-Bexport
%.so: %.o
$(LD) -G -Bdynamic -o $@ $<
INSTALL= /usr/ucb/install

8
src/template/unixware Normal file
View File

@ -0,0 +1,8 @@
AROPT:crs
CFLAGS:-Xa -v -O -K i486,host,inline,loop_unroll,alloca -Dsvr4
SHARED_LIB:-K PIC
SRCH_INC:
SRCH_LIB:
USE_LOCALE:no
DLSUFFIX:.so
CC:cc