--- configure.orig	2022-04-12 04:50:13.000000000 -0700
+++ configure	2023-01-26 16:33:49.000000000 -0800
@@ -26922,7 +26922,15 @@ esac
     case "$target_os" in #(
   darwin*) :
 
+        # The -no_fixup_chains is needed on macOS 12+ to avoid getting a
+        # warning on the -undefined dynamic_lookup, which in turn disables
+        # the latter here and breaks the build of ext/bigdecimal/util.
+        # Since options aren't cumulative here, the two options need to be
+        # tested together.  Older linkers may not support the added option,
+        # so we then try the original option alone.  This may result in
+        # a harmless duplicate.
 	for flag in \
+	  "-undefined dynamic_lookup -no_fixup_chains" \
 	  "-undefined dynamic_lookup" \
 	  "-multiply_defined suppress" \
 	  ; do
@@ -29651,11 +29659,11 @@ fi
 _ACEOF
 
     cat >>confdefs.h <<_ACEOF
-#define RUBY_ARCH "universal-"RUBY_PLATFORM_OS
+#define RUBY_ARCH "universal-" RUBY_PLATFORM_OS
 _ACEOF
 
     cat >>confdefs.h <<_ACEOF
-#define RUBY_PLATFORM "universal."RUBY_PLATFORM_CPU"-"RUBY_PLATFORM_OS
+#define RUBY_PLATFORM "universal." RUBY_PLATFORM_CPU "-" RUBY_PLATFORM_OS
 _ACEOF
 
 
