Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Munro2022-07-07 23:17:47 +0000
committerThomas Munro2022-07-08 02:05:05 +0000
commit9db300ce6e38411144f1e36dba345a5f91bbdee4 (patch)
tree711b9ce24674f12515da778ca22a9891177f61da /src/backend
parent3c633f32b9c712cc0b4c8d946f0eeae04a3ff51a (diff)
Remove HP-UX port.
HP-UX hardware is no longer produced, build farm coverage recently ended, and there are no known active maintainers targeting this OS. Since there is a major rewrite of the build system in the pipeline for PostgreSQL 16, and that requires development, testing and maintainance for each OS and tool chain, it seems like a good time to drop support for: * HP-UX, the operating system. * HP aCC, the HP-UX native compiler. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com> Discussion: https://postgr.es/m/1415825.1656893299%40sss.pgh.pa.us
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/libpq/ifaddr.c12
-rw-r--r--src/backend/port/hpux/tas.c.template40
-rw-r--r--src/backend/port/tas/hpux_hppa.s28
-rw-r--r--src/backend/tcop/postgres.c8
-rw-r--r--src/backend/utils/misc/ps_status.c17
5 files changed, 5 insertions, 100 deletions
diff --git a/src/backend/libpq/ifaddr.c b/src/backend/libpq/ifaddr.c
index a41808aff0a..5494c9b3032 100644
--- a/src/backend/libpq/ifaddr.c
+++ b/src/backend/libpq/ifaddr.c
@@ -333,17 +333,11 @@ pg_foreach_ifaddr(PgIfAddrCallback callback, void *cb_data)
#endif
/*
- * SIOCGIFCONF does not return IPv6 addresses on Solaris
- * and HP/UX. So we prefer SIOCGLIFCONF if it's available.
- *
- * On HP/UX, however, it *only* returns IPv6 addresses,
- * and the structs are named slightly differently too.
- * We'd have to do another call with SIOCGIFCONF to get the
- * IPv4 addresses as well. We don't currently bother, just
- * fall back to SIOCGIFCONF on HP/UX.
+ * SIOCGIFCONF does not return IPv6 addresses on Solaris.
+ * So we prefer SIOCGLIFCONF if it's available.
*/
-#if defined(SIOCGLIFCONF) && !defined(__hpux)
+#if defined(SIOCGLIFCONF)
/*
* Enumerate the system's network interface addresses and call the callback
diff --git a/src/backend/port/hpux/tas.c.template b/src/backend/port/hpux/tas.c.template
deleted file mode 100644
index 5ccbbcde9aa..00000000000
--- a/src/backend/port/hpux/tas.c.template
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * tas() for HPPA.
- *
- * To generate tas.s using this template:
- * 1. cc +O2 -S -c tas.c
- * 2. edit tas.s:
- * - replace the LDW with LDCWX
- * 3. install as src/backend/port/tas/hpux_hppa.s.
- *
- * For details about the LDCWX instruction, see the "Precision
- * Architecture and Instruction Reference Manual" (09740-90014 of June
- * 1987), p. 5-38.
- */
-
-int
-tas(lock)
- int *lock; /* LDCWX is a word instruction */
-{
- /*
- * LDCWX requires that we align the "semaphore" to a 16-byte
- * boundary. The actual datum is a single word (4 bytes).
- */
- lock = ((uintptr_t) lock + 15) & ~15;
-
- /*
- * The LDCWX instruction atomically clears the target word and
- * returns the previous value. Hence, if the instruction returns
- * 0, someone else has already acquired the lock before we tested
- * it (i.e., we have failed).
- *
- * Notice that this means that we actually clear the word to set
- * the lock and set the word to clear the lock. This is the
- * opposite behavior from the SPARC LDSTUB instruction. For some
- * reason everything that H-P does is rather baroque...
- */
- if (*lock) { /* this generates the LDW */
- return(0); /* success */
- }
- return(1); /* failure */
-}
diff --git a/src/backend/port/tas/hpux_hppa.s b/src/backend/port/tas/hpux_hppa.s
deleted file mode 100644
index d978a7cb030..00000000000
--- a/src/backend/port/tas/hpux_hppa.s
+++ /dev/null
@@ -1,28 +0,0 @@
-
- .SPACE $TEXT$,SORT=8
- .SUBSPA $CODE$,QUAD=0,ALIGN=4,ACCESS=44,CODE_ONLY,SORT=24
-tas
- .PROC
- .CALLINFO CALLER,FRAME=0,ENTRY_SR=3
- .ENTRY
- LDO 15(%r26),%r31 ;offset 0x0
- DEPI 0,31,4,%r31 ;offset 0x4
- LDCWX 0(0,%r31),%r23 ;offset 0x8
- COMICLR,= 0,%r23,%r0 ;offset 0xc
- DEP,TR %r0,31,32,%r28 ;offset 0x10
-$00000001
- LDI 1,%r28 ;offset 0x14
-$L0
- .EXIT
- BV,N %r0(%r2) ;offset 0x18
- .PROCEND ;in=26;out=28;
-
-
- .SPACE $TEXT$
- .SUBSPA $CODE$
- .SPACE $PRIVATE$,SORT=16
- .SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31,SORT=16
- .SPACE $TEXT$
- .SUBSPA $CODE$
- .EXPORT tas,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
- .END
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 5ab91c2c581..cbb0ec606f9 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -3396,7 +3396,7 @@ ProcessInterrupts(void)
/*
* IA64-specific code to fetch the AR.BSP register for stack depth checks.
*
- * We currently support gcc, icc, and HP-UX's native compiler here.
+ * We currently support gcc and icc here.
*
* Note: while icc accepts gcc asm blocks on x86[_64], this is not true on
* ia64 (at least not in icc versions before 12.x). So we have to carry a
@@ -3404,11 +3404,7 @@ ProcessInterrupts(void)
*/
#if defined(__ia64__) || defined(__ia64)
-#if defined(__hpux) && !defined(__GNUC__) && !defined(__INTEL_COMPILER)
-/* Assume it's HP-UX native compiler */
-#include <ia64/sys/inline.h>
-#define ia64_get_bsp() ((char *) (_Asm_mov_from_ar(_AREG_BSP, _NO_FENCE)))
-#elif defined(__INTEL_COMPILER)
+#if defined(__INTEL_COMPILER)
/* icc */
#include <asm/ia64regs.h>
#define ia64_get_bsp() ((char *) __getReg(_IA64_REG_AR_BSP))
diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c
index ec314c03f54..8520ce76bbd 100644
--- a/src/backend/utils/misc/ps_status.c
+++ b/src/backend/utils/misc/ps_status.c
@@ -15,9 +15,6 @@
#include "postgres.h"
#include <unistd.h>
-#ifdef HAVE_SYS_PSTAT_H
-#include <sys/pstat.h> /* for HP-UX */
-#endif
#ifdef HAVE_PS_STRINGS
#include <machine/vmparam.h> /* for old BSD */
#include <sys/exec.h>
@@ -45,9 +42,6 @@ bool update_process_title = true;
* PS_USE_SETPROCTITLE
* use the function setproctitle(const char *, ...)
* (newer BSD systems)
- * PS_USE_PSTAT
- * use the pstat(PSTAT_SETCMD, )
- * (HPUX)
* PS_USE_PS_STRINGS
* assign PS_STRINGS->ps_argvstr = "string"
* (some BSD systems)
@@ -67,8 +61,6 @@ bool update_process_title = true;
#define PS_USE_SETPROCTITLE_FAST
#elif defined(HAVE_SETPROCTITLE)
#define PS_USE_SETPROCTITLE
-#elif defined(HAVE_PSTAT) && defined(PSTAT_SETCMD)
-#define PS_USE_PSTAT
#elif defined(HAVE_PS_STRINGS)
#define PS_USE_PS_STRINGS
#elif (defined(BSD) || defined(__hurd__)) && !defined(__darwin__)
@@ -376,15 +368,6 @@ set_ps_display(const char *activity)
setproctitle_fast("%s", ps_buffer);
#endif
-#ifdef PS_USE_PSTAT
- {
- union pstun pst;
-
- pst.pst_command = ps_buffer;
- pstat(PSTAT_SETCMD, pst, ps_buffer_cur_len, 0, 0);
- }
-#endif /* PS_USE_PSTAT */
-
#ifdef PS_USE_PS_STRINGS
PS_STRINGS->ps_nargvstr = 1;
PS_STRINGS->ps_argvstr = ps_buffer;