Skip to content
Snippets Groups Projects
Commit f8a47462 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Patches HPUX applied for Tom Lane.

parent 824c6865
No related branches found
No related tags found
No related merge requests found
#define JMP_BUF #define JMP_BUF
#define USE_POSIX_TIME #define USE_POSIX_TIME
/* HPUX 10 has full POSIX signal functionality.
* On HPUX 9, we rely on BSD-compatible signal() in libBSD.
*/
#ifdef HPUX_10
#define USE_POSIX_SIGNALS #define USE_POSIX_SIGNALS
#endif
#define HAS_TEST_AND_SET #define HAS_TEST_AND_SET
typedef struct typedef struct
{ {
......
HPUX_MAJOR= $(shell uname -r|sed 's/^[^.]*\.\([^.]*\).*/\1/') HPUX_MAJOR= $(shell uname -r|sed 's/^[^.]*\.\([^.]*\).*/\1/')
# Distinguish HPUX 10 (and later) from HPUX 9
ifneq ($(HPUX_MAJOR), 09)
CFLAGS+= -DHPUX_10
endif
# HP-UX 10 has a select() in libcurses, so we need to get the libc version first # HP-UX 10 has a select() in libcurses, so we need to get the libc version first
ifeq ($(HPUX_MAJOR), 10) # We also want to be sure we get the POSIX signal routines in libc,
# not the BSD-like ones in libBSD.
ifneq ($(HPUX_MAJOR), 09)
LDFLAGS:= -Wl,-E -lc $(LDFLAGS) LDFLAGS:= -Wl,-E -lc $(LDFLAGS)
endif endif
# HP-UX 09 needs libc before libPW, so we need to get the libc version first # HP-UX 09 provides rint() only in PA1.1 version of libm, so add -L command
# to get that version. (CAUTION: you need PHSS_4630 to have a working version
# of rint()!) Also, libPW exists on this platform but is not helpful, so
# delete it from LDFLAGS.
# NOTE: libBSD must be loaded before libc to get BSD signal() semantics.
ifeq ($(HPUX_MAJOR), 09) ifeq ($(HPUX_MAJOR), 09)
LDFLAGS:= -Wl,-E $(LDFLAGS:-lPW=-lc -lPW) LDFLAGS:= -Wl,-E -L /lib/pa1.1 $(LDFLAGS:-lPW=)
endif endif
# On all HPUX versions, embed LIBDIR as the shared library search path
# so that the executables don't need SHLIB_PATH to be set.
LDFLAGS+= -Wl,+b -Wl,$(LIBDIR)
# Does anyone use this stuff? # Does anyone use this stuff?
#ifdef ENFORCE_ALIGNMENT #ifdef ENFORCE_ALIGNMENT
# CFLAGS+= -DNOFIXADE # CFLAGS+= -DNOFIXADE
......
...@@ -123,7 +123,7 @@ HREF="../../include/storage/lock.h">LOCKMETHODCTL</A>). ...@@ -123,7 +123,7 @@ HREF="../../include/storage/lock.h">LOCKMETHODCTL</A>).
HREF="../../include/storage/lock.h">LOCK</A> structure, looked up using HREF="../../include/storage/lock.h">LOCK</A> structure, looked up using
relation, database object ids(<A relation, database object ids(<A
HREF="../../include/storage/lock.h">LOCKTAG)</A>. The lock table structure contains the HREF="../../include/storage/lock.h">LOCKTAG)</A>. The lock table structure contains the
lock modes(read, write) and circular linked list of backends (<A lock modes(read/write or shared/exclusive) and circular linked list of backends (<A
HREF="../../include/storage/proc.h">PROC</A> structure pointers) waiting HREF="../../include/storage/proc.h">PROC</A> structure pointers) waiting
on the lock. on the lock.
<LI>MultiLevelLockTable (xid hash) - lookup of LOCK structure address <LI>MultiLevelLockTable (xid hash) - lookup of LOCK structure address
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment