diff options
author | Thomas Munro | 2022-07-07 23:17:47 +0000 |
---|---|---|
committer | Thomas Munro | 2022-07-08 02:05:05 +0000 |
commit | 9db300ce6e38411144f1e36dba345a5f91bbdee4 (patch) | |
tree | 711b9ce24674f12515da778ca22a9891177f61da /src/backend | |
parent | 3c633f32b9c712cc0b4c8d946f0eeae04a3ff51a (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.c | 12 | ||||
-rw-r--r-- | src/backend/port/hpux/tas.c.template | 40 | ||||
-rw-r--r-- | src/backend/port/tas/hpux_hppa.s | 28 | ||||
-rw-r--r-- | src/backend/tcop/postgres.c | 8 | ||||
-rw-r--r-- | src/backend/utils/misc/ps_status.c | 17 |
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; |