--- configure.orig	2024-09-11 01:37:35.000000000 -0400
+++ configure	2024-09-19 17:55:38.062769000 -0400
@@ -4265,9 +4265,10 @@
       -I*)
         xc_bad_var_ldflags=yes
         ;;
-      -l* | --library=*)
-        xc_bad_var_ldflags=yes
-        ;;
+# Temporarily disable -l* flag check for SSP support (Mk/bsd.ssp.mk)
+#      -l* | --library=*)
+#        xc_bad_var_ldflags=yes
+#        ;;
     esac
   done
   if test $xc_bad_var_ldflags = yes; then
@@ -4337,9 +4338,10 @@
   xc_bad_var_cflags=no
   for xc_word in $CFLAGS; do
     case "$xc_word" in
-      -D*)
-        xc_bad_var_cflags=yes
-        ;;
+# Temporarily disable -D* flag check (PR/177401, PR/180944)
+#      -D*)
+#        xc_bad_var_cflags=yes
+#        ;;
       -U*)
         xc_bad_var_cflags=yes
         ;;
@@ -15677,13 +15679,13 @@
   fi
   version_type=freebsd-$objformat
   case $version_type in
-    freebsd-elf*)
+    freebsd-elf*|midnightbsd-elf*)
       library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
       soname_spec='$libname$release$shared_ext$major'
       need_version=no
       need_lib_prefix=no
       ;;
-    freebsd-*)
+    freebsd-*|midnightbsd-*)
       library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
       need_version=yes
       ;;
@@ -16846,7 +16848,7 @@
       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 printf "%s\n" "yes" >&6; }
       ;;
-    freebsd*)
+    freebsd*|midnightbsd*)
       if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
         old_striplib="$STRIP --strip-debug"
         striplib="$STRIP --strip-unneeded"
@@ -17423,7 +17425,7 @@
   flags_dbg_yes="unknown"
   flags_opt_all="unknown"
   flags_opt_yes="unknown"
-  flags_opt_off="unknown"
+  flags_opt_off=""
   #
   flags_prefer_cppflags="no"
   #
@@ -17528,7 +17530,7 @@
     flags_dbg_yes="-g2"
     flags_opt_all="-O -O0 -O1 -O2 -O3 -O4"
     flags_opt_yes="-O1"
-    flags_opt_off="-O0"
+    flags_opt_off=""
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -17589,7 +17591,7 @@
     flags_dbg_yes="-g"
     flags_opt_all="-O +O0 +O1 +O2 +O3 +O4"
     flags_opt_yes="+O2"
-    flags_opt_off="+O0"
+    flags_opt_off=""
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -17657,7 +17659,7 @@
     flags_opt_all="$flags_opt_all -qoptimize=4"
     flags_opt_all="$flags_opt_all -qoptimize=5"
     flags_opt_yes="-O2"
-    flags_opt_off="-qnooptimize"
+    flags_opt_off=""
     flags_prefer_cppflags="yes"
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
@@ -17770,13 +17772,13 @@
       flags_dbg_yes="-g"
       flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
       flags_opt_yes="-O2"
-      flags_opt_off="-O0"
+      flags_opt_off=""
     else
       compiler_id="INTEL_WINDOWS_C"
       flags_dbg_yes="/Zi /Oy-"
       flags_opt_all="/O /O0 /O1 /O2 /O3 /Od /Og /Og- /Oi /Oi-"
       flags_opt_yes="/O2"
-      flags_opt_off="/Od"
+      flags_opt_off=""
     fi
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
@@ -17928,7 +17930,7 @@
     flags_dbg_yes="-g"
     flags_opt_all="-O -O0 -O1 -O2 -Os -O3 -O4"
     flags_opt_yes="-O2"
-    flags_opt_off="-O0"
+    flags_opt_off=""
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -18003,7 +18005,7 @@
     flags_dbg_yes="-g"
     flags_opt_all="-O -O0 -O1 -O2 -O3 -Os -Og -Ofast"
     flags_opt_yes="-O2"
-    flags_opt_off="-O0"
+    flags_opt_off=""
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -18158,7 +18160,7 @@
     flags_dbg_yes="-g"
     flags_opt_all="-O -O0 -O1 -O2 -O3 -Ofast"
     flags_opt_yes="-O2"
-    flags_opt_off="-O0"
+    flags_opt_off=""
   else
     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
 printf "%s\n" "no" >&6; }
@@ -18850,6 +18852,8 @@
     #
     if test "$honor_optimize_option" = "yes"; then
 
+# Do not remove the user-supplied optimization flags in CFLAGS/CPPFLAGS (PR/150854)
+if false; then
     ac_var_stripped=""
   for word1 in $tmp_CFLAGS; do
     ac_var_strip_word="no"
@@ -18880,6 +18884,7 @@
   done
     tmp_CPPFLAGS="$ac_var_stripped"
   squeeze tmp_CPPFLAGS
+fi
 
       if test "$want_optimize" = "yes"; then
         { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if compiler accepts optimizer enabling options" >&5
@@ -46814,9 +46819,10 @@
       -I*)
         xc_bad_var_ldflags=yes
         ;;
-      -l* | --library=*)
-        xc_bad_var_ldflags=yes
-        ;;
+# Temporarily disable -l* flag check for SSP support (Mk/bsd.ssp.mk)
+#      -l* | --library=*)
+#        xc_bad_var_ldflags=yes
+#        ;;
     esac
   done
   if test $xc_bad_var_ldflags = yes; then
@@ -46886,9 +46892,10 @@
   xc_bad_var_cflags=no
   for xc_word in $CFLAGS; do
     case "$xc_word" in
-      -D*)
-        xc_bad_var_cflags=yes
-        ;;
+# Temporarily disable -D* flag check (PR/177401, PR/180944)
+#      -D*)
+#        xc_bad_var_cflags=yes
+#        ;;
       -U*)
         xc_bad_var_cflags=yes
         ;;
