diff options
| author | Marc G. Fournier <scrappy@hub.org> | 1998-03-01 04:47:38 +0000 |
|---|---|---|
| committer | Marc G. Fournier <scrappy@hub.org> | 1998-03-01 04:47:38 +0000 |
| commit | 56b3182241347aacb7b4c47519f009ffa2b57aa8 (patch) | |
| tree | bd6f3caf19abe173617ca8632828f8e0faf4d04f /src/include | |
| parent | 5b3e78afe3b207e5db91853f03a90f37e0fdb35f (diff) | |
| download | postgresql-56b3182241347aacb7b4c47519f009ffa2b57aa8.tar.gz | |
From: "Billy G. Allie" <Bill.Allie@mug.org>
The following patches will allow postgreSQL 6.3 to compile and run on a
UNIXWARE 2.1.2 system with the native C compiler with the following library
change:
The alloca function must be copied from the libucb.a archive and added
to the libgen.a archive.
Also, the GNU flex program is needed to successfully build postgreSQL.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/access/heapam.h | 54 | ||||
| -rw-r--r-- | src/include/port/univel.h | 7 | ||||
| -rw-r--r-- | src/include/storage/s_lock.h | 20 |
3 files changed, 67 insertions, 14 deletions
diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index 7dc2533735..8e322b1d91 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: heapam.h,v 1.30 1998/02/26 04:40:05 momjian Exp $ + * $Id: heapam.h,v 1.31 1998/03/01 04:46:56 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -88,6 +88,8 @@ typedef HeapAccessStatisticsData *HeapAccessStatistics; * * ---------------- */ +#if !defined(USE_UNIVEL_CC) + #define fastgetattr(tup, attnum, tupleDesc, isnull) \ ( \ AssertMacro((attnum) > 0) ? \ @@ -130,7 +132,57 @@ typedef HeapAccessStatisticsData *HeapAccessStatistics; ) \ ) +#else /* !defined(USE_UNIVEL_CC) */ + +extern Datum nocachegetattr(HeapTuple tup, int attnum, + TupleDesc att, bool *isnull); + +static Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, + bool *isnull) +{ + return ( + (attnum) > 0 ? + ( + ((isnull) ? (*(isnull) = false) : (dummyret)NULL), + HeapTupleNoNulls(tup) ? + ( + ((tupleDesc)->attrs[(attnum)-1]->attcacheoff != -1 || + (attnum) == 1) ? + ( + (Datum)fetchatt(&((tupleDesc)->attrs[(attnum)-1]), + (char *) (tup) + (tup)->t_hoff + + ( + ((attnum) != 1) ? + (tupleDesc)->attrs[(attnum)-1]->attcacheoff + : + 0 + ) + ) + ) + : + nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) + ) + : + ( + att_isnull((attnum)-1, (tup)->t_bits) ? + ( + ((isnull) ? (*(isnull) = true) : (dummyret)NULL), + (Datum)NULL + ) + : + ( + nocachegetattr((tup), (attnum), (tupleDesc), (isnull)) + ) + ) + ) + : + ( + (Datum)NULL + ) + ); +} +#endif /* ---------------- * heap_getattr diff --git a/src/include/port/univel.h b/src/include/port/univel.h index a7daf59460..cd52bd7687 100644 --- a/src/include/port/univel.h +++ b/src/include/port/univel.h @@ -9,13 +9,14 @@ * Define this if you are compiling with * the native UNIXWARE C compiler. ***************************************/ -#define USE_UNIVEL_CC_ASM +#define USE_UNIVEL_CC typedef unsigned char slock_t; /*************************************************************** - * strcasecmp() is in c89, but is not in any include file :-( + * strcasecmp() is in c89.a. The following include will get the + * needed prototype. ***************************************************************/ -int strcasecmp(char *, char *); +#include <strings.h> #ifndef BIG_ENDIAN #define BIG_ENDIAN 4321 diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index f63a37193c..89612c1b71 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.27 1998/02/26 04:43:32 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.28 1998/03/01 04:47:24 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -305,21 +305,21 @@ tas_dummy() #if defined(NEED_I386_TAS_ASM) -#if defined(USE_UNIVEL_CC_ASM) +#if defined(USE_UNIVEL_CC) asm void S_LOCK(char *lval) { - %lab again; +% lab again; /* Upon entry, %eax will contain the pointer to the lock byte */ - pushl % ebx - xchgl % eax, %ebx - movb $ - 1, %al + pushl %ebx + xchgl %eax, %ebx + movb $255, %al again: lock - xchgb % al, (%ebx) - cmpb $0, %al - jne again - popl % ebx + xchgb %al, (%ebx) + cmpb $0, %al + jne again + popl %ebx } #else |
