[m-rev.] for review: disable the use of asm_fast grades on Windows

Julien Fischer jfischer at opturion.com
Sun Jan 21 15:32:58 AEDT 2024


For review by anyone.

I suspect this has been a problem for quite some time; it's only showing 
up now due to fixes to the bootcheck script last year.

---------------------------------------

Disable the use of asm_fast grades on Windows.

Compilation of the stage 3 library currently results in a segmentation
fault on Windows. Since this can affect users who follow the advice of
the configuration script and attempt to re-install Mercury in a more
efficient grades, disable the use of the asm_fast grades until this is
fixed.

configure.ac:
tools/configure_cross:
     As above.

Julien.

diff --git a/configure.ac b/configure.ac
index 6e7484e..f197a6a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2428,6 +2428,16 @@ case "$ac_cv_c_compiler_gnu" in yes)
                  mercury_cv_asm_labels=no
                  mercury_cv_gcc_labels=no
              fi
+
+            # In asm_fast grades the compiler seg faults during stage 3 library
+            # compilation; we disable their use on Windows until this is fixed.
+            case "$host" in
+               *mingw*|*cygwin*)
+                MERCURY_MSG("gcc labels do not currently work on Windows")
+                mercury_cv_asm_labels=no
+                mercury_cv_gcc_labels=no
+                ;;
+            esac
              ;;
          rs6000-*)
              MERCURY_MSG("gcc labels do not work on the RS/6000")
diff --git a/tools/configure_cross b/tools/configure_cross
index 3612e9a..eb3dadd 100755
--- a/tools/configure_cross
+++ b/tools/configure_cross
@@ -91,9 +91,9 @@ case "$cc_type:$host" in
          mercury_cv_is_littleender=yes
          mercury_cv_normal_system_retval=no
          mercury_cv_can_do_pending_io=no
-        mercury_cv_gcc_labels=yes
-        mercury_cv_asm_labels=yes
-        mercury_cv_gcc_model_fast=yes
+        mercury_cv_gcc_labels=no
+        mercury_cv_asm_labels=no
+        mercury_cv_gcc_model_fast=no
          mercury_cv_gcc_model_reg=yes
          mercury_cv_cannot_use_structure_assignment=yes
          ;;


More information about the reviews mailing list