summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorBruce Momjian1998-07-19 04:17:13 +0000
committerBruce Momjian1998-07-19 04:17:13 +0000
commit0624f3dcbd990bc9cf9b2e9740cdd68de72227c9 (patch)
tree05bea5c250581f041f38a305786709c53c9b0524 /src/include
parent5b4ca671470e5f74f37e52a6744eb13d5db78e6f (diff)
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
Diffstat (limited to 'src/include')
-rw-r--r--src/include/port/unixware.h32
-rw-r--r--src/include/storage/s_lock.h23
-rw-r--r--src/include/version.h.in4
3 files changed, 45 insertions, 14 deletions
diff --git a/src/include/port/unixware.h b/src/include/port/unixware.h
new file mode 100644
index 00000000000..e552202f5f9
--- /dev/null
+++ b/src/include/port/unixware.h
@@ -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
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 70a0f4226c4..e3658b742cd 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -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 */
diff --git a/src/include/version.h.in b/src/include/version.h.in
index 699b136bfbd..e295925d669 100644
--- a/src/include/version.h.in
+++ b/src/include/version.h.in
@@ -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