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.
This commit is contained in:
Marc G. Fournier 1998-03-01 04:47:38 +00:00
parent 5b3e78afe3
commit 56b3182241
6 changed files with 88 additions and 34 deletions

View File

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

View File

@ -1,23 +1,23 @@
/*-------------------------------------------------------------------------
*
* 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
*
*-------------------------------------------------------------------------
*/
#ifndef PORT_PROTOS_H
#define PORT_PROTOS_H
#include <dlfcn.h>
#include "fmgr.h" /* for func_ptr */
#include "utils/dynamic_loader.h"
/* dynloader.c */
*/
#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.
*
@ -25,10 +25,10 @@
* 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 */
*/
#define pg_dlopen(f) dlopen(f,RTLD_LAZY)
#define pg_dlsym dlsym
#define pg_dlclose dlclose
#define pg_dlerror dlerror
#endif /* PORT_PROTOS_H */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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