Skip to content
Snippets Groups Projects
Commit 56b31822 authored by Marc G. Fournier's avatar Marc G. Fournier
Browse files

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.
parent 5b3e78af
No related branches found
No related tags found
No related merge requests found
/*-------------------------------------------------------------------------
*
* port-protos.h--
* univel.h--
* port-specific prototypes for Intel x86/UNIXWARE
*
*
* Copyright (c) 1994, Regents of the University of California
*
* port-protos.h,v 1.2 1995/03/17 06:40:18 andrew Exp
* univel.h,v 1.2 1995/03/17 06:40:18 andrew Exp
*
*-------------------------------------------------------------------------
*/
......
......@@ -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
......
......@@ -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
......
......@@ -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,7 +305,7 @@ 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)
{
......@@ -313,7 +313,7 @@ S_LOCK(char *lval)
/* Upon entry, %eax will contain the pointer to the lock byte */
pushl %ebx
xchgl %eax, %ebx
movb $ - 1, %al
movb $255, %al
again:
lock
xchgb %al, (%ebx)
......
......@@ -5,6 +5,7 @@ SRCH_INC:
SRCH_LIB:
USE_LOCALE:no
DLSUFFIX:.so
YACC=/usr/ccs/bin/yacc
YACC:yacc
YFLAGS:-d
CC:cc
LIBS:-lc89
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment