Remove obsolete platforms from ps_status.c.
authorThomas Munro <tmunro@postgresql.org>
Fri, 17 Feb 2023 02:18:18 +0000 (15:18 +1300)
committerThomas Munro <tmunro@postgresql.org>
Fri, 17 Feb 2023 02:18:18 +0000 (15:18 +1300)
Time to remove various code, comments and configure/meson probes
relating to ancient BSD, SunOS, GNU/Hurd, IRIX, NeXT and Unixware.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CA%2BhUKGJMNGUAqf27WbckYFrM-Mavy0RKJvocfJU%3DJ2XcAZyv%2Bw%40mail.gmail.com

configure
configure.ac
meson.build
src/backend/utils/misc/ps_status.c
src/include/pg_config.h.in
src/tools/msvc/Solution.pm

index 7bb829ddf43d00a5e1c475031901c21252eecd0c..e35769ea7307b1e548cb531780d074e223c8d6ab 100755 (executable)
--- a/configure
+++ b/configure
@@ -16278,41 +16278,6 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PS_STRINGS" >&5
-$as_echo_n "checking for PS_STRINGS... " >&6; }
-if ${pgac_cv_var_PS_STRINGS+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <machine/vmparam.h>
-#include <sys/exec.h>
-
-int
-main ()
-{
-PS_STRINGS->ps_nargvstr = 1;
-PS_STRINGS->ps_argvstr = "foo";
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  pgac_cv_var_PS_STRINGS=yes
-else
-  pgac_cv_var_PS_STRINGS=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_var_PS_STRINGS" >&5
-$as_echo "$pgac_cv_var_PS_STRINGS" >&6; }
-if test "$pgac_cv_var_PS_STRINGS" = yes ; then
-
-$as_echo "#define HAVE_PS_STRINGS 1" >>confdefs.h
-
-fi
-
 ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero"
 if test "x$ac_cv_func_explicit_bzero" = xyes; then :
   $as_echo "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h
index 137a40a9425db0756af7c80b1c1d1166bcbcf6f0..af23c15cb2431dc67720da07b6bcbfc6677c4503 100644 (file)
@@ -1849,19 +1849,6 @@ AC_CHECK_DECLS([pwritev], [], [AC_LIBOBJ(pwritev)], [#include <sys/uio.h>])
 # This is probably only present on macOS, but may as well check always
 AC_CHECK_DECLS(F_FULLFSYNC, [], [], [#include <fcntl.h>])
 
-AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
-[AC_LINK_IFELSE([AC_LANG_PROGRAM(
-[#include <machine/vmparam.h>
-#include <sys/exec.h>
-],
-[PS_STRINGS->ps_nargvstr = 1;
-PS_STRINGS->ps_argvstr = "foo";])],
-[pgac_cv_var_PS_STRINGS=yes],
-[pgac_cv_var_PS_STRINGS=no])])
-if test "$pgac_cv_var_PS_STRINGS" = yes ; then
-  AC_DEFINE([HAVE_PS_STRINGS], 1, [Define to 1 if the PS_STRINGS thing exists.])
-fi
-
 AC_REPLACE_FUNCS(m4_normalize([
        explicit_bzero
        getopt
index b5daed9f38cadb16a39a3d36e6544625fd78ddba..f5347044526734a3669c45e55dda8558e4af5a3e 100644 (file)
@@ -2293,23 +2293,6 @@ endif
 cdata.set('pg_restrict', '__restrict')
 
 
-if cc.links('''
-#include <machine/vmparam.h>
-#include <sys/exec.h>
-
-int main(void)
-{
-    PS_STRINGS->ps_nargvstr = 1;
-    PS_STRINGS->ps_argvstr = "foo";
-}
-''',
-  name: 'PS_STRINGS', args: test_c_args)
-  cdata.set('HAVE_PS_STRINGS', 1)
-else
-  cdata.set('HAVE_PS_STRINGS', false)
-endif
-
-
 # Most libraries are included only if they demonstrably provide a function we
 # need, but libm is an exception: always include it, because there are too
 # many compilers that play cute optimization games that will break probes for
index 06bdc2afd1695ceace7b2d79dd00d81739335d74..c99a4f10fa59ad506424b10d96708351cb2c11de 100644 (file)
 #include "postgres.h"
 
 #include <unistd.h>
-#ifdef HAVE_PS_STRINGS
-#include <machine/vmparam.h>   /* for old BSD */
-#include <sys/exec.h>
-#endif
 #if defined(__darwin__)
 #include <crt_externs.h>
 #endif
@@ -39,16 +35,10 @@ bool                update_process_title = DEFAULT_UPDATE_PROCESS_TITLE;
  *
  * PS_USE_SETPROCTITLE_FAST
  *        use the function setproctitle_fast(const char *, ...)
- *        (newer FreeBSD systems)
+ *        (FreeBSD)
  * PS_USE_SETPROCTITLE
  *        use the function setproctitle(const char *, ...)
- *        (newer BSD systems)
- * PS_USE_PS_STRINGS
- *        assign PS_STRINGS->ps_argvstr = "string"
- *        (some BSD systems)
- * PS_USE_CHANGE_ARGV
- *        assign argv[0] = "string"
- *        (some other BSD systems)
+ *        (other BSDs)
  * PS_USE_CLOBBER_ARGV
  *        write over the argv and environment area
  *        (Linux and most SysV-like systems)
@@ -62,11 +52,7 @@ bool         update_process_title = DEFAULT_UPDATE_PROCESS_TITLE;
 #define PS_USE_SETPROCTITLE_FAST
 #elif defined(HAVE_SETPROCTITLE)
 #define PS_USE_SETPROCTITLE
-#elif defined(HAVE_PS_STRINGS)
-#define PS_USE_PS_STRINGS
-#elif (defined(BSD) || defined(__hurd__)) && !defined(__darwin__)
-#define PS_USE_CHANGE_ARGV
-#elif defined(__linux__) || defined(_AIX) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(__svr5__) || defined(__darwin__)
+#elif defined(__linux__) || defined(_AIX) || defined(__sun) || defined(__darwin__)
 #define PS_USE_CLOBBER_ARGV
 #elif defined(WIN32)
 #define PS_USE_WIN32
@@ -186,9 +172,6 @@ save_ps_display_args(int argc, char **argv)
                new_environ[i] = NULL;
                environ = new_environ;
        }
-#endif                                                 /* PS_USE_CLOBBER_ARGV */
-
-#if defined(PS_USE_CHANGE_ARGV) || defined(PS_USE_CLOBBER_ARGV)
 
        /*
         * If we're going to change the original argv[] then make a copy for
@@ -226,15 +209,15 @@ save_ps_display_args(int argc, char **argv)
 #if defined(__darwin__)
 
                /*
-                * macOS (and perhaps other NeXT-derived platforms?) has a static copy
-                * of the argv pointer, which we may fix like so:
+                * macOS has a static copy of the argv pointer, which we may fix like
+                * so:
                 */
                *_NSGetArgv() = new_argv;
 #endif
 
                argv = new_argv;
        }
-#endif                                                 /* PS_USE_CHANGE_ARGV or PS_USE_CLOBBER_ARGV */
+#endif                                                 /* PS_USE_CLOBBER_ARGV */
 
        return argv;
 }
@@ -271,25 +254,10 @@ init_ps_display(const char *fixed_part)
        /* If ps_buffer is a pointer, it might still be null */
        if (!ps_buffer)
                return;
-#endif
-
-       /*
-        * Overwrite argv[] to point at appropriate space, if needed
-        */
 
-#ifdef PS_USE_CHANGE_ARGV
-       save_argv[0] = ps_buffer;
-       save_argv[1] = NULL;
-#endif                                                 /* PS_USE_CHANGE_ARGV */
-
-#ifdef PS_USE_CLOBBER_ARGV
-       {
-               int                     i;
-
-               /* make extra argv slots point at end_of_area (a NUL) */
-               for (i = 1; i < save_argc; i++)
-                       save_argv[i] = ps_buffer + ps_buffer_size;
-       }
+       /* make extra argv slots point at end_of_area (a NUL) */
+       for (int i = 1; i < save_argc; i++)
+               save_argv[i] = ps_buffer + ps_buffer_size;
 #endif                                                 /* PS_USE_CLOBBER_ARGV */
 
        /*
@@ -369,11 +337,6 @@ set_ps_display(const char *activity)
        setproctitle_fast("%s", ps_buffer);
 #endif
 
-#ifdef PS_USE_PS_STRINGS
-       PS_STRINGS->ps_nargvstr = 1;
-       PS_STRINGS->ps_argvstr = ps_buffer;
-#endif                                                 /* PS_USE_PS_STRINGS */
-
 #ifdef PS_USE_CLOBBER_ARGV
        /* pad unused memory; need only clobber remainder of old status string */
        if (last_status_len > ps_buffer_cur_len)
index 2490bf8ace92f333e2bf703f0cbb4c377bc72389..20c82f59798010377647ea03357ae4bd91278814 100644 (file)
 /* Define to 1 if you have the `ppoll' function. */
 #undef HAVE_PPOLL
 
-/* Define to 1 if the PS_STRINGS thing exists. */
-#undef HAVE_PS_STRINGS
-
 /* Define if you have POSIX threads libraries and header files. */
 #undef HAVE_PTHREAD
 
index 5399050492464ad0843a4441aec9b852694809be..5eaea6355e81f0db5c8feda4c69407e40f6f8f4d 100644 (file)
@@ -308,7 +308,6 @@ sub GenerateFiles
                HAVE_POSIX_FADVISE          => undef,
                HAVE_POSIX_FALLOCATE        => undef,
                HAVE_PPOLL                  => undef,
-               HAVE_PS_STRINGS             => undef,
                HAVE_PTHREAD                => undef,
                HAVE_PTHREAD_BARRIER_WAIT   => undef,
                HAVE_PTHREAD_IS_THREADED_NP => undef,