On Mon, Jul 4, 2022 at 12:08 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > I would not stand in the way of dropping HP-UX and IA64 support as of > v16. (I do still feel that HPPA is of interest, to keep us honest > about spinlock support --- but that dual-stack arrangement that IA64 > uses is surely not part of anyone's future.)
I tried to find everything relating to HP-UX, aCC, ia64 and hppa. Or do you still want to keep the hppa bits for NetBSD (I wasn't sure if your threat to set up a NetBSD/hppa system was affected by the hardware failure you mentioned)? Or just leave it in there in orphaned hall-of-fame state, like m68k, m88k, Vax?
From 78d5a122fef28e2dbfd307a584dbda5e830734cb Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.mu...@gmail.com> Date: Mon, 4 Jul 2022 16:24:16 +1200 Subject: [PATCH] Remove HP-UX, aCC, ia64 and hppa support. HP-UX hardware is no longer produced. This removes support for: HP-UX, the operating system. HP aCC, the compiler. HP/Intel Itanium (ia64), the CPU architecture discontinued in 2021. HP PA-RISC (hppa), the CPU architecture discontinued in 2008. --- configure | 99 +-------------- configure.ac | 8 -- contrib/pgcrypto/crypt-blowfish.c | 2 +- doc/src/sgml/dfunc.sgml | 29 ----- doc/src/sgml/installation.sgml | 3 +- doc/src/sgml/regress.sgml | 6 +- doc/src/sgml/runtime.sgml | 19 --- src/Makefile.shlib | 33 ----- src/backend/libpq/ifaddr.c | 12 +- src/backend/port/hpux/tas.c.template | 40 ------- src/backend/port/tas/hpux_hppa.s | 28 ----- src/backend/tcop/postgres.c | 74 ------------ src/backend/utils/misc/ps_status.c | 17 --- src/common/sprompt.c | 2 +- src/include/miscadmin.h | 8 -- src/include/pg_config.h.in | 6 - src/include/port/atomics.h | 6 - src/include/port/atomics/arch-hppa.h | 17 --- src/include/port/atomics/arch-ia64.h | 29 ----- src/include/port/atomics/fallback.h | 12 -- src/include/port/atomics/generic-acc.h | 106 ---------------- src/include/port/hpux.h | 3 - src/include/storage/s_lock.h | 160 ------------------------- src/makefiles/Makefile.hpux | 47 -------- src/pl/plperl/ppport.h | 2 +- src/port/dlopen.c | 50 +------- src/port/getrusage.c | 1 - src/template/hpux | 34 ------ src/test/regress/resultmap | 1 - src/tools/msvc/Solution.pm | 2 - src/tools/pginclude/cpluspluscheck | 3 - src/tools/pginclude/headerscheck | 3 - 32 files changed, 13 insertions(+), 849 deletions(-) delete mode 100644 src/backend/port/hpux/tas.c.template delete mode 100644 src/backend/port/tas/hpux_hppa.s delete mode 100644 src/include/port/atomics/arch-hppa.h delete mode 100644 src/include/port/atomics/arch-ia64.h delete mode 100644 src/include/port/atomics/generic-acc.h delete mode 100644 src/include/port/hpux.h delete mode 100644 src/makefiles/Makefile.hpux delete mode 100644 src/template/hpux diff --git a/configure b/configure index fb07cd27d9..91b7b185f9 100755 --- a/configure +++ b/configure @@ -2994,7 +2994,6 @@ case $host_os in darwin*) template=darwin ;; dragonfly*) template=netbsd ;; freebsd*) template=freebsd ;; - hpux*) template=hpux ;; linux*|gnu*|k*bsd*-gnu) template=linux ;; mingw*) template=win32 ;; @@ -6856,100 +6855,6 @@ if test x"$pgac_cv_prog_CXX_cxxflags__qlonglong" = x"yes"; then fi -elif test "$PORTNAME" = "hpux"; then - # On some versions of HP-UX, libm functions do not set errno by default. - # Fix that by using +Olibmerrno if the compiler recognizes it. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC} supports +Olibmerrno, for CFLAGS" >&5 -$as_echo_n "checking whether ${CC} supports +Olibmerrno, for CFLAGS... " >&6; } -if ${pgac_cv_prog_CC_cflags_pOlibmerrno+:} false; then : - $as_echo_n "(cached) " >&6 -else - pgac_save_CFLAGS=$CFLAGS -pgac_save_CC=$CC -CC=${CC} -CFLAGS="${CFLAGS} +Olibmerrno" -ac_save_c_werror_flag=$ac_c_werror_flag -ac_c_werror_flag=yes -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - pgac_cv_prog_CC_cflags_pOlibmerrno=yes -else - pgac_cv_prog_CC_cflags_pOlibmerrno=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_c_werror_flag=$ac_save_c_werror_flag -CFLAGS="$pgac_save_CFLAGS" -CC="$pgac_save_CC" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CC_cflags_pOlibmerrno" >&5 -$as_echo "$pgac_cv_prog_CC_cflags_pOlibmerrno" >&6; } -if test x"$pgac_cv_prog_CC_cflags_pOlibmerrno" = x"yes"; then - CFLAGS="${CFLAGS} +Olibmerrno" -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CXX} supports +Olibmerrno, for CXXFLAGS" >&5 -$as_echo_n "checking whether ${CXX} supports +Olibmerrno, for CXXFLAGS... " >&6; } -if ${pgac_cv_prog_CXX_cxxflags_pOlibmerrno+:} false; then : - $as_echo_n "(cached) " >&6 -else - pgac_save_CXXFLAGS=$CXXFLAGS -pgac_save_CXX=$CXX -CXX=${CXX} -CXXFLAGS="${CXXFLAGS} +Olibmerrno" -ac_save_cxx_werror_flag=$ac_cxx_werror_flag -ac_cxx_werror_flag=yes -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - pgac_cv_prog_CXX_cxxflags_pOlibmerrno=yes -else - pgac_cv_prog_CXX_cxxflags_pOlibmerrno=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_cxx_werror_flag=$ac_save_cxx_werror_flag -CXXFLAGS="$pgac_save_CXXFLAGS" -CXX="$pgac_save_CXX" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_prog_CXX_cxxflags_pOlibmerrno" >&5 -$as_echo "$pgac_cv_prog_CXX_cxxflags_pOlibmerrno" >&6; } -if test x"$pgac_cv_prog_CXX_cxxflags_pOlibmerrno" = x"yes"; then - CXXFLAGS="${CXXFLAGS} +Olibmerrno" -fi - - fi @@ -13823,7 +13728,7 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -for ac_header in atomic.h copyfile.h execinfo.h getopt.h ifaddrs.h langinfo.h mbarrier.h poll.h sys/epoll.h sys/event.h sys/ipc.h sys/personality.h sys/prctl.h sys/procctl.h sys/pstat.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/signalfd.h sys/sockio.h sys/tas.h sys/uio.h sys/un.h termios.h ucred.h wctype.h +for ac_header in atomic.h copyfile.h execinfo.h getopt.h ifaddrs.h langinfo.h mbarrier.h poll.h sys/epoll.h sys/event.h sys/ipc.h sys/personality.h sys/prctl.h sys/procctl.h sys/resource.h sys/select.h sys/sem.h sys/shm.h sys/signalfd.h sys/sockio.h sys/tas.h sys/uio.h sys/un.h termios.h ucred.h wctype.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -15987,7 +15892,7 @@ fi LIBS_including_readline="$LIBS" LIBS=`echo "$LIBS" | sed -e 's/-ledit//g' -e 's/-lreadline//g'` -for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit inet_pton kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pstat pthread_is_threaded_np readlink readv setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink syncfs sync_file_range uselocale wcstombs_l writev +for ac_func in backtrace_symbols clock_gettime copyfile fdatasync getifaddrs getpeerucred getrlimit inet_pton kqueue mbstowcs_l memset_s poll posix_fallocate ppoll pthread_is_threaded_np readlink readv setproctitle setproctitle_fast setsid shm_open strchrnul strsignal symlink syncfs sync_file_range uselocale wcstombs_l writev do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" diff --git a/configure.ac b/configure.ac index 6c6f997ee3..7fbfb6795f 100644 --- a/configure.ac +++ b/configure.ac @@ -67,7 +67,6 @@ case $host_os in darwin*) template=darwin ;; dragonfly*) template=netbsd ;; freebsd*) template=freebsd ;; - hpux*) template=hpux ;; linux*|gnu*|k*bsd*-gnu) template=linux ;; mingw*) template=win32 ;; @@ -570,11 +569,6 @@ elif test "$PORTNAME" = "aix"; then PGAC_PROG_CXX_CFLAGS_OPT([-qnoansialias]) PGAC_PROG_CC_CFLAGS_OPT([-qlonglong]) PGAC_PROG_CXX_CFLAGS_OPT([-qlonglong]) -elif test "$PORTNAME" = "hpux"; then - # On some versions of HP-UX, libm functions do not set errno by default. - # Fix that by using +Olibmerrno if the compiler recognizes it. - PGAC_PROG_CC_CFLAGS_OPT([+Olibmerrno]) - PGAC_PROG_CXX_CFLAGS_OPT([+Olibmerrno]) fi AC_SUBST(CFLAGS_UNROLL_LOOPS) @@ -1452,7 +1446,6 @@ AC_CHECK_HEADERS(m4_normalize([ sys/personality.h sys/prctl.h sys/procctl.h - sys/pstat.h sys/resource.h sys/select.h sys/sem.h @@ -1801,7 +1794,6 @@ AC_CHECK_FUNCS(m4_normalize([ poll posix_fallocate ppoll - pstat pthread_is_threaded_np readlink readv diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c index a663852ccf..f89701b9bf 100644 --- a/contrib/pgcrypto/crypt-blowfish.c +++ b/contrib/pgcrypto/crypt-blowfish.c @@ -41,7 +41,7 @@ #ifdef __i386__ #define BF_ASM 0 /* 1 */ #define BF_SCALE 1 -#elif defined(__x86_64__) || defined(__alpha__) || defined(__hppa__) +#elif defined(__x86_64__) || defined(__alpha__) #define BF_ASM 0 #define BF_SCALE 1 #else diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml index a635767621..7bdf7f6070 100644 --- a/doc/src/sgml/dfunc.sgml +++ b/doc/src/sgml/dfunc.sgml @@ -75,35 +75,6 @@ gcc -shared -o foo.so foo.o </listitem> </varlistentry> - <varlistentry> - <term> - <systemitem class="osname">HP-UX</systemitem> - <indexterm><primary>HP-UX</primary><secondary>shared library</secondary></indexterm> - </term> - <listitem> - <para> - The compiler flag of the system compiler to create - <acronym>PIC</acronym> is <option>+z</option>. When using - <application>GCC</application> it's <option>-fPIC</option>. The - linker flag for shared libraries is <option>-b</option>. So: -<programlisting> -cc +z -c foo.c -</programlisting> - or: -<programlisting> -gcc -fPIC -c foo.c -</programlisting> - and then: -<programlisting> -ld -b -o foo.sl foo.o -</programlisting> - <systemitem class="osname">HP-UX</systemitem> uses the extension - <filename>.sl</filename> for shared libraries, unlike most other - systems. - </para> - </listitem> - </varlistentry> - <varlistentry> <term> <systemitem class="osname">Linux</systemitem> diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index c585078029..6ab3a65e48 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1974,7 +1974,6 @@ build-postgresql: shared libraries. The systems on which this is <emphasis>not</emphasis> necessary include <systemitem class="osname">FreeBSD</systemitem>, - <systemitem class="osname">HP-UX</systemitem>, <systemitem class="osname">Linux</systemitem>, <systemitem class="osname">NetBSD</systemitem>, <systemitem class="osname">OpenBSD</systemitem>, and @@ -2137,7 +2136,7 @@ export MANPATH <para> <productname>PostgreSQL</productname> can be expected to work on these operating systems: Linux (all recent distributions), Windows (XP and later), - FreeBSD, OpenBSD, NetBSD, macOS, AIX, HP/UX, and Solaris. + FreeBSD, OpenBSD, NetBSD, macOS, AIX, and Solaris. Other Unix-like systems may also work but are not currently being tested. In most cases, all CPU architectures supported by a given operating system will work. Look in diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index 952139fc60..8f032c4e7a 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -689,13 +689,13 @@ testname:output:platformpattern=comparisonfilename Therefore, we provide a variant comparison file, <filename>float4-misrounded-input.out</filename>, which includes the results to be expected on these systems. To silence the bogus - <quote>failure</quote> message on <systemitem>HP-UX 10</systemitem> + <quote>failure</quote> message on <systemitem>Cygwin</systemitem> platforms, <filename>resultmap</filename> includes: <programlisting> -float4:out:hppa.*-hp-hpux10.*=float4-misrounded-input.out +float4:out:.*-.*-cygwin.*=float4-misrounded-input.out </programlisting> which will trigger on any machine where the output of - <command>config.guess</command> matches <literal>hppa.*-hp-hpux10.*</literal>. + <command>config.guess</command> matches <literal>.*-.*-cygwin.*</literal>. Other lines in <filename>resultmap</filename> select the variant comparison file for other platforms where it's appropriate. </para> diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 2352389ab6..92a1ea87d8 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1018,25 +1018,6 @@ psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: No such </listitem> </varlistentry> - <varlistentry> - <term><systemitem class="osname">HP-UX</systemitem> - <indexterm><primary>HP-UX</primary><secondary>IPC configuration</secondary></indexterm> - </term> - <listitem> - <para> - The default settings tend to suffice for normal installations. - </para> - <para> - <acronym>IPC</acronym> parameters can be set in the <application>System - Administration Manager</application> (<acronym>SAM</acronym>) under - <menuchoice><guimenu>Kernel - Configuration</guimenu><guimenuitem>Configurable Parameters</guimenuitem></menuchoice>. Choose - <guibutton>Create A New Kernel</guibutton> when you're done. - </para> - </listitem> - </varlistentry> - - <varlistentry> <term><systemitem class="osname">Linux</systemitem> <indexterm><primary>Linux</primary><secondary>IPC configuration</secondary></indexterm> diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 551023c6fb..a7606bc5d9 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -177,39 +177,6 @@ ifeq ($(PORTNAME), netbsd) endif endif -ifeq ($(PORTNAME), hpux) - ifdef SO_MAJOR_VERSION - shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) - endif - ifeq ($(with_gnu_ld), yes) - LINK.shared = $(CC) -shared -Wl,-Bsymbolic - ifdef soname - LINK.shared += -Wl,-h -Wl,$(soname) - endif - else - LINK.shared = $(LD) -b -Bsymbolic - ifdef soname - LINK.shared += +h $(soname) - endif - # can't use the CC-syntax rpath pattern here, so instead: - rpath = - ifeq ($(enable_rpath), yes) - LINK.shared += +s +b '$(rpathdir)' - endif - # On HPUX platforms, gcc is usually configured to search for libraries - # in /usr/local/lib, but ld won't do so. Add an explicit -L switch so - # ld can find the same libraries gcc does. Make sure it goes after any - # -L switches provided explicitly. - ifeq ($(GCC), yes) - SHLIB_LINK += -L/usr/local/lib - endif - endif - # And we need to link with libgcc, too - ifeq ($(GCC), yes) - SHLIB_LINK += `$(CC) $(LDFLAGS) -print-libgcc-file-name` - endif -endif - ifeq ($(PORTNAME), linux) LINK.shared = $(COMPILER) -shared ifdef soname diff --git a/src/backend/libpq/ifaddr.c b/src/backend/libpq/ifaddr.c index a41808aff0..5494c9b303 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 5ccbbcde9a..0000000000 --- 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 d978a7cb03..0000000000 --- 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 495cbf2006..731ced0a73 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -132,13 +132,6 @@ static long max_stack_depth_bytes = 100 * 1024L; */ static char *stack_base_ptr = NULL; -/* - * On IA64 we also have to remember the register stack base. - */ -#if defined(__ia64__) || defined(__ia64) -static char *register_stack_base_ptr = NULL; -#endif - /* * Flag to keep track of whether we have started a transaction. * For extended query protocol this has to be remembered across messages. @@ -3390,44 +3383,6 @@ 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. - * - * 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 - * separate implementation for it. - */ -#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) -/* icc */ -#include <asm/ia64regs.h> -#define ia64_get_bsp() ((char *) __getReg(_IA64_REG_AR_BSP)) -#else -/* gcc */ -static __inline__ char * -ia64_get_bsp(void) -{ - char *ret; - - /* the ;; is a "stop", seems to be required before fetching BSP */ - __asm__ __volatile__( - ";;\n" - " mov %0=ar.bsp \n" -: "=r"(ret)); - - return ret; -} -#endif -#endif /* IA64 */ - - /* * set_stack_base: set up reference point for stack depth checking * @@ -3441,12 +3396,7 @@ set_stack_base(void) #endif pg_stack_base_t old; -#if defined(__ia64__) || defined(__ia64) - old.stack_base_ptr = stack_base_ptr; - old.register_stack_base_ptr = register_stack_base_ptr; -#else old = stack_base_ptr; -#endif /* * Set up reference point for stack depth checking. On recent gcc we use @@ -3458,9 +3408,6 @@ set_stack_base(void) #else stack_base_ptr = &stack_base; #endif -#if defined(__ia64__) || defined(__ia64) - register_stack_base_ptr = ia64_get_bsp(); -#endif return old; } @@ -3477,12 +3424,7 @@ set_stack_base(void) void restore_stack_base(pg_stack_base_t base) { -#if defined(__ia64__) || defined(__ia64) - stack_base_ptr = base.stack_base_ptr; - register_stack_base_ptr = base.register_stack_base_ptr; -#else stack_base_ptr = base; -#endif } /* @@ -3539,22 +3481,6 @@ stack_is_too_deep(void) stack_base_ptr != NULL) return true; - /* - * On IA64 there is a separate "register" stack that requires its own - * independent check. For this, we have to measure the change in the - * "BSP" pointer from PostgresMain to here. Logic is just as above, - * except that we know IA64's register stack grows up. - * - * Note we assume that the same max_stack_depth applies to both stacks. - */ -#if defined(__ia64__) || defined(__ia64) - stack_depth = (long) (ia64_get_bsp() - register_stack_base_ptr); - - if (stack_depth > max_stack_depth_bytes && - register_stack_base_ptr != NULL) - return true; -#endif /* IA64 */ - return false; } diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c index ec314c03f5..8520ce76bb 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; diff --git a/src/common/sprompt.c b/src/common/sprompt.c index 8b836846e3..5ad90f59bb 100644 --- a/src/common/sprompt.c +++ b/src/common/sprompt.c @@ -90,7 +90,7 @@ simple_prompt_extended(const char *prompt, bool echo, /* * Do not try to collapse these into one "w+" mode file. Doesn't work on - * some platforms (eg, HPUX 10.20). + * some platforms. */ termin = fopen("/dev/tty", "r"); termout = fopen("/dev/tty", "w"); diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 0af130fbc5..ea9a56d395 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -279,15 +279,7 @@ extern PGDLLIMPORT bool VacuumCostActive; /* in tcop/postgres.c */ -#if defined(__ia64__) || defined(__ia64) -typedef struct -{ - char *stack_base_ptr; - char *register_stack_base_ptr; -} pg_stack_base_t; -#else typedef char *pg_stack_base_t; -#endif extern pg_stack_base_t set_stack_base(void); extern void restore_stack_base(pg_stack_base_t base); diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index cdd742cb55..7133c3dc66 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -430,9 +430,6 @@ /* Define to 1 if you have the `pread' function. */ #undef HAVE_PREAD -/* Define to 1 if you have the `pstat' function. */ -#undef HAVE_PSTAT - /* Define to 1 if the PS_STRINGS thing exists. */ #undef HAVE_PS_STRINGS @@ -625,9 +622,6 @@ /* Define to 1 if you have the <sys/procctl.h> header file. */ #undef HAVE_SYS_PROCCTL_H -/* Define to 1 if you have the <sys/pstat.h> header file. */ -#undef HAVE_SYS_PSTAT_H - /* Define to 1 if you have the <sys/resource.h> header file. */ #undef HAVE_SYS_RESOURCE_H diff --git a/src/include/port/atomics.h b/src/include/port/atomics.h index 9550e04aaa..13e1ecbe01 100644 --- a/src/include/port/atomics.h +++ b/src/include/port/atomics.h @@ -68,12 +68,8 @@ #include "port/atomics/arch-arm.h" #elif defined(__i386__) || defined(__i386) || defined(__x86_64__) #include "port/atomics/arch-x86.h" -#elif defined(__ia64__) || defined(__ia64) -#include "port/atomics/arch-ia64.h" #elif defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__) || defined(__powerpc64__) #include "port/atomics/arch-ppc.h" -#elif defined(__hppa) || defined(__hppa__) -#include "port/atomics/arch-hppa.h" #endif /* @@ -95,8 +91,6 @@ #include "port/atomics/generic-gcc.h" #elif defined(_MSC_VER) #include "port/atomics/generic-msvc.h" -#elif defined(__hpux) && defined(__ia64) && !defined(__GNUC__) -#include "port/atomics/generic-acc.h" #elif defined(__SUNPRO_C) && !defined(__GNUC__) #include "port/atomics/generic-sunpro.h" #else diff --git a/src/include/port/atomics/arch-hppa.h b/src/include/port/atomics/arch-hppa.h deleted file mode 100644 index 7a7bb6eab4..0000000000 --- a/src/include/port/atomics/arch-hppa.h +++ /dev/null @@ -1,17 +0,0 @@ -/*------------------------------------------------------------------------- - * - * arch-hppa.h - * Atomic operations considerations specific to HPPA - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * NOTES: - * - * src/include/port/atomics/arch-hppa.h - * - *------------------------------------------------------------------------- - */ - -/* HPPA doesn't do either read or write reordering */ -#define pg_memory_barrier_impl() pg_compiler_barrier_impl() diff --git a/src/include/port/atomics/arch-ia64.h b/src/include/port/atomics/arch-ia64.h deleted file mode 100644 index 771bac1f3e..0000000000 --- a/src/include/port/atomics/arch-ia64.h +++ /dev/null @@ -1,29 +0,0 @@ -/*------------------------------------------------------------------------- - * - * arch-ia64.h - * Atomic operations considerations specific to intel itanium - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * NOTES: - * - * src/include/port/atomics/arch-ia64.h - * - *------------------------------------------------------------------------- - */ - -/* - * Itanium is weakly ordered, so read and write barriers require a full - * fence. - */ -#if defined(__INTEL_COMPILER) -# define pg_memory_barrier_impl() __mf() -#elif defined(__GNUC__) -# define pg_memory_barrier_impl() __asm__ __volatile__ ("mf" : : : "memory") -#elif defined(__hpux) -# define pg_memory_barrier_impl() _Asm_mf() -#endif - -/* per architecture manual doubleword accesses have single copy atomicity */ -#define PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY diff --git a/src/include/port/atomics/fallback.h b/src/include/port/atomics/fallback.h index 1cdef5f2f6..45f107469e 100644 --- a/src/include/port/atomics/fallback.h +++ b/src/include/port/atomics/fallback.h @@ -75,11 +75,7 @@ typedef struct pg_atomic_flag * be content with just one byte instead of 4, but that's not too much * waste. */ -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ - int sema[4]; -#else int sema; -#endif volatile bool value; } pg_atomic_flag; @@ -93,11 +89,7 @@ typedef struct pg_atomic_flag typedef struct pg_atomic_uint32 { /* Check pg_atomic_flag's definition above for an explanation */ -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ - int sema[4]; -#else int sema; -#endif volatile uint32 value; } pg_atomic_uint32; @@ -111,11 +103,7 @@ typedef struct pg_atomic_uint32 typedef struct pg_atomic_uint64 { /* Check pg_atomic_flag's definition above for an explanation */ -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ - int sema[4]; -#else int sema; -#endif volatile uint64 value; } pg_atomic_uint64; diff --git a/src/include/port/atomics/generic-acc.h b/src/include/port/atomics/generic-acc.h deleted file mode 100644 index 842b2dec6e..0000000000 --- a/src/include/port/atomics/generic-acc.h +++ /dev/null @@ -1,106 +0,0 @@ -/*------------------------------------------------------------------------- - * - * generic-acc.h - * Atomic operations support when using HPs acc on HPUX - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * NOTES: - * - * Documentation: - * * inline assembly for Itanium-based HP-UX: - * http://h21007.www2.hp.com/portal/download/files/unprot/Itanium/inline_assem_ERS.pdf - * * Implementing Spinlocks on the Intel (R) Itanium (R) Architecture and PA-RISC - * http://h21007.www2.hp.com/portal/download/files/unprot/itanium/spinlocks.pdf - * - * Itanium only supports a small set of numbers (6, -8, -4, -1, 1, 4, 8, 16) - * for atomic add/sub, so we just implement everything but compare_exchange - * via the compare_exchange fallbacks in atomics/generic.h. - * - * src/include/port/atomics/generic-acc.h - * - * ------------------------------------------------------------------------- - */ - -#include <machine/sys/inline.h> - -#define pg_compiler_barrier_impl() _Asm_sched_fence() - -#if defined(HAVE_ATOMICS) - -/* IA64 always has 32/64 bit atomics */ - -#define PG_HAVE_ATOMIC_U32_SUPPORT -typedef struct pg_atomic_uint32 -{ - volatile uint32 value; -} pg_atomic_uint32; - -#define PG_HAVE_ATOMIC_U64_SUPPORT -typedef struct pg_atomic_uint64 -{ - /* - * Alignment is guaranteed to be 64bit. Search for "Well-behaved - * application restrictions" => "Data alignment and data sharing" on HP's - * website. Unfortunately the URL doesn't seem to stable enough to - * include. - */ - volatile uint64 value; -} pg_atomic_uint64; - - -#define MINOR_FENCE (_Asm_fence) (_UP_CALL_FENCE | _UP_SYS_FENCE | \ - _DOWN_CALL_FENCE | _DOWN_SYS_FENCE ) - -#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U32 -static inline bool -pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, - uint32 *expected, uint32 newval) -{ - bool ret; - uint32 current; - - _Asm_mov_to_ar(_AREG_CCV, *expected, MINOR_FENCE); - /* - * We want a barrier, not just release/acquire semantics. - */ - _Asm_mf(); - /* - * Notes: - * _DOWN_MEM_FENCE | _UP_MEM_FENCE prevents reordering by the compiler - */ - current = _Asm_cmpxchg(_SZ_W, /* word */ - _SEM_REL, - &ptr->value, - newval, _LDHINT_NONE, - _DOWN_MEM_FENCE | _UP_MEM_FENCE); - ret = current == *expected; - *expected = current; - return ret; -} - - -#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 -static inline bool -pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, - uint64 *expected, uint64 newval) -{ - bool ret; - uint64 current; - - _Asm_mov_to_ar(_AREG_CCV, *expected, MINOR_FENCE); - _Asm_mf(); - current = _Asm_cmpxchg(_SZ_D, /* doubleword */ - _SEM_REL, - &ptr->value, - newval, _LDHINT_NONE, - _DOWN_MEM_FENCE | _UP_MEM_FENCE); - ret = current == *expected; - *expected = current; - return ret; -} - -#undef MINOR_FENCE - -#endif /* defined(HAVE_ATOMICS) */ diff --git a/src/include/port/hpux.h b/src/include/port/hpux.h deleted file mode 100644 index 4d1dcea70c..0000000000 --- a/src/include/port/hpux.h +++ /dev/null @@ -1,3 +0,0 @@ -/* src/include/port/hpux.h */ - -/* nothing needed */ diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 98b4d718d2..08421cc240 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -250,71 +250,6 @@ spin_delay(void) #endif /* __x86_64__ */ -#if defined(__ia64__) || defined(__ia64) -/* - * Intel Itanium, gcc or Intel's compiler. - * - * Itanium has weak memory ordering, but we rely on the compiler to enforce - * strict ordering of accesses to volatile data. In particular, while the - * xchg instruction implicitly acts as a memory barrier with 'acquire' - * semantics, we do not have an explicit memory fence instruction in the - * S_UNLOCK macro. We use a regular assignment to clear the spinlock, and - * trust that the compiler marks the generated store instruction with the - * ".rel" opcode. - * - * Testing shows that assumption to hold on gcc, although I could not find - * any explicit statement on that in the gcc manual. In Intel's compiler, - * the -m[no-]serialize-volatile option controls that, and testing shows that - * it is enabled by default. - * - * 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 separate - * compiler-intrinsic-based implementation for it. - */ -#define HAS_TEST_AND_SET - -typedef unsigned int slock_t; - -#define TAS(lock) tas(lock) - -/* On IA64, it's a win to use a non-locking test before the xchg proper */ -#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock)) - -#ifndef __INTEL_COMPILER - -static __inline__ int -tas(volatile slock_t *lock) -{ - long int ret; - - __asm__ __volatile__( - " xchg4 %0=%1,%2 \n" -: "=r"(ret), "+m"(*lock) -: "r"(1) -: "memory"); - return (int) ret; -} - -#else /* __INTEL_COMPILER */ - -static __inline__ int -tas(volatile slock_t *lock) -{ - int ret; - - ret = _InterlockedExchange(lock,1); /* this is a xchg asm macro */ - - return ret; -} - -/* icc can't use the regular gcc S_UNLOCK() macro either in this case */ -#define S_UNLOCK(lock) \ - do { __memory_barrier(); *(lock) = 0; } while (0) - -#endif /* __INTEL_COMPILER */ -#endif /* __ia64__ || __ia64 */ - - /* * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available. * @@ -792,101 +727,6 @@ typedef unsigned char slock_t; #if !defined(HAS_TEST_AND_SET) /* We didn't trigger above, let's try here */ - -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ -/* - * HP's PA-RISC - * - * See src/backend/port/hpux/tas.c.template for details about LDCWX. Because - * LDCWX requires a 16-byte-aligned address, we declare slock_t as a 16-byte - * struct. The active word in the struct is whichever has the aligned address; - * the other three words just sit at -1. - * - * When using gcc, we can inline the required assembly code. - */ -#define HAS_TEST_AND_SET - -typedef struct -{ - int sema[4]; -} slock_t; - -#define TAS_ACTIVE_WORD(lock) ((volatile int *) (((uintptr_t) (lock) + 15) & ~15)) - -#if defined(__GNUC__) - -static __inline__ int -tas(volatile slock_t *lock) -{ - volatile int *lockword = TAS_ACTIVE_WORD(lock); - register int lockval; - - __asm__ __volatile__( - " ldcwx 0(0,%2),%0 \n" -: "=r"(lockval), "+m"(*lockword) -: "r"(lockword) -: "memory"); - return (lockval == 0); -} - -/* - * The hppa implementation doesn't follow the rules of this files and provides - * a gcc specific implementation outside of the above defined(__GNUC__). It - * does so to avoid duplication between the HP compiler and gcc. So undefine - * the generic fallback S_UNLOCK from above. - */ -#ifdef S_UNLOCK -#undef S_UNLOCK -#endif -#define S_UNLOCK(lock) \ - do { \ - __asm__ __volatile__("" : : : "memory"); \ - *TAS_ACTIVE_WORD(lock) = -1; \ - } while (0) - -#endif /* __GNUC__ */ - -#define S_INIT_LOCK(lock) \ - do { \ - volatile slock_t *lock_ = (lock); \ - lock_->sema[0] = -1; \ - lock_->sema[1] = -1; \ - lock_->sema[2] = -1; \ - lock_->sema[3] = -1; \ - } while (0) - -#define S_LOCK_FREE(lock) (*TAS_ACTIVE_WORD(lock) != 0) - -#endif /* __hppa || __hppa__ */ - - -#if defined(__hpux) && defined(__ia64) && !defined(__GNUC__) -/* - * HP-UX on Itanium, non-gcc/icc compiler - * - * We assume that the compiler enforces strict ordering of loads/stores on - * volatile data (see comments on the gcc-version earlier in this file). - * Note that this assumption does *not* hold if you use the - * +Ovolatile=__unordered option on the HP-UX compiler, so don't do that. - * - * See also Implementing Spinlocks on the Intel Itanium Architecture and - * PA-RISC, by Tor Ekqvist and David Graves, for more information. As of - * this writing, version 1.0 of the manual is available at: - * http://h21007.www2.hp.com/portal/download/files/unprot/itanium/spinlocks.pdf - */ -#define HAS_TEST_AND_SET - -typedef unsigned int slock_t; - -#include <ia64/sys/inline.h> -#define TAS(lock) _Asm_xchg(_SZ_W, lock, 1, _LDHINT_NONE) -/* On IA64, it's a win to use a non-locking test before the xchg proper */ -#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock)) -#define S_UNLOCK(lock) \ - do { _Asm_mf(); (*(lock)) = 0; } while (0) - -#endif /* HPUX on IA64, non gcc/icc */ - #if defined(_AIX) /* AIX */ /* * AIX (POWER) diff --git a/src/makefiles/Makefile.hpux b/src/makefiles/Makefile.hpux deleted file mode 100644 index 25e036bd8d..0000000000 --- a/src/makefiles/Makefile.hpux +++ /dev/null @@ -1,47 +0,0 @@ -# Using X/Open Networking Interfaces requires to link with libxnet. -# Without specifying this, bind(), getpeername() and so on don't work -# correctly in the LP64 data model. -LIBS := -lxnet $(LIBS) - -# Set up rpath so that the executables don't need SHLIB_PATH to be set. -# (Note: --disable-rpath is a really bad idea on this platform...) -ifeq ($(with_gnu_ld), yes) - rpath = -Wl,-rpath -Wl,'$(rpathdir)' -else - rpath = -Wl,+b -Wl,'$(rpathdir)' -endif - -# catch null pointer dereferences -ifeq ($(with_gnu_ld), yes) -# XXX what to put here? -else - LDFLAGS_EX += -Wl,-z -endif - -# set up appropriate options for shared library builds -export_dynamic = -Wl,-E - -INSTALL_SHLIB_OPTS = -m 555 - -AROPT = crs - -# env var name to use in place of LD_LIBRARY_PATH -ld_library_path_var = SHLIB_PATH - -# Rule for building a shared library from a single .o file -%$(DLSUFFIX): %.o -ifeq ($(GCC), yes) - ifeq ($(with_gnu_ld), yes) - $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ `$(CC) $(LDFLAGS) -print-libgcc-file-name` - else - $(LD) -b -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name` - endif -else - ifeq ($(with_gnu_ld), yes) - $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ - else - $(LD) -b -o $@ $< - endif -endif - -sqlmansect = 5 diff --git a/src/pl/plperl/ppport.h b/src/pl/plperl/ppport.h index 1f6cf465df..762dd362b3 100644 --- a/src/pl/plperl/ppport.h +++ b/src/pl/plperl/ppport.h @@ -12160,7 +12160,7 @@ DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv) STMT_START { \ ASSUME(!"UNREACHABLE"); __builtin_unreachable(); \ } STMT_END -# elif ! defined(__GNUC__) && (defined(__sun) || defined(__hpux)) +# elif ! defined(__GNUC__) && defined(__sun) # define NOT_REACHED # else # define NOT_REACHED ASSUME(!"UNREACHABLE") diff --git a/src/port/dlopen.c b/src/port/dlopen.c index d441dc8196..6ff9f4bf64 100644 --- a/src/port/dlopen.c +++ b/src/port/dlopen.c @@ -15,55 +15,7 @@ #include "c.h" -#if defined(__hpux) - -/* System includes */ -#include <a.out.h> -#include <dl.h> - -void * -dlopen(const char *file, int mode) -{ - int flags = 0; - - if (mode & RTLD_NOW) - flags |= BIND_IMMEDIATE; -#ifdef NOT_USED - if (mode & RTLD_LAZY) - flags |= BIND_DEFERRED; -#endif - - return shl_load(file, flags | BIND_VERBOSE, 0L); -} - -void * -dlsym(void *handle, const char *symbol) -{ - void *value; - - if (shl_findsym((shl_t *) & handle, symbol, TYPE_PROCEDURE, &value) == -1) - return NULL; - return value; -} - -int -dlclose(void *handle) -{ - return shl_unload((shl_t) handle); -} - -char * -dlerror(void) -{ - static char errmsg[] = "shl_load failed"; - - if (errno) - return strerror(errno); - - return errmsg; -} - -#elif defined(WIN32) +#if defined(WIN32) static char last_dyn_error[512]; diff --git a/src/port/getrusage.c b/src/port/getrusage.c index 8369fd2793..02665f4032 100644 --- a/src/port/getrusage.c +++ b/src/port/getrusage.c @@ -20,7 +20,6 @@ /* This code works on: * solaris_i386 * solaris_sparc - * hpux 9.* * win32 * which currently is all the supported platforms that don't have a * native version of getrusage(). So, if configure decides to compile diff --git a/src/template/hpux b/src/template/hpux deleted file mode 100644 index 5105a74c78..0000000000 --- a/src/template/hpux +++ /dev/null @@ -1,34 +0,0 @@ -# src/template/hpux - -# Need this for access to many modern library features -CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" - -# HP's compiler likes the spelling +O2 not -O2, so adjust default CFLAGS -if test "$GCC" != yes ; then - CFLAGS="+O2" -fi - -# Extra CFLAGS for code that will go into a shared library -if test "$GCC" = yes ; then - CFLAGS_SL="-fPIC" -else - CFLAGS_SL="+Z" -fi - -# Pick right test-and-set (TAS) code. We need out-of-line assembler -# when not using gcc. -case $host in - hppa*-*-hpux*) - if test "$GCC" != yes ; then - need_tas=yes - tas_file=hpux_hppa.s - fi - ;; -esac - -case $host_cpu in - ia64) - DLSUFFIX=".so";; - *) - DLSUFFIX=".sl";; -esac diff --git a/src/test/regress/resultmap b/src/test/regress/resultmap index c766d03df2..8a3ed50585 100644 --- a/src/test/regress/resultmap +++ b/src/test/regress/resultmap @@ -1,3 +1,2 @@ float4:out:.*-.*-cygwin.*=float4-misrounded-input.out float4:out:.*-.*-mingw.*=float4-misrounded-input.out -float4:out:hppa.*-hp-hpux10.*=float4-misrounded-input.out diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index d30e8fcb11..52ff56ba83 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -337,7 +337,6 @@ sub GenerateFiles HAVE_PPC_LWARX_MUTEX_HINT => undef, HAVE_PPOLL => undef, HAVE_PREAD => undef, - HAVE_PSTAT => undef, HAVE_PS_STRINGS => undef, HAVE_PTHREAD => undef, HAVE_PTHREAD_BARRIER_WAIT => undef, @@ -401,7 +400,6 @@ sub GenerateFiles HAVE_SYS_PERSONALITY_H => undef, HAVE_SYS_PRCTL_H => undef, HAVE_SYS_PROCCTL_H => undef, - HAVE_SYS_PSTAT_H => undef, HAVE_SYS_RESOURCE_H => undef, HAVE_SYS_SELECT_H => undef, HAVE_SYS_SEM_H => undef, diff --git a/src/tools/pginclude/cpluspluscheck b/src/tools/pginclude/cpluspluscheck index 42688fff53..fa3dff83a1 100755 --- a/src/tools/pginclude/cpluspluscheck +++ b/src/tools/pginclude/cpluspluscheck @@ -63,7 +63,6 @@ do test "$f" = src/include/port/cygwin.h && continue test "$f" = src/include/port/darwin.h && continue test "$f" = src/include/port/freebsd.h && continue - test "$f" = src/include/port/hpux.h && continue test "$f" = src/include/port/linux.h && continue test "$f" = src/include/port/netbsd.h && continue test "$f" = src/include/port/openbsd.h && continue @@ -81,8 +80,6 @@ do # Likewise, these files are platform-specific, and the one # relevant to our platform will be included by atomics.h. test "$f" = src/include/port/atomics/arch-arm.h && continue - test "$f" = src/include/port/atomics/arch-hppa.h && continue - test "$f" = src/include/port/atomics/arch-ia64.h && continue test "$f" = src/include/port/atomics/arch-ppc.h && continue test "$f" = src/include/port/atomics/arch-x86.h && continue test "$f" = src/include/port/atomics/fallback.h && continue diff --git a/src/tools/pginclude/headerscheck b/src/tools/pginclude/headerscheck index f8b0674a66..ce9c63cb6d 100755 --- a/src/tools/pginclude/headerscheck +++ b/src/tools/pginclude/headerscheck @@ -59,7 +59,6 @@ do test "$f" = src/include/port/cygwin.h && continue test "$f" = src/include/port/darwin.h && continue test "$f" = src/include/port/freebsd.h && continue - test "$f" = src/include/port/hpux.h && continue test "$f" = src/include/port/linux.h && continue test "$f" = src/include/port/netbsd.h && continue test "$f" = src/include/port/openbsd.h && continue @@ -77,8 +76,6 @@ do # Likewise, these files are platform-specific, and the one # relevant to our platform will be included by atomics.h. test "$f" = src/include/port/atomics/arch-arm.h && continue - test "$f" = src/include/port/atomics/arch-hppa.h && continue - test "$f" = src/include/port/atomics/arch-ia64.h && continue test "$f" = src/include/port/atomics/arch-ppc.h && continue test "$f" = src/include/port/atomics/arch-x86.h && continue test "$f" = src/include/port/atomics/fallback.h && continue -- 2.36.1