Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit f8a4746

Browse files
committed
Patches HPUX applied for Tom Lane.
1 parent 824c686 commit f8a4746

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

src/include/port/hpux.h

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
#define JMP_BUF
22
#define USE_POSIX_TIME
3+
/* HPUX 10 has full POSIX signal functionality.
4+
* On HPUX 9, we rely on BSD-compatible signal() in libBSD.
5+
*/
6+
#ifdef HPUX_10
37
#define USE_POSIX_SIGNALS
8+
#endif
49
#define HAS_TEST_AND_SET
510
typedef struct
611
{

src/makefiles/Makefile.hpux

+18-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
11
HPUX_MAJOR= $(shell uname -r|sed 's/^[^.]*\.\([^.]*\).*/\1/')
2+
# Distinguish HPUX 10 (and later) from HPUX 9
3+
ifneq ($(HPUX_MAJOR), 09)
4+
CFLAGS+= -DHPUX_10
5+
endif
6+
27
# HP-UX 10 has a select() in libcurses, so we need to get the libc version first
3-
ifeq ($(HPUX_MAJOR), 10)
8+
# We also want to be sure we get the POSIX signal routines in libc,
9+
# not the BSD-like ones in libBSD.
10+
ifneq ($(HPUX_MAJOR), 09)
411
LDFLAGS:= -Wl,-E -lc $(LDFLAGS)
512
endif
613

7-
# HP-UX 09 needs libc before libPW, so we need to get the libc version first
14+
# HP-UX 09 provides rint() only in PA1.1 version of libm, so add -L command
15+
# to get that version. (CAUTION: you need PHSS_4630 to have a working version
16+
# of rint()!) Also, libPW exists on this platform but is not helpful, so
17+
# delete it from LDFLAGS.
18+
# NOTE: libBSD must be loaded before libc to get BSD signal() semantics.
819
ifeq ($(HPUX_MAJOR), 09)
9-
LDFLAGS:= -Wl,-E $(LDFLAGS:-lPW=-lc -lPW)
20+
LDFLAGS:= -Wl,-E -L /lib/pa1.1 $(LDFLAGS:-lPW=)
1021
endif
1122

23+
# On all HPUX versions, embed LIBDIR as the shared library search path
24+
# so that the executables don't need SHLIB_PATH to be set.
25+
LDFLAGS+= -Wl,+b -Wl,$(LIBDIR)
26+
1227
# Does anyone use this stuff?
1328
#ifdef ENFORCE_ALIGNMENT
1429
# CFLAGS+= -DNOFIXADE

src/tools/backend/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ <H2 ALIGN=CENTER>
123123
HREF="../../include/storage/lock.h">LOCK</A> structure, looked up using
124124
relation, database object ids(<A
125125
HREF="../../include/storage/lock.h">LOCKTAG)</A>. The lock table structure contains the
126-
lock modes(read, write) and circular linked list of backends (<A
126+
lock modes(read/write or shared/exclusive) and circular linked list of backends (<A
127127
HREF="../../include/storage/proc.h">PROC</A> structure pointers) waiting
128128
on the lock.
129129
<LI>MultiLevelLockTable (xid hash) - lookup of LOCK structure address

0 commit comments

Comments
 (0)