--- a/configure.ac
+++ b/configure.ac
-@@ -2239,9 +2239,9 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
+@@ -2137,10 +2137,10 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
+ # First check if __crc32c* intrinsics can be used with the default compiler
# flags. If not, check if adding -march=armv8-a+crc flag helps.
- # CFLAGS_ARMV8_CRC32C is set if the extra flag is required.
- PGAC_ARMV8_CRC32C_INTRINSICS([])
+ # CFLAGS_CRC is set if the extra flag is required.
+-PGAC_ARMV8_CRC32C_INTRINSICS([])
-if test x"$pgac_armv8_crc32c_intrinsics" != x"yes"; then
- PGAC_ARMV8_CRC32C_INTRINSICS([-march=armv8-a+crc])
-fi
++#PGAC_ARMV8_CRC32C_INTRINSICS([])
+#if test x"$pgac_armv8_crc32c_intrinsics" != x"yes"; then
+# PGAC_ARMV8_CRC32C_INTRINSICS([-march=armv8-a+crc])
+#fi
- AC_SUBST(CFLAGS_ARMV8_CRC32C)
- # Select CRC-32C implementation.
+ # Check for LoongArch CRC intrinsics to do CRC calculations.
+ #
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
-@@ -96,6 +96,7 @@ static char *event_source = NULL;
+@@ -91,6 +91,7 @@ static char *event_source = NULL;
static char *register_servicename = "PostgreSQL"; /* FIXME: + version ID? */
static char *register_username = NULL;
static char *register_password = NULL;
static char *argv0 = NULL;
static bool allow_core_files = false;
static time_t start_time;
-@@ -2086,6 +2087,9 @@ do_help(void)
+@@ -1988,6 +1989,9 @@ do_help(void)
#endif
printf(_(" -s, --silent only print errors, no informational messages\n"));
printf(_(" -t, --timeout=SECS seconds to wait when using -w option\n"));
printf(_(" -V, --version output version information, then exit\n"));
printf(_(" -w, --wait wait until operation completes (default)\n"));
printf(_(" -W, --no-wait do not wait until operation completes\n"));
-@@ -2298,6 +2302,7 @@ main(int argc, char **argv)
+@@ -2200,6 +2204,7 @@ main(int argc, char **argv)
{"options", required_argument, NULL, 'o'},
{"silent", no_argument, NULL, 's'},
{"timeout", required_argument, NULL, 't'},
{"core-files", no_argument, NULL, 'c'},
{"wait", no_argument, NULL, 'w'},
{"no-wait", no_argument, NULL, 'W'},
-@@ -2338,20 +2343,6 @@ main(int argc, char **argv)
+@@ -2240,20 +2245,6 @@ main(int argc, char **argv)
}
}
env_wait = getenv("PGCTLTIMEOUT");
if (env_wait != NULL)
-@@ -2437,11 +2428,15 @@ main(int argc, char **argv)
- wait_seconds_arg = true;
- break;
- case 'U':
+@@ -2328,11 +2319,15 @@ main(int argc, char **argv)
+ wait_seconds_arg = true;
+ break;
+ case 'U':
+#if defined(WIN32) || defined(__CYGWIN__)
- if (strchr(optarg, '\\'))
- register_username = pg_strdup(optarg);
- else
- /* Prepend .\ for local accounts */
- register_username = psprintf(".\\%s", optarg);
+ if (strchr(optarg, '\\'))
+ register_username = pg_strdup(optarg);
+ else
+ /* Prepend .\ for local accounts */
+ register_username = psprintf(".\\%s", optarg);
+#else
+ username = pg_strdup(optarg);
+#endif
- break;
- case 'w':
- do_wait = true;
-@@ -2523,6 +2518,41 @@ main(int argc, char **argv)
+ break;
+ case 'w':
+ do_wait = true;
+@@ -2413,6 +2408,41 @@ main(int argc, char **argv)
exit(1);
}